ST6RI-842: Support shorthand notations (PlantUML) by himi · Pull Request #647 · Systems-Modeling/SysML-v2-Pilot-Implementation

added 2 commits

May 5, 2025 00:26
* VDefault (casePerformActionUsage, caseExhibitStateUsage,
  caseExhibitStateUsage, caseIncludeUseCaseUsage): Use shorthand
  notation if possible
* VStructure (caseSatisfyRequirementUsage): if
  hasRefSubsettingWithoutDeclaredName(), render a node for the
  SatisfyRequirementUsage.
* SysML2PlantUMLStyle (StyleRelDefaultSwitch): Added arrow styles for
  shorthand notations.
(isEmptyObjective, isEmpty): Added
(addShorthandRelation): Use isEmpty().
* VCompartment (caseObjectiveMembership): Do not render empty objectives.
* VTree (caseObjectiveMembership): Likewise

@himi

  relationship
* VDefault (isEmptySubject, isEmptyObjective): Check if the name is
  null.
  not exist in the rendering result, we render a distinct
  node (cumbersome notation).
* VDefault (isEmpty): Check Specialization except for
  ReferenceSubsetting
  (addShorthandRelation): Use toBeRendered() to check if the target is rendered.

@himi

@himi

…ceUsage,

  caseIncludeUseCaseUsage): Show <<event>> or <<include>> when
  hasRefSubsettingWithoutDeclaredName() is true like perform and exhibit.

@himi

  hasRefSubsettingWithoutDeclaredName()
  (addNameWithId): If it's a special reference, use the reference
  name.
  (getNameWithNamespace): Allow enclosingNs to be null.
* VStructure (hasRefSubsettingWithoutDeclaredName): Removed.
(extractTitleName): Use getSpecialReference() instead of
hasRefSubsettingWithoutDeclaredName().
(caseSatisfyRequirementUsage): Ditto.
* SysML2PlantUMLStyle.StyleStereotypeDefaultSwitch: Ditto.
  <<satisfy>>, <<assume>>, <<assert>>
  caseSatisfyRequirementUsage() must return " satisfy>>" instead of "
  requirement>>"
* VCompartment (caseSatisfyRequirementUsage): Must process it because
  VStructure specially handle it.
* VStructure (caseSatisfyRequirementUsage): Also allow shorthand relation.

@himi

  by moving it from VDefault to VStructure.

seidewitz