Sparx Systems Forum
Enterprise Architect => Suggestions and Requests => Topic started by: fwoolz on June 12, 2010, 01:07:42 pm
-
Well, "forbidden" is a bit too dramatic - shall we say "non-compliant" instead? What I'm on about here is the fact that the EA user interface, in many cases, happily lets the user add features to elements that are not specified (or specified as not allowed!) for the element by the OMG specifications. For example, I can add an operation to a flow specification by clicking on the purple cube on the "Elements" toolbar, yet the SysML 1.1 spec clearly says, "[1] Flow specifications cannot own operations or receptions (they can only own FlowProperties)", and "[2] Every “ownedAttribute” of a FlowSpecification must be a FlowProperty" (I can also add arbitrary attributes that are not flow properties in the same manner).
What does the community think? Is EA's "libertine" attitude toward what is and isn't permitted for a given element a good thing (it lets the user extend UML beyond what the specs define) or a bad thing? I lean toward "bad," but YMMV.
Cheers,
Fred W
-
Well, I think that you need both...
"Out of the box" EA should correctly support the various standards that it claims to implement.
However, you also need to be able to override the standards from time to time (which you can, for example, by unmarking the [ ] Strict UML Syntax).
Perhaps Sparx need to provide [ ] Strict SysML Syntax (and similar checkboxes for the specific technologies they implement).
Paolo (who normally keeps [ ] Strict UML Syntax unmarked :))
-
An interface is a contract between parties. What's not written in the interface document does not (officially) exist. If you use it, you're likely to struggle later. And you're on your own.
However, sometimes you get forced to use these holes. The pain will stay the same when you struggle later. But you have an excuse why you used it.
b.