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

2 view(s) · 143 declared member(s) view source on GitHub

view mwFunctionalBehaviorView

ViewpointselectedFunctionalBehaviorViewpoint (SystemFunctionalBreakdownStructureViewpoint)
ConcernfunctionalBehaviorConcern
RenderasTreeDiagram
ExposesMiddlewareIntegrationFunctionalFlow
MiddlewareIntegrationFunctionalFlow::translateSignal
MiddlewareIntegrationFunctionalFlow::proxyDiagnostics
MiddlewareIntegrationFunctionalFlow::coordinateLifecycle
MiddlewareIntegrationFunctionalFlow::forwardHealth
MiddlewareIntegrationFunctionalFlow::coordinateUpdate
MiddlewareIntegrationFunctionalFlow::bindService
MiddlewareIntegrationFunctionalFlow::protectSafetyPath
Sourcetextual-notation-of-model/packages/features/middleware/mw_functional_architecture.sysml:335
diagram-mwFunctionalBehaviorView.svg
«view» mwFunctionalBehaviorView expose MiddlewareIntegrationFunctionalFlow expose MiddlewareIntegrationFunctionalFlow::translateSignal expose MiddlewareIntegrationFunctionalFlow::proxyDiagnostics expose MiddlewareIntegrationFunctionalFlow::coordinateLifecycle expose MiddlewareIntegrationFunctionalFlow::forwardHealth expose MiddlewareIntegrationFunctionalFlow::coordinateUpdate expose MiddlewareIntegrationFunctionalFlow::bindService expose MiddlewareIntegrationFunctionalFlow::protectSafetyPath «action def» MiddlewareIntegrationFunctionalFlow «action» translateSignal : TranslateVehicleSignal «action» proxyDiagnostics : ProxyDiagnosticAccess «action» coordinateLifecycle : CoordinateLifecycle «action» forwardHealth : ForwardServiceHealth «action» coordinateUpdate : CoordinateIntegrationUpdate «action» bindService : DiscoverAndBindService «action» protectSafetyPath : ProtectEmergencyInterventionPath

Hover a model element for details open raw SVG.

view mwFunctionalInterfaceView

ViewpointselectedFunctionalInterfaceViewpoint (SystemInterfaceDefinitionViewpoint)
ConcernfunctionalInterfaceConcern
RenderasTreeDiagram
ExposesFunctionalArchitecture::VehicleSignalAccessInbound
FunctionalArchitecture::VehicleSignalAccessOutbound
FunctionalArchitecture::DiagnosticAccessInbound
FunctionalArchitecture::DiagnosticAccessOutbound
FunctionalArchitecture::LifecycleCoordinationInbound
FunctionalArchitecture::LifecycleCoordinationOutbound
FunctionalArchitecture::HealthStatusInbound
FunctionalArchitecture::HealthStatusOutbound
FunctionalArchitecture::UpdateCoordinationInbound
FunctionalArchitecture::UpdateCoordinationOutbound
FunctionalArchitecture::ServiceBindingInbound
FunctionalArchitecture::ServiceBindingOutbound
FunctionalArchitecture::SafetyPathStatusOutbound
Sourcetextual-notation-of-model/packages/features/middleware/mw_functional_architecture.sysml:351
diagram-mwFunctionalInterfaceView.svg
«view» mwFunctionalInterfaceView expose FunctionalArchitecture::VehicleSignalAccessInbound expose FunctionalArchitecture::VehicleSignalAccessOutbound expose FunctionalArchitecture::DiagnosticAccessInbound expose FunctionalArchitecture::DiagnosticAccessOutbound expose FunctionalArchitecture::LifecycleCoordinationInbound expose FunctionalArchitecture::LifecycleCoordinationOutbound expose FunctionalArchitecture::HealthStatusInbound expose FunctionalArchitecture::HealthStatusOutbound expose FunctionalArchitecture::UpdateCoordinationInbound expose FunctionalArchitecture::UpdateCoordinationOutbound expose FunctionalArchitecture::ServiceBindingInbound expose FunctionalArchitecture::ServiceBindingOutbound expose FunctionalArchitecture::SafetyPathStatusOutbound «port def» VehicleSignalAccessInbound items signalRequest : VehicleSignalAccessRequest «port def» VehicleSignalAccessOutbound items signalResponse : VehicleSignalAccessResponse «port def» DiagnosticAccessInbound items diagnosticRequest : DiagnosticAccessRequest «port def» DiagnosticAccessOutbound items diagnosticResponse : DiagnosticAccessResponse «port def» LifecycleCoordinationInbound items lifecycleRequest : LifecycleCoordinationRequest «port def» LifecycleCoordinationOutbound items lifecycleStatus : LifecycleCoordinationStatus «port def» HealthStatusInbound items healthStatus : HealthStatus «port def» HealthStatusOutbound items forwardedHealth : HealthForwardingStatus «port def» UpdateCoordinationInbound items updateNotification : UpdateNotification «port def» UpdateCoordinationOutbound items updateStatus : UpdateCoordinationStatus «port def» ServiceBindingInbound items bindingRequest : ServiceBindingRequest «port def» ServiceBindingOutbound items bindingStatus : ServiceBindingStatus «port def» SafetyPathStatusOutbound items safetyPathStatus : SafetyPathProtectionStatus

