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 ascending Spec tag UML keywords SysML keywords Keywords
TIP Webel Parsing Analysis: The absolute basics of the process (SysMLv1.x form) SysML-1.6, SysML-1.7, UML-2.5.1 Comment::annotatedElement ElementGroup, ElementGroup::/member WPA:«snippet», WPA:«pa», Webel Parsing Analysis, parsing analysis, parsing analysis container
QUESTION Webel Parsing Analysis: SysMLv1.x: Q: "Instead of using a Snippet extension of an ElementGroup, can't I just use a Requirement and Trace to achieve the same thing?" A: No! The ElementGroup extended as the Snippet is far more powerful and fit for purpose. AbstractRequirement, AbstractRequirement::text Webel Parsing Analysis, WPA:«snippet»
MODELLING, POLICY Webel Parsing Analysis: SysML: Pseudo Semantic Triple: A «pa:triple» may be applied to a uni-directional Association between SysML Blocks and/or Actors. Association, Actor Block Webel Parsing Analysis, semantic triple, WPA:«pa:triple»
MODELLING, POLICY Webel Parsing Analysis: SysML: Pseudo Semantic Triple: A «pa:triple» may be applied to a Dependency between SysML Blocks and/or Actors or Properties typed by them. Dependency, Actor Block Webel Parsing Analysis, semantic triple, WPA:«pa:triple»
TIP Webel Parsing Analysis: Relationships between «snippet» items can be tracked using additional tagged values such as 'contradictedBy' and 'contradicts'. This is robust, but it can be verbose when Snippets have long names if the tagged values are displayed. ElementGroup Webel Parsing Analysis, WPA:«snippet»
DISPLAY, MODELLING, NAMING, POLICY, TIP Webel Parsing Analysis: Pseudo Semantic Triple: When «pa:triple» is applied to a named uni-directional Association the name and a consistent direction arrow should be displayed on the Association symbol in diagrams. Association, NamedElement Webel Parsing Analysis, semantic triple, WPA:«pa:triple»
DISPLAY, MODELLING, NAMING, POLICY, TIP Webel Parsing Analysis: Pseudo Semantic Triple: For «pa:triple» applied to a named one-to-one or one-to-many uni-directional Association, the non-navigable end Property is the subject, the name is the predicate, the navigable end Property is the object. Association, NamedElement Webel Parsing Analysis, semantic triple, WPA:«pa:triple»
DISPLAY, MODELLING, NAMING, POLICY, TIP Webel Parsing Analysis: Pseudo Semantic Triple: For «pa:triple» applied to a named one-to-one Dependency, the source is the subject, the name of the Dependency is the predicate, the target is the object. Association, NamedElement Webel Parsing Analysis, semantic triple, WPA:«pa:triple»
DISPLAY, LIMITATION Webel Parsing Analysis: MagicDraw/Cameo: SysML1.6+: ElementGroup-based Snippets do not list in the compartment of Package/Model symbols because ElementGroup is based on the UML Comment, which does not list in Package/Model symbols. SysML-1.6, SysML-1.7, UML-2.5.1 Comment, Model, Package, symbol ElementGroup Webel Parsing Analysis, WPA:«snippet», MagicDraw SysML, Cameo Systems Modeler, SysML, Systems Modeling Language
TIP Webel Parsing Analysis: MagicDraw/Cameo: In parsing diagrams use the element compartment properties to only display the features relevant to the context of a particular snippet's text extract. Webel Parsing Analysis, MagicDraw SysML, Cameo Systems Modeler
DISPLAY, REQUIREMENT Webel Parsing Analysis: It SHOULD be possible to relate one Parsing Analysis Container to another and stereotype that relationship as an RDF/OWL-like semantic triple SysML-1.6, SysML-1.7, SysMLv2 Webel Parsing Analysis, WPA:«snippet», parsing analysis container, Systems Modeling Language, parsing analysis, RDF, OWL, semantic web, semantic triple
DISPLAY, REQUIREMENT Webel Parsing Analysis: It MUST be possible to collect elicited members of a Parsing Analysis Container graphically in diagrams using relationship-like path drawing (not just via a specification dialog or other indirect modelling means) SysML-1.6, SysML-1.7, SysMLv2 Webel Parsing Analysis, WPA:«snippet», parsing analysis container, Systems Modeling Language
TIP Webel Parsing Analysis: It is not intended that you "parse and analyse" every sentence from every domain source document and map every word to your SysML model. The process adds incremental benefit; the more you use the WPA recipe, the better! Webel Parsing Analysis
CONVENTION, MODELLING, TIP Webel Parsing Analysis: It does not matter whether you use a Package or a Model package. (The informal Webel convention is that Models are used for systems engineering analysis with SysML and Packages are reserved for code-related software engineering.) SysML-1.6, SysML-1.7, UML-2.5.1 Model, Package Webel Parsing Analysis, WPA:«pa», SysML, Systems Modeling Language
ASSERTION, DISPLAY, POLICY, SETTINGS, STYLE, TOOL Webel Parsing Analysis: If you wish to show a «snippet» comment symbol (with its body text) in a presentation diagram (that is NOT a «pa» diagram) remove the '/member' tagged value from display so the only visible tagged value is 'source'. ElementGroup::/member Webel Parsing Analysis, parsing analysis, WPA:«pa», WPA:Snippet::source
CAPABILITY, FEATURE, NAVIGATION, TIP, TOOL Webel Parsing Analysis: If you have a unique URL for a domain source «document» you MAY additionally set it as an external hyperlink in the MagicDraw/Cameo tool (as well as setting it as the unique 'url' tagged value that acts as the '/uri'). Webel Parsing Analysis, parsing analysis, WPA:«document», MagicDraw SysML, MagicDraw UML, Cameo Systems Modeler
TIP, TOOL Webel Parsing Analysis: If you are processing lots of text from one source «document» create a STUB «snippet» with that «document» set as 'source' and just make copies of it in the model browser as needed. Big time saver! Webel Parsing Analysis, WPA:«pa», WPA:«snippet», WPA:«document»
DISPLAY, STYLE, TIP Webel Parsing Analysis: If the dashed-line "anchors" from your «snippet» ElementGroup symbols to elicited elements make a «pa» Parsing Analysis Diagram (PAD) too hard to read, try making them light grey using symbol properties. Webel Parsing Analysis
OPTION Webel Parsing Analysis: Formally, if «pa:implied» has been applied to indicate an implied elicited Element, the 'snippet' tagged value should bet set using at least one Snippet that implies it. (Note, the Snippet should have identical 'name' and 'body'.) Stereotype, custom Stereotype, «keyword», user defined Stereotype parsing analysis, Webel Parsing Analysis, WPA:«pa:implied», WPA:«snippet»
POLICY Webel Parsing Analysis: Create a top-level 'source' or '0-source' Package/Model SEPARATE from your project model. All source «document» elements and «snippet» extracts and «pa» diagrams MUST be ultimately owned by that top-level Package/Model as ancestor! Package, Model Webel Parsing Analysis, parsing analysis, WPA:«pa», WPA:«document», WPA:«snippet»
MODELLING, POLICY, TOOL Webel Parsing Analysis: As StateMachine Diagrams are always owned by an element that is not eventually under the Source Input Zone they should not be used as «pa» diagrams. Elicit States instead via the /member section of the specification dialog. SysML-1.6, SysML-1.7 StateMachine Diagram, State, Element::owner SysML State Machine Diagram Webel Parsing Analysis, parsing analysis, WPA:«pa», WPA:PAD, MagicDraw SysML, Cameo Systems Modeler
MODELLING, NAMING, POLICY Webel Parsing Analysis: An anonymous Element may be collected as a /member of a Snippet (it is not important whether collected elements list with a clear name under /member, only that they are traceably elicited). SysML-1.6, SysML-1.7 Diagram ElementGroup, ElementGroup::/member Webel Parsing Analysis, parsing analysis, WPA:«pa»
DISPLAY, MODELLING, OPTION Webel Parsing Analysis: An "index" Parsing Analysis Diagram (PAD) showing a collection of Snippets may optionally (but need not always) show the /member tagged value of each Snippet. SysML-1.6, SysML-1.7 Diagram Webel Parsing Analysis, parsing analysis, WPA:«pa», WPA:PAD, WPA:«snippet»
MODELLING, NAMING, POLICY Webel Parsing Analysis: Acronym: PAD = Parsing Analysis Diagram (may be nearly any diagram type, except those types that must be owned by an elicited model element) SysML-1.6, SysML-1.7 Diagram Webel Parsing Analysis, parsing analysis, WPA:«pa», WPA:PAD
ASSERTION Webel Parsing Analysis: A stereotype with keyword «pa:from» may be applied to a Dependency from a Package to another Package within the Source Input Zone to indicate that all of its Elements were directly or indirectly elicited from source Documents. SysML-1.6, SysML-1.7, UML-2.5.1 Package, Model, Dependency, Stereotype, custom Stereotype, «keyword» Webel Parsing Analysis, WPA:«pa», WPA:«pa:from», WPA:TargetModelZone, WPA:SourceInputZone
POLICY Webel Parsing Analysis: A Snippet (keyword «snippet») MUST always have exactly one domain 'source' Document (keyword «document»). Webel Parsing Analysis, parsing analysis, WPA:«document», WPA:«snippet», WPA:Snippet::source
REQUIREMENT Webel Parsing Analysis: A Parsing Analysis Container MUST NOT be able to own the Elements it elicits SysML-1.6, SysMLv2 ElementGroup Webel Parsing Analysis, WPA:«snippet», parsing analysis container, Systems Modeling Language
REQUIREMENT Webel Parsing Analysis: A Parsing Analysis Container MAY own other child Parsing Analysis Containers SysML-1.6, SysMLv2 ElementGroup Webel Parsing Analysis, WPA:«snippet», parsing analysis container, Systems Modeling Language
REQUIREMENT Webel Parsing Analysis: A Parsing Analysis Container MAY collect any other Element type as a member EXCEPT for another Parsing Analysis Container SysML-1.6, SysMLv2 Webel Parsing Analysis, WPA:«snippet», parsing analysis container, Systems Modeling Language
POLICY Webel Parsing Analysis: A custom Document stereotype (keyword «document») extends the UML standard profile Document that extends Artifact (which is NOT in the UML4SysML intersection). Such a Document may act as the 'source' of a «snippet». Artifact, «document» Webel Parsing Analysis, parsing analysis, WPA:«document», WPA:«snippet», WPA:Snippet::source
POLICY Webel Parsing Analysis: A 'source' Document must have one (only) of a URL or a URN (includes ISBN or other unique identifier) for use as a URI Webel Parsing Analysis, parsing analysis, WPA:«document»
DISPLAY, MODELLING, POLICY Webel Parsing Analysis: A "focus" Parsing Analysis Diagram (PAD) for one or more Snippets SHOULD always show the /member tagged value of every Snippet. SysML-1.6, SysML-1.7 Diagram Webel Parsing Analysis, parsing analysis, WPA:«pa», WPA:PAD, WPA:«snippet»
POLICY, STYLE Webel Parsing Analysis «pa» diagrams are NOT intended as final presentation diagrams! They serve merely to traceably elicit model elements, which may then be shown in other (typically much tidier) presentation diagrams elsewhere. Webel Parsing Analysis, parsing analysis, WPA:«pa»
ASSERTION Webel Parsing Analysis is a "meta-process" that can be applied to general domain source documents to elicit Requirements (and related model elements) or to a Requirements Specification itself as a special case of a domain source document! Requirement requirements engineering, Webel Parsing Analysis, parsing analysis, WPA:«document»
OPTION Webel Parsing Analysis for SysML: Track and display alternative names, human friendly names, organisation-specific names, and identifiers using tagged values for a custom stereotype «pa:term» (adapt or extend as required). SysML-1.6, SysML-1.7, SysMLv2 Stereotype, custom Stereotype, «keyword», user defined Stereotype parsing analysis, Webel Parsing Analysis, WPA:«pa:term», synonym
EXPLANATION, MODELLING Webel Parsing Analysis for SysML: "Snippet trumps Requirement": A SysML Requirement element is just another model element that is elicited IN PARALLEL WITH other elements that a text description mentions in any way as being involved with or related to it. AbstractRequirement, SysML Requirements Diagram SysML, Systems Modeling Language, SysMLv1, MBSE, Model-Based Systems Engineering, Webel Best Practice, Webel Parsing Analysis, WPA:«snippet», WPA:Snippet::source, WPA:PAD
PATTERN, TIP Webel Parsing Analysis for SysML - simplified profile Stereotype, custom Stereotype, Extension, Generalization, Actor ElementGroup Webel Parsing Analysis
POLICY Webel Parsing Analysis diagrams do their job once - namely traceable elicitation of model elements - and are then only kept as a reference! The elicited model elements are then used elsewhere in the final model. Webel Parsing Analysis, Webel Best Practice, WPA:«snippet», WPA:«pa»
ASSERTION Webel Parsing Analysis (with strict traceability of all elicited model elements) can be used side-by-side with "freestyle" modelling with incremental benefit the more it is used. Webel Parsing Analysis, parsing analysis, WPA:«document», WPA:«pa», WPA:«snippet»
ASSERTION Webel on Mathematica and the Wolfram Language vs Python. Python is not even close, not even vaguely close, it's not in the same league, as the Wolfram Language and Mathematica! python, Mathematica, Wolfram, Wolfram Language
CAVEAT, EXPLANATION, MODELLING, TOOL Webel IT's summaries of MagicGrid® for SysML/MBSE with Cameo are offered for the interest of MagicGrid users for informative and educational purposes only. They are not recommendations to use (or not use) MagicGrid, and are not officially endorsed. SysML, Systems Modeling Language, MBSE, SysMLv1, Cameo Systems Modeler, MagicDraw SysML, CATIA Magic, Model-Based Systems Engineering, MagicGrid
PROPOSAL Webel has suggested that SysMLv2 should support verification of each individual claim of more than one Element helping to Satisfy a Requirement. SysML-1.6 SysMLv2, Requirement, Satisfy, Verify, TestCase, «testCase» requirements engineering, test engineering
PROPOSAL Webel has suggested primary/replica as an alternative to master/slave terminology for the SysML Copy relationship in future SysML versions SysML-1.6 AbstractRequirement::/master, Copy, Requirement
NAMING, STYLE Webel has a proposal for clearly revealing anonymous typed elements in SysML callouts and on derived Properties from operation queries. NamedElement::name, Type, TypedElement, TypedElement::type block property, value property, part property, AbstractRequirement::/satisfiedBy, AbstractRequirement::/tracedTo, Satisfy, Trace
DISPLAY, MODELLING, TIP, TOOL Webel electronics modelling recipe for SysML: Diagrams can be made less verbose by using stereotype icon shape display mode, by not showing names and types on obvious Ports, by hiding context-specific values, and by omitting {net} tagged values. SysML-1.6, SysML-1.7 electronics, Webel Best Practice, SysML, Systems Modeling Language, MagicDraw SysML, Cameo Systems Modeler, micro-controller, Arduino
ANTI-PATTERN, MODELLING, STYLE Webel Best Practice: SysML/SysPhS: DO NOT use overlapping Connector lines from/to one Port (can be misunderstood as "summed" flow and/or physical node/fork/junction). SysML-1.6, SysML-1.7, SysPhS-1.1 Connector, Port Webel Best Practice, SysPhS, SysML, Systems Modeling Language, physical interaction, signal processing
NAMING, PATTERN, POLICY Webel Best Practice: Mathematica: Options are encapsulated as a String variable with the prefix '$opt', and have a related '$info$opt$' String (help), '$lab$opt' String (label), a 'def$opt' default value expression, and an optional '$warn$opt' String. Webel Best Practice, Webel::SysML4Mathematica, Mathematica, Wolfram Language, naming, coding, Mathematica::option
PATTERN, TIP, TOOL Webel + Mathematica + MTools + SysML SysML-1.6, SysML-1.7 Wolfram, Mathematica, Mathematica:MTools, Wolfram Language, Systems Modeling Language, MD SysML, CATIA Magic:v2021xR1, MagicDraw SysML, MagicDraw, Cameo Systems Modeler, Webel:MathematicaSysML
WARNING WARNING: In natural language casual conversation one often hears people speaking of a digital twin "replicating" or "twinning" a physical entity. If you do it that way literally, you will NOT have anything to manage the control system loop! SysML-1.6, SysML-1.7, SysMLv2 Webel Twin Pattern, Webel Best Practice
ASSERTION, WARNING Visual nesting of InstanceSpecification symbols has no meaning in the underlying model, only assignment to a Slot does! InstanceSpecification, instance MagicDraw SysML, Cameo Systems Modeler, MagicDraw UML
ASSERTION Visual containment of the symbol for a UseCase in the rectangular symbol for a subject Classifier does NOT imply ownership! Packaging (ownership) of UseCases is separate from use within subjects, and a single UseCase may be used in more than one subject. UseCase, UseCase::subject, Package, Classifier, Element::owner
ASSERTION, MODELLING Using Model-Based Systems Engineering with ANY version of Systems Modeling Language (SysML) is better than just doing drawings in a graphics tool or presentation tool SysML-1.6, SysML-1.7, SysMLv2 Systems Modeling Language, SysML, SysMLv1.x, SysMLv2, Model-Based Systems Engineering
NAMING, POLICY Use singular Property names, let the multiplicity indicate plurality. Property, NamedElement::name, MultiplicityElement, multiplicity
NAMING, POLICY Use of 'this-that' with a hyphen in Connector names is admissable (where 'this' and 'that' indicate Connector ends or their types) Connector Webel Best Practice
NAMING, POLICY Use 'UpperCamelCase' (a.k.a. PascalCase) names for Classifiers such as UML Classes and SysML Blocks) to avoid confusion with 'lowerCase' Property names [see however special naming conventions for acronyms and SysML contract and flow Blocks] Classifier, Class Block UML, SysML
WARNING Until tool support for ~InterfaceBlock comes you have to make a decision: (1) Bake your own «~InterfaceBlock» then deal with clashes when tool support comes; (2) stick with the DEPRECATED UML conjugation (not nested-port friendly) and await migration. SysML-1.6 Port::isConjugated InterfaceBlock, ~InterfaceBlock, conjugation
GOTCHA, ISSUE, TOOL, WARNING UML: Cameo Simulation Toolkit 19SP3: GOTCHA: CreateObjectAction ignores an Artifact as 'classifier' even though Artifact is a Classifier 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, Cameo Systems Modeler, Unified Modeling Language, Alf, fUML, Foundational UML
CAVEAT, TOOL UML4SysML is a specification abstraction (concept) only, it does not find direct expression (such as via a namespace) in tools like MagicDraw/Cameo SysML-1.6 UML4SysML Cameo Systems Modeler, MagicDraw SysML
TIP UML2/SysML1.x: Property: derived vs derived union vs subsetted SysML-1.6, SysML-1.7, UML-2.5.1 Property::isDerived, Property::isDerivedUnion, Property::subsettedProperty UML, Unified Modeling Language, SysML, Systems Modeling Language, SysMLv1.x
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
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
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
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
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
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, 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
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, 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
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
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
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
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
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
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, 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
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
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
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 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, 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
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
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
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
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
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
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
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
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
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, 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
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
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
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
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
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: 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
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»
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
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, 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