textual-notation-of-model/packages/features/middleware/mw_conceptual_architecture.sysml
2 view(s) · 98 declared member(s) view source on GitHub
view mwSystemStructureView
| Viewpoint | selectedSystemStructureViewpoint (SystemStructureDefinitionViewpoint) |
|---|---|
| Concern | conceptualStructureConcern |
| Render | asTreeDiagram |
| Depth | 1 |
| Exposes | MiddlewareSystem |
| Source | textual-notation-of-model/packages/features/middleware/mw_conceptual_architecture.sysml:232 |
Hover a model element for details open raw SVG.
view mwSystemFunctionMappingView
| Viewpoint | selectedSystemFunctionMappingViewpoint (SystemFunctionMappingViewpoint) |
|---|---|
| View type | MVD::MatrixView |
| Concern | conceptualFunctionMappingConcern |
| Exposes | functionalFlow::translateSignalfunctionalFlow::proxyDiagnosticsfunctionalFlow::coordinateLifecyclefunctionalFlow::forwardHealthfunctionalFlow::coordinateUpdatefunctionalFlow::bindServicefunctionalFlow::protectSafetyPathsystem::signalTranslatorsystem::diagnosticProxysystem::lifecycleBridgesystem::healthProxysystem::updateCoordinatorsystem::serviceBindingManagerDE4SDV_MWConceptualArchitecture::* |
| Source | textual-notation-of-model/packages/features/middleware/mw_conceptual_architecture.sysml:243 |
Hover a model element for details open raw SVG.
Source
1/*2 * DE4SDV middleware system architecture model slice.3 *4 * INC-MW-007 allocates the technology-neutral middleware functions to logical5 * responsibilities and defines their internal exchanges. It does not select6 * ROS 2, DDS, AAOS SDV, S-CORE, AUTOSAR, processes, ECUs, networks, or a7 * physical deployment. The emergency intervention command path remains8 * outside this middleware system architecture; only its health/protection9 * status is represented here.10 */1112package DE4SDV_MWConceptualArchitecture {13 private import DE4SDV_MethodContext::*;14 private import DE4SDV_ProductLine::*;15 private import DE4SDV_MWOperationalContext::Features::Middleware::OperationalContext::*;16 private import DE4SDV_MWFunctionalArchitecture::Features::Middleware::FunctionalArchitecture::*;17 private import DE4SDV_MWRequirements::Features::Middleware::Requirements::*;18 private import DE4SDV_AEBSConceptualArchitecture::*;19 private import DE4SDV_Stakeholders::*;20 private import SAF_Viewpoints::*;21 private import SysideViews::**;22 private import Views::*;2324 part incMW007 : FeatureIncrement {25 doc /* INC-MW-007: middleware integration system architecture. */26 }2728 part systemSignalDefinitionGap : DeferredProductLineScope {29 doc /* GAP-MW-016: Conceptual signal contracts remain nominal until signal identity, units, freshness, and conversion rules are baselined. */30 }3132 part systemServiceContractGap : DeferredProductLineScope {33 doc /* GAP-MW-017: System service discovery, authentication, and binding contracts remain technology-neutral and incomplete until physical interface selection. */34 }3536 part systemSafetyOwnershipGap : DeferredProductLineScope {37 doc /* GAP-MW-018: Ownership and failure-response semantics for safety-path protection remain open pending safety analysis and physical realization. */38 }3940 port def SignalAccessApplicationPort {41 in item signalRequest : VehicleSignalAccessRequest;42 out item signalResponse : VehicleSignalAccessResponse;43 }4445 port def DiagnosticApplicationPort {46 in item diagnosticRequest : DiagnosticAccessRequest;47 out item diagnosticResponse : DiagnosticAccessResponse;48 }4950 port def LifecycleApplicationPort {51 in item lifecycleRequest : LifecycleCoordinationRequest;52 out item lifecycleStatus : LifecycleCoordinationStatus;53 }5455 port def HealthApplicationPort {56 out item forwardedHealth : HealthForwardingStatus;57 }5859 port def UpdateApplicationPort {60 in item updateNotification : UpdateNotification;61 out item updateStatus : UpdateCoordinationStatus;62 }6364 port def ServiceBindingApplicationPort {65 in item bindingRequest : ServiceBindingRequest;66 out item bindingStatus : ServiceBindingStatus;67 }6869 port def SafetyPathObservationPort {70 out item safetyPathStatus : SafetyPathProtectionStatus;71 }7273 part def SignalTranslator {74 doc /* Conceptual responsibility for translating and exposing vehicle-signal access without selecting a signal schema or transport. */75 port application : SignalAccessApplicationPort;76 }7778 part def DiagnosticProxy {79 doc /* Conceptual responsibility for proxying diagnostic requests and responses across the middleware boundary. */80 port application : DiagnosticApplicationPort;81 }8283 part def LifecycleBridge {84 doc /* Conceptual responsibility for coordinating application-visible lifecycle state with middleware lifecycle state. */85 port application : LifecycleApplicationPort;86 }8788 part def HealthProxy {89 doc /* Conceptual responsibility for forwarding service health and availability status. */90 port application : HealthApplicationPort;91 port safetyObservation : SafetyPathObservationPort;92 exhibit state healthStates {93 state unavailable;94 state degraded;95 state available;96 }97 }9899 part def UpdateCoordinator {100 doc /* Conceptual responsibility for coordinating integration updates without selecting an update mechanism. */101 port application : UpdateApplicationPort;102 }103104 part def ServiceBindingManager {105 doc /* Conceptual responsibility for service discovery, authentication boundary handling, and service binding. */106 port application : ServiceBindingApplicationPort;107 }108109 part def MiddlewareSystem {110 doc /* Technology-neutral logical composition of the middleware integration responsibilities. */111 port signalAccess : SignalAccessApplicationPort;112 port diagnosticAccess : DiagnosticApplicationPort;113 port lifecycle : LifecycleApplicationPort;114 port health : HealthApplicationPort;115 port update : UpdateApplicationPort;116 port serviceBinding : ServiceBindingApplicationPort;117 port safetyPathObservation : SafetyPathObservationPort;118119 part signalTranslator : SignalTranslator;120 part diagnosticProxy : DiagnosticProxy;121 part lifecycleBridge : LifecycleBridge;122 part healthProxy : HealthProxy;123 part updateCoordinator : UpdateCoordinator;124 part serviceBindingManager : ServiceBindingManager;125126 exhibit state lifecycleStates {127 state uninitialized;128 state initializing;129 state operational;130 state degraded;131 state shuttingDown;132 }133134 bind signalAccess = signalTranslator.application;135 bind diagnosticAccess = diagnosticProxy.application;136 bind lifecycle = lifecycleBridge.application;137 bind health = healthProxy.application;138 bind update = updateCoordinator.application;139 bind serviceBinding = serviceBindingManager.application;140 bind safetyPathObservation = healthProxy.safetyObservation;141 }142143 action functionalFlow : MiddlewareIntegrationFunctionalFlow;144 part system : MiddlewareSystem;145146 allocation def FunctionalToSystemResponsibility;147148 allocation signalTranslationAllocation : FunctionalToSystemResponsibility149 allocate functionalFlow::translateSignal150 to system.signalTranslator;151 allocation diagnosticProxyAllocation : FunctionalToSystemResponsibility152 allocate functionalFlow::proxyDiagnostics153 to system.diagnosticProxy;154 allocation lifecycleBridgeAllocation : FunctionalToSystemResponsibility155 allocate functionalFlow::coordinateLifecycle156 to system.lifecycleBridge;157 allocation healthProxyAllocation : FunctionalToSystemResponsibility158 allocate functionalFlow::forwardHealth159 to system.healthProxy;160 allocation updateCoordinatorAllocation : FunctionalToSystemResponsibility161 allocate functionalFlow::coordinateUpdate162 to system.updateCoordinator;163 allocation serviceBindingAllocation : FunctionalToSystemResponsibility164 allocate functionalFlow::bindService165 to system.serviceBindingManager;166 allocation safetyPathObservationAllocation : FunctionalToSystemResponsibility167 allocate functionalFlow::protectSafetyPath168 to system.healthProxy;169170 dependency signalTranslatorDerivedFromRequirement171 from system::signalTranslator172 to DE4SDV_MWRequirements::Features::Middleware::Requirements::reqProvideMiddlewareSignalAccess;173 dependency diagnosticProxyDerivedFromRequirement174 from system::diagnosticProxy175 to DE4SDV_MWRequirements::Features::Middleware::Requirements::reqProvideMiddlewareDiagnosticAccess;176 dependency lifecycleBridgeDerivedFromRequirement177 from system::lifecycleBridge178 to DE4SDV_MWRequirements::Features::Middleware::Requirements::reqCoordinateMiddlewareLifecycle;179 dependency healthProxyDerivedFromRequirement180 from system::healthProxy181 to DE4SDV_MWRequirements::Features::Middleware::Requirements::reqMonitorMiddlewareHealth;182 dependency updateCoordinatorDerivedFromRequirement183 from system::updateCoordinator184 to DE4SDV_MWRequirements::Features::Middleware::Requirements::reqCoordinateMiddlewareUpdates;185 dependency serviceBindingDerivedFromRequirement186 from system::serviceBindingManager187 to DE4SDV_MWRequirements::Features::Middleware::Requirements::reqProvideServiceDiscovery;188189 dependency aebsVehicleMotionDependsOnSignalTranslator190 from DE4SDV_AEBSConceptualArchitecture::system::vehicleMotionObservationIn191 to system::signalTranslator;192 dependency aebsTargetObservationDependsOnSignalTranslator193 from DE4SDV_AEBSConceptualArchitecture::system::targetObservationIn194 to system::signalTranslator;195 dependency aebsDriverOverrideDependsOnSignalTranslator196 from DE4SDV_AEBSConceptualArchitecture::system::driverOverrideObservationIn197 to system::signalTranslator;198 dependency aebsOperatingContextDependsOnLifecycleBridge199 from DE4SDV_AEBSConceptualArchitecture::system::operatingContextIn200 to system::lifecycleBridge;201 dependency aebsHealthStatusDependsOnHealthProxy202 from DE4SDV_AEBSConceptualArchitecture::system::subsystemHealthIn203 to system::healthProxy;204205 concern conceptualStructureConcern : ConceptualStructureConcern {206 subject;207 stakeholder systemsEngineer : SystemsEngineer;208 stakeholder reviewer : OpenSourceReviewer;209 }210211 concern conceptualInternalExchangeConcern : ConceptualInternalExchangeConcern {212 doc /*213 * Known issue: no view is published for this concern yet. The current214 * conceptual architecture models boundary delegations from MiddlewareSystem215 * ports to owned responsibility ports, but no cross-component connections or216 * item flows. Native rendering of those bindings produces assignment/end217 * notation rather than a reviewable internal-exchange diagram. The boundary218 * delegations remain in the model; publish this view only after authoritative219 * cross-component interfaces, connections, and exchanged items are modeled.220 */221 subject;222 stakeholder systemsEngineer : SystemsEngineer;223 stakeholder reviewer : OpenSourceReviewer;224 }225226 concern conceptualFunctionMappingConcern : ConceptualFunctionMappingConcern {227 subject;228 stakeholder systemsEngineer : SystemsEngineer;229 stakeholder reviewer : OpenSourceReviewer;230 }231232 view mwSystemStructureView {233 viewpoint selectedSystemStructureViewpoint : SystemStructureDefinitionViewpoint {234 frame conceptualStructureConcern;235 }236 expose MiddlewareSystem;237 attribute depth = 1;238 attribute showAnnotationRows = false;239 attribute maxCompartmentEntries = 6;240 render asTreeDiagram;241 }242243 view mwSystemFunctionMappingView : MVD::MatrixView {244 viewpoint selectedSystemFunctionMappingViewpoint : SystemFunctionMappingViewpoint {245 frame conceptualFunctionMappingConcern;246 }247 view :>> rowView {248 expose functionalFlow::translateSignal;249 expose functionalFlow::proxyDiagnostics;250 expose functionalFlow::coordinateLifecycle;251 expose functionalFlow::forwardHealth;252 expose functionalFlow::coordinateUpdate;253 expose functionalFlow::bindService;254 expose functionalFlow::protectSafetyPath;255 attribute :>> representation = Rep::name;256 }257 view :>> columnView {258 expose system::signalTranslator;259 expose system::diagnosticProxy;260 expose system::lifecycleBridge;261 expose system::healthProxy;262 expose system::updateCoordinator;263 expose system::serviceBindingManager;264 attribute :>> representation = Rep::name;265 }266 view :>> cellView {267 expose DE4SDV_MWConceptualArchitecture::*;268 attribute :>> direction = SysideViews::MatrixTraceabilityDirection::row2col;269 }270 }271}272