Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - smither

Pages: [1]
1
Hi Jeff, tricky stuff indeed...

Your problem is that you are creating two associations with the same reference, causing the second one to overwrite the first when the intermediate file is processed.  The Association specified by the block starting on line 446 of your intermediate file has an XRef:

 XRef{namespace="C#" name="Connector" source="{8C04F9C8-612A-43d9-9312-EC0BB21D899D}"}

as does the Association starting on line 1043.  The first association is between the interface and some other class, while the second one is between the class and that other class.  The second one wins.

I'm not going to second guess the solution, but either you need to not create the second association, or give the first one a different XRef 'name'...

Regards
Eric

2
General Board / Re: Business Rule Composer
« on: July 29, 2011, 04:17:12 pm »
Yes I read the help, and tried to follow it word for word.  The problem arises when using CTRL-spacebar to get a list of domain objects, selecting one and then selecting an attribute off the drop down list after typing '.'.  The 'Rule Condition' cell fills in fine, but the 'Allowable Values' goes blue when selected but you can't type into it and there is no double click or right click available.

I have subsequently discovered that it works if you drag and drop the attribute from the Project Browser. And it also works if you define an empty AllowableValues{} constraint on the Attribute, then use the intellisense to populate the Rule Condition cell.

Try adding Car.Type on to the Eligibility Decision Table in the supplied example using just the keyboard to see what I mean.

Regards
Eric

3
General Board / Re: Business Rule Composer
« on: July 28, 2011, 10:57:18 pm »
I have been trying to use this and have been failing to get it to work.  Has anyone ever done anything useful with it?

I looked at the example supplied and cannot see how to get any 'allowable values' into the cell in the decision table.  

Help!!

4
Bugs and Issues / Re: Copying Tagged Values through a Transformation
« on: August 24, 2011, 05:40:07 pm »
I have just tested the 'TRANSFORM_TAGS' feature in build 908 and found that it does work - it just doesn't conform to the syntax colouring in the template editor and is not available on the intellisense drop downs.

Regards
Eric

5
Bugs and Issues / Copying Tagged Values through a Transformation
« on: July 09, 2011, 01:01:35 am »
Hi,

The help file for build 907 contains the following:
[/td]
[tr][td][td]TRANSFORM_TAGS(<listOfExcludedItems>)

The function generates an exact copy of all the Tagged Values of the current item, except for the items named in <listOfExcludedItems>
[/td][/tr][/table]
When I stick the line
 %TRANSFORM_TAGS()%
into my template, it is simply ignored.  It is also coloured differently to the %TRANSFORM_CURRENT()% statement.  Am I doing something silly or is this (very useful) function just not implemented?

Regards
Eric

6
Bugs and Issues / Re: SQL Server 2008 in EA 7.1
« on: August 23, 2011, 10:18:18 pm »
Sorry if this reply is bit tardy.  I asked the same question about customising the Generate DDL function a while back and got this response:

Thank you for your enquiry.

Unfortunately it is not currently possible to customize the generation of DDL beyond the options that are provided on the "Generate DDL"
dialog.

Can you provide examples of the kind of data you wish to model and what your expected output from EA would be?

Best regards,
 
Aaron Bell
Sparx Systems Pty Ltd
[email protected]
http://www.sparxsystems.com


Without the ability to tailor/extend the generator we concluded that EA  was useful only for the 'structural' aspects of physical database design (i.e. tables and columns), and that another mechanism was required for specifying storage options like filegroups, partitioning, compression, encryption, etc.

Not much help, I know...
Eric

7
Bugs and Issues / Transformation synchronisation problem on Alias
« on: August 23, 2011, 10:03:51 pm »
Create a class, give it an alias, transform it (using a default transform), check the alias, change the alias on the original class, rerun the transformation, check the alias in the generated (supposedly synchronised) class - no change.

Please fix as we are using aliases extensively.

Regards
Eric

8
Bugs and Issues / Re: Logical to Physical Data Model Transformations
« on: March 23, 2011, 10:17:00 pm »
Thanks Paolo,
That was the missing piece.  Creating a clone of the transforms works - its just a bit of a pain to keep them all in sync.  

'A mite fragile' is a bit of an understatement .. severely neglected might be more accurate!

Do you know where the 'Generate DDL....' templates are stored and whether they can be modified?  We want to extend some of the generated constructs (e.g. specifying the table Filegroup in SQL Server 2008).


