textual-notation-of-model/packages/methods/de4sdv/de4sdv_method_process.sysml

1 view(s) · 74 declared member(s) view source on GitHub

view methodProcessView

ViewpointselectedMethodProcessAssuranceViewpoint (ArgumentationAssuranceViewpoint)
ConcernmethodProcessAssuranceConcern
RenderasTreeDiagram
ExposesDE4SDV_MethodProcess::*
Sourcetextual-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