Context

open class Context(val name: String? = null, val description: String? = null, val issues: List<IssueReference> = emptyList(), val authors: List<String> = emptyList(), val document: DocumentMetadata? = null, val sources: List<URLReference> = emptyList()) : MetamodelEntity

Top-level work-product container for the context viewpoint — the symmetric counterpart of Requirements, Tests, Design and Analysis for the other four viewpoints.

A Context wraps one (or more) Elements plus their surrounding context-viewpoint declarations (InterfacePoints, DataTypes, Connectors, …) so the work product can carry document metadata: ISO 26262 work-product identifier, workflow + release status, version, version history, retention / security class.

Usage is optional: users who don't need document metadata can keep their context viewpoint flat (a top-level val myActivity = FusionActivity()). Adding a Context is the way to lift the same lifecycle treatment that Requirements / Tests already provide. Module checks discover every declaration in the checked module and its directly referenced model modules, with or without this container. Nested elements remain part of their module even when their own viewpoints have not been authored yet.

Example:

class FusionActivityContext : Context(
name = "Fusion Activity context",
document = DocumentMetadata(
iso26262Id = "4-6.5 Item Definition",
workflowStatus = WorkflowStatus.IN_REVIEW,
...
),
) {
val activity = FusionActivity()
// additional context-viewpoint declarations …
}
val fusionActivityContext = FusionActivityContext()

Nested sub-specifications are allowed for sectioning. Only the top-level Context carries document; nested ones leave it null.

Constructors

Link copied to clipboard
constructor(name: String? = null, description: String? = null, issues: List<IssueReference> = emptyList(), authors: List<String> = emptyList(), document: DocumentMetadata? = null, sources: List<URLReference> = emptyList())

Properties

Link copied to clipboard
override val asil: ASIL?

This work-product or metadata container has no ASIL of its own.

Link copied to clipboard
open val authors: List<String>
Link copied to clipboard

Identity of the authored Kotlin declaration, independent of its receiving model instance. Inherited declarations retain this provenance while id distinguishes each owning instance.

Link copied to clipboard

Fully-qualified name of the declaring context. Prefers declaringClassNameOverride (set explicitly by source materializers or canonical-ID binding) over declaringClass's captured name; falls back to null if neither is available.

Link copied to clipboard
open override val description: String?
Link copied to clipboard

Document-level metadata. Set on the top-level specification only.

Link copied to clipboard
val id: String

Fully-qualified unique identifier of this model instance. A member follows its actual owning instance, so two instances of the same user class have distinct member IDs. declarationId retains the common source declaration for navigation and naming rules.

Link copied to clipboard
open override val issues: List<IssueReference>
Link copied to clipboard
open override val name: String?
Link copied to clipboard

Kotlin val name that holds this entity, scoped to its declaring context. Populated reflectively by WireModel.wireAll in the compiled path, or set directly via bindToSource in the source-materialized path. null until either runs.

Link copied to clipboard
open override val sources: List<URLReference>

Functions

Link copied to clipboard

Binds an authored field or constructor-owned value without replacing its source declaration provenance.

Link copied to clipboard

Registers a child entity declared inside a source-materialized parent.

Link copied to clipboard

Records source-declared uses without changing the target's declaration or owner.

Link copied to clipboard

Binds an entity to an already computed canonical MetamodelEntity.id.

Link copied to clipboard
fun MetamodelEntity.bindToSource(referenceName: String, declaringClassName: String)

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.

Link copied to clipboard

Interface-point analyses in declaration order, including analyses nested beneath ports or service groups.

Link copied to clipboard

Structural children, including explicit metamodel containment. Relation targets retain their own declaration.

Link copied to clipboard
Generated with STIG