Hover a model element for details open raw SVG.

Source

1/*2 * DE4SDV middleware functional architecture model slice.3 *4 * INC-MW-006 defines middleware integration functions, information exchanges,5 * and a functional boundary. It does not allocate functions to logical or6 * physical components, select a middleware implementation, or decide the7 * final safety-path architecture.8 */910package DE4SDV_MWFunctionalArchitecture {11  package Features {12    package Middleware {13      package FunctionalArchitecture {14        private import Views::*;15        private import StandardViewDefinitions::*;16        private import DE4SDV_Stakeholders::*;17        private import DE4SDV_MethodContext::*;18        private import DE4SDV_ProductLine::*;19        private import DE4SDV_MWOperationalContext::Features::Middleware::OperationalContext::*;20        private import DE4SDV_MWRequirements::Features::Middleware::Requirements::*;21        private import SAF_Viewpoints::*;2223        part incMW006 : FeatureIncrement {24          doc /* INC-MW-006: middleware integration functional architecture. */25        }2627        part functionalSignalDefinitionGap : DeferredProductLineScope {28          doc /* GAP-MW-013: Functional signal names, units, freshness criteria, and conversion rules are not yet enumerated. */29        }3031        part lifecycleVocabularyGap : DeferredProductLineScope {32          doc /* GAP-MW-014: Lifecycle state vocabulary and transition timing are not yet baselined. */33        }3435        part safetyPathFunctionalOwnershipGap : DeferredProductLineScope {36          doc /* GAP-MW-015: Functional ownership of safety-path protection remains unresolved until system architecture and safety analysis. */37        }3839        item def VehicleSignalAccessRequest {40          doc /* Functional request for a vehicle signal required by an ADAS application use case. */41        }4243        item def VehicleSignalAccessResponse {44          doc /* Functional response containing a vehicle signal value and its health/freshness status. */45        }4647        item def DiagnosticAccessRequest {48          doc /* Functional request for middleware or vehicle diagnostic status. */49        }5051        item def DiagnosticAccessResponse {52          doc /* Functional diagnostic status returned to the ADAS application. */53        }5455        item def LifecycleCoordinationRequest {56          doc /* Functional lifecycle request exchanged between the ADAS application and middleware boundary. */57        }5859        item def LifecycleCoordinationStatus {60          doc /* Functional lifecycle state made observable at the integration boundary. */61        }6263        item def HealthForwardingStatus {64          doc /* Functional health and availability status forwarded to the ADAS application. */65        }6667        item def UpdateCoordinationRequest {68          doc /* Functional request or notification for middleware integration update coordination. */69        }7071        item def UpdateCoordinationStatus {72          doc /* Functional status indicating whether an update preserves required integration interfaces. */73        }7475        item def ServiceBindingRequest {76          doc /* Functional request to discover and bind a required middleware service. */77        }7879        item def ServiceBindingStatus {80          doc /* Functional result of service discovery, authentication, and binding. */81        }8283        item def SafetyPathProtectionStatus {84          doc /* Functional status indicating whether non-safety middleware failure is contained at the intervention boundary. */85        }8687        action def TranslateVehicleSignal {88          in signalRequest : VehicleSignalAccessRequest;89          out signalResponse : VehicleSignalAccessResponse;90        }9192        action def ProxyDiagnosticAccess {93          in diagnosticRequest : DiagnosticAccessRequest;94          out diagnosticResponse : DiagnosticAccessResponse;95        }9697        action def CoordinateLifecycle {98          in lifecycleRequest : LifecycleCoordinationRequest;99          out lifecycleStatus : LifecycleCoordinationStatus;100101          exhibit state lifecycleStates {102            state uninitialized;103            state initializing;104            state operational;105            state degraded;106            state shuttingDown;107            transition first uninitialized then initializing;108            transition initializing then operational;109            transition operational then degraded;110            transition degraded then operational;111            transition operational then shuttingDown;112            transition degraded then shuttingDown;113          }114        }115116        action def ForwardServiceHealth {117          in healthStatus : HealthStatus;118          out forwardedHealth : HealthForwardingStatus;119120          exhibit state healthStates {121            state unavailable;122            state degraded;123            state available;124            transition first unavailable then degraded;125            transition degraded then available;126            transition available then degraded;127            transition degraded then unavailable;128          }129        }130131        action def CoordinateIntegrationUpdate {132          in updateNotification : UpdateNotification;133          out updateStatus : UpdateCoordinationStatus;134        }135136        action def DiscoverAndBindService {137          in bindingRequest : ServiceBindingRequest;138          out bindingStatus : ServiceBindingStatus;139140          exhibit state connectionStates {141            state undiscovered;142            state discovered;143            state authenticating;144            state bound;145            state failed;146            transition first undiscovered then discovered;147            transition discovered then authenticating;148            transition authenticating then bound;149            transition discovered then failed;150            transition authenticating then failed;151            transition bound then failed;152            transition failed then discovered;153          }154        }155156        action def ProtectEmergencyInterventionPath {157          in middlewareHealth : HealthForwardingStatus;158          in lifecycleStatus : LifecycleCoordinationStatus;159          out safetyPathStatus : SafetyPathProtectionStatus;160        }161162        action def MiddlewareIntegrationFunctionalFlow {163          in item signalRequest : VehicleSignalAccessRequest;164          in item diagnosticRequest : DiagnosticAccessRequest;165          in item lifecycleRequest : LifecycleCoordinationRequest;166          in item healthStatus : HealthStatus;167          in item updateNotification : UpdateNotification;168          in item bindingRequest : ServiceBindingRequest;169          out item signalResponse : VehicleSignalAccessResponse;170          out item diagnosticResponse : DiagnosticAccessResponse;171          out item lifecycleStatus : LifecycleCoordinationStatus;172          out item forwardedHealth : HealthForwardingStatus;173          out item updateStatus : UpdateCoordinationStatus;174          out item bindingStatus : ServiceBindingStatus;175          out item safetyPathStatus : SafetyPathProtectionStatus;176177          action translateSignal : TranslateVehicleSignal {178            in signalRequest = MiddlewareIntegrationFunctionalFlow::signalRequest;179            out signalResponse = MiddlewareIntegrationFunctionalFlow::signalResponse;180          }181          action proxyDiagnostics : ProxyDiagnosticAccess {182            in diagnosticRequest = MiddlewareIntegrationFunctionalFlow::diagnosticRequest;183            out diagnosticResponse = MiddlewareIntegrationFunctionalFlow::diagnosticResponse;184          }185          action coordinateLifecycle : CoordinateLifecycle {186            in lifecycleRequest = MiddlewareIntegrationFunctionalFlow::lifecycleRequest;187            out lifecycleStatus = MiddlewareIntegrationFunctionalFlow::lifecycleStatus;188          }189          action forwardHealth : ForwardServiceHealth {190            in healthStatus = MiddlewareIntegrationFunctionalFlow::healthStatus;191            out forwardedHealth = MiddlewareIntegrationFunctionalFlow::forwardedHealth;192          }193          action coordinateUpdate : CoordinateIntegrationUpdate {194            in updateNotification = MiddlewareIntegrationFunctionalFlow::updateNotification;195            out updateStatus = MiddlewareIntegrationFunctionalFlow::updateStatus;196          }197          action bindService : DiscoverAndBindService {198            in bindingRequest = MiddlewareIntegrationFunctionalFlow::bindingRequest;199            out bindingStatus = MiddlewareIntegrationFunctionalFlow::bindingStatus;200          }201          action protectSafetyPath : ProtectEmergencyInterventionPath {202            in middlewareHealth = forwardHealth.forwardedHealth;203            in lifecycleStatus = coordinateLifecycle.lifecycleStatus;204            out safetyPathStatus = MiddlewareIntegrationFunctionalFlow::safetyPathStatus;205          }206207          first coordinateLifecycle then protectSafetyPath;208          first forwardHealth then protectSafetyPath;209        }210211        action middlewareIntegrationFunctionalFlow : MiddlewareIntegrationFunctionalFlow;212213        port def VehicleSignalAccessInbound {214          in item signalRequest : VehicleSignalAccessRequest;215        }216        port def VehicleSignalAccessOutbound {217          out item signalResponse : VehicleSignalAccessResponse;218        }219        port def DiagnosticAccessInbound {220          in item diagnosticRequest : DiagnosticAccessRequest;221        }222        port def DiagnosticAccessOutbound {223          out item diagnosticResponse : DiagnosticAccessResponse;224        }225        port def LifecycleCoordinationInbound {226          in item lifecycleRequest : LifecycleCoordinationRequest;227        }228        port def LifecycleCoordinationOutbound {229          out item lifecycleStatus : LifecycleCoordinationStatus;230        }231        port def HealthStatusInbound {232          in item healthStatus : HealthStatus;233        }234        port def HealthStatusOutbound {235          out item forwardedHealth : HealthForwardingStatus;236        }237        port def UpdateCoordinationInbound {238          in item updateNotification : UpdateNotification;239        }240        port def UpdateCoordinationOutbound {241          out item updateStatus : UpdateCoordinationStatus;242        }243        port def ServiceBindingInbound {244          in item bindingRequest : ServiceBindingRequest;245        }246        port def ServiceBindingOutbound {247          out item bindingStatus : ServiceBindingStatus;248        }249        port def SafetyPathStatusOutbound {250          out item safetyPathStatus : SafetyPathProtectionStatus;251        }252253        part def MiddlewareFunctionalBoundary {254          port signalAccessIn : VehicleSignalAccessInbound;255          port signalAccessOut : VehicleSignalAccessOutbound;256          port diagnosticAccessIn : DiagnosticAccessInbound;257          port diagnosticAccessOut : DiagnosticAccessOutbound;258          port lifecycleIn : LifecycleCoordinationInbound;259          port lifecycleOut : LifecycleCoordinationOutbound;260          port healthIn : HealthStatusInbound;261          port healthOut : HealthStatusOutbound;262          port updateIn : UpdateCoordinationInbound;263          port updateOut : UpdateCoordinationOutbound;264          port serviceBindingIn : ServiceBindingInbound;265          port serviceBindingOut : ServiceBindingOutbound;266          port safetyPathOut : SafetyPathStatusOutbound;267268          perform middlewareIntegrationFunctionalFlow : MiddlewareIntegrationFunctionalFlow {269            in item signalRequest = signalAccessIn.signalRequest;270            in item diagnosticRequest = diagnosticAccessIn.diagnosticRequest;271            in item lifecycleRequest = lifecycleIn.lifecycleRequest;272            in item healthStatus = healthIn.healthStatus;273            in item updateNotification = updateIn.updateNotification;274            in item bindingRequest = serviceBindingIn.bindingRequest;275            out item signalResponse = signalAccessOut.signalResponse;276            out item diagnosticResponse = diagnosticAccessOut.diagnosticResponse;277            out item lifecycleStatus = lifecycleOut.lifecycleStatus;278            out item forwardedHealth = healthOut.forwardedHealth;279            out item updateStatus = updateOut.updateStatus;280            out item bindingStatus = serviceBindingOut.bindingStatus;281            out item safetyPathStatus = safetyPathOut.safetyPathStatus;282          }283        }284285        part middlewareFunctionalBoundary : MiddlewareFunctionalBoundary;286287        dependency functionalSignalAccessDerivedFromRequirement288          from TranslateVehicleSignal289          to DE4SDV_MWRequirements::Features::Middleware::Requirements::reqProvideMiddlewareSignalAccess;290        dependency functionalDiagnosticAccessDerivedFromRequirement291          from ProxyDiagnosticAccess292          to DE4SDV_MWRequirements::Features::Middleware::Requirements::reqProvideMiddlewareDiagnosticAccess;293        dependency functionalLifecycleDerivedFromRequirement294          from CoordinateLifecycle295          to DE4SDV_MWRequirements::Features::Middleware::Requirements::reqCoordinateMiddlewareLifecycle;296        dependency functionalHealthDerivedFromRequirement297          from ForwardServiceHealth298          to DE4SDV_MWRequirements::Features::Middleware::Requirements::reqMonitorMiddlewareHealth;299        dependency functionalUpdateDerivedFromRequirement300          from CoordinateIntegrationUpdate301          to DE4SDV_MWRequirements::Features::Middleware::Requirements::reqCoordinateMiddlewareUpdates;302        dependency functionalSafetyPathDerivedFromRequirement303          from ProtectEmergencyInterventionPath304          to DE4SDV_MWRequirements::Features::Middleware::Requirements::reqIsolateSafetyPath;305        dependency functionalBindingDerivedFromRequirement306          from DiscoverAndBindService307          to DE4SDV_MWRequirements::Features::Middleware::Requirements::reqProvideServiceDiscovery;308        dependency functionalAuthenticationBoundaryDerivedFromRequirement309          from DiscoverAndBindService310          to DE4SDV_MWRequirements::Features::Middleware::Requirements::reqAuthenticateServiceBinding;311312        concern functionalBehaviorConcern : FunctionalBehaviorConcern {313          subject;314          stakeholder systemsEngineer : SystemsEngineer;315          stakeholder reviewer : OpenSourceReviewer;316        }317        concern functionalInterfaceConcern : FunctionalInterfaceConcern {318          subject;319          stakeholder systemsEngineer : SystemsEngineer;320          stakeholder reviewer : OpenSourceReviewer;321        }322        concern functionalProcessConcern : SystemProcessConcern {323          doc /*324           * Known issue: no context-partitioned system process is modeled in325           * this increment. MiddlewareIntegrationFunctionalFlow owns functions326           * and two internal successions, but it has no SOI/context swimlanes or327           * boundary-crossing context actions. That internal behavior is not a328           * substitute for a SAF System Process, so no process view is published.329           */330          subject;331          stakeholder systemsEngineer : SystemsEngineer;332          stakeholder reviewer : OpenSourceReviewer;333        }334335        view mwFunctionalBehaviorView {336          viewpoint selectedFunctionalBehaviorViewpoint : SystemFunctionalBreakdownStructureViewpoint {337            frame functionalBehaviorConcern;338          }339          expose MiddlewareIntegrationFunctionalFlow;340          expose MiddlewareIntegrationFunctionalFlow::translateSignal;341          expose MiddlewareIntegrationFunctionalFlow::proxyDiagnostics;342          expose MiddlewareIntegrationFunctionalFlow::coordinateLifecycle;343          expose MiddlewareIntegrationFunctionalFlow::forwardHealth;344          expose MiddlewareIntegrationFunctionalFlow::coordinateUpdate;345          expose MiddlewareIntegrationFunctionalFlow::bindService;346          expose MiddlewareIntegrationFunctionalFlow::protectSafetyPath;347          attribute showAnnotationRows = false;348          attribute maxCompartmentEntries = 0;349          render asTreeDiagram;350        }351        view mwFunctionalInterfaceView {352          viewpoint selectedFunctionalInterfaceViewpoint : SystemInterfaceDefinitionViewpoint {353            frame functionalInterfaceConcern;354          }355          expose FunctionalArchitecture::VehicleSignalAccessInbound;356          expose FunctionalArchitecture::VehicleSignalAccessOutbound;357          expose FunctionalArchitecture::DiagnosticAccessInbound;358          expose FunctionalArchitecture::DiagnosticAccessOutbound;359          expose FunctionalArchitecture::LifecycleCoordinationInbound;360          expose FunctionalArchitecture::LifecycleCoordinationOutbound;361          expose FunctionalArchitecture::HealthStatusInbound;362          expose FunctionalArchitecture::HealthStatusOutbound;363          expose FunctionalArchitecture::UpdateCoordinationInbound;364          expose FunctionalArchitecture::UpdateCoordinationOutbound;365          expose FunctionalArchitecture::ServiceBindingInbound;366          expose FunctionalArchitecture::ServiceBindingOutbound;367          expose FunctionalArchitecture::SafetyPathStatusOutbound;368          attribute showAnnotationRows = false;369          render asTreeDiagram;370        }371      }372    }373  }374}375