Webel's "super-relational" Note pages!

A Note is a short categorised statement, claim, policy, tip, or issue tracker Throughout this site, content is often related to supporting Notes, and each Note page links back to the content pages that reference it! The Note and Snippet concepts are very closely related and they support each other.
Look for "super-relational" Note page links at the bottom of most content pages!
Note kind Note Sort descending Spec tag UML keywords SysML keywords Keywords
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
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
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
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: 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: 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: 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: 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 "radiation" 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
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
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
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: The restriction of "vapor" to the range 0..1 in EvaporationCalculation2 seems completely arbitrary, it is NOT a ratio! SysPhS, vapour, steam, gas
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
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
ANTI-PATTERN, ISSUE Webel vs SysPhS-1.1: Diagramming style: DO NOT recommend overlapping Connectors as shown in 'Figure 38: Internal structure of the circuit example' SysPhS-1.1 Connector ItemFlow SysPhS, SysML, antipattern
ANTI-PATTERN, WARNING Webel vs SysPhS-1.1: Diagramming style: DO NOT recommend overlapping Connectors with "phantom" fork (or junction) as shown in in 'Figure 48: Internal structure of the signal processor' SysML-1.6, SysML-1.7, SysMLv2, SysPhS-1.1 Connector SysPhS, SysML, Systems Modeling Language
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
MODELLING, STYLE Webel vs SysPhS-1.1: Recommend use standard SysML Ports instead of block part property with «port» keyword SysPhS-1.1 «keyword», Port, Stereotype "standard" Port, block property, part property SysPhS
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
POLICY, STYLE Webel «pa» Parsing Analysis Diagrams (PADs) are "scratchpads" used to elicit model elements traceably from text Snippets (extracts from source Documents). While BDDs are a good initial choice, most types of SysML diagram can be used as a «pa» diagram. Webel Parsing Analysis, parsing analysis, WPA:«pa»
NAMING, STYLE Webel: "Trust the Metaclass or Stereotype" of an Element to indicate what type of element it is (you don't have to repeat it in the name) NamedElement::name Webel Best Practice
POLICY Webel: A plain Dependency that is not stereotyped is always strictly timed-ordered; the supplier (target) must exist before the client (source). SysML-1.6, UML-2.5.1 Dependency, Dependency::supplier, Dependency::client, DirectedRelationship::/source, DirectedRelationship::/target
ISSUE, LIMITATION, TOOL, WARNING Webel: Cameo Simulation Toolkit v19SP3/v2024x: Could not get ReclassifyObjectAction to work (yet) SysML-1.6, SysML-1.7, UML-2.5.1 ReclassifyObjectAction fUML, Magic Model Analyst [Cameo Simulation Toolkit], SysML, CATIA Magic:v2024xGolden
CONVENTION Webel: Convention: [MIGHT CHANGE]: An '@' prefix in a DigitalTwin model indicates a «digital» Block that maps a non-digital «mappable» Block. Webel Best Practice, Webel Twin Pattern
CONVENTION, NAMING Webel: DO NOT name the Type (Block or InterfaceBlock) of a Port with a flow the same as the name of the 'Stuff' that flows through it; use the Webel 'F_Stuff' convention! Port FlowProperty, InterfaceBlock, ~InterfaceBlock, Block Webel Best Practice
ASSERTION, MODELLING, TIP Webel: Domain Modelling in graphical SysML (and the best SysML tools) is massively, hugely, compellingly, better than in any other language (or tool). [OWL does something very useful but different.] SysML, Systems Modeling Language, SysMLv2, SysMLv1.x
ASSERTION Webel: Dr Darren says: "Many aspects of older Document-Intensive Systems Engineering methodologies and the reporting obligations they impose on their users were intended to address problems that simply DO NOT EXIST ANYMORE with modern MBSE with SysML!" SysML-1.6, SysML-1.7, SysMLv2 SysML, Systems Modeling Language, SysMLv1, MBSE, Model-Based Systems Engineering, Webel Best Practice
NAMING, POLICY Webel: For SysML Blocks and InterfaceBlocks used to type Ports with physical flows use 'F_UpperCamelCase' [may be combined with acronymn conventions Port Block, InterfaceBlock, FullPort, ProxyPort, "standard" Port, flow, FlowProperty SysML
CONVENTION, MODELLING, NAMING, TIP Webel: If you must name your Ports or Pins, name them simply 'i', 'o', or 'io' to indicate direction UNLESS you have to indicate a special role like 'iRole', 'oAuxiliary'. DO NOT use Port or Pin names like 'input', 'output', etc. SysML-1.6, SysML-1.7 Port, Pin, NamedElement::name Webel Best Practice
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
DISPLAY, SETTINGS, STYLE, TOOL Webel: MagicDraw/Cameo: First recommended display style settings and project option steps for every SysML (and UML) project. [Includes TIP: DO NOT show the Diagram Name in the optional Diagram Info adornment, show it on the Diagram frame only] Webel Best Practice, MagicDraw SysML, MagicDraw UML, Cameo Systems Modeler, Magic Model Analyst [Cameo Simulation Toolkit]
ASSERTION, DISPLAY, FEATURE, MODELLING, SETTINGS, TIP, TOOL Webel: MagicDraw/Cameo: Set EVERY element properties & symbol properties filter to 'All' (yes, not just 'Expert', to 'All', even if you are a "novice" on your first project) in EVERY dialog and every project option setting. Use the search filters! SysML-1.6, SysML-1.7, UML-2.5.1 Cameo Systems Modeler, MagicDraw UML, MagicDraw SysML
ASSERTION, DISPLAY, FEATURE, SETTINGS, TIP, TOOL Webel: MagicDraw/Cameo: STRONGLY RECOMMEND: On EVERY project of ANY kind set the Environment Perspective to 'Full Featured' and check the Expert box, even if you are a "novice". For SysML use 'Full-Featured' not just 'System Engineer'! Cameo Systems Modeler, MagicDraw UML, MagicDraw SysML, SysML, Webel Best Practice
MODELLING, STYLE, TIP Webel: MagicDraw/Cameo: UML/SysML: TIP: Activity Diagrams, StateMachine Diagrams, and port-based IBDs: Keep it loose initially with oblique (no break) paths, then square it up with rectangular paths at the very end SysML-1.6, SysML-1.7, UML-2.5.1 StateMachine Diagram, Activity Diagram, Activity, StateMachine, Pin, Port SysML Activity Diagram, SysML Internal Block Diagram MagicDraw, Cameo Systems Modeler, UML, SysML, MagicDraw SysML, CATIA Magic, Systems Modeling Language, Unified Modeling Language, Webel Best Practice
ASSERTION, TIP Webel: Mathematica is functional programming on steroids (and has nearly everything else, except for decent in-built OO support, although you can make some progress with Abstract Data Types and even some inheritance). Mathematica, Wolfram, functional programming, functional
CONVENTION, NAMING, PATTERN, STYLE, TIP Webel: Mathematica: TIP: Maintain a Package library of Quantity variables for frequently used units using a naming convention unit$[unitSymbol] and unit[DescriptiveName] or unit[Acronym] Wolfram, Mathematica, SI unit, quantity, units, Webel Best Practice, Mathematica::Quantity
TOOL, WISHLIST Webel: Mathematica: WISHLIST: Support for decent vendor-supported, built-in, fully fledged, IDE-friendly, object-orientation (OO)! [With or without the use of state, which is a choice, not obligatory, and OO doesn't throw functional away] Wolfram, Mathematica, Webel:WISHLIST, inheritance, object-oriented, OOP, OO
LIMITATION, TOOL, WISHLIST Webel: Mathematica: WISHLIST: Support for EXTRACTABLE structured documentation for individual arguments to functions RIGHT IN/NEAR THE CODE. Yes it is needed. Really it is. Wolfram, Mathematica, Webel:WISHLIST
CONVENTION, MODELLING, TIP Webel: MBSE: SysMLv1: Prefer a custom «actor» extension of a Block (such as the non-normative External) over UML-style Actor for use as parts in IBDs and on allocation swimlanes. You can also have a Trace from a block-based «actor» to a UML-style Actor. UseCase, Actor, Trace, «trace» SysML Use Case Diagram, Trace, «external», SysML Internal Block Diagram, custom block-based «actor», swimlane, AllocateActivityPartition, Allocate, SysML Activity Diagram, part property, ActorPart, MD:Customiz Systems Modeling Language, SysMLv1, SysML, MagicDraw SysML, Cameo Systems Modeler, Webel:«actor:internal»
EXPLANATION, MODELLING, TIP Webel: On going beyond SysML (and UML) with additional modelling practices, policies, and additional semantics SysML-1.6, SysML-1.7, UML-2.5.1 custom Stereotype, Stereotype, Profile SysML, Systems Modeling Language, UML, Unified Modeling Language, modelling, semantics, Webel Best Practice
ASSERTION Webel: Programmers who can count higher than one (1) know that you don't have to choose exclusively between object-orientation (and classes) and functional programming. You can have your cake and eat it. It's not XOR! OO, OOP, object-oriented, functional, functional programming
CONVENTION, LIMITATION, MODELLING, NAMING, TOOL Webel: Psy/MPsy: Psychrometrics for Mathematica: '$HC' in a function name indicates pure sensible heating or cooling (with no change in water vapour content). Such functions may also be used in the pure sensible portion of a 2-step treatment. SysML-1.6, SysML-1.7, UML-2.5.1 Activity, CallBehaviorAction, Action, Parameter, Activity Diagram, ObjectFlow, Pin, InputPin, OutputPin SysML Activity Diagram, MD:UNSPECIFIED Webel::MPsy, Webel::Psy, Psychrometrics, Mathematica
CONVENTION, NAMING Webel: Psy/MPsy: Psychrometrics for Mathematica: A suffix '$a' indicates a DRY air component variable, quantity, or function. A suffix '$da' indicates a HUMID air mixture quantity PER dry air. Psychrometrics, Webel::MPsy, Webel::Psy, humid air, water, liquid water, steam, gas, fluid, vapour, water vapour
CONVENTION, NAMING Webel: Psy/MPsy: Psychrometrics for Mathematica: A suffix '$g' in a water-related variable name refers to water vapour (a special case of gas) or steam. A suffix '$f' refers to liquid (fluid) water. [Although a gas is a fluid.] Psychrometrics, Webel::MPsy, Webel::Psy, humid air, water, liquid water, steam, gas, fluid, vapour, water vapour
CONVENTION, NAMING Webel: Psy/MPsy: Psychrometrics for Mathematica: A suffix '$ha' indicates a HUMID air mixture variable, quantity, or function or a PER humid air mass quantity. Psychrometrics, Webel::MPsy, Webel::Psy, humid air, water, liquid water, steam, gas, fluid, vapour, water vapour
CONVENTION, NAMING Webel: Psy/MPsy: Psychrometrics for Mathematica: A suffix '$sat' indicates a humid air mixture quantity at saturation (relative humidity = 1 or degree of saturation = 1). Psychrometrics, Webel::MPsy, Webel::Psy, humid air, water, vapour, water vapour, saturation, relative humidity, degree of saturation
CONVENTION, NAMING Webel: Psy/MPsy: Psychrometrics for Mathematica: A suffix '$wat$i' indicates water (liquid or vapour) flow TO (into) the humid air mixture. A suffix '$wat$o' indicates water (liquid or vapour) flow FROM (out of) the humid air mixture. Psychrometrics, Webel::MPsy, Webel::Psy, humid air, water, liquid water, steam, gas, fluid, vapour, water vapour, flow direction, flow
CONVENTION, NAMING Webel: Psy/MPsy: Psychrometrics for Mathematica: A suffix '$wat' indicates a water-related variable, quantity, or function (note that 'w' is reserved for the humidity ratio). Psychrometrics, Webel::MPsy, Webel::Psy, humid air, water, liquid water, steam, gas, fluid, vapour, water vapour, flow direction, flow
CONVENTION Webel: Psy/MPsy: Psychrometrics for Mathematica: Convention: 'Q' indicates the energy GAINED BY the system as heat energy transfer; 'W' indicates the work DONE BY the system on its external surroundings. Psychrometrics, Webel::MPsy, Webel::Psy, thermodynamics, heat, energy transfer, work, thermodynamic work
NAMING, PATTERN, POLICY Webel: Psy/MPsy: Psychrometrics for Mathematica: Convention: Option variable names are prefixed with '$opt$psy' Webel Best Practice, Mathematica, Wolfram Language, naming, coding, Mathematica::option, Webel::MPsy, Webel::Psy
CONVENTION Webel: Psy/MPsy: Psychrometrics for Mathematica: Due to Mathematica's units-aware Quantity algebra system it is irrelevant what units are used for the input Quantities for creation of the MPsy objects, as long as they are dimensionally consistent! Psychrometrics, Webel::Psy, Webel::MPsy, Mathematica, units, SI unit, Imperial unit, Mathematica::Quantity
CONVENTION, NAMING Webel: Psy/MPsy: Psychrometrics for Mathematica: Equation registry with variable/quantity markup Psychrometrics, Webel::MPsy, Webel::Psy, humid air, water, liquid water, steam, gas, fluid, vapour, water vapour
CONVENTION Webel: Psy/MPsy: Psychrometrics for Mathematica: For Imperial Units (IP), International British Thermal Units (Btu) are assumed Psychrometrics, energy, British Thermal Unit, Btu, Webel::Psy, Webel::MPsy
CONVENTION Webel: Psy/MPsy: Psychrometrics for Mathematica: Humidity ratio (absolute humidity) is indicated by a lower case 'w' and measured in mass (water) / mass (dry air) units, so the SI and IP representations are equal Real (without an explicit unit system) Psychrometrics, humidity, humidity ratio, absolute humidity, Mathematica, Mathematica::Real
CONVENTION Webel: Psy/MPsy: Psychrometrics for Mathematica: Most CoolProp wrappers can be invoked with the dry bulb temperature 'tdb', the pressure 'p', and one (only) of the relative humidity 'r', the humidity ratio 'w', or the wet bulb temperature 'twb' Psychrometrics, Webel::Psy, Mathematica, CoolProp, humid air, temperature, pressure, wet bulb temperature, dry bulb temperature, relative humidity, humidity ratio
CONVENTION Webel: Psy/MPsy: Psychrometrics for Mathematica: Relative humidity is indicated by a lower case 'r' and measured as a Real fraction (rather than as a Percentage). [Some tables and plots do SHOW the relative humidity as a Percentage.] Psychrometrics, humidity, relative humidity, Mathematica, Mathematica::Real, fraction
CONVENTION Webel: Psy/MPsy: Psychrometrics for Mathematica: The CoolProp "wrappers" of the Psy library in fact wrap lower-level wrappers (bindings) for CoolProp for Mathematica Psychrometrics, Webel::Psy, Mathematica, CoolProp, humid air, temperature, pressure, wet bulb temperature, dry bulb temperature, relative humidity, humidity ratio
CAPABILITY, EXPLANATION Webel: Psy/MPsy: Psychrometrics for Mathematica: The default MPsy class is a readonly one-shot class that pre-builds many frequently used psychrometric properties (offered as public fields) using CoolProp, and also offers some value-adding methods. Psychrometrics, Webel::Psy, Mathematica, humid air, temperature, pressure, wet bulb temperature, dry bulb temperature, relative humidity, humidity ratio, CoolProp
EXPLANATION, FEATURE, POLICY Webel: Psy/MPsy: Psychrometrics for Mathematica: The default newPsy[tdb] builder accepts the pressure 'p' as an option, which defaults to sea level atmospheric pressure. Psychrometrics, Webel::Psy, Mathematica, humid air, temperature, pressure, wet bulb temperature, dry bulb temperature, relative humidity, humidity ratio
EXPLANATION, FEATURE, POLICY Webel: Psy/MPsy: Psychrometrics for Mathematica: The default newPsy[tdb] builder requires the dry bulb temperature 'tdb', and one (only) of the relative humidity 'r', the humidity ratio 'w', or the wet bulb temperature 'twb' (as options). Psychrometrics, Webel::Psy, Mathematica, humid air, temperature, pressure, wet bulb temperature, dry bulb temperature, relative humidity, humidity ratio
CONVENTION, NAMING Webel: Psy/MPsy: Psychrometrics for Mathematica: The term 'steam' (indicated in variable names with a suffix '$s') is reserved for water vapour created through boiling. Psychrometrics, Webel::MPsy, Webel::Psy, humid air, water, liquid water, steam, gas, fluid, vapour, water vapour
CONVENTION Webel: Psy/MPsy: Psychrometrics for Mathematica: Transferred heat (energy "Q") has field names with lower case 'qTot', 'qSen', 'qLat'. Heat rates (energy per time) have field names 'qDotTot', 'qDotSen', 'qDotLat' (to avoid clashes with Mathematica core) Psychrometrics, humidity, humidity ratio, absolute humidity, Mathematica, Mathematica::Real
CONVENTION, NAMING Webel: Psy/MPsy: Psychrometrics for Mathematica: Variable/quantity registry and naming conventions, with symbol markup. Psychrometrics, Webel::MPsy, Webel::Psy, humid air, water, liquid water, steam, gas, fluid, vapour, water vapour
DISPLAY, SETTINGS, STYLE, TOOL Webel: Recommend maintain a basic black-and-white style file for starting new projects. Webel course attendees have access to a basic Webel.stl file (or clone and tune the 'OMG SysML style'). Webel Best Practice, MagicDraw SysML, MagicDraw UML, Cameo Systems Modeler, Magic Model Analyst [Cameo Simulation Toolkit]
CONVENTION, MODELLING, TIP Webel: SysML for MBSE: The frequent recommendation that each UseCase have at least one "primary" scenario is a very useful and highly recommended CONVENTION (only). But it is not actually enforced by the SysML1.7 or UML2.5.1 metamodels or specifications. UseCase, Use Case scenario, Trace, «trace» SysML Use Case Diagram, Refine, Trace Systems Modeling Language, SysMLv1, SysML, scenario, primary scenario
DISPLAY, POLICY, SETTINGS, STYLE, TOOL Webel: SysML symbol colour styles: Recommend use black symbol borders and no symbol fill (or white symbol fill) EXCEPT for special highlighting. Recommend DO NOT use the default VENDOR-SPECIFIC line and fill colours for symbols! [TIP IS MOSTLY IGNORED] SysML-1.6, SysML-1.7, SysMLv2, UML-2.5.1 Systems Modeling Language, Model-Based Systems Engineering, MBSE, SysML, MagicDraw SysML, Cameo Systems Modeler, CATIA Magic
CONSTRAINT, PROPOSAL, WISHLIST Webel: SysML-1.7/SysMLv2: WISHLIST: Constraint: A BindingConnector used for pure proxying MUST NOT be typed by an AssociationBlock by definition, because the associated information can be mis-appropriated to undermine the proxy equality! SysML-1.7, SysMLv2 SysMLv2, AssociationBlock, BindingConnector, ProxyPort SysMLv2:WISHLIST, Webel:WISHLIST, Systems Modeling Language, SysML, Webel Best Practice
ASSERTION Webel: SysML/MBSE: Dr Darren's Open Letter on why you may initially need the Model-Based (MB) and Single Source Of Truth aspects of MBSE more than the formal Systems Engineering (SE) aspect (or even initially no formal SE process at all) to benefit most! SysML-1.6, SysML-1.7, SysMLv2 systems engineering, Model-Based Systems Engineering, SysML, Systems Modeling Language, SysMLv1.x, SysMLv1.7, SysMLv2, Single Source of Truth, model-based engineering
CONVENTION, MODELLING, NAMING, TIP Webel: SysML/UML: Dr Darren explains HOWTO use concise 'i'/'o' (input/output) Pin and Parameter naming conventions to promote a signal processing mindset in Activity Diagrams. And HOWTO get them compact. SysML-1.6, SysML-1.7, UML-2.5.1 Activity, Parameter, NamedElement::name, Pin, InputPin, OutputPin, ActivityEdge, CallAction, ActivityParameterNode, CallOperationAction, CallBehaviorAction SysML Activity Diagram systems engineering, Model-Based Systems Engineering, MBSE, SysML, Systems Modeling Language, SysMLv1, SysMLv1.x, SysMLv2, signal processing, Webel Best Practice
EXPLANATION, MODELLING Webel: SysML/UML: Some example diagrams show extremely fine-grained and trivial examples purely for educational and capability demonstration purposes (not as practical recommendations for real-world projects). You can sometimes just use code in SysML. fUML-1.4, OCL-2.4, SysML-1.6, SysML-1.7, SysMLv2, SysPhS-1.1, UML-2.5.1 SysML, UML, Model-Based Systems Engineering, training, education, demonstration, Webel Best Practice
ASSERTION, MODELLING, PATTERN, TIP Webel: SysML1.7: Port contract matching is Feature-based, not Type-based. There's nothing particularly magical or special about use of an ~InterfaceBlock on a "conjugating" SysML Port, it's just a convenient way of managing one-to-one Feature matching! SysML-1.6, SysML-1.7 Port, Connector FullPort, ProxyPort, "standard" Port, InterfaceBlock, ~InterfaceBlock, DirectedFeature, DirectedFeature::featureDirection, FeatureDirectionKind, FeatureDirectionKind::provided, FeatureDirectionKind::required, FeatureDirectionKind::providedrequired, conjugation SysML, Systems Modeling Language, SysMLv1, MBSE
CONVENTION, MODELLING, NAMING Webel: SysML4Mathematica: An '@' prefix in the name of a Block indicates a Mathematica data structure (such as an Association or List) that is not represented by an MTools class in the Mathematica code SysML-1.6, SysML-1.7, UML-2.5.1 Activity, OpaqueBehavior ConstraintBlock Webel::SysML4Mathematica, Mathematica, Systems Modeling Language, SysML, SysMLv1.x, Wolfram Language, Mathematica::Association, Mathematica::List
CONVENTION, MODELLING, NAMING Webel: SysML4Mathematica: An '@' prefix in the name of a ConstraintBlock, Activity, or OpaqueBehavior indicates that it is not represented by a dedicated function in a Mathematica code library (typically for minor maths or logic) SysML-1.6, SysML-1.7, UML-2.5.1 Activity, OpaqueBehavior ConstraintBlock Webel::SysML4Mathematica, Mathematica, Systems Modeling Language, SysML, SysMLv1.x, Wolfram Language
CONVENTION, MODELLING, NAMING Webel: SysML4Mathematica: An Association used as the Type of an argument or return is represented by a Block '<||>'. A List used as as the Type of an argument or return is represented by a Block '{}'. SysML-1.6, SysML-1.7, UML-2.5.1 Activity, OpaqueBehavior Block, ConstraintBlock Webel::SysML4Mathematica, Mathematica, Systems Modeling Language, SysML, SysMLv1.x, Wolfram Language, Mathematica::Association, Mathematica::List
CAVEAT, COMPLICATION, ISSUE, LIMITATION, MODELLING, TOOL Webel: SysML4Mathematica: Cameo Systems Modeler: Can perform calculations with a custom Quantity ValueType (for Mathematica) directly, but DOES NOT perform units-aware algebra (no automatic conversions) SysML-1.6, SysML-1.7 Activity, OpaqueBehavior ConstraintBlock, Real, ValueType, ValueType::unit, MD:ValueProperty, value property Webel::SysML4Mathematica, Mathematica, Systems Modeling Language, SysML, SysMLv1.x, Wolfram Language, Mathematica::Quantity, SI unit, units, Imperial unit, Mathematica::Blank, Cameo Systems Modeler, CATIA Magic, MagicDraw SysML
CONVENTION, LIMITATION, MODELLING, NAMING, TOOL Webel: SysML4Mathematica: Convention: A '$E' in a function name indicates that all parameters (arguments and return) are Mathematica '_' expressions. However, when representing such functions as Activities they may end up getting strongly typed in tools! SysML-1.6, SysML-1.7, UML-2.5.1 Activity, CallBehaviorAction, Action, Parameter, Activity Diagram, ObjectFlow, Pin, InputPin, OutputPin SysML Activity Diagram, MD:UNSPECIFIED Webel::SysML4Mathematica, Mathematica, Systems Modeling Language, SysML, SysMLv1.x, Wolfram Language, MagicDraw SysML, Cameo Systems Modeler, CATIA Magic, Mathematica::Expression, Mathematica::Blank
CONVENTION, MODELLING Webel: SysML4Mathematica: Convention: A custom SysML ValueType 'Quantity' extends a custom ValueType '_' (representing a Mathematica '_' Blank). It DOES NOT also extend the SysML Real! SysML-1.6, SysML-1.7 ValueType Webel::SysML4Mathematica, Mathematica, Systems Modeling Language, SysML, SysMLv1.x, Wolfram Language, MagicDraw SysML, Cameo Systems Modeler, CATIA Magic, Mathematica::Expression, Mathematica::Blank
CONVENTION, MODELLING, NAMING, TOOL Webel: SysML4Mathematica: Convention: A Mathematica Blank '_' (which pattern-matches any Expression) is represented by a custom SysML ValueType '_' SysML-1.6, SysML-1.7 Activity, Type, Parameter, custom Stereotype ConstraintBlock, constraint parameter, ValueType, MD:UNSPECIFIED Webel::SysML4Mathematica, Mathematica, Systems Modeling Language, SysML, SysMLv1.x, Wolfram Language, MagicDraw SysML, Cameo Systems Modeler, CATIA Magic, Mathematica::Expression, Mathematica::Blank
CONVENTION, NAMING Webel: SysML4Mathematica: Convention: A prefix '$doc' indicates a documentation String for each primary variable/quantity (argument or output) SysML-1.6, SysML-1.7, UML-2.5.1 Webel::SysML4Mathematica, Mathematica, Systems Modeling Language, SysML, SysMLv1.x, Wolfram Language, Webel::Psy
CONVENTION, NAMING Webel: SysML4Mathematica: Convention: A prefix 'sym$' indicates a markup variable "symbol" for a documented variable. It need not be a String, but each referenced part MUST be a String, not a raw Mathematica Symbol, to avoid namespace clashes! SysML-1.6, SysML-1.7, UML-2.5.1 Webel::SysML4Mathematica, Mathematica, Systems Modeling Language, SysML, SysMLv1.x, Wolfram Language, Webel::Psy
MODELLING, NAMING, TIP Webel: SysML4Mathematica: Does every bit of the Mathematica code need to be modelled in SysML? No. Typically just the main function parameters and their interdependencies, data structures, and main code logic. Except for special or educational purposes. SysML-1.6, SysML-1.7, UML-2.5.1 Activity, OpaqueBehavior ConstraintBlock Webel::SysML4Mathematica, Mathematica, Systems Modeling Language, SysML, SysMLv1.x, Wolfram Language
MODELLING, POLICY Webel: SysML4Mathematica: POLICY: Handle flow sign changes via a single negative (not duplicated and "adjusted" algebra). This strategy may come at a very slight performance cost (for benefit of more robustness). SysML-1.6, SysML-1.7, UML-2.5.1 Parameter, Constraint, Activity, OpaqueExpression SysML Parametric Diagram, ConstraintBlock, constraint parameter, MD:ConstraintParameter, SysML Activity Diagram Webel::SysML4Mathematica, Mathematica, Systems Modeling Language, SysML, SysMLv1.x, Wolfram Language, Mathematica:notebook, Webel::MPsy, Psychrometrics, Webel::Psy
LIMITATION, MODELLING, WARNING Webel: SysML4Mathematica: SysML Parametric Diagrams are not well suited to modelling calculations with Blocks for MTools classes, or for modelling complex logic flow of Mathematica functions. Prefer SysML Activity Diagrams for those modelling cases. SysML Activity Diagram, SysML Parametric Diagram SysML, Systems Modeling Language, Mathematica, Wolfram Language, Mathematica:MTools
MODELLING, TIP Webel: SysML4Mathematica: TIP: Exported SysML Diagrams can be embedded in Mathematica Notebooks! SysML-1.6, SysML-1.7, UML-2.5.1 Webel::SysML4Mathematica, Mathematica, Systems Modeling Language, SysML, SysMLv1.x, Wolfram Language, Mathematica:notebook
MODELLING, TIP Webel: SysML4Mathematica: TIP: Representing Mathematica functions as SysML ConstraintBlocks modelled in Block Definition Diagram (BDD) overviews can really help you organise and document your Wolfram Language code on complex projects! SysML-1.6, SysML-1.7, UML-2.5.1 SysML Block Definition Diagram, ConstraintBlock, constraint parameter, MD:ConstraintParameter Webel::SysML4Mathematica, Mathematica, Systems Modeling Language, SysML, SysMLv1.x, Wolfram Language, Mathematica:notebook
MODELLING, TIP Webel: SysML4Mathematica: TIP: Representing Mathematica functions as SysML ConstraintBlocks modelled in SysML Parametric Diagrams and as Activities in SysML Activity Diagrams is super for analysing the dependencies between functions and their arguments! SysML-1.6, SysML-1.7, UML-2.5.1 Parameter, Constraint, Activity SysML Parametric Diagram, ConstraintBlock, constraint parameter, MD:ConstraintParameter, SysML Activity Diagram Webel::SysML4Mathematica, Mathematica, Systems Modeling Language, SysML, SysMLv1.x, Wolfram Language, Mathematica:notebook
MODELLING, TIP Webel: SysML4Mathematica: TIP: Representing Mathematica Paclets and their inter-dependencies as SysML Packages modelled in SysML Package Diagrams can really help you organise your Wolfram Language code on complex projects! SysML-1.6, SysML-1.7, UML-2.5.1 Package, Model, Usage, Dependency SysML Package Diagram Webel::SysML4Mathematica, Mathematica, Systems Modeling Language, SysML, SysMLv1.x, Wolfram Language, Mathematica:notebook, Mathematica:Paclet
CONVENTION, MODELLING, NAMING Webel: SysML4Mathematica: When modelling the logic flow of Mathematica code with Activity diagrams it is not necessary to model every single Mathematica construct. Placeholder OpaqueBehaviors (used via CallBehaviorActions) and OpaqueActions may be used. SysML-1.6, SysML-1.7, UML-2.5.1 Activity, OpaqueBehavior, OpaqueAction ConstraintBlock Webel::SysML4Mathematica, Mathematica, Systems Modeling Language, SysML, SysMLv1.x, Wolfram Language, MagicDraw SysML, Cameo Systems Modeler, CATIA Magic
MODELLING, TIP Webel: SysML4Mathematica: Yes, SysML Activities and SysML Activity Diagrams CAN represent functional programming paradigms! You can type Parameters by encapsulations of functions and pass them to/from InputPins/OutputPins of Actions. SysML-1.6, SysML-1.7, UML-2.5.1 Parameter, Activity, Action SysML Activity Diagram Webel::SysML4Mathematica, Mathematica, Systems Modeling Language, SysML, SysMLv1.x, Wolfram Language, functional, functional programming
MODELLING, NAMING, TIP Webel: SysML: "Really long human friendly element names with spaces make my diagrams easier to read". Dr Darren says "No they don't! Prefer code-like naming (or anonymous for typed elements) wherever possible. Use custom tagged values for other names!" SysML-1.6, SysML-1.7, SysMLv2 NamedElement::name, Type, custom Stereotype, tagged value SysML, Systems Modeling Language, SysMLv1, MBSE, Model-Based Systems Engineering, Webel Best Practice, systems engineering, Document Intensive Systems Engineering, SysMLv2
POLICY, TIP Webel: SysML: Always consider including an abstract (sometimes intermediate) base Block in your domain modelling Generalization hierarchy. Classifier::isAbstract, Generalization Webel Best Practice
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
DISPLAY, MODELLING, NAMING Webel: SysML: Electronics modelling: TIP: Use a custom Connector stereotype '<>' with the keyword '<>' to carry a 'net' property. (Use of punctuation in Stereotype names is not usually recommended and the keyword is not usually displayed.) SysML-1.6, SysML-1.7 Connector, Stereotype, custom Stereotype, tagged value electronics, SysML, Systems Modeling Language, WBP:electronics:<>, Webel Best Practice, WBP:electronics:<>