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 Spec tag UML keywords SysML keywords Keywords
TIP How to prounce Guillemet, those French-looking sideways double chevron quote thingies UML and SysML use to indicate a stereotype «keyword» (amongst other things). Stereotype, keyword Systems Modeling Language, SysML, Unified Modeling Language, UML, Guillemet, language, English, American English, British English, pronunciation
OPTION Webel Parsing Analysis: 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
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»
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»
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 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, 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»
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
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
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»
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
MODELLING, NAMING, POLICY Webel Parsing Analysis: The name of a Parsing Analysis Diagram (PAD) may be drawn from a focus Snippet OR may simply indicate a topic of interest to the analysis SysML-1.6, SysML-1.7 Diagram, NamedElement, NamedElement::name Webel Parsing Analysis, parsing analysis, WPA:«pa», WPA:«snippet», WPA:PAD
MODELLING, NAMING, POLICY Webel Parsing Analysis: Where too many dashed line "anchors" from Snippets to elicited members lead to clutter they may be selectively omitted from a Parsing Analysis Diagram (PAD) once each member has been collected. SysML-1.6, SysML-1.7 Comment, Comment::annotatedElement, MD:anchor Webel Parsing Analysis, parsing analysis, WPA:«pa», WPA:PAD, WPA:«snippet»
MODELLING, NAMING, POLICY Webel Parsing Analysis: While Associations may be collected as elicited members of a Snippet this can quickly lead to clutter in the /member list display. Often just collecting an end Property as member is sufficient. SysML-1.6, SysML-1.7 Generalization ElementGroup, ElementGroup::/member Webel Parsing Analysis, parsing analysis, WPA:«pa», WPA:«snippet»
MODELLING, NAMING, POLICY Webel Parsing Analysis: While Generalizations may be collected as elicited members of a Snippet this can quickly lead to clutter in the /member list display. SysML-1.6, SysML-1.7 Generalization ElementGroup, ElementGroup::/member Webel Parsing Analysis, parsing analysis, WPA:«pa», WPA:«snippet»
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, POLICY Webel Parsing Analysis: An "index" Parsing Analysis Diagram showing a collection of Snippets need not always show the members of each Snippet; a "focus" Parsing Analysis Diagram for one or more Snippets SHOULD always show the members of every 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
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
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
ASSERTION You DO NOT have to wait for SysMLv2 to do excellent Model-Based Systems Engineering with SysML! You can do MOST of what you need to do with SysMLv1.6/1.7 and you WILL be able to migrate models to SysMLv2 (once it matures). Start your SysML models NOW! SysML-1.6, SysML-1.7, SysMLv2 Systems Modeling Language, SysMLv2, SysMLv1.x, SysML
DISPLAY, ISSUE, TOOL, WARNING MagicDraw/Cameo v19SP3: The display of units can't be disabled on the initialValues compartment for context-specific values, which can lead to inconsistencies when an OpaqueExpression that references value property names is used. OpaqueExpression, Slot value property, ValueType, ValueType::unit, Unit, context-specific values, initial values, initialValues compartment MagicDraw SysML, Cameo Systems Modeler, SysML, Systems Modeling Language
MODELLING, TIP, TOOL MagicDraw/Cameo v19SP3: UML/SysML: HOWTO Set an OpaqueExpression on a Slot that seems to be stuck on a numerical value. SysML-1.6, SysML-1.7, UML-2.5.1 Real, Slot, OpaqueExpression Real MagicDraw UML, MagicDraw SysML, Cameo Systems Modeler, Systems Modeling Language, SysML, SysMLv1.x, SysPhS, Modelica
GOTCHA, ISSUE, TOOL, WARNING MagicDraw/Cameo v19SP3: vs SysPhS-1.1: OpaqueExpression for Slot value exports to Modelica as 'null' if only uses a single variable. WORKAROUND/HACK prefix the variable with '1 *' [FIXED in v2021x] SysML-1.6, SysML-1.7, SysPhS-1.1 Slot, OpaqueExpression context-specific values, initial values SysML, MD SysML, Systems Modeling Language, Cameo Systems Modeler, MagicDraw SysML, SysPhS, Modelica
In UML/SysMLv1.x Lifelines do not have specific information about the times or time ordering of events (such as Message arrival/sending) of other Lifelines Lifeline, Sequence Diagram, Interaction, interaction diagram, Message SysML Sequence Diagram UML, Unified Modeling Language, SysML, Systems Modeling Language, SysMLv1.x
PROPOSAL, WISHLIST Webel: SysMLv2: PROPOSAL: New Causality Graph Diagram for coordinating MetaEvents across an entire model SysMLv2 Lifeline, Port, Pin SysMLv2, Webel:WISHLIST, SysMLv2:WISHLIST, Systems Modeling Language, special relativity, relativity, MetaEvent
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
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
DISPLAY, REQUIREMENT Webel Parsing Analysis: The symbol for a Parsing Analysis Container MUST be able to indicate the unique domain source document from which its analysed text extract was quoted. SysML-1.6, SysML-1.7, SysMLv2 Webel Parsing Analysis, WPA:«snippet», parsing analysis container, Systems Modeling Language, parsing analysis
DISPLAY, REQUIREMENT Webel Parsing Analysis: The symbol for a Parsing Analysis Container MUST be able to OPTIONALLY display a list of names of elicited model elements (a.k.a. members) SysML-1.6, SysML-1.7, SysMLv2 ElementGroup::/member Webel Parsing Analysis, WPA:«snippet», parsing analysis container, Systems Modeling Language, parsing analysis
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
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
DISPLAY, REQUIREMENT Webel Parsing Analysis: The symbol for the relationship between a Parsing Analysis Container and elicited model elements SHOULD be a dashed line (like the anchor/handle line used with a UML Comment) SysML-1.6, SysML-1.7, SysMLv2 Comment, Comment::annotatedElement ElementGroup Webel Parsing Analysis, WPA:«snippet», parsing analysis container, Systems Modeling Language
DISPLAY, REQUIREMENT Webel Parsing Analysis: The symbol for a Parsing Analysis Container MUST be text-friendly and evocative of quoting a domain source text extract SysML-1.6, SysML-1.7, SysMLv2 Webel Parsing Analysis, WPA:«snippet», parsing analysis container, Systems Modeling Language
MODELLING, REQUIREMENT Webel Parsing Analysis: The symbol of a Parsing Analysis Container MUST be usable on every possible diagram type SysML-1.6, SysML-1.7, SysMLv2 Webel Parsing Analysis, WPA:«snippet», parsing analysis container, Systems Modeling Language
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
MODELLING SysMLv2: On the v2 Comment extension of the v2 AnnotatingElement as a candidate Parsing Analysis Container SysML-1.6, SysML-1.7, UML-2.5.1 WPA:«snippet», WPA:«pa»
QUESTION SysMLv1.x: Q: Why can't a Package with PackageImports be used as a Parsing Analysis text container? Why is the SysML1.6 ElementGroup (extended and customised as the Webel «snippet») far better suited for text-driven model element elicitation? SysML-1.6, SysML-1.7, UML-2.5.1 Comment::annotatedElement ElementGroup, ElementGroup::/member WPA:«snippet», WPA:«pa»
CONVENTION, NAMING Naming: If SISO is 'Single Input Single Output' then 'Double Input Single Output (DISO)' is more consistent than 'Two Input Single Output (TISO)', otherwise you'd have to have a 'One Input Single Input (OISO)' for consistency. But who ever says OISO? SISO, DISO, signal processing
ISSUE, LIMITATION, WARNING SysPhS vs Modelica: If you redeclare a PhSConstant (Modelica parameter) as a PhSVariable (Modelica variable) Modelica still treats it as a 'parameter'. You can end up with an unbalanced system with one equation too many! SysPhS-1.1 Property::redefinedProperty ValueType SysPhS, Modelica
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
ISSUE, LIMITATION SysPhS-1.1: Does not support Modelica's encapsulated enumeration. SysPhS-1.1 Modelica, SysPhS
ISSUE, LIMITATION SysPhS-1.1: Does not support Modelica's conditional declaration form. SysPhS-1.1 Modelica, SysPhS
DISPLAY, ISSUE, TOOL, WARNING MagicDraw/Cameo v19SP3: vs SysPhS-1.1: Modelica export: Direct binding from a PhSVariable value property within a FlowProperty of a Port to an inner value property does not flatten. WORKAROUND: Use an intermediate constraint property. SysML-1.6, SysML-1.7, SysPhS-1.1 Port FlowProperty, "standard" Port, value property SysML, MD SysML, Systems Modeling Language, Cameo Systems Modeler, MagicDraw SysML, SysPhS, Modelica
DISPLAY, ISSUE, TOOL, WARNING MagicDraw/Cameo v19SP3: Does not support display of context-specific values on a FlowProperty symbol within a Port in an IBD SysML-1.6, SysML-1.7 context-specific values, initialValues compartment, initial values SysML, MD SysML, Systems Modeling Language, Cameo Systems Modeler, MagicDraw SysML
COMPLICATION, GOTCHA, NAMING, WARNING SysML vs Modelica: GOTCHA: Terminology: A 'connector' in Modelica is equivalent to the Type of a Port in SysML. A Connector in SysML-1.x is equivalent to a 'connect(source,target)' in Modelica. SysML-1.6, SysML-1.7, SysPhS-1.1 Connector Block, InterfaceBlock SysPhS, Modelica, SysML, Systems Modeling Language, UML
PROPOSAL Webel vs SysPhS-1.1: Suggest SysPhSLibrary should explicitly support physical interactions with multiple conserved quantity flows. Example: Compressible fluid with mass and heat transfer. SysPhS-1.1 Block, InterfaceBlock, ValueType SysPhS, mass, fluid flow, compressible fluids
PROPOSAL Webel vs SysPhS-1.1: Suggest SysPhSLibrary should support Heat and FlowingHeat as conserved quantities with HeatFlowElement interface block and HeatFlowRate value type. SysPhS-1.1 Block, InterfaceBlock, ValueType SysPhS, heat, thermodynamics
PROPOSAL Webel vs SysPhS-1.1: Suggest SysPhSLibrary should support Mass and FlowingMass as conserved quantities (for compressible fluids) with MassFlowElement interface block and MassFlowRate value type. SysPhS-1.1 Block, InterfaceBlock, ValueType SysPhS, mass, fluid flow, compressible fluids
FEATURE, PROPOSAL, TOOL MagicDraw/Cameo: Modelica export: Need environment option to disable generation of layout annotations (not just on individual export dialog) SysML-1.6, SysML-1.7, SysPhS-1.1 Modelica, MagicDraw SysML, Cameo Systems Modeler
ISSUE, TOOL, WARNING MagicDraw/Cameo v19SP3+SysPhS-1.1: On export to Modelica sometimes repeats parts of an equation into an extending model. SysML-1.6, SysPhS-1.1 Constraint, Generalization ConstraintBlock, Block MagicDraw SysML, Cameo Systems Modeler, MD SysML, SysPhS, Modelica
GOTCHA, ISSUE, TOOL, WARNING MagicDraw/Cameo v19SP3+SysPhS-1.1: Does not cleanly export INLINE Modelica 'if/then/else' statements (a.k.a. "switching" form) SysML-1.6, SysML-1.7, SysPhS-1.1 Constraint MagicDraw SysML, Cameo Systems Modeler, MD SysML, SysPhS, Modelica
GOTCHA, ISSUE, TOOL, WARNING MagicDraw/Cameo v19SP3+SysPhS-1.1: Does not cleanly export Modelica 'when/then' statements SysML-1.6, SysPhS-1.1 Constraint MagicDraw SysML, Cameo Systems Modeler, MD SysML, SysPhS, Modelica
ISSUE, PROPOSAL Webel vs SysPhS-1.1: Modelica: Suggest need option to NOT always set a 'start' value also as 'fixed' (especially where 'initial equation' is not supported) SysPhS-1.1 Property::defaultValue SysPhS
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
GOTCHA, ISSUE, TOOL, WARNING MagicDraw/Cameo: GOTCHA: When applying a numerical default to a value property make sure the value property has already been typed by Real or Integer (or a ValueType that extends one of them) otherwise it will assign a LiteralString as default. SysML-1.6, SysML-1.7, UML-2.5.1 Property::defaultValue, LiteralString, LiteralReal, LiteralInteger ValueType, Real, Integer MagicDraw UML, MagicDraw SysML, Cameo Systems Modeler
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
ISSUE, LIMITATION SysPhS-1.1: Does not support Modelica's 'min' or 'max' on type declarations SysPhS-1.1 ValueType SysPhS, Modelica
GOTCHA, ISSUE, TOOL, WARNING MagicDraw/Cameo v19SP3: SysPhS: If you have a custom ValueType it MUST extend Real either directly or indirectly or it will not be seen on export to Modelica. SysML-1.6, SysPhS-1.1 Generalization ValueType, Unit, Real MagicDraw SysML, Cameo Systems Modeler, MD SysML, SysPhS, Modelica
ISSUE, LIMITATION SysPhS-1.1: Does not support Modelica's 'experiment' annotations SysPhS-1.1 SysPhS, Modelica
ISSUE, LIMITATION, WORKAROUND SysPhS-1.1: Does not support Modelica's 'initial equation'. WORKAROUND: One can often achieve the same by directly setting a default on a variable and/or by using additional variables/parameters with 'start' and additional equations. SysPhS-1.1 Property::defaultValue SysPhS, Modelica
ANTI-PATTERN, CAVEAT, MODELLING, NAMING, WARNING SysML: Naming: You may include Block, ValueType, and Signal names in the names of Behaviors (such as Activities) as long as this does not undermine the principles of functional analysis and allocation. SysML-1.6, SysML-1.7 Element::owner, BehavioredClassifier::ownedBehavior, BehavioredClassifier::classifierBehavior, Behavior, Activity, Signal Allocate, Block functional allocation, SysML, Systems Modeling Language, systems engineering, functional analysis, Webel Best Practice
ANTI-PATTERN, CAVEAT, MODELLING, NAMING, WARNING SysML: Naming: Including Block, ValueType, and Signal names in the names of Behaviors (such as Activities) can sometimes undermine purist functional allocation (because it may presuppose the element of the physical solution that carries out the function). SysML-1.6, SysML-1.7 Element::owner, BehavioredClassifier::ownedBehavior, BehavioredClassifier::classifierBehavior, Behavior, Activity, Signal Allocate, Block functional allocation, SysML, Systems Modeling Language, systems engineering
ISSUE, TOOL Cameo Simulation Toolkit v19SP3: The "hover" feature for showing values of objects may show duplicates if there are redefined value properties. Property::redefinedProperty, Slot, instance, InstanceSpecification, object value property simulation, Cameo Simulation Toolkit, Cameo Systems Modeler, MagicDraw SysML, MagicDraw UML
FEATURE, TIP, TOOL Cameo Simulation Toolkit: Before you run a simulation consider emabling Auto Open Diagrams under Environment Options -> Simulation. Alternatively, consider using split horizontal or vertical window groups (if there are only a few relevant diagrams). simulation, Cameo Simulation Toolkit, Cameo Systems Modeler, MagicDraw SysML, MagicDraw UML
FEATURE, GOTCHA, MODELLING, TIP, TOOL MagicDraw SysML/Cameo: If you have a SINGLE Allocate from an Activity to a Block it will set that Block to be the Behavior::/context for that Activity. SysML-1.6, SysML-1.7 Behavior::/context, Behavior, Activity Allocate, Block functional allocation, SysML, Systems Modeling Language, systems engineering, MagicDraw SysML, Cameo Systems Modeler
ANTI-PATTERN, CAVEAT, MODELLING SysML: Having a Behavior owned by a Block it is allocated to may undermine purist functional allocation (because it presupposes the element of the physical solution that carries out the function) SysML-1.6, SysML-1.7 Element::owner, BehavioredClassifier::ownedBehavior, BehavioredClassifier::classifierBehavior, Behavior, Activity Allocate, Block functional allocation, SysML, Systems Modeling Language, systems engineering
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
ASSERTION, MODELLING, TIP SysML+SysPhS: Flows: If you intend to use a Classifier to type the itemProperty of an ItemFlow on a Connector for a physical interaction you MUST use a Block (not a ValueType or Signal) so your can extend ConservedQuantityKind. SysML-1.6, SysML-1.7, SysPhS-1.1 Signal, InformationFlow, InformationFlow::conveyed Block, ValueType, ItemFlow, ItemFlow::itemProperty Systems Modeling Language, SysML, flow, Webel Best Practice, physical interaction, SysPhS
MODELLING, OPTION, TIP SysML: Flows: If you intend to use a Classifier to type the itemProperty of an ItemFlow on a Connector use a ValueType or Block rather than a Signal, otherwise you'll get probably-unwanted signal receptions on the owning context Block. SysML-1.6, SysML-1.7 Signal, InformationFlow, InformationFlow::conveyed Block, ValueType, ItemFlow, ItemFlow::itemProperty Systems Modeling Language, SysML, flow, signal flow, Webel Best Practice
MODELLING, OPTION, TIP SysML: Whether you use a Block, ValueType, or Signal to represent something that flows (and can be applied to an ItemFlow) depends on what you want to achieve. If you want to indicate something structured with value properties with Units use a Block. SysML-1.6, SysML-1.7 Signal, InformationFlow, InformationFlow::conveyed Block, ValueType, ItemFlow, ItemFlow::itemProperty Systems Modeling Language, SysML, flow, signal flow, Webel Best Practice
GOTCHA, MODELLING, WARNING SysML: The placement of usages of Blocks, their Ports, and Connectors in an Internal Block Diagrams DOES NOT necessarily represent physical geometry! SysML-1.6, SysML-1.7, SysMLv2, UML-2.5.1 Connector, Port SysML Internal Block Diagram, Block, "standard" Port SysML, Systems Modeling Language
ISSUE, TOOL Webel: Cameo Simulation Toolkit v19SP3: Could not get ReclassifyObjectAction to work (yet) ReclassifyObjectAction fUML, Cameo Simulation Toolkit, SysML
MODELLING, STYLE, TIP, TOOL MagicDraw SysML/Cameo has a nice feature 'Tools > Delegate Port(s)' accessible from the context menu for splitting Connectors that cross block boundaries into multiple Connectors with "exporting" Ports. SysML, Systems Modeling Language, Cameo Systems Modeler, MagicDraw SysML, MD SysML
MODELLING, STYLE, TIP Progressively "exporting" internal Ports of usages of Blocks to the boundary of their using Block may seem like a bit of extra work, but it means you can progressively develop with clean black box views without the Connectors crossing Block boundaries. Webel Best Practice, SysML, Systems Modeling Language, Cameo Systems Modeler, MagicDraw SysML, MD SysML
ASSERTION In a control loop, the 'got' (sensed) value is not in necessarily exactly the same as the actual, physical value being controlled! Typically it will be limited to a certain performance accuracy (and an intrinsic accuracy limit due to the number of bits). control loop, aim value, got value
NAMING, PATTERN, TIP In the Webel terminology for a basic control loop there is an 'aim' value (controlled via an actuator) and a 'got' value (a value read from a sensor). The 'got' value is NOT necessarily exactly the same as the actual physical value. SysML-1.6, SysML-1.7, SysMLv2, SysPhS-1.1, UML-2.5.1 got value, aim value, control loop, Webel Best Practice
MODELLING, TIP SysML-1.6/1.7: You can introduce a custom (user-defined) stereotype keyword «item» to indicate Properties that are to be used as "packets" for ItemFlows on Connectors. (SysMLv2 will have a formal way of treating such items/packets.) Stereotype, keyword, custom Stereotype, user defined Stereotype SysML, Systems Modeling Language, Webel Best Practice
CAVEAT, MODELLING Additional Dependency relationships between ValueTypes and their Units on some SysML diagrams on this site are for educational illustration only (you don't need them in your own SysML models). SysML-1.6, SysML-1.7 Dependency ValueType, ValueType::unit
CAPABILITY, DISPLAY, FEATURE, TIP, TOOL MagicDraw/Cameo: SysML Parametrics: To colour instance table cells to indicate broken constraints you need to create at least one Simulation Configuration Diagram, which loads a validation profile with colour coding rules. SysML-1.6, SysML-1.7 Constraint ConstraintBlock, constraint parameter MagicDraw SysML, Cameo Systems Modeler, Cameo Simulation Toolkit
TIP SysPhS-1.1 vs Modelica: On export the SysPhS signal flow Port types are flattened to remove the FlowProperty (rSig, iSig, or bSig). In the exported Modelica code you'll only ever see the Port names. Port "standard" Port SysPhS, Modelica
ISSUE, TOOL Wolfram SystemModeler: Not clear how to draw a connect that already exists in the Modelica code Modelica, Wolfram SystemModeler
ISSUE, TOOL, WARNING MagicDraw/Cameo v19SP3 vs SysML&SysPhS: Export to Modelica: The exported layout annotations appear to be completely broken (at least vs Wolfram SystemModeler) just de-select generation of them on export. SysML-1.6, SysML-1.7, SysPhS-1.1 Modelica, Cameo Systems Modeler, MD SysML, MagicDraw SysML, Systems Modeling Language, SysML
GOTCHA, ISSUE, MODELLING, TIP, WARNING GOTCHA: MagicDraw SysML/Cameo 19SP3: Export to Modelica: The name of a redefining Property must be exactly the same as the Property it redefines or it will not export properly! SysML-1.6, SysML-1.7, SysPhS-1.1, UML-2.5.1 Property::redefinedProperty, Property, Generalization Modelica, MD SysML, MagicDraw SysML, Cameo Systems Modeler, SysPhS
CONVENTION, MODELLING, NAMING Webel vs SysPhS-1.1: Annex A.5: Humidifier: Where ValueTypes involving litre are defined, the Unit symbol "L" is used rather than the Modelica-preferred "l" (in combination with an explicit additional unit converter). SysML-1.6, SysML-1.7, SysPhS-1.1 Unit, Unit::symbol, ValueType, ValueType::unit Modelica, SysPhS, humidifier, scientific unit system, SI unit, SI alternative unit, litre
TIP Modelica: Units: Uses 'l' for litre, rather than 'L'. Modelica, Wolfram SystemModeler, units, unit conversion
GOTCHA, TIP, WARNING Wolfram SystemModeler: On Mac the Unit Conversions dialog is under SystemModeler -> Preferences -> Global -> Unit Conversion (rather than under Tools -> Options) Modelica, Wolfram SystemModeler, units, unit conversion, macOS
GOTCHA, TIP, WARNING Wolfram SystemModeler: GOTCHA: The conversion dialog will not offer the Add Unit Conversion button unless there is not already an existing conversion in BOTH directions. Modelica, Wolfram SystemModeler, units, unit conversion
ISSUE Webel vs SysPhS-1.1: Annex A.5: Humidifier: The water temperature from TemperatureIncreaseConstraint and HeatingCalculationConstraint starts at 0 °C (should probably be the environment temperature 20 °C). Needs an additional parameter and initial value. SysML-1.6, SysML-1.7, SysPhS-1.1 Unit, Unit::symbol, ValueType, ValueType::unit Modelica, humidifier, SysPhS, temperature, celsius
CONVENTION, MODELLING, NAMING Webel vs SysPhS-1.1: Annex A.5: Humidifier: Where custom ValueTypes are defined, Modelica-friendly Unit symbols are used. Examples: "m3" not "m^3"; "degC" not "°C"; "J/(K.L)" (full stop as multiplier) not "J/(K⋅L)"; (EXCEPT "L" for litre not "l"). SysML-1.6, SysML-1.7, SysPhS-1.1 Unit, Unit::symbol, ValueType, ValueType::unit Modelica, SysPhS, humidifier, scientific unit system, SI unit, SI alternative unit
ASSERTION Webel vs SysPhS-1.1: Annex A.5: Assume the conversion value property name 'SaturationVaporPressure::hPa2Pa' stands for 'hectopascal to pascal'. SysPhS-1.1 Property::redefinedProperty SysPhS
ASSERTION, MODELLING, NAMING, TIP Webel: SysML: DO NOT sacrifice modelling naming conventions for the mere sake of carrying organisation-specific names! Instead use tagged values of custom stereotypes as metadata to carry alternative names in parallel with systematic model element names. fUML-1.3, fUML-1.4, SysML-1.6, SysML-1.7, SysMLv2, SysPhS-1.1, UML-2.5.1 NamedElement::name, NamedElement, tagged value, Stereotype, stereotype Property, keyword, custom Stereotype Webel Best Practice
CONVENTION, MODELLING, NAMING SysML/SysPhS-1.1: Anonymous Property or Action names may not be an option if: You are exporting to Modelica or Simulink; You absolutely need names for generated query reports (such as generated Interface Control Documents). NamedElement::name, NamedElement, Property, Action, Port "standard" Port, block property, part property, reference property SysML, SysPhS, Systems Modeling Language, Modelica, Simulink, Simscape, Stateflow, Webel Best Practice
ASSERTION Webel vs SysPhS-1.1: Annex A.5: Assume the conversion value property names 'WaterTank::litpSec2mLitpHr' and 'EvaporationCalculation2::litPSec2mLitPHour' stand for 'litres per second to millilitres per hour' SysPhS-1.1 Property::redefinedProperty SysPhS
ANTI-PATTERN, NAMING, POLICY Webel: In some SysML trails ValueType names with Unit indicator suffixes have been used for dimensional analysis and illustrative purposes. This practice is NOT otherwise recommended here. Instead just use consistent custom ValueTypes across your system! SysML-1.6, SysML-1.7, SysMLv2 ValueType Webel Best Practice
ASSERTION Webel vs SysPhS-1.1: Annex A.5: Humidifier: The restriction of "vapor" to the range 0..1 in EvaporationCalculation2 seems completely arbitrary, it is NOT a ratio! SysPhS, vapour, steam, gas
ASSERTION Webel vs SysPhS-1.1: Annex A.5: Humidifier: In EvaporationCalculation the specificHeat value 1.996 is off by a factor of about 2. It seems to have used the steam (gas) per gram value instead of the liquid water value per gram (or per mL volumetric) value. SysPhS, volumetric heat capacity, specific heat capacity, water, steam, vapour
ASSERTION Webel vs SysPhS-1.1: Annex A.5: Humidifier: Dimensional analysis of TemperatureIncrease and EvaporationCalculation implies the 'specificHeat' is a volumetric heat capacity, not a specific heat capacity (heat capacity per unit of mass). SysPhS, volumetric heat capacity, thermodynamics