SysML 1.7 RTF Avatar
  1. OMG Issue

SYSML17 — callout notation issues

  • Key: SYSML17-37
  • Legacy Issue Number: 14575
  • Status: open  
  • Source: No Magic, Inc. ( Nerijus Jankevicius)
  • Summary:

    I'm trying to prepare requirements for "callout" notation changes in MagicDraw SysML diagrams and trying to remove tool-specific notation.

    The SysML spec says that each allocatedTo or allocatedFrom property will be expressed as «elementType» ElementName.
    It looks simple at a first glance, but later SysML spec is a total mess:

    "For uniformity, the «elementType» displayed for the /allocatedTo or /allocatedFrom properties should be from the following list, as applicable. Other «elementType» designations may be used, if none of the below apply.

    «activity», «objectFlow», «controlFlow», «objectNode» «block», «itemFlow», «connector», «port», «flowPort», «atomicFlowPort», «interface», «value»

    Note that the supplier or client may be an Element (e.g., Activity, Block), Property (e.g., Action, Part), Connector, or BehavioralFeature (e.g., Operation). For this reason, it is important to use fully qualified names when displaying / allocatedFrom and /allocatedTo properties. An example of a fully qualified name is the form (PackageName::ElementName.PropertyName). "

    So, looking at the predefined list it is clear that:
    For the Activity or other "clean" UML element it is an metaclass name in lowercase.
    for let's say ItemFlow or FlowPort is is an stereotype name in lowercase.
    That's ok.

    But what is <<atomicFlowPort>> ? Port with <<flowPort>> stereotype applied which has isAtomic=true.
    What is <<value>> ? Property which has Type with <<ValueType>> stereotype applied.

    In the example below (Figure 15.4) it has allocation of actions to parts and it uses another one <<elementType>> which is not described - <<part>>.
    What is <<part>> ? The Property with AggregationKind = composite?

    Also, full qualified names and <<elementTypes>> are used incorrectly in this Figure or I don't understand how it should be used.
    For example:
    <<block>> Block4.Part5 - why it is <<block>>, but not <<part>> ???
    <<part>> Part2:Block1 - why part name is before block name? It should be displayed as (PackageName::ElementName.PropertyName) as described above.

    I believe, all these rules and exceptions should be described somewhere

  • Reported: SysML 1.4 — Thu, 22 Oct 2009 04:00 GMT
  • Updated: Sun, 13 Jan 2019 15:32 GMT