Package-level declarations
Types
Activity-level element (level 5).
Analysis of an Element.
Automotive safety classification with its original, pre-decomposition level.
Checked error definition (ara::com-inspired).
Alias for Classic AUTOSAR Client/Server interface modeling.
Cluster-level element (level 4).
A C++ class, struct, or union.
Marker for entities in the code metamodel: things that exist by virtue of being present in the analysed source code, as opposed to the spec-level entities of the com.stigway.metamodels.highway metamodel which describe the architecture irrespective of any particular implementation.
Logical category of a CodeConstruct.
Analyzer data-flow DAG segment used as a projected diagram node.
A source file (.cpp, .h, etc.) participating in analysis.
A function or method in the analysed code.
An individual instruction in the analysed code — typically an LLVM IR instruction reported by the analyzer's per-instruction view.
"I have a location in source code."
A C++ namespace.
A single line of source code — the compound box grouping every CodeInstruction the compiler emitted for one (file, line). Sits between CodeFunction and CodeInstruction on the unified hierarchy scale (level 8) — the deepest containment layer above the instruction.
Loads the executable Highway model from compiled Kotlin classes.
One wired executable model, with independent check scopes and a shared reporting inventory.
Complexity classification (project-specific).
Component-level element (level 5).
Connector (binding) between two InterfacePoints.
Top-level work-product container for the context viewpoint — the symmetric counterpart of Requirements, Tests, Design and Analysis for the other four viewpoints.
Classic AUTOSAR sender/receiver data element.
Queueing semantics for Classic AUTOSAR sender/receiver data elements.
Design work product for an Element.
Position of a node in the standard stig diagram hierarchy. Used to pick the color saturation step for each compound box / leaf — see stig-docs/.../internals/diagram-hierarchy.md.
Document-level metadata attached to a top-level work-product container — a Requirements, Tests, Analysis, or Design. Nested containers (sections/chapters within a document) do not carry their own DocumentMetadata; the lifecycle information belongs to the deliverable as a whole.
Logical element categories used across STIG configuration and modeling.
Event (publish/subscribe style).
Failure / failure mode.
Engineering conclusion about the sufficiency of safety measures for a Failure, or of the analysis recorded in an Analysis or InterfacePointAnalysis. The shared contract is SafetyAssessment.
Field (data element) with optional getter/setter.
A selection of actual Highway objects, with import/export provenance kept outside domain objects.
The native exchange schema is the canonical metamodel's Kotlin constructor contract.
Technical/binding-specific instance identifier (AUTOSAR ara::com style).
Logical instance specifier (AUTOSAR-style), typically "
Alias for SysML/UML compatibility: those notations use "Interface" as the primary term.
Marker for interface-side artifacts (Port/ServiceInterface/Event/Field/Method/Error/Topic/etc.).
Analysis of an InterfacePoint (port/service/event/field/method/error/register/ipdu/...).
I-PDU (Interaction Layer Protocol Data Unit) as a specialized Message.
Named issue links share URL expansion and validation with source-reference templates. Omitted rules cover every rule on the object declaring the ticket.
Item-level element (level 1).
Source tokens for build planning and diagnostic locations; comments and literal text are excluded.
Base type for Highway entities participating in model identity, registration, and ownership. Other Highway types, such as DataType and DocumentMetadata, do not extend this class.
Direction-neutral operation definition (request/response style). A service port supplies its provided/required role. For a direct component API use ProvidedMethod or RequiredMethod; a plain method does not imply a provided direction.
One module's complete declarations. Viewpoint roots and typed queries are views of the same inventory.
Canonical identities derive from authored references and their owning instance.
Lightweight element-to-specification-module metadata; never an inventory of requirements or failures.
One set of named relation definitions for model navigation and all documentation formats.
An isolated registry of MetamodelEntity instances.
Generic property selection on an existing identity, not a second interface/requirement metamodel.
Multiplicity of a failure mode (ISO 26262 classification).
Pair of a declared child entity with the Kotlin field name that holds it on the container. Useful when a rule wants both the entity and its source-property name (e.g. for source-location messages or com.stigway.metamodels.create.ModelProblem.entityName fallback before MetamodelEntity.referenceName is wired).
Parameter direction.
A Port is a usage/endpoint of a ServiceInterface.
One named use of a shared service member through a particular port. Two ports using the same member have different endpoint identities and can therefore be analyzed independently. Declare the result of Port.use as a Kotlin property inside a typed port subclass. Normal model binding then supplies its ID and callers can use component.port.member directly. Each property constructs one stable use; accessing it does not create another endpoint.
Process-level safety measure (verification, validation, operational process, etc.).
A provided system or safety function — a behavioral capability the element exposes at a functional/requirements level (e.g. an ISO 26262 PMS/TSA safety function such as "Cell voltage protection"), not a callable operation.
A directly callable operation provided by its declaring element, without a service-port wrapper. Preserve the external function's identifier in the model property, including capitalization and underscores. Use a neutral Method for service contracts whose direction is supplied by a port.
Provided port (AUTOSAR AP / ara::com style).
Publisher endpoint for a Topic (ROS-style).
Register is a specialization of Field for hardware register access.
A metamodel relation definition. Instances describe properties without registering model entities.
The shape of an authored reference; a single reference can be nullable.
Release status — independent of WorkflowStatus. A document is RELEASED once formally published to its audience; it may later be WITHDRAWN while keeping its historical workflow status.
An external operation required by its declaring element, without a service-port wrapper. definition can reference an existing operation rather than repeating its contract. The required endpoint keeps its own identity and owner; the referenced operation and its parameters retain their declaration ownership. Contract metadata defaults to the referenced definition. An omitted asil resolves through that definition before the local owning element, without copying an inherited classification into the authored value.
Required port (AUTOSAR AP / ara::com style).
Requirement node.
Note attached to a requirement container (non-safety metadata).
Container for grouping requirements and related notes.
Retention class — how long the document must be retained. Values follow the common archival classification used in automotive safety documentation; teams with different retention policies can subclass / extend the enum.
A recorded safety judgment and its engineering reasoning, at element, interface-point or failure level.
Base type for safety measures used to mitigate or detect a Failure.
Technical/product-level safety measure (algorithmic, architectural, monitoring, etc.).
Security classification — controls who may access the document.
Alias for Classic AUTOSAR Sender/Receiver interface modeling.
Service interface definition: a container of ServiceInterfaceMembers such as Event, Field, DataElement, Method, CheckedError, Register, Message, IPdu, Topic, etc.
Marker for members that can be declared inside a ServiceInterface, such as events, fields, methods, errors, messages, registers, and topics.
Optional grouping container inside a service interface definition.
Subscriber endpoint for a Topic (ROS-style).
Subsystem-level element (level 3).
System-level element (level 2). Note: name collides with java.lang.System; use package import accordingly.
Test-case node.
Container for grouping test cases.
A TopicPort is a usage/endpoint of a Topic.
Unit-level element (level 6). Often represents implementation-level software units.
A named service member whose definition is unavailable. A port can still select this member through Port.use, without claiming a payload type, queueing behavior or operation signature. Replace it with the resolved member when its authoritative definition becomes available.
An external source link. Filed tickets use IssueReference.
A centrally declared URL containing one {id} placeholder, with an optional display-label template. prefix supports numbered project keys: prefix "PTH-" accepts 123 or "PTH-123". Without a prefix, string identifiers can also be UUIDs or application-specific identifiers.
Vehicle-level element (level 0).
Orchestrates model wireup: builds reference-name and ownership back-references across the entity registry of the current ModelScope maintained by MetamodelEntity.
Workflow status — where the document is in the review-and-approval flow. Independent of ReleaseStatus: an APPROVED document is signed off internally but may not yet be RELEASED to the wider audience.
Properties
Deepest band on the unified hierarchy scale (Instruction).
Plain-text display label: [qualified.id] name, or just idLabel when the name is null or blank. An InterfacePointAnalysis uses its own identity and its derived analysis name. Identifier and human-name capitalization are preserved; names are not trimmed or escaped.
Plain-text short identity label, [declarationName], without the qualified declaring context. Requires the same bound model identity as idLabel.
Functions
Reflectively returns every InterfacePoint declared as a field of receiver Element's runtime class. InterfacePoint is a marker interface, so a separate helper is provided — declaredChildrenOfType would also work but requires the caller to import the inline reified function.
Maps a value to an undecomposed classification; numeric values cannot preserve decomposition.
Binds an authored field or constructor-owned value without replacing its source declaration provenance.
Registers a child entity declared inside a source-materialized parent.
Records source-declared uses without changing the target's declaration or owner.
Binds an entity to an already computed canonical MetamodelEntity.id.
Sets the canonical identifiers for an entity that was materialized from source (as opposed to being instantiated from compiled bytecode). Intended for use by PSI / source materializers such as the IDEA plugin.
Reflectively returns every declared field of receiver this whose type is assignable to T, including inherited properties and Kotlin object members. Companion and file-facade fields are skipped; use staticChildrenOfType for those class-level fields.
Interface-point analyses in declaration order, including analyses nested beneath ports or service groups.
A decomposed analysis delegates failure and contribution completeness to its member analyses.
Structural children, including explicit metamodel containment. Relation targets retain their own declaration.
Typed references resolved after declaration construction. This supports forward references and cycles between imported Kotlin declarations without reading an uninitialized top-level value. Keep suppliers to property references; inspection materializes those references without executing code.
Lists/maps/arrays are inspected without evaluating arbitrary getters or traversing reference targets.
Reflective variant of declaredChildrenOfType that also captures the field name.
Kotlin property paths distinguish anonymous entries in collection-valued declarations.
Same as declaredChildrenOfType but reads static fields — appropriate for Kotlin file-facade classes (which carry top-level vals as public static final fields) and for Kotlin object declarations.
Direct links use the same value type as references produced by a named template.