Webel's "super-relational" Note pages!

A Note is a short categorised statement, claim, policy, tip, or issue tracker Throughout this site, content is often related to supporting Notes, and each Note page links back to the content pages that reference it! The Note and Snippet concepts are very closely related and they support each other.
Look for "super-relational" Note page links at the bottom of most content pages!
Note kind Note Sort descending Spec tag UML keywords SysML keywords Keywords
TIP, WARNING SysPhS-1.1: p.57: GOTCHA: Table 11.3.2.5 Mathematical components: Mathematical.Subtraction maps to Math.Add (in Modelica) and Sum (in Simulink) SysPhS-1.1 SysPhS, Modelica, Simulink
ISSUE SysPhS-1.1: p.57: Table 11.3.2.5 Mathematical components: Modelica Parameters for the Subtraction row should indicate (k1 and) k2 required to achieve subtraction via Math.Add (or the correct exported values should be explained). SysPhS-1.1 SysPhS, Modelica, Simulink
ISSUE SysPhS-1.1: p.60: table for routing components: row for Switch: equivalents Modelica.Blocks.Logical.Switch (for Modelica) and Switch (for Simulink) missing SysPhS-1.1 SysPhS, Modelica, Simulink
ISSUE SysPhS-1.1: p.81: 'resistance:ViscousResistance' (in Figure 60) has to be treated as a PhSVariable not a PhSConstant, otherwise get an invalid system with 6 variables and 7 equations. Constraint ConstraintBlock SysPhS, hydraulics, fluid flow
ISSUE SysPhS-1.1: RelativeHumidityScenario1: Figure 98: Relative Humidiity Scenario Initial Values: RelativeHumidity should be RelativeHumidity1 SysPhS
CAVEAT SysPhS-1.1: SourceAndSink.Clock does not have 'offset' or 'startTime' to match Modelica's Clock SysPhS-1.1 SysPhS, Modelica
ISSUE, PROPOSAL SysPhS-1.1: Suggest use connector forms 'Modelica.Blocks.Interfaces.RealInput u;' and 'Modelica.Blocks.Interfaces.RealOutput y;' not 'input Real u;' and 'output Real y;' in Modelica code examples (otherwise not connectable). SysPhS-1.1 SysPhS
ISSUE SysPhS-1.1: The correct ValueTypes for Current, Voltage, Resistance, Capacitance, and Inductance should be used throughout instead of just Real in 'Figure 40: Circuit constraint blocks' SysPhS-1.1 ValueType, Real SysPhS
ISSUE SysPhS-1.1: The correct ValueTypes should be used throughout instead of just Real for constraint parameters in 'Figure 61: Hydraulics model constraint blocks' SysPhS-1.1 ValueType, Real SysPhS
PROPOSAL SysPhS-1.1: TwoPinElectricalComponent in 'Figure 39: Electrical blocks, ports & component properties' could be marked abstract SysPhS-1.1 Classifier::isAbstract Block SysPhS, SysML
ISSUE SysPhS-1.1: Typos: Numerous references to 'rsig' lower case should be 'rSig' (including Figure 25 and Figure 29) SysPhS-1.1 SysPhS
ISSUE, TOOL SysPhS-1.1: Use of 'Criteria = u2~=0' for Simulink for Real.Routing.Switch::u2 inconsistent with BooleanInput of control port Modelica.Blocks.Logical.Switch::u2 SysPhS-1.1 SysPhS, MagicDraw SysML, Cameo Systems Modeler, Modelica, Simulink
TIP SysPhS-1.1: When RealSignalInElement or RealSignalOutElement are used to type a SysML Port, assignments to the FlowProperty 'rSig' map to the Port name (only) when mapped to Modelica. SysML-1.6, SysML-1.7, SysPhS-1.1 Port FlowProperty
ISSUE SysPhS-1.1: [TRIVIAL] p.11: If property 'm:Mass' is named then ':Ground' should also be named for consistency in 'Figure 2: Association block with internal structure and connector properties in SysML' SysPhS-1.1 SysPhS
ASSERTION, TIP SysPhS: GOTCHA: By default PhSConstant maps to a Modelica parameter (not to a Modelica constant) SysPhS-1.1 value property SysPhS, Modelica
ISSUE, TOOL SysPhS: MagicDraw/Cameo v19SP3: Export to Modelica does not interpret as 'start' the default on a PhSVariable assigned via ElementValue to a PhSConstant SysML-1.6, SysML-1.7, SysPhS-1.1 MD:ElementValue, MagicDraw:ElementValue, Property::defaultValue SysPhS, MD SysML, MagicDraw SysML, Cameo Systems Modeler
MODELLING, TIP, TOOL SysPhS: MagicDraw/Cameo: In the sysphs_profile the properties for PhSVariable have multiplicity [1], so the defaults always appear explicitly (but may be overridden): isContinuous: Boolean = true, isConserved: Boolean = false, changeCycle: Real = 0 SysML-1.6, SysML-1.7, SysPhS-1.1 stereotype Property, Stereotype, multiplicity SysPhS, SysML, Systems Modeling Language, Cameo Systems Modeler, MagicDraw SysML
GOTCHA, ISSUE, WARNING SysPhSLibrary and ISO-80000 ModelLibrary: Some ValueType names and Unit symbols are not Modelica-friendly ValueType, ValueType::unit, Unit SysPhS, Modelica, ISO-80000
TIP The ActivityEdge, Transition, and Connector metaclasses do not extend (directly or indirectly) the Relationship metaclass (although the notations for them do indicate a kind of "relationship"). ActivityEdge, Transition, Connector, Relationship, DirectedRelationship
TIP THE BIG TIP: You brain has many facets: code + graphical engineering is greater than either alone Mathematica, Systems Modeling Language, MagicDraw, CATIA Magic, Cameo Systems Modeler, Magic Model Analyst, Model-Based Systems Engineering, model-based development, SysML
CAVEAT The custom DiagramDescription stereotype is not specified (in SysML1.6) SysML-1.6
OPTION The default display of all tagged values on the comment symbol for an ElementGroup can make diagrams cluttered, but you can extend it with a custom stereotype and customise the default visible tagged values. tagged value, stereotype Property, user defined Stereotype, Stereotype, custom Stereotype, MD:Customization ElementGroup, ElementGroup::name, ElementGroup::/size, ElementGroup::/criterion, ElementGroup::/member, ElementGroup::orderedMember
WARNING The difference between Dependency and Usage in UML is notoriously vague. SysML-1.6, UML-2.5.1 Dependency, Usage
ASSERTION The entry, doActivity, and effect Behaviors defined on a submachine State are specific that particular usage of its Submachine UML-2.5.1 State, State::/isSubmachineState, submachine, State::entry, State::doActivity, State::exit, State::submachine, State::containingStateMachine()
TIP The grouping of member elements by an ElementGroup is denoted here "logical" in the sense that it does not "steal ownership" of member elements (as opposed to "physical" ownership of elements in the model) ElementGroup, ElementGroup::/member, ElementGroup::orderedMember logical grouping
ISSUE, MODELLING, TIP, TOOL, WARNING, WORKAROUND The integration between Wolfram Workbench and Mathematica is partly gammy (as of latest versions 2022-08-23) Mathematica, Mathematica:notebook, Wolfram, Wolfram Language
CAPABILITY, DISPLAY, TOOL The MagicDraw/Cameo feature "Enable Parts Compartments" really means "Enable SysML Compartments" Port Cameo Systems Modeler, MagicDraw SysML
CAVEAT, ISSUE The markup of Snippet page titles on this CMS web site is sometimes restricted (especially concerning subscripts and superscripts such as used in mathematical and scientific notation). Visit the linked Snippet page for the quote with full markup. Drupal8
WARNING The mechanism for conjugated Ports has been changed in SysML 1.6, it now conjugates the Type! If you are using an InterfaceBlock to type a Port you can conjugate that 'original' on another Port by typing it with an ~InterfaceBlock. SysML-1.6 Port InterfaceBlock, ~InterfaceBlock, conjugation
CONVENTION, NAMING, POLICY The name of a «testCase» Behavior may be verbose and may use natural language, but should always start with a Capital letter. Behavior, Activity, Interaction, NamedElement, NamedElement::name TestCase, «testCase» Webel Best Practice
ASSERTION, TIP The OMG SysML language deliberately does not aim to restrict users and tools to one strict systems engineering methodology; it provides flexible capabilities and options for use by many model-based systems engineering methodologies and tools. systems engineering, Model-Based Systems Engineering, requirements engineering, SysML, Systems Modeling Language
DISPLAY The ProxyPort «proxy» and FullPort «full» stereotype keywords can quickly lead to clutter in diagrams. The SysML Revision Task Force is working on some new concise notational indicators on the Port rectangle symbol itself. Stereotype, «keyword» ProxyPort, «proxy», FullPort, «full» SysML, Systems Modeling Language
CAVEAT The Signal trigger simulator in Cameo Simulation Toolkit 19SP3 does not support run-time user-defined attribute values (but you can define defaults) Trigger, Signal, Classifier::attribute Magic Model Analyst [Cameo Simulation Toolkit]
ASSERTION, NAMING, WARNING The SysML block compartment name 'initialValues' for what are really "context-specific values" is confusing - even completely misleading; please just think of them as 'contextValues' (and initial values as a special context case) SysML-1.6 Parameter::defaultValue, compartment initialValues compartment, contextValues compartment, context-specific values, initial values
CAVEAT The SysML Complex "primitive" ValueType does in fact have substructure: realPart:Real and imaginaryPart:Real SysML-1.6 PrimitiveValueType, Complex, ValueType
TIP The SysML Copy relationship can be used to "import" Requirements from an existing read-only library into a new project context. Copy, Requirement Systems Modeling Language, systems engineering, Model-Based Systems Engineering
ASSERTION The SysML InterfaceBlock can be used for general contracts (it is NOT just for use as the Type of a ProxyPort)! InterfaceBlock design-by-contract, contract
ASSERTION The SysML non-normative extended requirements are NOT offered as the ultimate set of requirements categories or requirements fields, but they are highly usable and can be easily adapted. SysML-1.6 AbstractRequirement, Requirement, ExtendedRequirement, VerificationMethodKind, RiskKind, «extendedRequirement», «functionalRequirement», «interfaceRequirement», «performanceRequirement», «physicalRequirement», «designConstraint»
ASSERTION, TIP The SysML Parametric Diagram and the ContraintBlock technology for equations and mathematics is clever, powerful, useful, and integrates well with the other model-based engineering aspects of SysML. Constraint ConstraintBlock, constraint parameter mathematics, equation
ASSERTION The SysML specification refers to 'part property' as a concept (as a type of block property) but there is no stereotype PartProperty; MagicDraw/Cameo as an additional stereotype PartProperty to encapsulate the concept SysML-1.6 part part property
CAPABILITY, TIP The SysML Trace relationship can be used as a quick way to traceably elicit model elements from an identified diagram or table from a domain source document. You may visually remove the Trace symbols as each element is elicited to reduce clutter. SysML-1.6, SysML-1.7 Trace, «trace» Trace, Trace::getTracedFrom(in ref) SysML, Systems Modeling Language, Webel Parsing Analysis
ISSUE, LIMITATION, WARNING The SysML1.6 derived /tracedTo is only available on AbstractRequirement (but in MagicDraw/Cameo you can use derived relationships to achieve the same thing on other kinds of NamedElement). SysML-1.6, SysML-1.7 Trace, «trace», Property::isDerived Trace, Trace::getTracedFrom(in ref), AbstractRequirement::/tracedTo SysML, Systems Modeling Language, MagicDraw SysML, MD SysML, Cameo Systems Modeler
ASSERTION, MODELLING, STYLE The targeting of the Modelica and Simulink simulation language families by the SysML Extension for Physical Interaction and Signal Flow Simulation (SysPhS) encourages development of SysML models aligned with known practices for a wide class of problems! SysML-1.6, SysML-1.7, SysPhS-1.1 Modelica, Simulink, Simscape, Stateflow, SysML, Systems Modeling Language, physical interaction, signal flow, Model-Based Systems Engineering, model-based development, model
ASSERTION, CAVEAT The UML Artifact and its UML standard profile extensions such as «document» Document and «file» File are NOT included in UML4SysML. Artifact, «document», «file»
DISPLAY, NAMING, WARNING The UML InformationFlow notation and the SysML ItemFlow notation can sometimes clash with the notation of named Associations and named and typed Connectors InformationFlow, InformationFlow::conveyed ItemFlow, ItemFlow::itemProperty
TIP The UML multiplicity range notations '0..*' and '*' are completely equivalent UML-2.5.1 multiplicity, MultiplicityElement, MultiplicityElement::/lower, MultiplicityElement::/upper, LiteralUnlimitedNatural, *
ISSUE, LIMITATION, WARNING The UML «Trace» and SysML Trace can't be applied to a Slot as target (because Slot is just an Element, not a NamedElement). SysML-1.6, SysML-1.7 Trace, «trace», Slot, DirectedRelationship::/source, DirectedRelationship::/target, Dependency::client, Dependency::supplier, Abstraction Trace, Trace::getTracedFrom(in ref) SysML, Systems Modeling Language
ANTI-PATTERN, MODELLING The use of an additional «port» keyword on a Port is usually redundant and causes clutter. The use of an additional «port» keyword on a basic Property is an obsolete trick. Please don't imitate it even if you see it in some specification sample diagrams! Port, Stereotype, «keyword», custom Stereotype, user defined Stereotype "standard" Port Webel Best Practice, SysML, Systems Modeling Language, UML, Unified Modeling Language
TIP The vendor-specific Action Language Helper (ALH) API can be accessed from all of the various action scripting languages available in MagicDraw, Cameo Systems Modeler, and Cameo Simulation Toolkit Magic Model Analyst [Cameo Simulation Toolkit], MagicDraw SysML, MagicDraw UML, Cameo Systems Modeler, Action Language Helper, ALH
NAMING, POLICY, STYLE The Webel modelling style, naming conventions, and Best Practices for SysML are more consistent than most SysML spec diagrams. When following Webel courses please DO NOT use the spec sample diagrams (which serve a different purpose) as visual references! Webel Best Practice, Webel Parsing Analysis, SysML, Systems Modeling Language
TIP The Webel Parsing Analysis recipe for SysML1.x does not use the ElementGroup directly, it extends it as a user-defined Snippet stereotype with keyword «snippet» and with MagicDraw Customization. Stereotype, custom Stereotype, MD:Customization, user defined Stereotype, Comment ElementGroup Webel Parsing Analysis, WPA:«snippet»
ASSERTION The Webel Parsing Analysis recipe promotes a clearly scoped modelling workflow. Webel Parsing Analysis, parsing analysis, WPA:«document», WPA:«snippet»
MODELLING, TIP, TOOL The Webel recipe for pragramatic SE with SysML adopts the MagicDraw/Cameo tool friendly approach of using a SystemContext as 'subject' of top-level UseCases (although using a System as 'subject' can also be used). UseCase, UseCase::subject SysML, Systems Modeling Language, SysMLv1, MBSE, Model-Based Systems Engineering, Webel Best Practice, Webel::SE:pragmatic, MagicGrid, Cameo Systems Modeler, MagicDraw SysML, CATIA Magic
CONVENTION, MODELLING, NAMING, TIP The Webel recipe for pragramatic SE with SysML omits many of the concerns addressed by fully-fledged systems engineering frameworks. Many of these can be partially addressed by using custom Stereotypes for extraction using query view tables. SysML-1.6, SysML-1.7, SysMLv2, UML-2.5.1 Package, Model, NamedElement::name SysML, Systems Modeling Language, SysMLv1, MBSE, Model-Based Systems Engineering, Webel Best Practice, Webel::SE:«whitebox», Webel::SE:«blackbox», Webel::SE:«design», Webel::SE:pragmatic
NAMING, VARIATION The Webel trail versions of the Activity Diagrams D.36 and D.38 use the name 'transMode' for the output Parameter and corresponding ActivityParameterNode (consistent with the spec figure D.38) NOT 'transMode_imported' (as in spec figure D.36) Parameter, ActivityParameterNode HSUV sample problem
POLICY The Webel versions of the SysML HSUV sample problems and specification sample figures use "standard" Ports EXCEPT where ProxyPorts or FullPorts are explicitly indicated in the specification SysML-1.6 Port "standard" Port, FullPort, ProxyPort SysML, Systems Modeling Language
ASSERTION, TIP The «Subsystem» stereotype for UML Components has nothing to do with the non-normative SysML «subsystem» stereotype for Blocks Component, «Subsystem» Block, «subsystem»
TOOL There is no ElementValue in UML-2.5.1 (although one has been proposed) it is an extension used by the MagicDraw tool family for handling tagged values ValueSpecification, MagicDraw:ElementValue MagicDraw UML, MagicDraw SysML, Cameo Systems Modeler
ANTI-PATTERN, ISSUE, WARNING There is no «port» stereotype keyword for Port or Property in UML-2.5.1 or SysML-1.6. It is assumed to be introduced in some SysML and SysPhS specification diagrams as a custom or user-defined stereotype for special illustration purposes. SysPhS-1.1 «keyword», Port, Association, Association::memberEnd, Association::ownedEnd, user defined Stereotype, custom Stereotype "standard" Port, SysPhS specification figure SysPhS
GOTCHA, TIP, TOOL, WARNING TIP/GOTCHA: MagicDraw SysML/Cameo: In Parametric Diagrams create BindingConnectors involving part properties by selecting the constraint parameter symbol first and use the smart manipulator (otherwise you might accidentally create a regular Connector) Connector BindingConnector, SysML Parametric Diagram, constraint parameter, constraint property, part property MD SysML, MagicDraw SysML, Systems Modeling Language, SysML, SysML Parametrics, mathematics
GOTCHA, MODELLING, POLICY, TIP, TOOL TIP/GOTCHA: SysMLv1/fUML: Cameo Simulation Toolkit: If you have a ControlFlow loop with a DecisionNode test you MUST have a MergeNode for the continuation path ControlFlow (typically entered also from an InitialNode or other loop starting point). fUML-1.3, fUML-1.4, SysML-1.6, SysML-1.7, UML-2.5.1 Activity, ObjectFlow, ControlFlow, DecisionNode SysML, Systems Modeling Language, SysMLv1, MBSE, Model-Based Systems Engineering, Cameo Systems Modeler, MagicDraw SysML, CATIA Magic, Magic Model Analyst [Cameo Simulation Toolkit], fUML
GOTCHA, MODELLING, POLICY, TIP, TOOL TIP/GOTCHA: SysMLv1/UML: Cameo Simulation Toolkit: If you use a «decisionInputFlow» to a DecisionNode you MUST also have a ControlFlow to the DecisionNode; if you don't use an explicit «decisionInputFlow» you don't need the "extra" ControlFlow fUML-1.3, fUML-1.4, SysML-1.6, SysML-1.7, UML-2.5.1 Activity, DecisionNode::decisionInputFlow, ObjectFlow, ControlFlow, DecisionNode SysML, Systems Modeling Language, SysMLv1, MBSE, Model-Based Systems Engineering, Cameo Systems Modeler, MagicDraw SysML, CATIA Magic, Magic Model Analyst [Cameo Simulation Toolkit], fUML
OPTION TIP: If you use the name '0-source' instead of 'source' for the top-level Package/Model for containing Parsing Analysis elements it will list nicely at the top of the containment tree. Package, Model Webel Parsing Analysis, parsing analysis, WPA:«pa», WPA:«document», WPA:«snippet»
TIP TIP: If your browser can't zoom in on large tutorial trail slide images in the tutorial trail image viewer, open the slide image in a separate tab then zoom in there
CAPABILITY, FEATURE, STYLE, TIP TIP: MagicDraw/Cameo: Consider showing the Port name and type label inside the Port symbol! CAVEAT: This loses the direction indicators on Ports typed by Blocks with flow properties (but is fine if ItemFlows show the direction, or for "contract ports"). Port MagicDraw SysML, Cameo Systems Modeler, Webel Best Practice
TIP TIP: Mathematica: COMING SOON! Webel's ultimate guide to using Abstract Data Types to create pseudo-classes WITH INHERITANCE in Wolfram Language, all modelled in SysML! [There's already some examples and some detailed policy notes.] SysML-1.6, SysML-1.7 Mathematica, Abstract Data Types, ADTs, strong types, Wolfram, Wolfram Language, Systems Modeling Language, SysML, SysMLv1.x, SysMLv1.7, SysMLv1.6, inheritance
TIP, TOOL TIP: Mathematica: The IntelliJ IDEA Plugin for Mathematica is HEAPS better than the Eclipse-based Wolfram Workbench! Mathematica, Wolfram, Mathematica:IntelliJ-IDEA-Plugin, IntelliJ IDEA
ANTI-PATTERN, TIP TIP: Mathematica: Use of For is often a hint that Map, Table, Scan, or something else more functional could be used. But don't stress over it! Wolfram, Wolfram Language, Mathematica, Mathematica::For, Mathematica::Map, Mathematica::Table, functional, functional programming, Wolfram Workbench, Eclipse IDE
MODELLING, TIP, TOOL TIP: SysMLv1/UML: Cameo Simulation Toolkit: HOWTO convert an fUML ReadLine CLI String to a Boolean for cleaner DecisionNode tests against a LiteralBoolean [true] guard. fUML-1.3, fUML-1.4, SysML-1.6, SysML-1.7, UML-2.5.1 Activity, ObjectFlow, ControlFlow, DecisionNode, ActivityEdge::guard, LiteralBoolean, LiteralBoolean::false, LiteralBoolean::true SysML, Systems Modeling Language, SysMLv1, MBSE, Model-Based Systems Engineering, Cameo Systems Modeler, MagicDraw SysML, CATIA Magic, Magic Model Analyst [Cameo Simulation Toolkit], fUML
DISPLAY, FEATURE, MODELLING, STYLE, TOOL TIP: SysMLv1: MagicDraw/Cameo: Activity Diagrams: Consider using the Pin display mode 'Name And Type Labels Inside' for 'Position of Labels'. Dr Darren swears by it! SysML-1.6, SysML-1.7, UML-2.5.1 Activity, Pin, Activity Diagram, InputPin, OutputPin, Parameter SysML Activity Diagram MagicDraw, UML, MagicDraw UML, Unified Modeling Language, Systems Modeling Language, SysML, MD SysML, Cameo Systems Modeler, CATIA Magic, Mathematica, Webel:MathematicaSysML, Webel Best Practice
DISPLAY, FEATURE, TIP, TOOL TIP: UML/SysML: MagicDraw/Cameo: Activity Diagrams: ActivityParameterNodes: Displaying the underlying 'parameter::multiplicity' using Edit Compartments is extremely useful! SysML-1.6, SysML-1.7, UML-2.5.1 ActivityParameterNode, Parameter, multiplicity, MultiplicityElement Systems Modeling Language, Unified Modeling Language, MagicDraw, MD SysML, Cameo Systems Modeler, CATIA Magic
DISPLAY, FEATURE, TIP, TOOL TIP: UML/SysML: MagicDraw/Cameo: Activity Diagrams: Pins: You can display the 'multiplicity' of the underlying Parameter on Pins symbols using Edit Compartments. (The 'multiplicity' shows anyway if the :Type is shown.) SysML-1.6, SysML-1.7, UML-2.5.1 Parameter, multiplicity, MultiplicityElement, Pin, InputPin, OutputPin Systems Modeling Language, Unified Modeling Language, MagicDraw, MD SysML, Cameo Systems Modeler, CATIA Magic
CAPABILITY, FEATURE, STYLE, TIP TIP: UML/SysML: MagicDraw/Cameo: Consider showing the constraint parameter name and type label inside the small rectangular parameter symbol on SysML Parametric Diagrams. Dr Darren swears by it! PackageImport constraint parameter, MD:ConstraintParameter, SysML Parametric Diagram MagicDraw SysML, Cameo Systems Modeler, Webel Best Practice
MODELLING, TIP TIP: Webel: SysML/UML: On the boundary of Action symbols in Activity Diagrams use any placement or "ordering" of Parameter symbols that works for the diagram. Ignore the Parameter ordering of Operation and Behavior signatures completely! Activity Diagram, Action, Activity, Behavior, Parameter, Operation, ActivityParameterNode SysML Activity Diagram Systems Modeling Language, SysML, SysMLv1.x, Webel Best Practice, MagicDraw SysML, Cameo Systems Modeler, CATIA Magic
MODELLING, TIP TIP: Webel: SysML/UML: On the boundary of symbols for ConstraintParameters on a ConstraintProperty (ConstraintBlock usage) symbol in Parametric Diagrams use any placement or "ordering" of ConstraintParameter symbols that works for the diagram! MD:ConstraintParameter, constraint parameter, SysML Parametric Diagram, ConstraintBlock Systems Modeling Language, SysML, SysMLv1.x, Webel Best Practice, MagicDraw SysML, Cameo Systems Modeler, CATIA Magic
ISSUE To get synchronisation of multiple AcceptEventAction "loops" to work in Cameo Simulation Toolkit one sometimes needs an additional ForkNode AcceptEventAction, SignalEvent, ForkNode, Activity, Activity Diagram
ASSERTION Translating authoritative technical documents written in “natural” engineering language (snippet-by-snippet) into Webel Parsing Analysis diagrams creates consistent underlying systems models and can bridge easily to existing methodologies. Webel Parsing Analysis, parsing analysis, WPA:«document», WPA:«snippet», WPA:«pa», systems engineering
ASSERTION Typing a "standard" Port by an InterfaceBlock or ~InterfaceBlock IS allowed AND can be useful; typing a FullPort by an InterfaceBlock or ~InterfaceBlock is formally allowed but not so useful, because it would have no parts or behaviors to do anything. Port "standard" Port, FullPort, InterfaceBlock, ~InterfaceBlock
CAVEAT UML has an Integer type, not an 'int' type, but the MagicDraw and Cameo tools include a DataType 'int' in an additional profile Integer, DataType Magic Model Analyst [Cameo Simulation Toolkit], Cameo Systems Modeler
ISSUE, TOOL, WARNING UML-2.5.1 does NOT permit a trigger or guard on a Transition from an initial pseudostate in a StateMachine but Cameo/MagicDraw does (please avoid). PseudostateKind::initial, Transition, Transition::trigger, Transition::guard, StateMachine, StateMachine Diagram Magic Model Analyst [Cameo Simulation Toolkit], MagicDraw UML, MagicDraw SysML, Cameo Systems Modeler
ISSUE UML-2.5.1 refers to 'isTestFirst' in 16.11.3.4 but to isTestedFirst in the attributes list for LoopNode under 16.14.30.4 Attributes UML-2.5.1 LoopNode, LoopNode::isTestedFirst
ISSUE UML-2.5.1: Has an incorrect local Transition with same source and vertex in 'Figure 14.34 Local Transitions' UML-2.5.1 StateMatchine, State, Transition, TransitionKind::local, Transition::source, Vertex, Transition::target
ISSUE UML-2.5.1: Statement about 'Adding a value to an ordered StructuralFeature requires an insertion point' contradictory. First it says 'insertAt' is 'required', then it says it is not always 'required'. The 'insertAt' attribute is [0..1]. AddStructuralFeatureValueAction::insertAt, AddStructuralFeatureValueAction
MODELLING, TIP UML/SysML: A Boolean "state flag" attribute corresponding to a State can be useful for indicating states in some diagram types (but must be synchronised with Transitions to States carefully). SysML-1.6, SysML-1.7, UML-2.5.1 State, Boolean Webel Best Practice, UML, Systems Modeling Language, SysML, Unified Modeling Language, state flag
GOTCHA, ISSUE, TOOL, WARNING UML/SysML: Cameo Simulation Toolkit 19SP3: A parent Activity with a DecisionNode that uses a Activity as a decisionInput Behavior terminates immediately after the decisionInput terminates (but OpaqueBehavior works) Alf-1.1, fUML-1.3, fUML-1.4, SysML-1.6, SysML-1.7, UML-2.5.1 DecisionNode, DecisionNode::decisionInput, DecisionNode::decisionInputFlow, Activity, Behavior UML, SysML, Cameo Systems Modeler, Unified Modeling Language, Systems Modeling Language, Alf, fUML, Foundational UML
GOTCHA, TIP, TOOL UML/SysML: Cameo Simulation Toolkit 19SP3: GOTCHA/TIP: ConstraintBlock constraints: Not every available constraint language can handle Enumeration literals (if in doubt choose 'English') Alf-1.1, fUML-1.3, fUML-1.4, SysML-1.6, SysML-1.7, UML-2.5.1 Enumeration UML, SysML, Cameo Systems Modeler, Unified Modeling Language, Systems Modeling Language, Magic Model Analyst [Cameo Simulation Toolkit], MD SysML
GOTCHA, ISSUE, TOOL UML/SysML: Cameo Simulation Toolkit 19SP3: GOTCHA: Will not evaluate a guard using a token from a decisionInputFlow UNLESS a decisionInput Behaviour is explicitly defined (but Alf does) Alf-1.1, fUML-1.3, fUML-1.4, SysML-1.6, SysML-1.7, UML-2.5.1 DecisionNode, DecisionNode::decisionInput, DecisionNode::decisionInputFlow UML, SysML, Cameo Systems Modeler, Unified Modeling Language, Systems Modeling Language, Alf, fUML, Foundational UML
TIP UML/SysML: During modelling it can really help to create little instance (object) diagrams as you go! This can also help communicate with non-SysML stakeholders. SysML-1.6, SysML-1.7, UML-2.5.1 instance, InstanceSpecification Webel Best Practice
POLICY UML/SysML: If you have a Boolean "state flag" attribute corresponding to a State you MUST set it on an 'entry' of the State, not on the 'effect' of a Transition into the State (otherwise with multiple incoming Transitions it could be WET and breaks SSoT). fUML-1.3, fUML-1.4, SysML-1.6, SysML-1.7, SysMLv2, UML-2.5.1 StateMachine, State::entry, Transition, attribute value property Webel Best Practice, Systems Modeling Language, Unified Modeling Language, DRY, WET, SSoT, Single Source of Truth, state flag
DISPLAY, MODELLING, NAMING, STYLE UML/SysML: In Internal Block Diagrams: Consider hiding the name of a named Port or Property in a Diagram if its Type is sufficient to indicate its role. SysML-1.6, SysML-1.7, UML-2.5.1 NamedElement::name, Property, Port "standard" Port, ProxyPort, FullPort, SysML Internal Block Diagram Webel Best Practice, SysML, Systems Modeling Language, UML, Unified Modeling Language
DISPLAY, MODELLING, NAMING, STYLE UML/SysML: In Internal Block Diagrams: If you have a Port with a name that indicates a unique role AND and if there is an ItemFlow on a Connector that implies or suggests the Type of the Port, consider hiding the Type on the Port symbol. SysML-1.6, SysML-1.7, UML-2.5.1 NamedElement::name, Property, Port, InformationFlow::conveyed, Connector "standard" Port, ProxyPort, FullPort, ItemFlow Webel Best Practice, SysML, Systems Modeling Language, UML, Unified Modeling Language
GOTCHA, TIP, TOOL UML/SysML: MagicDraw/Cameo 19SP3: GOTCHA/TIP: An Instance Table will not display a row for instances typed by an abstract Class/Block (although one can show such instances as InstanceSpecification symbols on a Class Diagram or Block Definition Diagram) SysML-1.6, SysML-1.7, UML-2.5.1 Classifier::isAbstract UML, SysML, Cameo Systems Modeler, Unified Modeling Language, Systems Modeling Language, Magic Model Analyst [Cameo Simulation Toolkit], MD SysML, MD:InstanceTable
ISSUE, TIP, TOOL UML/SysML: MagicDraw/Cameo: 19SP3: Instance Table Diagram sometimes does not display the values for nested value properties SysML-1.6, SysML-1.7, UML-2.5.1 InstanceSpecification, Slot, Slot::value, Property UML, SysML, Cameo Systems Modeler, Unified Modeling Language, Systems Modeling Language, Magic Model Analyst [Cameo Simulation Toolkit], MD SysML, MD:InstanceTable
GOTCHA, ISSUE, TIP, TOOL UML/SysML: MagicDraw/Cameo: Edit Compartments: ActivityParameterNode: Can't select the 'parameter::multiplicity'? Run the synchronisation between the Activity in the direction Synchronize Activity Parameter Nodes by Activity Parameter then try again! SysML-1.6, SysML-1.7, UML-2.5.1 ActivityParameterNode, Parameter, multiplicity, MultiplicityElement Systems Modeling Language, Unified Modeling Language, MagicDraw, MD SysML, Cameo Systems Modeler, CATIA Magic
TIP, TOOL UML/SysML: MagicDraw/Cameo: Instance Table Diagrams are one of the most powerful features of MagicDraw/Cameo! Learn to use them to progressively test, debug, and evolve your models as you work! SysML-1.6, SysML-1.7, UML-2.5.1 InstanceSpecification, Slot, Slot::value UML, SysML, Cameo Systems Modeler, Unified Modeling Language, Systems Modeling Language, Magic Model Analyst [Cameo Simulation Toolkit], MD SysML, MD:InstanceTable
GOTCHA, ISSUE, WARNING UML/SysML: MagicDraw/Cameo: WARNING: If you assign a value to a Slot for an untyped Property then assign a ValueType later it will DELETE your assigned value! Assign a type first . SysML-1.6, SysML-1.7, UML-2.5.1 Slot, Slot::definingFeature, Property, TypedElement, TypedElement::type ValueType, value property MagicDraw UML, MagicDraw SysML, Cameo Systems Modeler, UML, Unified Modeling Language, SysML, Systems Modeling Language
MODELLING, TIP, TOOL UML/SysML: TIP: Using Cameo Simulation Toolkit will strengthen your use of Activity Diagrams even when they are "just" analysis diagrams SysML-1.6, SysML-1.7, UML-2.5.1 Activity Diagram, StateMachine Diagram, Activity, StateMachine, Behavior SysML Activity Diagram, SysML State Machine Diagram MagicDraw SysML, SysML, UML, Model-Based Systems Engineering, Magic Model Analyst [Cameo Simulation Toolkit], Systems Modeling Language, Cameo Systems Modeler, Unified Modeling Language
COMPLICATION UML/SysML: When sending a Signal (message) via a Port the 'target' is the owner of the Port through which the message will be sent, it is NOT the final recipient! So the 'target' is essentially the "sender"! SysML-1.6, UML-2.5.1 SendSignalAction::target, InvocationAction::onPort
TIP UML/SysML: When you use an AddStructuralFeatureValueAction to set one end of a bi-directional Association it also sets the other end. fUML-1.3, fUML-1.4, SysML-1.6, SysML-1.7, UML-2.5.1 AddStructuralFeatureValueAction, Association, Property Unified Modeling Language, Systems Modeling Language
TIP UML2/SysML1.x: If AggregationKind 'shared' has meaning to you (and if you use it consistently without contradicting the use of 'composite' aggregation elsewhere in your model) by all means use it. Damn the purists! But it's going to die in SysMLv2 anyway. AggregationKind::composite, AggregationKind::shared, AggregationKind part property, reference property Systems Modeling Language, SysML, Unified Modeling Language, UML, UML-2.5.1, SysMLv1.x