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
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, Magic Model Analyst [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, Magic Model Analyst [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, Magic Model Analyst [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, Magic Model Analyst [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, Wolfram
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, Wolfram
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, Wolfram
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
ASSERTION Webel vs SysPhS-1.1: Annex A.5: Humidifier: It is NOT assumed that the specification example is completely realistic (but an attempt is made to indeed interpret it as realistic using dimensional analysis and quantity magnitude checks). SysPhS, humidifier
ASSERTION Webel vs SysPhS-1.1: Annex A.5: Humidifier: It is assumed that "waterVolume" in TemperatureIncreaseConstraint is a rate litres per second (L/s), so it is named 'waterVolumeRate' in the Webel trail version. SysPhS, humidifier
GOTCHA, MODELLING, TIP, WARNING MagicDraw/Cameo: If you drag a Behavior from the model browser onto the SYMBOL of a State (that does not already own the Behavior) and set it as an 'entry', 'doActivity', or 'exit' Behavior a "wrapper" Behavior owned by the State will be created. SysML-1.6, SysML-1.7, SysPhS-1.1, UML-2.5.1 State, State::entry, State::doActivity, State::exit, Behavior Modelica, MD SysML, MagicDraw SysML, Cameo Systems Modeler, drag-n-drop
GOTCHA, MODELLING, TIP, WARNING MagicDraw SysML/Cameo 19SP3: GOTCHA: If you drag a Behavior from the model browser onto the 'entry', 'doActivity', or 'exit' field in a specification dialog of a State it WILL BECOME OWNED by the State (which "steals ownership")! SysML-1.6, SysML-1.7, SysPhS-1.1, UML-2.5.1 State, State::entry, State::doActivity, State::exit, Behavior Modelica, MD SysML, MagicDraw SysML, Cameo Systems Modeler, drag-n-drop
DISPLAY, MODELLING, TIP, TOOL MagicDraw/Cameo: Display options: On an 'entry', 'doActivity', or 'exit' Behavior of a State you may choose to display the specification code of an OpaqueBehavior or just its name. SysML-1.6, SysML-1.7, SysPhS-1.1, UML-2.5.1 State, State::entry, State::doActivity, State::exit, Behavior, OpaqueBehavior MagicDraw SysML, MagicDraw UML, Cameo Systems Modeler, MD SysML
ASSERTION Webel vs SysPhS-1.1: Annex A.5: Humidifier: In the Webel version it will be tentatively assumed we are in fact dealing with a large humidified space like an office building NOT a single "humidified room" - despite the block name HumidifiedRoom in the spec SysPhS-1.1 constraint parameter, ConstraintBlock SysPhS, dimensional analysis
ASSERTION Webel vs SysPhS-1.1: Annex A.5: Humidifier: If the WaterTank::tankVolume 50,000 is measured in litres (L) the VaporPressureCalculation::volume within the HumidifiedRoom can't possibly be 25000.0 litre (L), it has to be 25000.0 (m^3), which is NOT a "room" SysPhS-1.1 constraint parameter, ConstraintBlock SysPhS, dimensional analysis
ASSERTION Webel vs SysPhS-1.1: Annex A.5: Humidifier: It is assumed that 'HumidityBalance::volume = 25,000' and 'VaporPressureCalculation::volume = 25,000' are the same fixed SpaceVolume in cubic metres (m^3). SysPhS-1.1 constraint parameter, ConstraintBlock SysPhS, dimensional analysis
ISSUE Webel vs SysPhS-1.1: Annex A.5: Humidifier: Dimensional analysis of VaporPressureCalculationConstraint implies each 1 mL of water is equated with EXACTLY 1 g of produced vapor. SysPhS-1.1 constraint parameter, ConstraintBlock SysPhS, dimensional analysis, litre, water, volume, gram, scientific unit system, units, SI unit, ISO-80000
ISSUE Webel vs SysPhS-1.1: Annex A.5: Humidifier: Dimensional analysis of VaporPressureCalculationConstraint implies the output is a pressure rate, which makes no sense as consumed by RelativeHumidityCalculation and is inconsistent with the rest of the system. SysPhS-1.1 constraint parameter, ConstraintBlock SysPhS, dimensional analysis
ASSERTION Webel vs SysPhS-1.1: Annex A.5: Humidifier: Dimensional analysis of HumidityBalanceConstraint implies constraint parameter 'airExRate' in {change=((humidity-envH)*(volume*airExRate))} is per-volume, assuming that 'volume' is a fixed Volume. SysPhS-1.1 constraint parameter, ConstraintBlock SysPhS, dimensional analysis
ASSERTION Webel vs SysPhS-1.1: Annex A.5: Humidifier: Dimensional analysis of RelativeHumidityCalculationConstraint implies constraint parameter 'change' in {der(x)=((press/satVap)-change)/c2} is a unitless relative humidity, given that 'c2' is a Time. SysPhS-1.1 constraint parameter, ConstraintBlock SysPhS, dimensional analysis
ISSUE SysPhS-1.1: Annex A.5: The BDD Figure 74 and Parametric Diagram Figure 84 for block RelativeHumidityCalculationConstraint are missing PhSConstant 'c2'. Compare with the constraint {der(x)=((press/satVap)-change)/c2} in BDD Figure 79. SysPhS-1.1 Constraint constraint parameter, value property SysPhS
ISSUE, TOOL MagicDraw SysML/Cameo 19SP3: Sometimes on application of an ItemFlow to a Connector with Ports typed by Blocks or InterfaceBlocks that have a FlowProperty of the same type (but different direction) it shows two ItemFlow arrows InformationFlow, InformationFlow::conveyed, Connector ItemFlow MagicDraw SysML, Cameo Systems Modeler
GOTCHA Modelica does not support comparison of Real values using == outside of functions (so not directly inside state machines) Modelica, Wolfram SystemModeler
ASSERTION Webel vs SysPhS-1.1: Annex A.5: Humidifier: It is assumed that "radiation" is a rate (equivalent to a power). SysPhS
ASSERTION Webel vs SysPhS-1.1: Annex A.5: Humidifier: It is assumed that "energy" is a rate (equivalent to a power). SysPhS
ASSERTION Webel vs SysPhS-1.1: Annex A.5: Humidifier: It is assumed that "vapor" is a volume rate corresponding to the rate of consumption OF HEATED LIQUID WATER (from a tank) used to create the vapor. SysPhS-1.1 Unit, ValueType, ValueType::unit SysPhS, dimensional analysis, vapour, steam, water
ISSUE SysPhS-1.1: Annex A.5: p.89: Figure 75: Humidifier blocks, ports, & component properties. Typo in name of value property 'litpSec2mLiptHr:Real' on WaterTank should be 'litpSec2mLitpHr:Real' (breaks export of redefining Property with correct name). SysPhS-1.1 Property::redefinedProperty SysPhS
ISSUE, TOOL MagicDraw/Cameo v19SP3 vs SysML&SysPhS: The sample project for the Humidifier example uses DEPRECATED FlowPorts (and sets values directly on them in the StateMachines). DEPRECATED:FlowPort SysPhS, Systems Modeling Language, Cameo Systems Modeler, SysML, MD SysML
GOTCHA, ISSUE, TOOL, WARNING MagicDraw/Cameo v19SP3 vs SysML&SysPhS: GOTCHA: Will NOT correctly export a SysML-1.6 «~interfaceBlock» to Modelica (but does cope with a tilde ~ prefix in the name of a plain InterfaceBlock) SysML-1.6, SysML-1.7, SysPhS-1.1 Block, «system», ~InterfaceBlock, InterfaceBlock, FlowProperty, FlowProperty::direction Modelica, Cameo Systems Modeler, MD SysML, MagicDraw SysML, Systems Modeling Language, SysML
GOTCHA, ISSUE, TOOL, WARNING MagicDraw/Cameo vs SysML&SysPhS: GOTCHA: Will NOT export a non-normative System «system» block to Modelica, it only recognises a plain Block «block»! SysML-1.6, SysML-1.7, SysPhS-1.1 Block, «system» Modelica, Cameo Systems Modeler, MD SysML, MagicDraw SysML, Systems Modeling Language, SysML
ISSUE SysPhS-1.1: Annex A.5: Typo in Figure 98 redefining value property 'C2 : Time = 1.0{redefines C2,unit = second}', should be lower case 'c2' (compare with BDD Figure 79) SysPhS-1.1 Property::redefinedProperty SysPhS
DISPLAY, MODELLING, TIP MagicDraw/Cameo: HOWTO: Create a redefining value property with a default value using drag-n-drop Generalization, Property::redefinedProperty, Property::defaultValue, Property, attributes compartment, properties compartment, Association::memberEnd, Association::ownedEnd value property, Block, SysML Block Definition Diagram, values compartment, parts compartment drag-n-drop, MagicDraw UML, MagicDraw SysML, Cameo Systems Modeler, SysML, MD SysML, Systems Modeling Language, Unified Modeling Language, UML
FEATURE, MODELLING, TOOL MagicDraw/Cameo: On dragging a Property onto another Property set it as redefining, the multiplicity of the redefining Property is set to [0..*] if the redefined (dragged) Property only has <UNSPECIFED> Multiplicity Property::redefinedProperty, multiplicity, Property, MultiplicityElement MagicDraw UML, MagicDraw SysML, Magic Model Analyst [Cameo Simulation Toolkit], Cameo Systems Modeler, drag-n-drop, UML, Unified Modeling Language, SysML, MD SysML, Systems Modeling Language
MODELLING, TOOL, WISHLIST WISHLIST: MagicDraw/Cameo: Ability to set project-wide option to NOT set the multiplicity of a redefining Property to [0..*] on using drag-n-drop when the redefined (dragged) Property has <UNSPECIFED> Multiplicity Property::redefinedProperty, multiplicity, Property, MultiplicityElement MagicDraw UML, MagicDraw SysML, Magic Model Analyst [Cameo Simulation Toolkit], Cameo Systems Modeler, drag-n-drop, UML, Unified Modeling Language, SysML, MD SysML, Systems Modeling Language
MODELLING, TIP Sample problems and example diagrams in graphical language specifications are NOT necessarily indications of how one should model on a real-world project! They often just serve to demonstrate a particular aspect of the specified language. Alf-1.1, fUML-1.3, fUML-1.4, OCL-2.4, SysML-1.6, SysML-1.7, SysMLv2, SysPhS-1.1, UML-2.5.1 specification, UML, fUML, Unified Modeling Language, SysML, Systems Modeling Language, Alf, Object Constraint Language, OCL, SysPhS, graphical engineering, patch-based
MODELLING, PATTERN, TIP SysML: When using Property::defaultValue and Property::redefinedValue to carry a "shadow hierarchy" of redefinitions across an entire system hierarchy, considering using a user-defined keyword such as «configuration» or «scenario» on each redefining Block SysML-1.6, SysML-1.7, UML-2.5.1 Property::redefinedProperty, Property::defaultValue, Stereotype, «keyword», user defined Stereotype, custom Stereotype MD SysML, Systems Modeling Language, UML, MagicDraw UML, MagicDraw SysML, Webel Best Practice
MODELLING, NAVIGATION, PATTERN, TIP, TOOL Webel: UML/SysML: Navigation: ALWAYS offer a way out of a diagram (usually up a hierarchy, but possibly across) using a navigable symbol (linked to a diagram) and/or a diagram symbol. Avoid "cul-de-sacs"! [But beware of shared package cross-dependencies] SysML-1.6, SysML-1.7, SysMLv2, SysPhS-1.1, UML-2.5.1 Diagram SysML, Systems Modeling Language, Cameo Systems Modeler, MagicDraw SysML, MagicDraw UML, UML, Webel Best Practice
COMPLICATION, TOOL, WARNING SysPhS-1.1: GOTCHA: The term "initial values" is sometimes just used to refer to the start values for a simulation run in Modelica or Simulink. It does NOT always mean the additional context-specific values mechanism of SysML beyond Property::defaultValue Property::defaultValue, Property::redefinedProperty initial values, context-specific values SysML, Systems Modeling Language, MagicDraw SysML, MD SysML, Cameo Systems Modeler, system configuration, deep configuration, modes, SysPhS
COMPLICATION, TOOL, WARNING SysML: Using redefined Property and Property::defaultValue to create deep hierarchical value configurations of "initial values" configurations for SysPhS simulation is notoriously fiddly and requires experience and patience. Better tool support is needed! Property::defaultValue, Property::redefinedProperty SysML, Systems Modeling Language, MagicDraw SysML, MD SysML, Cameo Systems Modeler, system configuration, deep configuration, modes, SysPhS
ISSUE SysPhS-1.1: Annex A.5: 'Figure 101: Heating Scenario Initial Values': HeatingCalculation1: no such value to redefine 'C1 : Time = 1.0{redefines C1,unit = second}', should be 'xIntg : Real' (compare with BDD Figure 77 and Parametric diagram Figure 88) SysPhS-1.1 Property::redefinedProperty SysPhS
ISSUE SysPhS-1.1: Annex A.5: redefinition 'humidifierSystem {redefines humidifierSystem}' incorrect in Figure 96: Humidifier System Scenario Initial Values SysPhS-1.1 Property::redefinedProperty SysPhS
ISSUE SysPhS-1.1: RelativeHumidityScenario1: Figure 98: Relative Humidiity Scenario Initial Values: RelativeHumidity should be RelativeHumidity1 SysPhS