textual-notation-of-model/packages/methods/de4sdv/de4sdv_method_process.sysml
1 view(s) · 74 declared member(s) view source on GitHub
view methodProcessView
| Viewpoint | selectedMethodProcessAssuranceViewpoint (ArgumentationAssuranceViewpoint) |
|---|---|
| Concern | methodProcessAssuranceConcern |
| Render | asTreeDiagram |
| Exposes | DE4SDV_MethodProcess::* |
| Source | textual-notation-of-model/packages/methods/de4sdv/de4sdv_method_process.sysml:232 |
No committed diagram. Regenerate via the Privileged Syside Validation workflow (expected artifact
diagrams/diagram-methodProcessView.svg).Source
1/*2 * DE4SDV method process — iteration sequence of the DE4SDV increment workflow.3 *4 * This package models the 13-phase increment workflow from5 * methodologies/sysmod-sysmlv2/increment-workflow.md as a SysML v2 model.6 * The phase sequence and feedback loops are documented in7 * methodologies/sysmod-sysmlv2/process-mapping.md (PR #74) as a mermaid8 * diagram. This SysML model provides the structured data: phase enumeration,9 * SAF domain mapping, required trace chain, recurring logical-to-software10 * signal-mapping control, and increment size guidance.11 *12 * Source: methodologies/sysmod-sysmlv2/increment-workflow.md13 * methodologies/sysmod-sysmlv2/process-mapping.md14 */1516package DE4SDV_MethodProcess {17 private import Views::*;18 private import SAF_Viewpoints::*;19 private import DE4SDV_Stakeholders::*;2021 /* ─── Method phases ─── */2223 enum def MethodPhase {24 doc /* The 13 phases of the DE4SDV increment workflow. */2526 phase0_incrementFraming {27 doc /* What are we changing or learning? Common domain. */28 }29 phase1_concernFraming {30 doc /* Who cares and why? Common/Operational domain. */31 }32 phase2_operationalContext {33 doc /* What happens in the world? Operational domain. */34 }35 phase3_capabilityClassification {36 doc /* Feature, common capability, constraint, or evidence? DE4SDV ontology. */37 }38 phase4_needs {39 doc /* What stakeholder needs exist? Operational domain. */40 }41 phase5_requirements {42 doc /* What shall the system do? Functional domain. */43 }44 phase6_functionalArchitecture {45 doc /* What functions, flows, states, interfaces? Functional domain. */46 }47 phase7_logicalArchitecture {48 doc /* What system elements realize functions? Logical domain. */49 }50 phase8_physicalRealization {51 doc /* What software/hardware realizes the logical design, and which applicable logical or semantic signals cross into typed software contracts? Physical domain. */52 }53 phase9_variabilityConfiguration {54 doc /* How does this vary across member products? DE4SDV product-line layer. */55 }56 phase10_vvEvidence {57 doc /* How will satisfaction be checked? Common/Functional domain. */58 }59 phase11_publication {60 doc /* What is reviewable now? DE4SDV workflow. */61 }62 phase12_baselineNextSlice {63 doc /* What is accepted, deferred, or invalidated? Common domain. */64 }65 }6667 /* ─── SAF domain mapping ─── */6869 part def SAFDomainMapping {70 doc /* Maps each method phase to its SAF domain. */71 attribute phase0Domain : ScalarValues::String = "Common";72 attribute phase1Domain : ScalarValues::String = "Common/Operational";73 attribute phase2Domain : ScalarValues::String = "Operational";74 attribute phase3Domain : ScalarValues::String = "DE4SDV ontology";75 attribute phase4Domain : ScalarValues::String = "Operational";76 attribute phase5Domain : ScalarValues::String = "Functional";77 attribute phase6Domain : ScalarValues::String = "Functional";78 attribute phase7Domain : ScalarValues::String = "Logical";79 attribute phase8Domain : ScalarValues::String = "Physical";80 attribute phase9Domain : ScalarValues::String = "DE4SDV product-line";81 attribute phase10Domain : ScalarValues::String = "Common/Functional";82 attribute phase11Domain : ScalarValues::String = "DE4SDV workflow";83 attribute phase12Domain : ScalarValues::String = "Common";84 }8586 /* ─── Required trace chain ─── */8788 item def TraceLink {89 doc /* A traceability link in the DE4SDV required trace chain. */90 attribute fromElement : ScalarValues::String;91 attribute toElement : ScalarValues::String;92 attribute status : ScalarValues::String = "draft";93 }9495 part def RequiredTraceChain {96 doc /*97 * Every substantial increment should establish this chain, even if98 * some links are draft:99 *100 * Stakeholder concern -> Need -> Requirement -> Feature or common101 * capability -> Architecture element -> Logical-to-software signal102 * mapping when a boundary is crossed -> Physical/software realization ->103 * Verification case -> Acceptance criterion -> Evidence artifact ->104 * Baseline decision.105 *106 * If a link is intentionally missing, record the gap.107 */108 part concernToNeed : TraceLink {109 attribute fromElement redefines TraceLink::fromElement = "StakeholderConcern";110 attribute toElement redefines TraceLink::toElement = "Need";111 }112 part needToRequirement : TraceLink {113 attribute fromElement redefines TraceLink::fromElement = "Need";114 attribute toElement redefines TraceLink::toElement = "Requirement";115 }116 part requirementToFeature : TraceLink {117 attribute fromElement redefines TraceLink::fromElement = "Requirement";118 attribute toElement redefines TraceLink::toElement = "FeatureOrCommonCapability";119 }120 part featureToArchitecture : TraceLink {121 attribute fromElement redefines TraceLink::fromElement = "FeatureOrCommonCapability";122 attribute toElement redefines TraceLink::toElement = "ArchitectureElement";123 }124 part architectureToSignalMapping : TraceLink {125 attribute fromElement redefines TraceLink::fromElement = "ArchitectureElementOrFunctionInterface";126 attribute toElement redefines TraceLink::toElement = "LogicalToSoftwareSignalMapping";127 }128 part signalMappingToPhysicalRealization : TraceLink {129 attribute fromElement redefines TraceLink::fromElement = "LogicalToSoftwareSignalMapping";130 attribute toElement redefines TraceLink::toElement = "PhysicalSoftwareRealization";131 }132 part architectureToVerification : TraceLink {133 attribute fromElement redefines TraceLink::fromElement = "PhysicalSoftwareRealization";134 attribute toElement redefines TraceLink::toElement = "VerificationCase";135 }136 part verificationToAcceptance : TraceLink {137 attribute fromElement redefines TraceLink::fromElement = "VerificationCase";138 attribute toElement redefines TraceLink::toElement = "AcceptanceCriterion";139 }140 part acceptanceToEvidence : TraceLink {141 attribute fromElement redefines TraceLink::fromElement = "AcceptanceCriterion";142 attribute toElement redefines TraceLink::toElement = "EvidenceArtifact";143 }144 part evidenceToBaseline : TraceLink {145 attribute fromElement redefines TraceLink::fromElement = "EvidenceArtifact";146 attribute toElement redefines TraceLink::toElement = "BaselineDecision";147 }148 }149150 /* ─── Recurring system-to-software signal mapping control ─── */151152 enum def SignalMappingDisposition {153 mapped {154 doc /* The applicable logical/semantic signal has an accepted software-contract mapping for the declared scope. */155 }156 candidate {157 doc /* A reference or proposed contract mapping exists, but the selected platform realization remains open. */158 }159 deferred {160 doc /* The mapping is known to be needed but is intentionally postponed with an owned gap and next action. */161 }162 notApplicable {163 doc /* The signal does not cross the applicable software/physical boundary; the reason is recorded externally. */164 }165 }166167 item def LogicalToSoftwareSignalMappingRecord {168 doc /*169 * Reusable control-record shape for an interface-bearing logical or170 * semantic information item crossing into a software, service, topic, API,171 * or physical boundary. Exact .proto/.vsidl fields and runtime observations172 * remain in their authoritative external artifacts; this record preserves173 * the stable trace and review obligations.174 */175 attribute mappingId : ScalarValues::String;176 attribute semanticSource : ScalarValues::String;177 attribute softwareContractArtifact : ScalarValues::String;178 attribute softwareContractMessage : ScalarValues::String;179 attribute softwareContractField : ScalarValues::String;180 attribute adapterEndpoints : ScalarValues::String;181 attribute direction : ScalarValues::String;182 attribute dataTypeAndUnit : ScalarValues::String;183 attribute timingQualityAndState : ScalarValues::String;184 attribute transformationRule : ScalarValues::String;185 attribute disposition : SignalMappingDisposition;186 attribute owner : ScalarValues::String;187 attribute nextAction : ScalarValues::String;188 attribute evidenceOrGap : ScalarValues::String;189 }190191 allocation def SystemToSoftwareSignalMappingCandidate {192 doc /*193 * Reusable non-claiming allocation relationship from a logical/function194 * signal responsibility to a concrete software/adapter signal endpoint.195 * A specialization must still provide the typed payload/port, contract196 * mapping record, transformation, status, owner, next action, and evidence197 * or gap. The allocation alone never proves field identity or runtime198 * interoperability.199 */200 }201202 /* ─── Increment size guidance ─── */203204 enum def IncrementSize {205 XS {206 doc /* One correction or trace link. */207 }208 S {209 doc /* One feature/scenario/context slice. */210 }211 M {212 doc /* Cross-viewpoint increment. */213 }214 L {215 doc /* End-to-end feature baseline. */216 }217 }218219 /* ─── Assurance view for the method process itself ─── */220221 concern methodProcessAssuranceConcern : ArgumentationAssuranceConcern {222 doc /*223 * Reviewers need the DE4SDV method process to be visible: phases,224 * SAF domain mapping, required trace chain, recurring logical-to-software225 * signal-mapping control, and increment size guidance.226 */227 subject;228 stakeholder systemsEngineer : SystemsEngineer;229 stakeholder reviewer : OpenSourceReviewer;230 }231232 view methodProcessView {233 viewpoint selectedMethodProcessAssuranceViewpoint : ArgumentationAssuranceViewpoint {234 frame methodProcessAssuranceConcern;235 }236237 expose DE4SDV_MethodProcess::*;238 render asTreeDiagram;239 }240}241