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.

Topics - Paolo F Cantoni

Pages: 1 ... 63 64 [65] 66 67 ... 76
Bugs and Issues / BUG: XSD Model Group is exlcusive
« on: November 02, 2007, 02:46:05 am »
EA implements an XSD Model Group as a stereotype on the underlying class.

If you change the Model Group: type (one of: all, choice or sequence) EA does NOT remove the previous stereotype but adds the new one to the list.  This is totally incorrect and requires a pile of clicks (including reverting to UML view) to fix it...

Just to be clear, an XSD model group is exclusively either "all", "choice" or "Sequence" if it's one, it can't also be another!

Consistency, Consistency, Consistency! TM

[size=10]Using EA in spite of EA, NOT because of it![/size] TM[/color]

Bugs and Issues / BUG: inconsistent stererotype names
« on: November 02, 2007, 02:10:27 am »
This one almost wins the prize for the dooziest bug...  Took me an hour to track down why it occurred.

You have a stereotype (from importing an XSD) called XSDsequence.  I want to give it a particular rendering so I go into the Settings|UML... Stereotypes dialog page and make the necessary changes...  I accidentally change the name of the stereotype so I copied and pasted its name from the Notes text.  I press Save and I get the message:
<<XSDsequence >> for class has already been defined.  Do you wish to overwrite it?

Never got that before?  But yes, I want to overwrite it!

Switch back to the diagram, my rendering isn't being applied...  ???  After an hour of trying to figure out why... tests, cursing etc... I notice that in the stereotypes list I have two instances of XSDsequence one for associations and one for classes.  However in the list one renders as XSDsequence and the other as XSDsequen...  ???

How can that be?  The width of the column is just big enough for XSDsequence.  So Why XSDsequen...?  Why is it different?  Expand the column - they look identical!  Open the one that showed XSDsequen... and I find a space on the end!  Remove the space, and everything works!

But, because EA is self-inconsistent all over the place, I got the message above (how many of you spotted the trailing space the first time?). One part of EA says <<XSDsequence >> is the same as <<XSDsequence>>  (hence the message) and most other parts don't - since it isn't.

You have been warned!

Consistency, Consistency, Consistency! TM

[size=10]Using EA in spite of EA, NOT because of it![/size] TM[/color]

Uml Process / Special Characters in stereotype names/labels...
« on: November 20, 2015, 05:07:57 pm »
The UML specification appears/is mute on what characters may constitute a stereotype label/name (it seems ambiguous on what it shall be called).

I'm keen (for a variety of reasons which I won't go into here), to use some special characters in the names of some stereotypes.

1.  Does anybody know if any reason UML would not allow me to use such characters?  For example, I'd expect that using the guillemet characters might "play havoc" with the (apparent) output semantics.

2.  Does Sparx EA impose any additional restrictions on which characters may be used. For example, Character sets, Unicode ranges etc...  Or impediments due to the MDG generation/loading process.


Uml Process / UML vs BPMN for detailed design documentation
« on: September 20, 2015, 01:00:21 pm »
We're embarking on a process to create a unified modelling environment for Business Level Architecture (using ArchiMate with extensions), down to  physical modelling of real artifacts.

In business modelling, there's a change-over from ArchiMate to BPMN (for example as mentioned and documented in: : Mastering ArchiMate Edition II by Gerben Wierda).
However, when looking at more technical detailed design, we can describe  detailed program flow using UML activity diagrams etc. The EA help file has a section: Comparison of UML Activities and BPMN Processes  which seems to say that you can render any UML Activity diagram in BPMN, but not necessarily in the other direction.  That's my understanding.

Has anyone used BPMN diagrams for detailed program or computing process (as opposed to business process design)?

If so, can you share your experiences?
Any "traps for young players"?


Uml Process / Association End - Target Scope - where is it from?
« on: May 22, 2014, 05:39:30 pm »
I'm about to "Hijack" the Association End Target Scope property for my own (nefarious  ;)) purposes.

