ArcLang metamodel: kinds, attributes, units
This page is generated by the compiler (arclang metamodel). A test fails when it and the compiler disagree.
Language version 4.0.0. GENERATED from src/compiler/metamodel.rs by arclang metamodel --format markdown; a golden test fails when this file and the compiler disagree. Do not edit by hand.
The metamodel is independent of Capella: it names the Arcadia metaclass each kind corresponds to, and the SysML v2 construct the exporter maps it to. Attribute values are typed; the compiler reports type violations as metamodel: warnings and the production gate turns them into blockers.
Element kinds
Operational Analysis
Actor
Human or external system interacting with the system.
- Arcadia:
OperationalActor - SysML v2:
part def (actor)
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
category |
text |
Actor category. |
safety_level |
enum SafetyLevel |
ASIL, DAL or SIL assigned to the element. |
asil |
enum Asil |
ISO 26262 ASIL (QM, ASIL-A..D). |
dal |
enum Dal |
DO-178C design assurance level (DAL-A..E). |
location |
location {lat, lon[, alt]} |
Where it stands on the Earth, WGS 84: { lat: 48.8566 deg lon: 2.3522 deg alt: 35 m } (alt optional). Drawn on maps (arclang export -f geojson). |
OperationalEntity
Organization or system of the operational world.
- Arcadia:
Entity - SysML v2:
part def
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
type |
text |
Component category (free text). |
layer |
text |
Overrides the architectural layer label. |
safety_level |
enum SafetyLevel |
ASIL, DAL or SIL assigned to the element. |
asil |
enum Asil |
ISO 26262 ASIL (QM, ASIL-A..D). |
dal |
enum Dal |
DO-178C design assurance level (DAL-A..E). |
memory |
text |
Memory configuration, descriptive ("2 GB DDR4, 64 GB eMMC"). Use ram/flash/storage for typed sizes. |
ram |
quantity<data size> |
RAM capacity. |
flash |
quantity<data size> |
Flash capacity. |
storage |
quantity<data size> |
Mass storage capacity. |
power |
quantity<power> |
Power consumption. |
voltage |
quantity<voltage> |
Supply voltage. |
mass |
quantity<mass> |
Mass. |
weight |
quantity<mass> |
Alias of mass. |
location |
location {lat, lon[, alt]} |
Where it stands on the Earth, WGS 84: { lat: 48.8566 deg lon: 2.3522 deg alt: 35 m } (alt optional). Drawn on maps (arclang export -f geojson). |
OperationalCapability
Expected ability of the operational world. May be declared inside another operational capability.
- Arcadia:
OperationalCapability - SysML v2:
use case def
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
involves |
list<ref<Element>> |
Actors, entities, activities and processes involved. |
extends |
list<ref<OperationalCapability>> |
Capabilities of the same level this one extends. |
includes |
list<ref<OperationalCapability>> |
Capabilities of the same level this one includes. |
specializes |
list<ref<OperationalCapability>> |
Capabilities of the same level this one is a special case of. |
OperationalActivity
Activity performed by an entity or actor.
- Arcadia:
OperationalActivity - SysML v2:
action def
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
category |
text |
Functional category (free text). |
inputs |
list<text> |
Input data names. |
outputs |
list<text> |
Output data names. |
latency |
quantity<time> |
Execution latency; summed along functional chains by the gate. |
execution_time |
quantity<time> |
Alias of latency. |
wcet |
quantity<time> |
Worst-case execution time. |
period |
quantity<time> |
Activation period. |
deadline |
quantity<time> |
Completion deadline. |
frequency |
quantity<frequency> |
Activation frequency. |
safety_level |
enum SafetyLevel |
ASIL, DAL or SIL assigned to the element. |
asil |
enum Asil |
ISO 26262 ASIL (QM, ASIL-A..D). |
dal |
enum Dal |
DO-178C design assurance level (DAL-A..E). |
OperationalExchange
Interaction between operational entities.
- Arcadia:
CommunicationMean / OperationalExchange - SysML v2:
connect
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
from |
ref<Element> |
Source element or port. |
to |
ref<Element> |
Target element or port. |
protocol |
text |
Transport protocol (CAN FD, Ethernet, ARINC 429...). |
bandwidth |
quantity<data rate> |
Available or required data rate. |
latency |
quantity<time> |
Transport latency. |
frequency |
quantity<frequency> |
Message rate. |
period |
quantity<time> |
Message period. |
size |
quantity<data size> |
Payload size. |
data_type |
text |
Exchanged data type. |
OperationalProcess
Ordered path of activities fulfilling a capability.
- Arcadia:
OperationalProcess - SysML v2:
action def (sequence)
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
involves |
list<ref<Element>> |
Ordered functions, exchanges and chains of the chain. |
latency_budget |
quantity<time> |
End-to-end budget checked by the gate. |
capability |
ref<Capability> |
Capability this chain exemplifies. |
System Analysis
Requirement
Stakeholder, system or safety requirement.
- Arcadia:
Requirement - SysML v2:
requirement
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
priority |
enum Priority |
Business priority. |
category |
text |
Requirement category (functional, performance, safety...). |
rationale |
text |
Why the requirement exists. |
source |
text |
Origin document or stakeholder. |
status |
text |
Lifecycle status. |
verification_method |
enum VerificationMethod |
Intended verification method. |
parent |
ref<Requirement> |
Requirement it sits under in its document (ReqIF SPEC-HIERARCHY); structure, not refinement. |
reqif_id |
text |
Identifier the requirement has in the tool it came from (ReqIF IDENTIFIER), given back on export. |
applies_to |
list<ref<Configuration>> |
The configurations of the product line the requirement holds for; every one when absent. A case verifying it runs in one of them, and the gate wants a case in each. |
frames |
list<ref<Concern>> |
The concerns the requirement addresses (SysML v2 frame). |
subject |
ref<Element> |
What the requirement is about: a component, a node, a function (SysML v2 subject). The element shows it in its requirements compartment. |
require |
list<text> |
Constraints the subject must meet, as expressions ("mass <= 1200 kg"; SysML v2 require constraint). |
assume |
list<text> |
Constraints taken for granted for the requirement to hold ("ambient >= -20 °C"; SysML v2 assume constraint). |
safety_level |
enum SafetyLevel |
ASIL, DAL or SIL assigned to the element. |
asil |
enum Asil |
ISO 26262 ASIL (QM, ASIL-A..D). |
dal |
enum Dal |
DO-178C design assurance level (DAL-A..E). |
Concern
What a stakeholder cares about, framed by the requirements that address it. Declared in a requirements block: concern "Resists to bullets" { stakeholders: ["Owner"] }.
- Arcadia:
(none: carried as a requirement) - SysML v2:
concern
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
stakeholders |
list<text> |
Who has the concern (SysML v2 stakeholder). |
rationale |
text |
Why it matters. |
parent |
ref<Concern> |
Concern it sits under. |
Mission
High-level goal the system contributes to.
- Arcadia:
Mission - SysML v2:
use case def
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
Capability
Expected ability of the system. May be declared inside another capability.
- Arcadia:
Capability - SysML v2:
use case def
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
mission |
ref<Mission> |
Mission this capability contributes to. |
realizes |
ref<OperationalCapability> |
Operational capability realized. |
involves |
list<ref<Element>> |
Functions, actors and chains involved. |
extends |
list<ref<Capability>> |
Capabilities of the same level this one extends. |
includes |
list<ref<Capability>> |
Capabilities of the same level this one includes. |
specializes |
list<ref<Capability>> |
Capabilities of the same level this one is a special case of. |
SystemFunction
Function the system performs.
- Arcadia:
SystemFunction - SysML v2:
action def
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
category |
text |
Functional category (free text). |
inputs |
list<text> |
Input data names. |
outputs |
list<text> |
Output data names. |
latency |
quantity<time> |
Execution latency; summed along functional chains by the gate. |
execution_time |
quantity<time> |
Alias of latency. |
wcet |
quantity<time> |
Worst-case execution time. |
period |
quantity<time> |
Activation period. |
deadline |
quantity<time> |
Completion deadline. |
frequency |
quantity<frequency> |
Activation frequency. |
safety_level |
enum SafetyLevel |
ASIL, DAL or SIL assigned to the element. |
asil |
enum Asil |
ISO 26262 ASIL (QM, ASIL-A..D). |
dal |
enum Dal |
DO-178C design assurance level (DAL-A..E). |
FunctionPort
Oriented port of a function (strictly in XOR out).
- Arcadia:
FunctionInputPort / FunctionOutputPort - SysML v2:
in/out item
| Attribute | Type | Meaning |
|---|---|---|
data_type |
text |
Exchanged data type. |
type |
enum PortKind |
data |
FunctionalExchange
Data flow between function ports.
- Arcadia:
FunctionalExchange - SysML v2:
flow
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
from |
ref<Element> |
Source element or port. |
to |
ref<Element> |
Target element or port. |
protocol |
text |
Transport protocol (CAN FD, Ethernet, ARINC 429...). |
bandwidth |
quantity<data rate> |
Available or required data rate. |
latency |
quantity<time> |
Transport latency. |
frequency |
quantity<frequency> |
Message rate. |
period |
quantity<time> |
Message period. |
size |
quantity<data size> |
Payload size. |
data_type |
text |
Exchanged data type. |
SystemActor
External actor at system level.
- Arcadia:
SystemActor - SysML v2:
part def (actor)
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
safety_level |
enum SafetyLevel |
ASIL, DAL or SIL assigned to the element. |
asil |
enum Asil |
ISO 26262 ASIL (QM, ASIL-A..D). |
dal |
enum Dal |
DO-178C design assurance level (DAL-A..E). |
location |
location {lat, lon[, alt]} |
Where it stands on the Earth, WGS 84: { lat: 48.8566 deg lon: 2.3522 deg alt: 35 m } (alt optional). Drawn on maps (arclang export -f geojson). |
SystemComponent
The system or one of its external components.
- Arcadia:
SystemComponent - SysML v2:
part def
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
type |
text |
Component category (free text). |
layer |
text |
Overrides the architectural layer label. |
safety_level |
enum SafetyLevel |
ASIL, DAL or SIL assigned to the element. |
asil |
enum Asil |
ISO 26262 ASIL (QM, ASIL-A..D). |
dal |
enum Dal |
DO-178C design assurance level (DAL-A..E). |
memory |
text |
Memory configuration, descriptive ("2 GB DDR4, 64 GB eMMC"). Use ram/flash/storage for typed sizes. |
ram |
quantity<data size> |
RAM capacity. |
flash |
quantity<data size> |
Flash capacity. |
storage |
quantity<data size> |
Mass storage capacity. |
power |
quantity<power> |
Power consumption. |
voltage |
quantity<voltage> |
Supply voltage. |
mass |
quantity<mass> |
Mass. |
weight |
quantity<mass> |
Alias of mass. |
FunctionalChain
Ordered functions, exchanges and chains realizing one dataflow path; control nodes and sequence links branch it.
- Arcadia:
FunctionalChain - SysML v2:
action def (sequence)
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
involves |
list<ref<Element>> |
Ordered functions, exchanges and chains of the chain. |
latency_budget |
quantity<time> |
End-to-end budget checked by the gate. |
capability |
ref<Capability> |
Capability this chain exemplifies. |
ControlNode
Control node of a functional chain: control and|or|iterate "Name", joined to the chain's steps by sequence links.
- Arcadia:
ControlNode - SysML v2:
fork / join / decision / loop node
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
kind |
enum ControlKind |
and |
SequenceLink
sequence "A" -> "B" { condition: "..." } inside a chain: each end a step of the chain or one of its control nodes.
- Arcadia:
SequenceLink - SysML v2:
succession
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
condition |
text |
Guard of the branch. |
Logical Architecture
LogicalComponent
Behavioral building block, may be nested. In a product line, a component variation: true holds the components that are its variants (variant: true).
- Arcadia:
LogicalComponent - SysML v2:
part def + part
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
type |
text |
Component category (free text). |
layer |
text |
Overrides the architectural layer label. |
safety_level |
enum SafetyLevel |
ASIL, DAL or SIL assigned to the element. |
asil |
enum Asil |
ISO 26262 ASIL (QM, ASIL-A..D). |
dal |
enum Dal |
DO-178C design assurance level (DAL-A..E). |
memory |
text |
Memory configuration, descriptive ("2 GB DDR4, 64 GB eMMC"). Use ram/flash/storage for typed sizes. |
ram |
quantity<data size> |
RAM capacity. |
flash |
quantity<data size> |
Flash capacity. |
storage |
quantity<data size> |
Mass storage capacity. |
power |
quantity<power> |
Power consumption. |
voltage |
quantity<voltage> |
Supply voltage. |
mass |
quantity<mass> |
Mass. |
weight |
quantity<mass> |
Alias of mass. |
multiplicity |
multiplicity |
How many of the element its owner has: a count (4) or a range as text ("0..1", "1..*", "*"). One when absent. |
variation |
boolean |
A point of variation: the components it holds marked variant are the choices. |
variant |
boolean |
One variant of the variation holding it. |
LogicalFunction
Function of the logical level, declared inside the component that performs it (or at the level, unallocated), with its ports and sub-functions; realizes: names the system function it realizes.
- Arcadia:
LogicalFunction - SysML v2:
action def (perform)
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
category |
text |
Functional category (free text). |
inputs |
list<text> |
Input data names. |
outputs |
list<text> |
Output data names. |
latency |
quantity<time> |
Execution latency; summed along functional chains by the gate. |
execution_time |
quantity<time> |
Alias of latency. |
wcet |
quantity<time> |
Worst-case execution time. |
period |
quantity<time> |
Activation period. |
deadline |
quantity<time> |
Completion deadline. |
frequency |
quantity<frequency> |
Activation frequency. |
safety_level |
enum SafetyLevel |
ASIL, DAL or SIL assigned to the element. |
asil |
enum Asil |
ISO 26262 ASIL (QM, ASIL-A..D). |
dal |
enum Dal |
DO-178C design assurance level (DAL-A..E). |
ComponentPort
Oriented port of a component (in, out, inout); it may hold ports, named Owner.port.sub.
- Arcadia:
ComponentPort - SysML v2:
port
| Attribute | Type | Meaning |
|---|---|---|
interface |
text |
Interface type carried. |
protocol |
text |
Protocol. |
multiplicity |
multiplicity |
How many of the element its owner has: a count (4) or a range as text ("0..1", "1..*", "*"). One when absent. |
physics |
enum Physics |
What the port carries, for arclang export -f modelica: the Modelica Standard Library connector it becomes (a signal by its direction). A port saying none is not exported. |
pole |
enum Pole |
For an electrical port: the pin it is (positive when absent). |
flange |
enum Flange |
For a mechanical or thermal port: the flange it is (b for an out port, a otherwise, when absent). |
LogicalInterface
Contract between two components.
- Arcadia:
Interface - SysML v2:
interface def
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
from |
ref<LogicalComponent> |
Provider. |
to |
ref<LogicalComponent> |
Consumer. |
protocol |
text |
Transport protocol (CAN FD, Ethernet, ARINC 429...). |
bandwidth |
quantity<data rate> |
Available or required data rate. |
latency |
quantity<time> |
Transport latency. |
frequency |
quantity<frequency> |
Message rate. |
period |
quantity<time> |
Message period. |
size |
quantity<data size> |
Payload size. |
data_type |
text |
Exchanged data type. |
ComponentExchange
Exchange between component ports; with ends, between more than two.
- Arcadia:
ComponentExchange - SysML v2:
connect
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
from |
ref<Element> |
Source element or port. |
to |
ref<Element> |
Target element or port. |
protocol |
text |
Transport protocol (CAN FD, Ethernet, ARINC 429...). |
bandwidth |
quantity<data rate> |
Available or required data rate. |
latency |
quantity<time> |
Transport latency. |
frequency |
quantity<frequency> |
Message rate. |
period |
quantity<time> |
Message period. |
size |
quantity<data size> |
Payload size. |
data_type |
text |
Exchanged data type. |
ends |
list<ref<Element>> |
Every end of an exchange joining more than two (connect (a, b, c)); drawn through a junction. |
CapabilityRealization
Realization of a system capability by components. May be declared inside another realization.
- Arcadia:
CapabilityRealization - SysML v2:
use case def
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
realizes |
ref<Capability> |
Capability realized. |
involves |
list<ref<Element>> |
Components and chains involved. |
extends |
list<ref<CapabilityRealization>> |
Capabilities of the same level this one extends. |
includes |
list<ref<CapabilityRealization>> |
Capabilities of the same level this one includes. |
specializes |
list<ref<CapabilityRealization>> |
Capabilities of the same level this one is a special case of. |
Physical Architecture
PhysicalNode
Hardware node hosting behavior components.
- Arcadia:
PhysicalComponent (NODE) - SysML v2:
part def + part
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
type |
text |
Component category (free text). |
layer |
text |
Overrides the architectural layer label. |
safety_level |
enum SafetyLevel |
ASIL, DAL or SIL assigned to the element. |
asil |
enum Asil |
ISO 26262 ASIL (QM, ASIL-A..D). |
dal |
enum Dal |
DO-178C design assurance level (DAL-A..E). |
memory |
text |
Memory configuration, descriptive ("2 GB DDR4, 64 GB eMMC"). Use ram/flash/storage for typed sizes. |
ram |
quantity<data size> |
RAM capacity. |
flash |
quantity<data size> |
Flash capacity. |
storage |
quantity<data size> |
Mass storage capacity. |
power |
quantity<power> |
Power consumption. |
voltage |
quantity<voltage> |
Supply voltage. |
mass |
quantity<mass> |
Mass. |
weight |
quantity<mass> |
Alias of mass. |
location |
location {lat, lon[, alt]} |
Where it stands on the Earth, WGS 84: { lat: 48.8566 deg lon: 2.3522 deg alt: 35 m } (alt optional). Drawn on maps (arclang export -f geojson). |
position |
position {x, y, z} |
Where it stands in its owner (the model at the top), in lengths: { x: 1.2 m y: 0 m z: 0.4 m }, a missing axis being 0. Placed so in CAD (arclang export -f step). |
orientation |
orientation {yaw, pitch, roll} |
How it is turned in its owner: { yaw: 90 deg pitch: 0 deg roll: 0 deg }, about z, then y, then x. |
shape |
`shape {box | cylinder}` |
multiplicity |
multiplicity |
How many of the element its owner has: a count (4) or a range as text ("0..1", "1..*", "*"). One when absent. |
processor |
text |
Processor. |
cpu |
text |
CPU description. |
redundancy |
text |
Redundancy scheme. |
model |
text |
The executable model of the element: a Modelica class extending the class arclang export -f modelica generates for it, with modifiers if needed ("DronePhysics.Rotors(rho=airframe.rho)"). The export rolls these up into Executable.<Configuration>, the model a simulated case without model: runs. Often written in a refine of an element imported from another tool. |
PhysicalPort
Unoriented physical connector.
- Arcadia:
PhysicalPort - SysML v2:
port
| Attribute | Type | Meaning |
|---|---|---|
connector |
text |
Connector type. |
physics |
enum Physics |
What the port carries, for arclang export -f modelica: the Modelica Standard Library connector it becomes (a signal by its direction). A port saying none is not exported. |
pole |
enum Pole |
For an electrical port: the pin it is (positive when absent). |
flange |
enum Flange |
For a mechanical or thermal port: the flange it is (b for an out port, a otherwise, when absent). |
BehaviorComponent
Software/behavior deployed on a node; declares the physical functions it performs.
- Arcadia:
PhysicalComponent (BEHAVIOR) - SysML v2:
part
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
safety_level |
enum SafetyLevel |
ASIL, DAL or SIL assigned to the element. |
asil |
enum Asil |
ISO 26262 ASIL (QM, ASIL-A..D). |
dal |
enum Dal |
DO-178C design assurance level (DAL-A..E). |
location |
location {lat, lon[, alt]} |
Where it stands on the Earth, WGS 84: { lat: 48.8566 deg lon: 2.3522 deg alt: 35 m } (alt optional). Drawn on maps (arclang export -f geojson). |
position |
position {x, y, z} |
Where it stands in its owner (the model at the top), in lengths: { x: 1.2 m y: 0 m z: 0.4 m }, a missing axis being 0. Placed so in CAD (arclang export -f step). |
orientation |
orientation {yaw, pitch, roll} |
How it is turned in its owner: { yaw: 90 deg pitch: 0 deg roll: 0 deg }, about z, then y, then x. |
shape |
`shape {box | cylinder}` |
model |
text |
The executable model of the element: a Modelica class extending the class arclang export -f modelica generates for it, with modifiers if needed ("DronePhysics.Rotors(rho=airframe.rho)"). The export rolls these up into Executable.<Configuration>, the model a simulated case without model: runs. Often written in a refine of an element imported from another tool. |
PhysicalFunction
Function of the physical level, declared inside the behavior component that performs it (or at the level, unallocated), with its ports and sub-functions; realizes: names the logical function it realizes.
- Arcadia:
PhysicalFunction - SysML v2:
action def (perform)
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
category |
text |
Functional category (free text). |
inputs |
list<text> |
Input data names. |
outputs |
list<text> |
Output data names. |
latency |
quantity<time> |
Execution latency; summed along functional chains by the gate. |
execution_time |
quantity<time> |
Alias of latency. |
wcet |
quantity<time> |
Worst-case execution time. |
period |
quantity<time> |
Activation period. |
deadline |
quantity<time> |
Completion deadline. |
frequency |
quantity<frequency> |
Activation frequency. |
safety_level |
enum SafetyLevel |
ASIL, DAL or SIL assigned to the element. |
asil |
enum Asil |
ISO 26262 ASIL (QM, ASIL-A..D). |
dal |
enum Dal |
DO-178C design assurance level (DAL-A..E). |
HardwareComponent
Hardware part of a node.
- Arcadia:
PhysicalComponent (NODE, nested) - SysML v2:
part
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
memory |
text |
Memory configuration, descriptive ("2 GB DDR4, 64 GB eMMC"). Use ram/flash/storage for typed sizes. |
ram |
quantity<data size> |
RAM capacity. |
flash |
quantity<data size> |
Flash capacity. |
storage |
quantity<data size> |
Mass storage capacity. |
power |
quantity<power> |
Power consumption. |
voltage |
quantity<voltage> |
Supply voltage. |
mass |
quantity<mass> |
Mass. |
weight |
quantity<mass> |
Alias of mass. |
PhysicalLink
Physical medium between nodes or ports.
- Arcadia:
PhysicalLink - SysML v2:
connect (binding)
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
from |
ref<Element> |
Source element or port. |
to |
ref<Element> |
Target element or port. |
protocol |
text |
Transport protocol (CAN FD, Ethernet, ARINC 429...). |
bandwidth |
quantity<data rate> |
Available or required data rate. |
latency |
quantity<time> |
Transport latency. |
frequency |
quantity<frequency> |
Message rate. |
period |
quantity<time> |
Message period. |
size |
quantity<data size> |
Payload size. |
data_type |
text |
Exchanged data type. |
route |
list<location {lat, lon[, alt]}> |
The way the link takes on the Earth, at least two points: [{ lat: .. lon: .. }, { lat: .. lon: .. }]. Its length is measured; a declared length may not be shorter. |
length |
quantity<length> |
Length of the medium. Not shorter than its route, nor than the distance between located ends; with latency, light must cover it in that time. |
max_length |
quantity<length> |
Longest the medium may be (a cable or bus limit): the route and the length must keep within it. |
PhysicalExchange
Message routed over a link.
- Arcadia:
ComponentExchange (physical) - SysML v2:
flow
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
from |
ref<Element> |
Source element or port. |
to |
ref<Element> |
Target element or port. |
protocol |
text |
Transport protocol (CAN FD, Ethernet, ARINC 429...). |
bandwidth |
quantity<data rate> |
Available or required data rate. |
latency |
quantity<time> |
Transport latency. |
frequency |
quantity<frequency> |
Message rate. |
period |
quantity<time> |
Message period. |
size |
quantity<data size> |
Payload size. |
data_type |
text |
Exchanged data type. |
via |
ref<PhysicalLink> |
Carrying link. |
message_type |
text |
Message/frame type. |
Deployment
Allocation of a logical component to a node.
- Arcadia:
ComponentDeploymentLink - SysML v2:
allocate
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
PhysicalPath
Ordered links routing an exchange.
- Arcadia:
PhysicalPath - SysML v2:
connect (sequence)
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
involves |
list<ref<PhysicalLink>> |
Ordered links. |
EPBS
EpbsSystem
Top configuration item.
- Arcadia:
ConfigurationItem (SYSTEM) - SysML v2:
part def
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
location |
location {lat, lon[, alt]} |
Where it stands on the Earth, WGS 84: { lat: 48.8566 deg lon: 2.3522 deg alt: 35 m } (alt optional). Drawn on maps (arclang export -f geojson). |
position |
position {x, y, z} |
Where it stands in its owner (the model at the top), in lengths: { x: 1.2 m y: 0 m z: 0.4 m }, a missing axis being 0. Placed so in CAD (arclang export -f step). |
orientation |
orientation {yaw, pitch, roll} |
How it is turned in its owner: { yaw: 90 deg pitch: 0 deg roll: 0 deg }, about z, then y, then x. |
shape |
`shape {box | cylinder}` |
EpbsSubsystem
Subsystem configuration item.
- Arcadia:
ConfigurationItem (CS) - SysML v2:
part def
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
location |
location {lat, lon[, alt]} |
Where it stands on the Earth, WGS 84: { lat: 48.8566 deg lon: 2.3522 deg alt: 35 m } (alt optional). Drawn on maps (arclang export -f geojson). |
position |
position {x, y, z} |
Where it stands in its owner (the model at the top), in lengths: { x: 1.2 m y: 0 m z: 0.4 m }, a missing axis being 0. Placed so in CAD (arclang export -f step). |
orientation |
orientation {yaw, pitch, roll} |
How it is turned in its owner: { yaw: 90 deg pitch: 0 deg roll: 0 deg }, about z, then y, then x. |
shape |
`shape {box | cylinder}` |
EpbsItem
Leaf configuration item or assembly.
- Arcadia:
ConfigurationItem (HW/SW) - SysML v2:
part def
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
part_number |
text |
Part number. |
supplier |
text |
Supplier. |
memory |
text |
Memory configuration, descriptive ("2 GB DDR4, 64 GB eMMC"). Use ram/flash/storage for typed sizes. |
ram |
quantity<data size> |
RAM capacity. |
flash |
quantity<data size> |
Flash capacity. |
storage |
quantity<data size> |
Mass storage capacity. |
power |
quantity<power> |
Power consumption. |
voltage |
quantity<voltage> |
Supply voltage. |
mass |
quantity<mass> |
Mass. |
weight |
quantity<mass> |
Alias of mass. |
location |
location {lat, lon[, alt]} |
Where it stands on the Earth, WGS 84: { lat: 48.8566 deg lon: 2.3522 deg alt: 35 m } (alt optional). Drawn on maps (arclang export -f geojson). |
position |
position {x, y, z} |
Where it stands in its owner (the model at the top), in lengths: { x: 1.2 m y: 0 m z: 0.4 m }, a missing axis being 0. Placed so in CAD (arclang export -f step). |
orientation |
orientation {yaw, pitch, roll} |
How it is turned in its owner: { yaw: 90 deg pitch: 0 deg roll: 0 deg }, about z, then y, then x. |
shape |
`shape {box | cylinder}` |
Data model
Class
Structured data element; every attribute but id, description and extends is a field, kept in declared order.
- Arcadia:
Class - SysML v2:
attribute def
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
extends |
ref<Class> |
The class this one specializes. |
Association
Association between two classes, as an element of its own; from owns the navigable end.
- Arcadia:
Association - SysML v2:
connection def
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
from |
ref<Class> |
The class owning the navigable end. |
to |
ref<Class> |
The class at the navigable end. |
role |
text |
The field of from typed by to (the navigable end). |
kind |
enum AssociationKind |
association |
multiplicity |
text |
Multiplicity of the navigable end (1, 0..*). |
Enumeration
Enumerated data type.
- Arcadia:
Enumeration - SysML v2:
enum def
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
values |
list<text> |
Literals. |
DataType
Primitive data type.
- Arcadia:
DataType - SysML v2:
attribute def
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
base |
text |
Base type. |
unit |
enum Unit |
Unit symbol of the values. |
ExchangeItem
Set of data elements exchanged together.
- Arcadia:
ExchangeItem - SysML v2:
item def
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
mechanism |
enum ExchangeMechanism |
Exchange mechanism. |
elements |
list<ref<Class>> |
Grouped data elements. |
Transverse
Hazard
HARA entry: hazardous event and its classification.
- Arcadia:
(safety extension) - SysML v2:
requirement (hazard)
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
severity |
enum HazardSeverity |
ISO 26262 S0-S3 or DO-178C failure condition. |
exposure |
enum Exposure |
ISO 26262 E0-E4. |
controllability |
enum Controllability |
ISO 26262 C0-C3. |
condition |
enum FailureCondition |
DO-178C failure condition class. |
asil |
enum Asil |
Declared ASIL; must match S/E/C. |
dal |
enum Dal |
Declared DAL; must match the condition. |
sil |
enum Sil |
IEC 61508 SIL of the hazard (SIL-1..SIL-4); classifies it without S/E/C. |
mitigated_by |
list<ref<Requirement>> |
Safety requirements mitigating the hazard. |
gate |
text |
Fault tree: or (default, one failure mode leading to it suffices) or and (all of them, a redundancy). |
budget_fit |
number |
Fault tree: the most its rate may be, in FIT; else the target of its ASIL, failure condition, DAL or SIL. |
mission_time |
quantity<time> |
Fault tree: the exposure the probability is computed over (1 h by default). |
FmeaEntry
FMEA line: failure mode with S/O/D rating.
- Arcadia:
(safety extension) - SysML v2:
requirement (failure mode)
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
failure_mode |
text |
Failure mode. |
effect |
text |
Effect. |
cause |
text |
Cause. |
severity |
text |
Severity: rating, class (S3) or description — free text by design, FMEA practices differ. |
occurrence |
text |
Occurrence: rating, class or rate description. |
detection |
text |
Detection: rating, class or detection means. |
rpn |
number |
Risk priority number. |
element |
ref<Element> |
The element that fails. |
leads_to |
list<ref<Hazard>> |
The hazards this failure mode leads to: the fault trees it is a basic event of. |
fit |
number |
Failure rate in FIT (failures per 10^9 hours). |
Threat
Threat of a cybersecurity analysis: what an attacker may achieve, applied to primary assets and involving components. Its security needs are the free security_<need> attributes, checked against security_scales.
- Arcadia:
cybersecurity:Threat (Cybersecurity viewpoint) - SysML v2:
requirement (threat)
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
kind |
text |
Threat kind: one of security_scales.threat_kinds when declared. |
level |
number |
Criticality level of the threat (an integer). |
rationale |
text |
Why the threat is assessed so. |
applies_to |
list<ref<PrimaryAsset>> |
Primary assets the threat applies to. |
involves |
list<ref<Element>> |
Components, entities or actors involved. |
PrimaryAsset
Primary asset of a cybersecurity analysis: a service, information or business concern to protect, made of declared elements.
- Arcadia:
cybersecurity:FunctionalPrimaryAsset / InformationPrimaryAsset / EnterprisePrimaryAsset - SysML v2:
requirement (asset)
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
kind |
enum AssetKind |
What the asset is. |
members |
list<ref<Element>> |
Functions, exchange items or classes making up the asset. |
Trace
Typed link between two elements.
- Arcadia:
AbstractTrace / Realization - SysML v2:
satisfy / verify / allocate
| Attribute | Type | Meaning |
|---|---|---|
from |
ref<Element> |
Source. |
to |
ref<Element> |
Target. |
type |
enum TraceKind |
Link kind. |
rationale |
text |
Justification. |
Configuration
One product of a product line: the variant it selects in each variation. Two variants of one variation are an error, a variation left open a warning.
- Arcadia:
(product line) - SysML v2:
part (#Configuration)
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
selects |
list<ref<LogicalComponent>> |
The variants selected, one per variation. |
IoBinding
io_binding "ECU" { ... }: the inputs and outputs of a state machine bound once to the channels of the I/O interface arclang_io.h (gpio, adc, dac, pwm, can, uart, with a clock and a watchdog). Checked by the compiler, against its target's channels too; arclang export -f c generates the glue that calls the channels, arclang sil runs it on the host board, arclang pil on the target's processor. See docs/embedded-c.md.
- Arcadia:
(embedded extension) - SysML v2:
(none: an allocation of a state machine's events, conditions, states and actions to I/O channels)
| Attribute | Type | Meaning |
|---|---|---|
machine |
ref<StateMachine> |
The state machine bound (optional when the model has one). |
period |
quantity<time> |
The step period on the target, a time (10 ms): the glue runs one cycle per period. |
watchdog |
boolean |
Kick the watchdog after every cycle that read, stepped and wrote without error. |
target |
text |
The target package it is deployed on (zephyr/litex_vexriscv; host by default): the compiler checks that the target has every channel bound. arclang export -f zephyr and arclang pil use it. See docs/embedded-targets.md. |
inputs |
list<text> |
event or condition <- channel: an event from an edge (gpio 4 rising), a frame (can 0x120) or a byte (uart 0 0x41); a condition from a level (gpio 3), a raw threshold (adc 0 > 2048) or the first byte of the last frame (can 0x121). An event bound to a level, a condition to an edge, or an input bound twice is an error; an input left unbound, a warning. |
outputs |
list<text> |
state or action -> channel: a state (1 while active) or an action (times run in the step) written to gpio 10, pwm 2 750 (per mille while not zero), dac 1 4095 (while not zero), can 0x300 (first byte, every period) or uart 1 0x45 (each step it is not zero). A channel written twice, or a pin both read and written, is an error. |
description |
text |
Free-text description. |
TestCase
Verification case covering requirements.
- Arcadia:
(V&V extension) - SysML v2:
verification def
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
verifies |
list<ref<Requirement>> |
Requirements verified. |
method |
enum VerificationMethod |
Verification method. |
procedure |
text |
Procedure. |
expected |
text |
Expected result. |
asserts |
list<ref<Constraint>> |
An analysis: the constraints whose evaluation is its verdict (pass when they all hold). |
verdict |
enum Verdict |
Outcome of a test run elsewhere; computed, not given, when the case asserts: constraints or simulate:s. A requirement with a failing case is not verified. |
simulate |
{backend, model, configuration, stop_time, start_time, sources, tolerance, intervals, sweep, uncertain, samples, seed, probability, confidence, mission} |
Verified by simulation: the backend (openmodelica, the default; fmu and command are declared, not built yet), the Modelica model to simulate (extending a system model of arclang export -f modelica; without it, the roll-up of the configuration, Executable.<Configuration>, when its elements carry model:), the configuration it is, a mission (a file of parameter values, one "Element".parameter = value a line, relative to the model file, added to the sweep), stop_time (and start_time), the hand-written Modelica sources (paths from the model file), tolerance, intervals, and a sweep (["body.mass = 1800 kg, 2100 kg", "vcu.target_speed = 80 km/h .. 130 km/h step 10 km/h"]: every combination is simulated, and the expectations must hold at each). Or uncertain parameters (["body.mass ~ normal(1850 kg, 40 kg)", "cell.capacity ~ uniform(58 kWh, 62 kWh)", "drive.efficiency ~ normal(0.9, 0.03) in [0.8, 0.97]"]: normal, uniform or triangular, kept between bounds by in [low, high]) drawn in samples (10 to 1000, default 200) from a seed: the case passes when the probability that the expectations hold is shown, at confidence (default 0.95), to reach probability (the Clopper-Pearson lower bound). Run by arclang verify; the verdict is cached, and inconclusive when stale or never run. |
execute |
{machine, step, stop_time, inputs, binding, tolerance, quantisation, plant} |
Verified by executing a state machine at fixed step: the machine, the step (default the binding's period, else 10 ms), stop_time, the inputs (["0 s: main switch on", "10 ms: LF-022", "300 ms: main switch on = false"]: an event occurs in the step at its time, a condition holds or not from it on, an in variable takes a value from it on: "100 ms: speed = 50 km/h"), a binding (the run then goes through the I/O glue and the host board) and the tolerance of the comparison with the C (quantisation: of the fixed point of a machine allocated to programmable logic against the model, in arclang hdl and arclang soc). The expectations read the states ("Machine".State, 1 while active), the actions ("Machine".action.close_contactors, times run in the step) and the variables ("Machine".speed, in their unit). Compiling runs the model and reports a failing case; arclang sil runs the generated C against it. |
snapshots |
list<text> |
Snapshots the simulation must reach: a snapshot, a timeslice (its snapshots) or an element (all its snapshots), by id (["LC-DRONE.Takeoff.At cruise"]). Each value of each one, at its at:, is an expectation within the snapshot's tolerance (at(40 s, "LC-DRONE".altitude) == 120 m within 1 %). |
expects |
list<text> |
What the simulation result must show: comparisons over its variables read with min, max, final, initial, mean or at(t, var), with units (final(vehicle.distance) >= 300 km); == and != may say how far equal may be (at(1 h, battery.soc) == 0.7 within 2 %, or within 0.05). A comparison may name the requirement it checks ("REQ-SHED: at(40 min, cabin.drawn) <= 1 W"): each requirement is then judged on the comparisons naming it and those naming none. |
reviewed |
list<text> |
The verifications reviewed: one entry per verified requirement, the requirement and the fingerprints of the case and of the requirement, written by arclang trace --review. A verification whose case or requirement changed since is suspect, and so is one the case verifies but does not name here. |
Model
The model itself: root of the element graph, owner of every top-level element.
- Arcadia:
Project / SystemEngineering - SysML v2:
package
| Attribute | Type | Meaning |
|---|---|---|
name |
text |
Model name. |
version |
text |
Model version. |
description |
text |
Free-text description. |
Type
Reusable definition: type Name extends Base { ... }. Declares typed attributes, ports and the attributes instances must provide. Redefinitions must keep the dimension. Types have their own namespace. A type with ports typing a port is a port definition (its ports are the ports the port holds); typing an exchange, an interface definition; with from_kind and to_kind, typing an allocates trace, an allocation definition.
- Arcadia:
(extension — closest Capella notion: REC/RPL) - SysML v2:
abstract part / action / port / connection / allocation def, specialized with :>
| Attribute | Type | Meaning |
|---|---|---|
required |
list<text> |
Attributes every instance must provide (declared or inherited). |
description |
text |
Free-text description (not inherited). |
from_kind |
text |
For an allocation definition: the kind every allocation of it goes from (PhysicalNode). |
to_kind |
text |
For an allocation definition: the kind every allocation of it goes to (LogicalComponent). |
physics |
enum Physics |
For a port definition: what the ports it types carry, for the Modelica export. |
Note
A text about elements, declared at the top of a file (note "Text" { about: ["LC-A"] }): drawn on every view that draws one of them, tied to each by a dashed line. An element it names that the model does not declare is an error.
- Arcadia:
Note (diagram annotation) - SysML v2:
comment about
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
about |
list<ref<Element>> |
The elements the note is about. |
Constraint
Dimension-checked comparison over typed attributes (assert: <expression>). Ill-formed is a compile error; violated is a warning and a gate blocker.
- Arcadia:
Constraint - SysML v2:
assert constraint
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
Timeslice
A stretch of an element's life, declared in it (timeslice "Takeoff" { start: 0 s end: 40 s }); holds the snapshots it goes through. Its other attributes are the values the element has during it.
- Arcadia:
(none: carried as a property) - SysML v2:
timeslice
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
start |
quantity<time> |
When it starts. |
end |
quantity<time> |
When it ends; not before it starts. |
Snapshot
One moment of an element's life, declared in it or in one of its timeslices (snapshot "Landed" { at: 5 min altitude: 0 m }). Its other attributes are the values the element has then; a value the element declares as a quantity keeps its dimension.
- Arcadia:
(none: carried as a property) - SysML v2:
snapshot
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
at |
quantity<time> |
When it is; within its timeslice. |
tolerance |
text |
How far a simulated value may be from the snapshot's and still reach it, when a test case checks it: a percentage of the value (2 %) or an amount (0.5 m). 1 % when absent. |
StateMachine
Modes and states of an element.
- Arcadia:
StateMachine - SysML v2:
state def
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
initial |
ref<State> |
Initial state. |
variables |
list<text> |
Typed variables (SysML v2 attributes): `[in |
equations |
list<text> |
Difference equations evaluated every step in the order written, before the transitions: target = expression over the variables, with the blocks delay, integrator, pid and the functions min, max, abs, saturate, gain. Typed and unit-checked. |
State
State (undergone) or mode (chosen behavior).
- Arcadia:
State / Mode - SysML v2:
state
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
Transition
Transition between states.
- Arcadia:
StateTransition - SysML v2:
transition
| Attribute | Type | Meaning |
|---|---|---|
trigger |
text |
Triggering event. |
guard |
text |
Guard condition: an expression over the machine's variables (speed > 30 km/h and armed), else prose (a condition the reader sets). |
action |
text |
Effect: assignments to the machine's variables (count := count + 1; on := true), else prose (reported, not executed). |
timing |
quantity<time> |
Timing constraint: without a trigger, a timer (as after:); beside a trigger, a budget (as budget:). |
after |
quantity<time> |
A timer: the transition fires when its source has been active this long (SysML v2 accept after). Not with a trigger. |
budget |
quantity<time> |
A budget: how long the source may stay active before the transition fires; watched every step, an overrun is an output ("Machine".budget.<transition>), never a timer. |
priority |
number |
Priority among concurrent transitions. |
Diagram
A declared diagram: a named view cut from one Arcadia level, drawing the elements it names, what holds them and the exchanges between them. context: true adds the elements an exchange ties to a named one.
- Arcadia:
Diagram (DiagramRepresentation) - SysML v2:
view
| Attribute | Type | Meaning |
|---|---|---|
view |
identifier |
The view it is cut from: oab, sab, lab, pab, cap, cdb or pbs. |
shows |
list<ref<Element>> |
Elements drawn, by id or name; their containers are drawn around them. |
context |
boolean |
Also draw the elements an exchange ties to a shown one. |
under |
ref<Element> |
Draw what is under this element (instead of shows). |
tagged |
list<text> |
Draw only the elements carrying one of these tags (tags:), with what holds them. |
configuration |
ref<Configuration> |
Draw the view of one configuration: without the variants it does not select. |
description |
text |
Free-text description. |
Table
A live table or matrix, computed by the compiler on every change: requirements_coverage (text, satisfied by, verified by with verdicts, gate status), traceability_matrix, allocation_matrix, interface_n2, icd or elements. It belongs to the layer its scope names. arclang table writes it as JSON, CSV, TSV, Markdown, HTML or Excel.
- Arcadia:
(extension; Siemens/Cameo: generic or coverage table) - SysML v2:
view (render asElementTable)
| Attribute | Type | Meaning |
|---|---|---|
kind |
identifier |
requirements_coverage, traceability_matrix, allocation_matrix, interface_n2, icd or elements. |
scope |
text |
What the rows are taken from: a layer (OA, SA, LA, PA, EPBS) or an element, by id or name. |
row_type |
text |
The kind of the rows (elements: any kind of this metamodel; several separated by commas). |
columns |
list<text> |
The columns shown, in order; for a matrix, the kinds (or layers) of its columns. |
rows |
list<text> |
For a matrix: the kinds (or layers) of its rows. |
kinds |
list<text> |
For a traceability matrix: the trace kinds shown and created. |
filter |
text |
Rows kept: words, column:text, column=text, column!=text, is:gap, -term (all must match). |
gaps_only |
boolean |
Keep only the rows with a gap or a failure. |
description |
text |
Free-text description. |
Scenario
Sequence of messages between participants.
- Arcadia:
Scenario - SysML v2:
interaction (sequence)
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
participants |
list<ref<Element>> |
Lifelines. |
Fragment
A combined fragment of a scenario: alt, opt, loop, par, seq or critical, framing the messages it holds, with its operands. Fragments nest.
- Arcadia:
CombinedFragment - SysML v2:
combined fragment
| Attribute | Type | Meaning |
|---|---|---|
label |
text |
The guard or the condition shown in the frame's tag. |
StateFragment
A state, mode or function asserted on a lifeline: state "Lifeline" "Armed" { ... } / function "Lifeline" "Sense" { ... }, spanning the messages of its body (an instant without any).
- Arcadia:
StateFragment - SysML v2:
state invariant
| Attribute | Type | Meaning |
|---|---|---|
id |
identifier |
Stable identity; drives the UUIDv5. Defaults to the name. |
name |
text |
Display name; overrides the block name. |
description |
text |
Free-text description. |
is |
ref<Type> |
User-defined type of the element, or a list of types; their attributes (and ports, for components) are inherited. |
tags |
list<text> |
Tags the element carries (["Safety"]): a declared diagram draws what carries one with tagged:. In SysML v2, metadata usages of definitions in a Tags package. |
Message
Message between two participants.
- Arcadia:
SequenceMessage - SysML v2:
message
| Attribute | Type | Meaning |
|---|---|---|
type |
enum MessageKind |
sync |
timing |
quantity<time> |
Timing constraint. |
Relationships
The element graph served by the Systems Modeling API (/api/systems-modeling) is made of the kinds above and of these relationship types. A relationship whose end does not resolve is reported in the commit, never dropped.
| Relationship | Source | Target | Meaning |
|---|---|---|---|
Trace |
element | element | A trace declaration; traceKind is one of the TraceKind values. |
Verification |
TestCase | Requirement | verifies: of a test case. |
Annotation |
Note | element | about: of a note. |
Mitigation |
Requirement | Hazard | mitigated_by: of a hazard. |
ThreatApplication |
Threat | PrimaryAsset | applies_to: of a threat. |
ThreatInvolvement |
Threat | component, entity or actor | involves: of a threat. |
AssetMember |
PrimaryAsset | element | members: of a primary asset. |
Typing |
element or PhysicalLink | Type | is: — the element is an instance of the type. |
Specialization |
Type | Type | extends — the source type specializes the target. |
Involvement |
chain, path, capability | element | involves:; order is the 1-based position. |
SequenceLink |
step or ControlNode | step or ControlNode | sequence A -> B of a functional chain; condition is its guard. |
Association |
Class | Class | An association declaration; kind, role and multiplicity describe the navigable end. |
Realization |
capability | capability | realizes: across layers. |
CapabilityExtend |
capability | capability of the same level | extends: of a capability. |
CapabilityInclude |
capability | capability of the same level | includes: of a capability. |
CapabilityGeneralization |
capability | capability of the same level | specializes: of a capability. |
Contribution |
Capability | Mission | mission: of a capability. |
Deployment |
LogicalComponent | PhysicalNode | deploys / deployment. |
OperationalExchange |
operational entity | operational entity | Interaction or communication means. |
FunctionalExchange |
FunctionPort or function | FunctionPort or function | Data flow between functions. |
ComponentExchange |
ComponentPort or component | ComponentPort or component | Exchange between components. |
LogicalInterface |
LogicalComponent | LogicalComponent | Interface contract between two components. |
PhysicalLink |
PhysicalNode | PhysicalNode | Physical medium; carries typed attributes and may be typed. |
PhysicalExchange |
PhysicalNode | PhysicalNode | Message routed over a link. |
Transition |
State | State | State machine transition. |
Message |
element | element | Scenario message; order is the 1-based position. |
Enumerations
Values match ignoring case and the separators -, _ and space.
| Enumeration | Values | Meaning |
|---|---|---|
| ControlKind | and, or, iterate |
Kind of a control node of a functional chain. |
| AssociationKind | association, aggregation, composition |
Kind of an association between classes. |
| AssetKind | functional, information, enterprise |
What a primary asset is (Capella's three PrimaryAsset metaclasses). |
| Asil | QM, ASIL-A, ASIL-B, ASIL-C, ASIL-D |
ISO 26262 automotive safety integrity level. |
| Dal | DAL-A, DAL-B, DAL-C, DAL-D, DAL-E |
DO-178C design assurance level. |
| Sil | SIL-1, SIL-2, SIL-3, SIL-4 |
IEC 61508 safety integrity level. |
| SafetyLevel | QM, ASIL-A, ASIL-B, ASIL-C, ASIL-D, DAL-A, DAL-B, DAL-C, DAL-D, DAL-E, SIL-1, SIL-2, SIL-3, SIL-4 |
Any integrity level: ASIL (ISO 26262), DAL (DO-178C) or SIL (IEC 61508). |
| Priority | Critical, High, Medium, Low |
Requirement priority. |
| HazardSeverity | S0, S1, S2, S3, Catastrophic, Hazardous, Major, Minor, No Effect |
ISO 26262 severity class or DO-178C failure condition. |
| Exposure | E0, E1, E2, E3, E4 |
ISO 26262 exposure class. |
| Controllability | C0, C1, C2, C3 |
ISO 26262 controllability class. |
| FailureCondition | Catastrophic, Hazardous, Major, Minor, No Effect |
DO-178C failure condition classification. |
| VerificationMethod | test, analysis, inspection, demonstration |
Verification method. |
| Physics | signal, electrical, mechanical_translational, mechanical_rotational, thermal, fluid |
What a port carries, for the Modelica export: the Modelica Standard Library connector it becomes (fluid is not exported yet). |
| Pole | positive, negative |
The pin an electrical port is (PositivePin, NegativePin). |
| Flange | a, b |
The flange (or heat port) a mechanical or thermal port is (Flange_a, Flange_b). |
| Verdict | pass, fail, inconclusive, error |
Verdict of a verification case (SysML v2 VerdictKind). |
| ExchangeMechanism | EVENT, FLOW, OPERATION, DATA, SHARED_DATA |
Arcadia exchange item mechanism. |
| TraceKind | satisfies, implements, validates, verifies, realizes, refines, derives, allocates |
Traceability link kinds. |
| PortKind | data, control, event |
Function port nature. |
| MessageKind | sync, async |
Scenario message kind. |
| Unit | (unit table) | Any symbol of the unit table below. |
Units
A quantity is <number> <unit> (latency: 25 ms). Symbols are case-sensitive. Each dimension converts to its canonical unit for arithmetic.
| Symbol | Dimension | Factor to canonical | SysML v2 (SI) |
|---|---|---|---|
ns |
time (s) | 0.000000001 | ns |
us |
time (s) | 0.000001 | us |
µs |
time (s) | 0.000001 | us |
ms |
time (s) | 0.001 | ms |
s |
time (s) | 1 | s |
min |
time (s) | 60 | min |
h |
time (s) | 3600 | h |
Hz |
frequency (Hz) | 1 | Hz |
kHz |
frequency (Hz) | 1000 | kHz |
MHz |
frequency (Hz) | 1000000 | MHz |
GHz |
frequency (Hz) | 1000000000 | GHz |
bps |
data rate (bit/s) | 1 | 'bit/s' |
bit/s |
data rate (bit/s) | 1 | 'bit/s' |
kbps |
data rate (bit/s) | 1000 | 'kbit/s' |
Kbps |
data rate (bit/s) | 1000 | 'kbit/s' |
kbit/s |
data rate (bit/s) | 1000 | 'kbit/s' |
Mbps |
data rate (bit/s) | 1000000 | 'Mbit/s' |
Mbit/s |
data rate (bit/s) | 1000000 | 'Mbit/s' |
Gbps |
data rate (bit/s) | 1000000000 | 'Gbit/s' |
Gbit/s |
data rate (bit/s) | 1000000000 | 'Gbit/s' |
Tbps |
data rate (bit/s) | 1000000000000 | 'Tbit/s' |
Tbit/s |
data rate (bit/s) | 1000000000000 | 'Tbit/s' |
bit |
data size (bit) | 1 | bit |
B |
data size (bit) | 8 | B |
kB |
data size (bit) | 8000 | kB |
KB |
data size (bit) | 8000 | kB |
MB |
data size (bit) | 8000000 | MB |
GB |
data size (bit) | 8000000000 | GB |
TB |
data size (bit) | 8000000000000 | TB |
KiB |
data size (bit) | 8192 | KiB |
MiB |
data size (bit) | 8388608 | MiB |
GiB |
data size (bit) | 8589934592 | GiB |
mm |
length (m) | 0.001 | mm |
cm |
length (m) | 0.01 | cm |
m |
length (m) | 1 | m |
km |
length (m) | 1000 | km |
g |
mass (kg) | 0.001 | g |
kg |
mass (kg) | 1 | kg |
t |
mass (kg) | 1000 | t |
N |
force (N) | 1 | N |
kN |
force (N) | 1000 | kN |
mV |
voltage (V) | 0.001 | mV |
V |
voltage (V) | 1 | V |
kV |
voltage (V) | 1000 | kV |
mA |
electric current (A) | 0.001 | mA |
A |
electric current (A) | 1 | A |
mW |
power (W) | 0.001 | mW |
W |
power (W) | 1 | W |
kW |
power (W) | 1000 | kW |
J |
energy (J) | 1 | J |
kJ |
energy (J) | 1000 | kJ |
Wh |
energy (J) | 3600 | 'W*h' |
kWh |
energy (J) | 3600000 | 'kW*h' |
Pa |
pressure (Pa) | 1 | Pa |
kPa |
pressure (Pa) | 1000 | kPa |
bar |
pressure (Pa) | 100000 | bar |
K |
temperature (K) | 1 | K |
°C |
temperature (K) | 1 + 273.15 | K |
degC |
temperature (K) | 1 + 273.15 | K |
C |
electric charge (C) | 1 | C |
mAh |
electric charge (C) | 3.6 | 'mA*h' |
Ah |
electric charge (C) | 3600 | 'A*h' |
mOhm |
resistance (Ohm) | 0.001 | 'mΩ' |
Ohm |
resistance (Ohm) | 1 | 'Ω' |
Ω |
resistance (Ohm) | 1 | 'Ω' |
mΩ |
resistance (Ohm) | 0.001 | 'mΩ' |
kOhm |
resistance (Ohm) | 1000 | 'kΩ' |
kΩ |
resistance (Ohm) | 1000 | 'kΩ' |
W/K |
thermal conductance (W/K) | 1 | 'W/K' |
kW/K |
thermal conductance (W/K) | 1000 | 'kW/K' |
J/K |
heat capacity (J/K) | 1 | 'J/K' |
kJ/K |
heat capacity (J/K) | 1000 | 'kJ/K' |
MJ/K |
heat capacity (J/K) | 1000000 | 'MJ/K' |
cm² |
area (m²) | 0.0001 | 'cm²' |
m² |
area (m²) | 1 | 'm²' |
m2 |
area (m²) | 1 | 'm²' |
kg/s |
mass flow rate (kg/s) | 1 | 'kg⋅s⁻¹' |
g/s |
mass flow rate (kg/s) | 0.001 | 'g/s' |
m/s |
speed (m/s) | 1 | 'm/s' |
km/h |
speed (m/s) | 0.2777777777777778 | 'km/h' |
percent |
ratio (one) | 0.01 | '%' |
% |
ratio (one) | 0.01 | '%' |
deg |
angle (rad) | 0.017453292519943295 | '°' |
rad |
angle (rad) | 1 | rad |
Traceability rules
Dangling endpoints are compile errors. Kind mismatches are metamodel: warnings.
| Kind | From | To | Meaning |
|---|---|---|---|
satisfies |
component, function, node, actor | Requirement | Architecture element satisfies a requirement. Counted by the gate. |
implements |
component, node | function, Requirement | Element implements a function or requirement. |
verifies |
TestCase | Requirement | Verification case covers a requirement (also via verifies:). |
validates |
TestCase, Scenario | Requirement, Capability | Validation evidence. |
realizes |
lower-layer element | upper-layer element | Inter-layer realization: SA→OA, LA→SA, PA→LA, EPBS→PA. |
refines |
Requirement | Requirement | Requirement decomposition. |
derives |
Requirement | Requirement | A requirement derived from another (SysML derive): trace "REQ-CELL-TEMP" derives "REQ-RANGE". Drawn on the requirements view. |
allocates |
component, node | function, component | Allocation (also expressed by nesting and deployment). |