textual-notation-of-model/packages/features/middleware/middleware_logical_architecture.sysml

2 view(s) · 109 declared member(s) Jump to source ↓

view middlewareSystemStructureViewsource ↓

ViewpointselectedSystemStructureViewpoint (SystemStructureDefinitionViewpoint)
ConcernconceptualStructureConcern
RenderasTreeDiagram
Depth1
ExposesMiddlewareSystem
Sourcetextual-notation-of-model/packages/features/middleware/middleware_logical_architecture.sysml:236
diagram-middlewareSystemStructureView.svg
«view» middlewareSystemStructureView expose MiddlewareSystem «part def» MiddlewareSystem parts signalTranslator : SignalTranslator diagnosticProxy : DiagnosticProxy lifecycleBridge : LifecycleBridge healthProxy : HealthProxy updateCoordinator : UpdateCoordinator serviceBindingManager : ServiceBindingManager ports signalAccess : SignalAccessApplicationPort diagnosticAccess : DiagnosticApplicationPort lifecycle : LifecycleApplicationPort health : HealthApplicationPort update : UpdateApplicationPort serviceBinding : ServiceBindingApplicationPort ... exhibit states lifecycleStates

Hover a model element for details open raw SVG.

view middlewareSystemFunctionMappingViewsource ↓

ViewpointselectedSystemFunctionMappingViewpoint (SystemFunctionMappingViewpoint)
View typeMVD::MatrixView
ConcernconceptualFunctionMappingConcern
ExposesfunctionalFlow::translateSignal
functionalFlow::proxyDiagnostics
functionalFlow::coordinateLifecycle
functionalFlow::forwardHealth
functionalFlow::coordinateUpdate
functionalFlow::bindService
functionalFlow::protectSafetyPath
system::signalTranslator
system::diagnosticProxy
system::lifecycleBridge
system::healthProxy
system::updateCoordinator
system::serviceBindingManager
DE4SDV_MiddlewareLogicalArchitecture::*
Sourcetextual-notation-of-model/packages/features/middleware/middleware_logical_architecture.sysml:247
diagram-matrix-middlewareSystemFunctionMappingView.svg
Middleware system-function mapping Maps system functions to conceptual system elements. Middleware system-function mapping Rows ↓: system functions (action usages) | Columns →: conceptual system elements (part usages) signalTranslator diagnosticProxy lifecycleBridge healthProxy updateCoordinator serviceBindingManager translateSignal ↗ proxyDiagnostics ↗ coordinateLifecycle ↗ forwardHealth ↗ coordinateUpdate ↗ bindService ↗ protectSafetyPath ↗

Hover a model element for details open raw SVG.

Source