9
Bugs and Issues / Logical to Physical Data Model Transformations
« on: March 15, 2011, 04:12:55 am »
We have a fully normalised corporate data model, expressed as a class model in EA. It is the basis for multiple physical models which all need tailoring for their target environment.  For example, we want to maintain scoped denormalised operational models for use in OLTP applications, a normalised model for centralising and unifying the data from disparate legacy systems, and dimensional models for multiple data marts.
I generate a 'table' model using the EA 'DDL Transform' and then use the Code Engineering 'Generate DDL' function to create the DDL for the target DBMS. That all works fine but when I try to generate a second table model by pointing the transformation at a new target package, the transformation engine creates an empty package structure but updates the tables generated from the first transformation.  
How can I generate multiple table models from one logical class model?

10
I see why using an add-in might be difficult!  This is another case of where the API does not support all the properties of the model - there is no API method or property to obtain the Multiplicity or the control of orderedness and uniqueness of a parameter.  In the database its squirreled away in the t_xref table (Qwerty .. it's time to document this beast, please), and can be got through an SQL query:
Code: [Select]
select x.Description
from t_xref as x, t_object as o, t_operation as op, t_operationparams as p
where o.Name = "<className>"
and op.Name = "<operationName"
and p.Name = "<parameterName>"
and x.Type = "parameter property"
and op.Object_ID = o.Object_ID
and p.OperationID = op.OperationID
and x.Client = p.ea_guid
which returns a string of the form:
Code: [Select]
@PROP=@NAME=lower@ENDNAME;@TYPE=Integer@ENDTYPE;@VALU=77@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;@PROP=@NAME=upper@ENDNAME;@TYPE=UnlimitedNatural@ENDTYPE;@VALU=99@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;@PROP=@NAME=isOrdered@ENDNAME;@TYPE=Boolean@ENDTYPE;@VALU=1@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;@PROP=@NAME=isUnique@ENDNAME;@TYPE=Boolean@ENDTYPE;@VALU=0@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;
Then all you need to do is parse it!  (Or you could request that Sparx extend the api and the field substitution macros to cover this.)

11
Sorry .. I misread your first post and was looking at the Framework that gets added to a model when you 'Insert New Framework Model' from the extensions menu, rather than the supplied example model.

You are of course correct in stating that composite models do not belong in particular cells.  If the ZF cells are used only to catalog the primitive elements, another package structure is required to hold and manage the composite models that make use of the primitives.  Model management is a bit more complex but purity is maintained.

For modelling the interval between events, you can use the 'Event Schedule' diagram (Add Diagram/ Owner (Zachman Framework)/ Event Schedule).  Drag a Business Cycle from the toolbox on to the diagram and then drag two Event Nodes from the toolbox and drop them in to the middle of the Business Cycle.  The Event Nodes will attach themselves to the outline of the Business Cycle.  Use the first Event Node as a base or trigger event and set the trigger for the second event to 'Timer'. Set the Time Period to the interval you need between the two events. You can display the Time Period on the diagram by linking a Note to the Tagged Value.  I would insert an image of the result, if I knew how to paste an image into one of these messages :-[

The only documentation I know of is the ZF User Guide, which I'm sure you will already have downloaded from http://www.sparxsystems.com/downloads/pdf/ZFUserGuide.pdf.  In common with all Sparx documentation it is good at telling you what is there, but very light on guidance on how to apply the features in a real model.

12
Hi,

The example model is not perfect .. As a for instance, the EventNodes in the Business Cycle diagram do not have the tagged values defined by the Zachman Framwork Add-In.  Try creating your own Business Cycle and dropping a Business Event on it.  Open the properties dialog by double clicking on the Event and look at the ZF tab/category.  There you will find Time Period and Timer Value properties.  How you use them is a matter of modelling conventions....

As to primitives and composites .. the way I interpret it is that all the elements of a particular type should be mastered in the correct cell, but can be used in the diagrams in the other cells as appropriate.  In row2 for instance data entities should be mastered in col1 and process activities in col2, events in col5. However a BPMN2.0 diagram in cell2,2 can (and should) show both events and activities, and also reference the data that is being processed by the activities.

Hope this helps

13
Automation Interface, Add-Ins and Tools / Re: Code Generation Template
« on: December 31, 2012, 09:07:24 am »
Try %eaDateTime%
 The current time with format: DD-MMM-YYYY HH:MM:SS AM/PM.

 Works in v10.  Either didn't exist or was undocumented in previous releases.  Use the %LEFT function macro to strip just the date off the string.

Pages: [1]