SysMLSystems Modeling Language A graphical modeling language for systems engineering, based on UML, with block, activity, state machine and parametric diagrams. v2
SysML v2 language coverage
Holarch's SysML v2 projects are based on the OMGObject Management Group The standards body that maintains UML, SysML, UAF and XMI. SysML v2 specification and support a subset of the language. This page lists each area of the textual notation, how far Holarch supports it, and the known gaps.
What the levels mean
- Supported: the Editor parses and checks the construct, the model keeps it, and the views and pages that use it read and write it.
- Partial: supported, with the limits named in the row.
- Kept, not interpreted: parsed and kept exactly as written, in the text and in exports, but given no meaning of its own.
- Not yet: not available.
The same language engine runs the Editor, the views and the checks, so a construct that the Editor accepts is the same in every view. See also Holarch Language Engine.
Jump to: Language constructs · Files and exchange · Checks · Known gaps
Language constructs
| Area | Level | Constructs | Limits |
|---|---|---|---|
| Packages and namespaces | Supported | package, nested packages, library package, doc, comment … about, notes // and //* */, alias … for …, public, private and protected, short names <'1.2'>, quoted names. | Library packages, including the standard library, are read-only. |
| Imports | Supported | Membership and namespace imports, ::*, recursive ::**, imports with visibility, filtered imports [@Kind]. | Import filters select by metaclass. |
| Definitions and usages | Supported | part, attribute, item, port, connection, interface, flow, action, state, requirement, constraint, calc, use case, analysis, verification, view, viewpoint, concern, enum, occurrence, allocation, metadata; ref, abstract, in, out, inout and end. | Occurrences are supported as the base occurrence; see individuals and time slices below. |
| Specialization, typing and redefinition | Supported | Specialization :> and specializes, typing : and defined by, subsetting :> and subsets, redefinition :>> and redefines, conjugation ~, disjoint, feature chains a.b.c. | None known. |
| Multiplicities | Supported | [n], [n..m], [*], [0..*], ordered, nonunique, expressions as bounds. | None known. |
| Values and units | Supported | =, :=, default, quantities such as 5 [kg], unit expressions such as [m/s^2], the ISQ quantity kinds and the SIInternational System of Units The metric system of units: meter, kilogram, second, ampere, kelvin, mole and candela, plus derived units. and US customary units of the standard library, dimension checks. | None known. |
| Constraints and calculations | Supported | Constraint and calc definitions and usages, return, assert constraint, calls, KerML expressions with arithmetic, comparison, logic, if ? else and sequence operations, evaluation with units. | None known. |
| Structure | Partial | Ports and conjugated ports, connect, interfaces with ends, binding connectors bind, item flows flow of T from … to …, message. | The direction of a message is not checked yet. Port and flow directions are checked. |
| Actions | Partial | Parameters, perform, successions first … then … and then, fork, join, decide, merge, guards, accept, send, assign, if, while, for, loop, start, done. | The sequence a for loop iterates over is not checked yet. The Simulator runs action flows, including Monte Carlo runs, with durations from the model and branch probabilities set in Holarch. |
| States | Partial | entry, do and exit actions, transitions with trigger, guard and effect, parallel states, nested states, exhibit. | State machines are checked but not simulated yet. A transition's do effect is kept as written and not checked; an at trigger is checked only for its names. |
| Requirements | Supported | subject, actor, stakeholder, require constraint, assume constraint, frame concern, satisfy … by …, verify, short names as requirement ids, doc as the requirement text. | None known. |
| Use cases | Supported | Use case definitions and usages, subject, actor, objective, include use case. | None known. |
| Analysis and verification cases | Partial | Analysis cases with a subject, an objective and a return result; verification cases with verify and a verdict. | An analysis case is evaluated only when every input has a value. Trade-study analyses from the standard library are not evaluated; Holarch's Trade Studies page scores alternatives with values from the model instead. |
| Views | Partial | view, view def, expose with ::*, ::** and filters, filter, viewpoint, frame, render, the standard view definitions. | Sequence Views draw messages between lifelines only; combined fragments are not drawn. |
| Allocation and dependencies | Supported | allocate a to b, allocation definitions, dependency from … to …. | None known. |
| Metadata | Partial | @Name { … }, the #Name prefix, metadata Name about …, user-defined metadata def, Holarch's metadata packages for TBDTo Be Determined A requirement value or detail that is not known yet. Holarch tracks TBDs with an owner and a due date. and TBRTo Be Reviewed A requirement value that is filled in but still needs to be confirmed. values and DoDAFDepartment of Defense Architecture Framework The US DoD framework for describing architectures as a set of viewpoints and products, such as OV-1 and SV-1. and UAFUnified Architecture Framework An OMG architecture framework that organizes views in a grid of viewpoints and aspects. It covers DoDAF and NATO needs. concepts. | User-defined metadata definitions are kept without a meaning of their own. |
| Variability | Kept, not interpreted | variation and variant. | Variant selection and configurations are not computed. |
| Individuals and time slices | Kept, not interpreted | individual, snapshot and timeslice. | No semantics beyond the base occurrence. |
| Textual representations | Kept, not interpreted | rep … language. | The body is kept as opaque text. |
| KerML | Partial | KerML text of the standard library: the kernel libraries are read in KerML. | .kerml files are not imported into projects, and models written in KerML are not checked. |
| Language extensions | Not yet | User-defined keywords and other extensions of the language. | The standard library cannot be edited. |
Files and exchange
| Format | Level | What it covers | Limits |
|---|---|---|---|
| SysML v2 text (.sysml) | Supported | Import and export, also as a .zip of files, with a preview before an import applies. | Text holds no element ids, so a re-import matches elements by name. |
| SysML v2 JSON | Partial | Import and export of the element format of the Systems Modeling API, with element ids kept. | Element kinds Holarch does not support are left out on import, and their members move to the owner. |
| Model repositories | Supported | Pull from and push to one branch of a repository that offers the Systems Modeling API. | One branch per project. |
| Systems Modeling API in Holarch | Partial | Other SysML v2 tools read a project's current model. | Read-only: other tools cannot write to Holarch through it. |
| KerML files (.kerml) | Not yet | Not imported; the import skips them. | Use .sysml files. |
Size limits and every other format are listed on Import and export.
Checks
The Editor checks the text as you type and marks each problem in place. The checks cover:
- Syntax: characters, comments, strings, braces,
;, expected names and tokens. - Names: unresolved, ambiguous, duplicate and private names.
- Typing and specialization: cycles, the right kind of definition, subsetting and redefinition of inherited features.
- Multiplicities and units: valid bounds, matching dimensions, missing or unknown units.
- Expressions: operand types, calculation arguments and Boolean conditions.
- Structure, actions and states: connection ends, port and flow directions, succession targets, control nodes, initial transitions and parallel regions.
- Requirements, cases and views: members in the right place,
satisfy,verify,exposeandframetargets. - Evaluation: constraints, requirements and objectives that do not hold for the current values.
Every check with an example message: Checks.
Known gaps
- State machines are not simulated. They are checked and drawn in the State Transition View; the Simulator runs action flows only.
- No solver for analysis cases. An analysis case is evaluated when every input has a value. In a Parametric View, Solve finds a single unknown per constraint.
- No variability semantics.
variationandvariantare kept as written; configurations are not computed. - No individuals, snapshots or time slices beyond the base occurrence.
- Not checked yet: the direction of a
message, the sequence of aforloop, a transition'sdoeffect, andattriggers beyond their names. - No KerML files. KerML is read for the standard library only.
- No language extensions. User-defined keywords are not available, user-defined metadata definitions have no meaning of their own, and the standard library is read-only.
- Read-only Systems Modeling API. Other tools read the current model; they cannot write to Holarch through it.
- Sequence Views draw messages between lifelines; combined fragments are not drawn.
Holarch implements the subset of the specification listed on this page. What’s new lists each change to it.