1/*2 * DE4SDV middleware logical architecture model slice in the SAF Conceptual Domain.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 logical architecture; only its health/protection9 * status is represented here.10 */1112package DE4SDV_MiddlewareLogicalArchitecture {13  private import DE4SDV_MethodContext::*;14  private import DE4SDV_ProductLine::*;15  private import DE4SDV_MiddlewareOperationalContext::Features::Middleware::OperationalContext::*;16  private import DE4SDV_MiddlewareFunctionalArchitecture::Features::Middleware::FunctionalArchitecture::*;17  private import DE4SDV_MiddlewareRequirements::Features::Middleware::Requirements::*;18  private import DE4SDV_AEBSLogicalArchitecture::*;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 logical 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_MiddlewareRequirements::Features::Middleware::Requirements::reqProvideMiddlewareSignalAccess;173  dependency diagnosticProxyDerivedFromRequirement174    from system::diagnosticProxy175    to DE4SDV_MiddlewareRequirements::Features::Middleware::Requirements::reqProvideMiddlewareDiagnosticAccess;176  dependency lifecycleBridgeDerivedFromRequirement177    from system::lifecycleBridge178    to DE4SDV_MiddlewareRequirements::Features::Middleware::Requirements::reqCoordinateMiddlewareLifecycle;179  dependency healthProxyDerivedFromRequirement180    from system::healthProxy181    to DE4SDV_MiddlewareRequirements::Features::Middleware::Requirements::reqMonitorMiddlewareHealth;182  dependency updateCoordinatorDerivedFromRequirement183    from system::updateCoordinator184    to DE4SDV_MiddlewareRequirements::Features::Middleware::Requirements::reqCoordinateMiddlewareUpdates;185  dependency serviceBindingDerivedFromRequirement186    from system::serviceBindingManager187    to DE4SDV_MiddlewareRequirements::Features::Middleware::Requirements::reqProvideServiceDiscovery;188189  dependency aebsVehicleMotionDependsOnSignalTranslator190    from DE4SDV_AEBSLogicalArchitecture::system::vehicleMotionObservationIn191    to system::signalTranslator;192  dependency aebsTargetObservationDependsOnSignalTranslator193    from DE4SDV_AEBSLogicalArchitecture::system::targetObservationIn194    to system::signalTranslator;195  dependency aebsDriverOverrideDependsOnSignalTranslator196    from DE4SDV_AEBSLogicalArchitecture::system::driverOverrideObservationIn197    to system::signalTranslator;198  dependency aebsOperatingContextDependsOnLifecycleBridge199    from DE4SDV_AEBSLogicalArchitecture::system::operatingContextIn200    to system::lifecycleBridge;201  dependency aebsHealthStatusDependsOnHealthProxy202    from DE4SDV_AEBSLogicalArchitecture::system::subsystemHealthIn203    to system::healthProxy;204205  dependency systemFunctionalArchitectureBaselineTrace206    from system207    to DE4SDV_MiddlewareFunctionalArchitecture::Features::Middleware::FunctionalArchitecture::middlewareFunctionalBoundary;208209  concern conceptualStructureConcern : ConceptualStructureConcern {210    subject;211    stakeholder systemsEngineer : SystemsEngineer;212    stakeholder reviewer : OpenSourceReviewer;213  }214215  concern conceptualInternalExchangeConcern : ConceptualInternalExchangeConcern {216    doc /*217     * Known issue: no view is published for this concern yet. The current218     * conceptual architecture models boundary delegations from MiddlewareSystem219     * ports to owned responsibility ports, but no cross-component connections or220     * item flows. Native rendering of those bindings produces assignment/end221     * notation rather than a reviewable internal-exchange diagram. The boundary222     * delegations remain in the model; publish this view only after authoritative223     * cross-component interfaces, connections, and exchanged items are modeled.224     */225    subject;226    stakeholder systemsEngineer : SystemsEngineer;227    stakeholder reviewer : OpenSourceReviewer;228  }229230  concern conceptualFunctionMappingConcern : ConceptualFunctionMappingConcern {231    subject;232    stakeholder systemsEngineer : SystemsEngineer;233    stakeholder reviewer : OpenSourceReviewer;234  }235236  view middlewareSystemStructureView {237    viewpoint selectedSystemStructureViewpoint : SystemStructureDefinitionViewpoint {238      frame conceptualStructureConcern;239    }240    expose MiddlewareSystem;241    attribute depth = 1;242    attribute showAnnotationRows = false;243    attribute maxCompartmentEntries = 6;244    render asTreeDiagram;245  }246247  view middlewareSystemFunctionMappingView : MVD::MatrixView {248    viewpoint selectedSystemFunctionMappingViewpoint : SystemFunctionMappingViewpoint {249      frame conceptualFunctionMappingConcern;250    }251    view :>> rowView {252      expose functionalFlow::translateSignal;253      expose functionalFlow::proxyDiagnostics;254      expose functionalFlow::coordinateLifecycle;255      expose functionalFlow::forwardHealth;256      expose functionalFlow::coordinateUpdate;257      expose functionalFlow::bindService;258      expose functionalFlow::protectSafetyPath;259      attribute :>> representation = Rep::name;260    }261    view :>> columnView {262      expose system::signalTranslator;263      expose system::diagnosticProxy;264      expose system::lifecycleBridge;265      expose system::healthProxy;266      expose system::updateCoordinator;267      expose system::serviceBindingManager;268      attribute :>> representation = Rep::name;269    }270    view :>> cellView {271      expose DE4SDV_MiddlewareLogicalArchitecture::*;272      attribute :>> direction = SysideViews::MatrixTraceabilityDirection::row2col;273    }274  }275}276