The drop-down has two values: instance and classifier.

I can't find where it (the concept) comes from - Google doesn't help. Anyone know how this property came about in the Sparx connector design?  Can anyone point me at a formal definition?


Uml Process / Materializing Generalization Sets
« on: October 04, 2013, 05:41:49 pm »
I've started to use Generalization Set A LOT in my modelling (particularly Enterprise level).  UML doesn't provide a materialization (embodiment) of the Generalization Set.  A materialization would be useful as one could attach additional metadata to the embodiment and use it in validating the model.

I've looked at how EA implements Generalization Sets and while it leaves something to be desired, it's (obviously) workable.  One item of metadata that EA provides is to assign a unique GUID to the Generalization Set.

What I was thinking of doing was to create an embodying object (most likely a Node) and assigning it the SAME GUID as the Generalization Set.  This would provide the specific cross-referencing (an example of my "Same Semantics, different syntax" concept.

Thoughts?  I can't really see any downside...

[size=0]©2013 Paolo Cantoni, Semantica[/size]

Uml Process / ArchiMate - Data views: "objects" and  f
« on: February 22, 2013, 04:50:27 pm »
As is probably known, ArchiMate appears to be a bit "light-on" for Data stuff...

However, one thing that IS bothering me is that it is suspiciously quiet on the ability to add structural features (attributes) to Business Objects, Data Objects and Artifacts.

I couldn't see anything in the ArchiMate spec that prohibited this, and I can certainly add them with EA - but EA resolutely refuses to allow me to make them visible! (see:  hiMate non-icon style rendering).

Can any ArchiMate gurus comment?


Uml Process / Instantiation arc - what is it?
« on: March 12, 2012, 04:51:16 pm »
I wanted to change the type of an arc and in the drop-down list there is a type of: Instantiation
I couldn't find any explicit reference in the Help.

Can anybody tell me what it is?
What is it's source (what specification defines it)?
How it is different from a UML Realization?


Uml Process / Data XXXX Items and References
« on: February 27, 2012, 06:29:42 pm »
BPMN 2.0 has Data Objects and Data Object References (it also has Data Stores and Data Store References).  My reading of the Standard suggests that the items are not their references.  However in EA, to create a reference, you have to create a Data XXXX item and then set the dataXXXXRef tag to (point to) the Data XXXX item.  There are a number of problems with this:

EA (as far as I can see) provides no indication - by altering the rendering that the item has changed from a Data XXXX and become a reference to a Data XXXX.  The standard appears silent on this matter, but it seems to me that it is important that they be distinguished (such as with a "shortcut" arrow as in Windows shortcuts).

Since the Data Object Reference (for example) is a reference to the Data Object (typically, but not universally, it represents the Data Object in a certain state), it is appropriate that the name of the reference is the same as the item it refers to.  Consequently, if you have a number of such "Data Objects" since there's no distinguishing mechanism you get a list of these items in the RefGuid lookup dialog and you can't tell which one is the "real" item and which are the references.

To get around this problem, I've adopted the convention that that the Data XXXX Reference name is preceded by a right arrow character - that way I can tell the real from the reference.

It seems to me that the notion of an XXXX Reference is a good one and can be very useful in getting around EA's restriction of one instance of an item per diagram in a structured way.  However, it needs to be handled properly by making it a different item type from the item it refers to.

[size=0]©2012 Paolo Cantoni, Semantica[/size]

Uml Process / BPMN: Data Object Reference - different element?
« on: February 10, 2012, 04:14:36 pm »
The BPMN 2.0 specification states:

The Data Object class is an item-aware element. Data Object elements MUST be contained within Process or Sub-Process elements. Data Object elements are visually displayed on a Process diagram. Data Object References are a way to reuse Data Objects in the same diagram. They can specify different states of the same Data Object at
different points in a Process. Data Object Reference cannot specify item definitions, and Data Objects cannot specify states. The names of Data Object References are derived by concatenating the name of the referenced Data Object the state of the Data Object Reference in square brackets as follows: <Data Object Name> [ <DataObject Reference State> ].

It seems to me from that definition that there is an implication that Data Objects and Data Object References aren't the same thing (one is a reference to the other).  

EA allows you to specify the dataObjectRef and the dataState properties of a Data Object thereby rendering it as a Data Object Reference.

While this is better than nothing, I would have expected that they would be two different types of objects and as the specification says, you'd get the definitional aspects (such as identity information) of the reference from the object itself and only allow the state to be specified in the reference.
Otherwise, as at present, the name of the Data Object Reference has to be manually set to be the same as the referenced Data Object (rather than setting it automatically when you make the link to the referenced object).


Uml Process / Is  Specification property - usage?
« on: December 09, 2011, 06:16:33 pm »
Can anyone tell me what the meaning of the IsSpecification property of an EA element is?

The somewhat tautological definition in the help says:

IsSpec Boolean  Read/Write

Boolean value indicating whether the element is a specification or not.

1 = True, 0 = False.

which doesn't indicate what the property actually means.

If an element is a Classifier isn't it (by definition) a specification?  The UML 2.3 Superstructure (formal) Specification says (in 7.3.7 Class (from Kernel)):
The purpose of a class is to specify a classification of objects and to specify the features that characterize the structure and behavior of those objects.

which seems pretty conclusive that it is a specification.

In the Superstructure I could find a reference to the keyword "{abstract}", but not to {specification} (nor, for that matter, {root} or {leaf} - IS Active doesn't generate a property rendering)

So if every classifier is a specification, is the point of the Is Specification property?


Uml Process / 2009-09-14 2.3 Superstructure.cmof.xml
« on: April 20, 2011, 05:01:39 pm »
Anybody been able to reverse engineer the CMOF XML file:
2009-09-14 2.3 Superstructure.cmof.xml

Or does anyone have a model of the UML 2.3 Superstructure in EA?


Uml Process / Handling Namespace and File Structure variance
« on: April 12, 2011, 01:24:15 pm »
Way back in 2006 I noted in: POSSIBLE BUG: Namespaces in C# code that the Namespace structure and the file folder structure need not align.  I've further commented more recently.

Than,  EA couldn't handle it.

Have things changed since then?  

Can anybody recommend how to import a C# solution consisting of multiple projects where the Namespace structure of the various components bears little relationship to their physical location?


Uml Process / On/Off-page and On/Off diagram connectors
« on: September 15, 2009, 12:53:28 pm »
A recent post: Off-Page Connectors in BPMN reminded me about the fact that support for "long" connectors in EA is limited (and, to a small extent, disfunctional).

So, before I submit a formal feature request, I thought I should sort out some of the ideas involved and get any feedback from our knowledgeable user base.

Whatever proposal that we generate, needs to be both human usable and manageable by automation.  The solution should also apply to the HTML and RTF reports.  In particular, for my own part, I seem to be working increasingly at the level of generating websites corresponding to the portions of the model - "page" will have two meanings:  Web screen (at a particular resolution) and printed page.

Metamodel:  A model is composed of related vertexes connectable by arcs  (not every vertex is related to it's related vertexes by arcs).  The vertexes and their interconnections can be represented in diagrams.  Diagrams are rendered onto one or more pages, printed or web.

The saying goes:  "A picture is worth a thousand words" - to which I have added the rejoinder: "until there's more than 6 shapes and twelve lines in which case, all bets are off!".  However, often, we need to have more complex diagrams that include the many more arcs and shapes.

Given the current drawing engine (or paradigm - as a user it's not clear which) that EA uses forces arcs to overlay vertexes, a diagram can become visually confusing very quickly.  (NOTE: I'm not criticising the overlay approach, just observing that's the functionality).

EA provides a somewhat convoluted mechanism to allow the creation of on-diagram:  You first have to make the arc a "custom line" style, then you have to add "bends" (way-points) on the line to create multiple segments.  Next you have to suppress one of the line segments - and EA will then place a marker at either end of the suppressed segment.  The markers (at each end of the suppressed segment) have no explicit identity - so, if you had more than one suppressed line segment on the diagram, this might be a source of confusion (depending on circumstances).  If you have named the arc, then the name of the arc is embedded within the marker.  (NOTE: again, some (possibly mostly) of these actions are necessary, but, in my view, some of the mechanisms used here are not optimal).

So what to do?

Firstly, it seems to me we need to clearly separate model infrastructure from rendering infrastructure.  The original post (and KP's response) cite BPMN as providing off-page connectors.  The BPMN specification (in section 10.2.1 Normal Flow) describes the use of Link Intermediate Events as "Off-page Connectors" or "Goto Objects".  In my view, this is conflating two ideas - modelling and rendering. Your model should not be constrained by the rendering constraints imposed by an arbitrary rendering technology.  The reduction of "clutter" on a diagram is a function of the diagram - hence mechanism such as on/off page connectors should be attached to the diagrams themselves - thus requiring: Diagrams as first class citizens of Repository.

Now, to the concepts themselves...

I have made a distinction in the topic title between on/and off diagram connectors.  I believe they are conceptually different - although not by much.  EA already provides mechanisms for linking between diagrams:  The incorrectly named "composite" element mechanism and hyperlinks.  The former attaches a diagram (of arbitrary type and, once linked, arbitrary location within the repository) to a vertex.  The latter allows you to move to another diagram by double-clicking the (adorned) vertex or the hyperlink.  Now, it seems to me that in the context of this discussion, an off-diagram connector is about "splitting" an arc so that one end is in one diagram and the other end is in another diagram.  Consequently, it is a rendering function.  Neither of the existing mechanisms achieve this.  So a new mechanism is required.

The ability to create/suppress segments shouldn't be restricted to "custom line" style arcs...  The number of segments is orthogonal to the "shape" of the arc.  In particular the creation of such connectors should be a first class function of the arc.  (Not as at present almost a side effect of a series of operations).

As regards on-diagram connectors, I believe an indication of whether the other end is on the same page or on a different page would be useful.  This would apply to whether the page were printed or nominated screen size.

(See part 2 below)

Uml Process / Mechanism for attaching BPMN objects to Flows
« on: November 06, 2010, 02:17:36 pm »
BPMN allows you to attach various vertices (generally Artifacts) to arcs (typically to flows) to indicate annotations or data objects that are flowing along the flow.

Unfortunately, EA ONLY allows you to attach a Note or a Constraint to an arc.  This poses a problem when creating BPMN diagrams.  I decided to create a Note or Constraint and attach it to the required arcs and then set the stereotype to (for example DataObject).  Lo and Behold!  I get the Data Object shape – but (and with EA there’s almost always a but) the “NoteLink” lines disappear from the diagram.  

Interestingly, the connectivity metadata is still there (as can be seen by removing the stereotype).  The metadata is stored in the PDATA4 column of the vertex record.

It’s not clear why the addition of the BPMN stereotype removes the NoteLink lines (since the application of other stereotypes - including those with shape scripts – doesn’t), but further research suggests that the reason why the lines disappear might be that the shapescript does not contain a “drawnativeshape()” statement.

However, in order to allow the drawing of such shapes correctly, I have created shapescripts which attach to Note Elements and draw the correct shapes.  The stereotypes are case varied (that is, dataObject instead of DataObject) since otherwise the BPMN shapescript will take precedence - and you'll lose the "Notelinks".

It is hoped that the BPMN stereotype shape scripts can be rectified at a later date, but this mechanism will provide a satisfactory interim solution.



Pages: 1 ... 63 64 [65] 66 67 ... 76