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

5 view(s) · 230 declared member(s) view source on GitHub

view mwPhysicalStructureView

ViewpointselectedPhysicalStructureViewpoint (PhysicalStructureDefinitionViewpoint)
ConcernphysicalStructureConcern
RenderasTreeDiagram
Depth1
ExposesMiddlewarePhysicalSoftwareBoundary
Sourcetextual-notation-of-model/packages/features/middleware/mw_physical_software_realization.sysml:763
diagram-mwPhysicalStructureView.svg
«view» mwPhysicalStructureView expose MiddlewarePhysicalSoftwareBoundary «part def» MiddlewarePhysicalSoftwareBoundary parts adapter : AutowareToAAOSSDVAdapterPhysical aaosSdvBoundary : SDVCoreBoundary signalAccessClient : SignalAccessClient diagnosticAccessClient : DiagnosticAccessClient lifecycleClient : LifecycleClient healthClient : HealthClient updateClient : UpdateClient serviceDiscoveryClient : ServiceDiscoveryClient

Hover a model element for details open raw SVG.

view mwAAOSVehicleSpeedServiceBundleInternalExchangeView

ViewpointselectedAAOSVehicleSpeedServiceBundleInternalExchangeViewpoint (PhysicalInternalExchangeViewpoint)
ConcernvehicleSpeedServiceBundleInternalExchangeConcern
RenderasInterconnectionDiagram
Depth-1
ExposesvehicleSpeedCampaignDeployment::vmA::cuttlefishGuest
vehicleSpeedCampaignDeployment::vmA::cuttlefishGuest::**
Sourcetextual-notation-of-model/packages/features/middleware/mw_physical_software_realization.sysml:782
diagram-mwAAOSVehicleSpeedServiceBundleInternalExchangeView.svg
«view» mwAAOSVehicleSpeedServiceBundleInternalExchangeView expose vehicleSpeedCampaignDeployment::vmA::cuttlefishGuest expose vehicleSpeedCampaignDeployment::vmA::cuttlefishGuest::** «part» cuttlefishGuest : AAOSVehicleSpeedServiceBundle «part» ^provider : AAOSVehicleSpeedProvider ^vehicleSpeedOut ^vehicleSpeed : VehicleSpeedProviderMessage ^vehicleSpeedOut.vehicleSpeed «part» ^observer : AAOSVehicleSpeedObserver ^vehicleSpeedIn ^vehicleSpeed : VehicleSpeedProviderMessage ^vehicleSpeedIn.vehicleSpeed ^structuredLogcatOut ^envelope : VehicleSpeedCampaignWireEnvelope ^structuredLogcatOut : VehicleSpeedCampaignWirePublication ^envelope : VehicleSpeedCampaignWireEnvelope = structuredLogcatOut structuredLogcatOut «flow» providerToObserverPayload of VehicleSpeedProviderMessage providerToObserver vehicleSpeedOut vehicleSpeedIn

Hover a model element for details open raw SVG.

view mwVehicleSpeedCampaignStructureView

ViewpointselectedVehicleSpeedCampaignStructureViewpoint (PhysicalStructureDefinitionViewpoint)
ConcernvehicleSpeedCampaignStructureConcern
RenderasTreeDiagram
ExposesVehicleSpeedCampaignCommunicationDeployment
VehicleSpeedCampaignCommunicationDeployment::vmA
VehicleSpeedCampaignCommunicationDeployment::vmA::cuttlefishGuest
VehicleSpeedCampaignCommunicationDeployment::vmA::hostForwarder
VehicleSpeedCampaignCommunicationDeployment::privateTcpBoundary
VehicleSpeedCampaignCommunicationDeployment::vmB
VehicleSpeedCampaignCommunicationDeployment::vmB::ros2Ingress
VehicleSpeedCampaignCommunicationDeployment::vmB::independentObserver
Sourcetextual-notation-of-model/packages/features/middleware/mw_physical_software_realization.sysml:798
diagram-mwVehicleSpeedCampaignStructureView.svg
«view» mwVehicleSpeedCampaignStructureView expose VehicleSpeedCampaignCommunicationDeployment expose VehicleSpeedCampaignCommunicationDeployment::vmA expose VehicleSpeedCampaignCommunicationDeployment::vmA::cuttlefishGuest expose VehicleSpeedCampaignCommunicationDeployment::vmA::hostForwarder expose VehicleSpeedCampaignCommunicationDeployment::privateTcpBoundary expose VehicleSpeedCampaignCommunicationDeployment::vmB expose VehicleSpeedCampaignCommunicationDeployment::vmB::ros2Ingress expose VehicleSpeedCampaignCommunicationDeployment::vmB::independentObserver «part def» VehicleSpeedCampaignCommunicationDeployment «part» vmA : AAOSVehicleSpeedCampaignHostVm «out item» ^cuttlefishGuest.structuredLogcatOut.envelope «in item» ^hostForwarder.structuredLogcatIn.envelope «out item» ^hostForwarder.privateTcpOut.envelope «part» ^cuttlefishGuest : AAOSVehicleSpeedServiceBundle «part» ^hostForwarder : AAOSHostLogcatForwarder «part» vmB : ROS2VehicleSpeedCampaignHostVm «in item» ^ros2Ingress.privateTcpIn.envelope «out item» ^ros2Ingress.velocityReportOut.velocityReport «in item» ^independentObserver.velocityReportIn.velocityReport «part» ^ros2Ingress : ROS2VehicleSpeedTcpIngress «part» ^independentObserver : ROS2VelocityReportIndependentObserver «part» privateTcpBoundary : VehicleSpeedPrivateTcpTransport «port» ^vmAIn «port» ^vmBOut «in item» ^vmAIn.envelope «out item» ^vmBOut.envelope «flow» ros2IngressToObserverPayload of VelocityReportMessage «flow» privateTcpToRos2IngressPayload of VehicleSpeedCampaignWireEnvelope «flow» hostForwarderToPrivateTcpPayload of VehicleSpeedCampaignWireEnvelope «flow» guestToHostForwarderPayload of VehicleSpeedCampaignWireEnvelope

Hover a model element for details open raw SVG.

view mwVehicleSpeedCampaignInterfaceView

ViewpointselectedVehicleSpeedCampaignInterfaceViewpoint (PhysicalInterfaceDefinitionViewpoint)
ConcernvehicleSpeedCampaignInterfaceConcern
RenderasTreeDiagram
ExposesVehicleSpeedProviderPublication
VehicleSpeedProviderSubscription
VehicleSpeedCampaignWirePublication
VehicleSpeedCampaignWireSubscription
VelocityReportPublication
VelocityReportSubscription
Sourcetextual-notation-of-model/packages/features/middleware/mw_physical_software_realization.sysml:819
diagram-mwVehicleSpeedCampaignInterfaceView.svg
«view» mwVehicleSpeedCampaignInterfaceView expose VehicleSpeedProviderPublication expose VehicleSpeedProviderSubscription expose VehicleSpeedCampaignWirePublication expose VehicleSpeedCampaignWireSubscription expose VelocityReportPublication expose VelocityReportSubscription «port def» VehicleSpeedProviderPublication items vehicleSpeed : VehicleSpeedProviderMessage «port def» VehicleSpeedProviderSubscription items vehicleSpeed : VehicleSpeedProviderMessage «port def» VehicleSpeedCampaignWirePublication items envelope : VehicleSpeedCampaignWireEnvelope «port def» VehicleSpeedCampaignWireSubscription items envelope : VehicleSpeedCampaignWireEnvelope «port def» VelocityReportPublication :> ROS2TopicPublication items velocityReport : VelocityReportMessage redefines payload «out item» ^payload «port def» VelocityReportSubscription :> ROS2TopicSubscription items velocityReport : VelocityReportMessage redefines payload

Hover a model element for details open raw SVG.

view mwPhysicalLogicalMappingView

ViewpointselectedPhysicalLogicalMappingViewpoint (PhysicalLogicalMappingViewpoint)
View typeMVD::MatrixView
ConcernphysicalLogicalMappingConcern
Exposessystem::signalTranslator
system::diagnosticProxy
system::lifecycleBridge
system::healthProxy
system::updateCoordinator
system::serviceBindingManager
physicalSoftware::signalAccessClient
physicalSoftware::diagnosticAccessClient
physicalSoftware::lifecycleClient
physicalSoftware::healthClient
physicalSoftware::updateClient
physicalSoftware::serviceDiscoveryClient
physicalSoftware::adapter::aaosSignal::vehicleSpeed
DE4SDV_MWPhysicalSoftwareRealization::*
Sourcetextual-notation-of-model/packages/features/middleware/mw_physical_software_realization.sysml:845
diagram-matrix-mwPhysicalLogicalMappingView.svg
Middleware conceptual-to-physical mapping Maps conceptual system elements to physical/software elements. Middleware conceptual-to-physical mapping Rows ↓: conceptual system elements (part usages) | Columns →: physical/software elements (part usages) signalAccessClient diagnosticAccessClient lifecycleClient healthClient updateClient serviceDiscoveryClient signalTranslator diagnosticProxy lifecycleBridge healthProxy updateCoordinator serviceBindingManager

Hover a model element for details open raw SVG.

Source

1/*2 * DE4SDV middleware physical/software realization model slice.3 *4 * INC-MW-008 maps the middleware logical responsibilities to a concrete5 * candidate software/platform boundary: the Autoware-to-AAOS SDV adapter and6 * the AAOS SDV boundary model. This is a model of the integration boundary,7 * not a vendored AAOS implementation. A bounded Vehicle.Speed8 * AAOS/Cuttlefish-to-ROS 2 campaign path is represented separately below as9 * System 2 evidence transport; it is not production middleware runtime10 * deployment or native SDV transport interoperability evidence.11 *12 * The adapter and AAOS boundary remain candidate realizations. The selected13 * Autoware ROS 2 topic and AOSP SDV gateway/middleware source artifacts are14 * pinned. The vehicle-velocity VSIDL service bundle remains a DE4SDV reference15 * contract, while production process deployment and executable behavior remain16 * deferred until their target-owned source contracts are pinned.17 */1819package DE4SDV_MWPhysicalSoftwareRealization {20  private import DE4SDV_MethodContext::*;21  private import DE4SDV_MethodProcess::*;22  private import DE4SDV_ProductLine::*;23  private import DE4SDV_Stakeholders::*;24  private import DE4SDV_ExecutionEnvironments::*;25  private import DE4SDV_MWConceptualArchitecture::*;26  private import DE4SDV_SDVPlatformStack::*;27  private import DE4SDV_AAOSSDVMiddlewareBoundary::*;28  private import DE4SDV_AEBSPhysicalSoftwareRealization::*;29  private import DE4SDV_ROS2Types::*;30  private import COVESA_VSS::**;31  private import SAF_Viewpoints::*;32  private import SysideViews::**;33  private import Views::*;3435  part incMW008 : FeatureIncrement {36    doc /* INC-MW-008: middleware integration physical/software realization. */37  }3839  part physicalSourceContractGap : DeferredProductLineScope {40    doc /* GAP-MW-019: The Autoware ROS 2 topic and AOSP SDV transport sources are pinned, but the selected vehicle-velocity VSIDL/service-bundle schema and its generated client contract are not. */41  }4243  part physicalProcessDeploymentGap : DeferredProductLineScope {44    doc /*45     * GAP-MW-020: No System 1 production adapter process, executor, runtime,46     * VM, or network deployment is selected. The bounded Vehicle.Speed47     * campaign deployment below is System 2 evidence infrastructure and must48     * not be read as the production deployment decision.49     */50  }5152  part physicalServiceSatisfactionGap : DeferredProductLineScope {53    doc /* GAP-MW-021: The candidate AAOS SDV boundary has not been shown to satisfy the logical service responsibilities or requirements. */54  }5556  part physicalEnablingSystemGap : DeferredProductLineScope {57    doc /*58     * GAP-MW-023: The bounded campaign exercised one AAOS/Cuttlefish host and59     * one ROS 2 host, but no reusable or selected System 2 capability envelope60     * is baselined for future campaigns. The observed campaign hosts do not61     * establish a System 1 product deployment.62     */63  }6465  part velocitySignalContractGap : DeferredProductLineScope {66    doc /* GAP-MW-022: The pinned public AOSP SDV tree provides gateway, service-discovery, data-tunnel, RPC-agent, and transport interfaces, but does not provide the selected production vehicle-velocity VSIDL service bundle, FQIN, payload contract, or generated client binding. The DE4SDV reference payload and VSIDL catalog remain candidates only. */67  }6869  part def AAOSSDVSourceArtifact {70    doc /*71     * Source ID: AOSP-AAOS-SDV-MANIFEST.72     * Pinned AOSP source manifest and build target for the AAOS SDV build.73     * Detailed repository, revision, branch, and path provenance is maintained74     * in the INC-MW-008 pilot source_alignment record.75     */76  }7778  part def COVESAVehicleSpeedSemanticSource {79    doc /*80     * Source ID: COVESA-VSS-VEHICLE-SPEED.81     * Source-backed semantic definition for VSS Vehicle.Speed. This is the82     * canonical vehicle-speed meaning used between the AAOS contract and the83     * Autoware ROS 2 representation; it is not an AAOS VSIDL service contract.84     * VSS path: Vehicle.Speed; quantity: speed; unit: km/h.85     * The canonical field/unit transformation is recorded by mapping86     * VSS-SIM-AEBS-001 in87     * methodologies/sysmod-sysmlv2/pilots/aebs-simulation-deployment/88     * vss-simulation-realization.yaml; this increment traces that mapping89     * rather than redefining it.90     */91  }9293  part def DE4SDVVSSVehicleSpeedAdapterSource {94    doc /*95     * Source ID: DE4SDV-VSS-VEHICLE-SPEED-ADAPTER.96     * Source-backed DE4SDV provider-neutral adapter implementation.97     * This implementation normalizes VSS Vehicle.Speed [km/h] to a98     * provider-neutral longitudinal velocity [m/s]. It does not claim AAOS,99     * VSIDL, ROS 2, transport, deployment, or runtime interoperability.100     */101  }102103  part def DE4SDVAAOSSDVReferenceInteropBenchSource {104    doc /*105     * Source ID: DE4SDV-AAOS-SDV-REFERENCE-INTEROP-BENCH.106     * Source-backed DE4SDV-owned reference contract and executable rehearsal.107     * The reference protobuf message is `VehicleSpeed` with the semantic108     * field `speed_kmh`; the companion VSIDL catalog identifies the109     * `VehicleSpeedProvider` publisher, `VehicleSpeed` message, and110     * `VEHICLE_SPEED` channel. These artifacts define a reference contract111     * candidate, not a selected OEM or production AAOS service.112     * The bounded campaign proves the reference provider/observer path,113     * structured logcat extraction, host-side forwarding, private TCP transfer,114     * ROS 2 publication, and independent observation for one target execution.115     * It remains a development-campaign transport slice, not an OEM contract,116     * production deployment, or native SDV transport result.117     */118  }119120  item def DE4SDVReferenceVehicleSpeedPayload {121    doc /*122     * Candidate semantic payload slice for the DE4SDV-owned reference123     * contract. `speed_kmh` is the explicit identity mapping from COVESA VSS124     * `Vehicle.Speed` [km/h]. The reference protobuf also carries timestamp125     * and quality fields; their semantics remain outside this signal slice126     * until they are separately mapped.127     */128    attribute speed_kmh : Vehicle_Speed;129  }130131  port def DE4SDVReferenceVehicleSpeedAccessPort :> VehicleSignalAccessPort {132    doc /*133     * Candidate typed AAOS-side access port for the reference vehicle-speed134     * slice. The type binds the current signal boundary to the reference135     * payload without selecting a production VSIDL service, generated136     * binding, deployment, or runtime transport.137     */138    inout item vehicleSpeed : DE4SDVReferenceVehicleSpeedPayload redefines vehicleSignals;139  }140141  part def AAOSVSIDLProviderAgentSource {142    doc /*143     * Source ID: AOSP-AAOS-SDV-VSIDL.144     * VSIDL provider agent from145     * system/software_defined_vehicle/vsidl/provider/agent/sdv. The pinned146     * implementation exposes metadata RPCs including diagnostics declaration,147     * message descriptor, publication descriptor, and RPC method descriptor.148     */149  }150151  part def AAOSMiddlewareSource {152    doc /*153     * Source ID: AOSP-AAOS-SDV-MIDDLEWARE.154     * Source-backed AAOS SDV middleware communication implementation from155     * system/software_defined_vehicle/middleware.156     * The pinned source provides the middleware communication boundary.157     */158  }159160  part def AAOSHardwareSDVInterfacesSource {161    doc /*162     * Source ID: AOSP-AAOS-SDV-INTERFACES.163     * Source-backed hardware/sdv interface definitions for middleware,164     * lifecycle, service discovery, RPC, and data-tunnel boundaries.165     */166  }167168  part def AAOSSDVGatewaySessionSource {169    doc /*170     * Source ID: AOSP-AAOS-SDV-INTERFACES.171     * Source-backed AAOS SDV gateway session interface. It exposes172     * serviceDiscoveryAgent(), dataTunnelAgent(), createPublication(), and173     * findRpcServerByName().174     */175  }176177  part def AAOSSDVDataTunnelPublicationSource {178    doc /*179     * Source ID: AOSP-AAOS-SDV-INTERFACES.180     * Source-backed AAOS SDV data-tunnel publication interface. It exposes181     * publication ownership and publisher metadata at the gateway boundary.182     */183  }184185  part def AAOSSDVRpcAgentSource {186    doc /*187     * Source ID: AOSP-AAOS-SDV-MIDDLEWARE.188     * Source-backed AAOS SDV RPC-agent implementation. It registers RPC189     * servers and transport metadata with the SDV middleware.190     */191  }192193  part def AAOSLifecycleServiceSource {194    doc /*195     * Source ID: AOSP-AAOS-SDV-LIFECYCLE.196     * Source-backed lifecycle-management project at197     * system/software_defined_vehicle/lifecycle_management.198     */199  }200201  part def AAOSHealthMonitorSource {202    doc /*203     * Source ID: AOSP-AAOS-SDV-HEALTH.204     * Source-backed health-monitor project at205     * system/software_defined_vehicle/health_monitor.206     */207  }208209  part def AAOSDiagnosticsSource {210    doc /*211     * Source ID: AOSP-AAOS-SDV-DIAGNOSTICS.212     * Source-backed automotive diagnostics project at213     * system/software_defined_vehicle/automotive_services, relevant source214     * area: diagnostics.215     */216  }217218  part def SignalAccessClient {219    doc /* Candidate generic physical/software client for vehicle signal access through the selected adapter and platform boundary. Concrete signal slices specialize the adapter endpoint and retain their own mapping records. */220    port vehicleSignal : VehicleSignalAccessPort;221  }222223  part def DiagnosticAccessClient {224    doc /* Candidate physical/software client for diagnostic access through the selected adapter and platform boundary. */225    port diagnostics : DiagnosticAccessPort;226  }227228  part def LifecycleClient {229    doc /* Candidate physical/software client for lifecycle coordination. */230    port lifecycle : LifecycleCoordinationPort;231  }232233  part def HealthClient {234    doc /* Candidate physical/software client for health status observation and forwarding. */235    port health : HealthStatusPort;236  }237238  part def UpdateClient {239    doc /* Candidate physical/software client for update coordination. */240    port update : UpdateCoordinationPort;241  }242243  part def ServiceDiscoveryClient {244    doc /* Candidate physical/software client for service discovery and authorization boundary handling. */245    port discovery : ServiceDiscoveryPort;246  }247248  port def VelocityReportPublication :> ROS2TopicPublication {249    out item velocityReport : VelocityReportMessage redefines payload;250  }251252  part def AutowareToAAOSSDVAdapterPhysical :> AutowareToAAOSSDVAdapter {253    doc /*254     * Physical adapter candidate with explicit application-side logical ports255     * and AAOS SDV-side service ports. The port contracts are integration256     * boundaries; concrete production ROS 2 topic and VSIDL schemas remain257     * controlled by GAP-MW-019 and GAP-MW-022 until reviewed source revisions258     * are pinned. The typed vehicle-speed port below is a DE4SDV reference259     * contract candidate, not that production binding.260     */261    port applicationSignal : SignalAccessApplicationPort;262    port applicationDiagnostics : DiagnosticApplicationPort;263    port applicationLifecycle : LifecycleApplicationPort;264    port applicationHealth : HealthApplicationPort;265    port applicationUpdate : UpdateApplicationPort;266    port applicationDiscovery : ServiceBindingApplicationPort;267268    port aaosSignal : DE4SDVReferenceVehicleSpeedAccessPort;269    port aaosDiagnostics : DiagnosticAccessPort;270    port aaosLifecycle : LifecycleCoordinationPort;271    port aaosHealth : HealthStatusPort;272    port aaosUpdate : UpdateCoordinationPort;273    port aaosDiscovery : ServiceDiscoveryPort;274275    port ros2VelocityOut : VelocityReportPublication {276      doc /* Adapter publication to Autoware topic /vehicle/status/velocity_status. */277    }278    port ros2AutowareStateIn : AutowareStateSubscription {279      doc /* Existing Autoware topic /autoware/state. */280    }281    port ros2DiagnosticsOut : DiagnosticPublication {282      doc /* Existing Autoware diagnostic publication /diagnostics. */283    }284  }285286  part def MiddlewarePhysicalSoftwareBoundary {287    doc /*288     * Candidate physical/software integration boundary for an Autoware-to-AAOS289     * SDV configuration. The AAOS model is a boundary reference; no internal290     * implementation, deployment, or runtime claim is made.291     */292    part adapter : AutowareToAAOSSDVAdapterPhysical;293    part aaosSdvBoundary : SDVCoreBoundary;294    part signalAccessClient : SignalAccessClient;295    part diagnosticAccessClient : DiagnosticAccessClient;296    part lifecycleClient : LifecycleClient;297    part healthClient : HealthClient;298    part updateClient : UpdateClient;299    part serviceDiscoveryClient : ServiceDiscoveryClient;300  }301302  part def MiddlewarePhysicalSoftwareSourceSet {303    doc /*304     * System 2 source and evidence references used to justify the candidate305     * realization. These records are not physical/software components of the306     * System 1 boundary and therefore remain outside its decomposition.307     */308    ref part aaosSourceArtifact : AAOSSDVSourceArtifact;309    ref part vssVehicleSpeedSource : COVESAVehicleSpeedSemanticSource;310    ref part de4sdvVehicleSpeedAdapterSource : DE4SDVVSSVehicleSpeedAdapterSource;311    ref part referenceInteropBenchSource : DE4SDVAAOSSDVReferenceInteropBenchSource;312    ref part vsidlProviderSource : AAOSVSIDLProviderAgentSource;313    ref part middlewareSource : AAOSMiddlewareSource;314    ref part hardwareInterfacesSource : AAOSHardwareSDVInterfacesSource;315    ref part gatewaySessionSource : AAOSSDVGatewaySessionSource;316    ref part dataTunnelPublicationSource : AAOSSDVDataTunnelPublicationSource;317    ref part rpcAgentSource : AAOSSDVRpcAgentSource;318    ref part lifecycleServiceSource : AAOSLifecycleServiceSource;319    ref part healthMonitorSource : AAOSHealthMonitorSource;320    ref part diagnosticsSource : AAOSDiagnosticsSource;321  }322323  part physicalSoftware : MiddlewarePhysicalSoftwareBoundary;324  part physicalSoftwareSources : MiddlewarePhysicalSoftwareSourceSet;325326  part aaosBuildRuntimeEnvironmentCandidate : AOSPAAOSBuildRuntimeEnvironment {327    doc /*328     * System 2 enabling-system candidate for the AAOS source/build and329     * Cuttlefish attempt. The bounded campaign used an exercised instance of330     * this capability shape, but provider, region, quota, disk, KVM, and access331     * are not a reusable product or production-deployment selection.332     */333  }334335  /*336   * Bounded Vehicle.Speed campaign communication/deployment slice.337   *338   * This is deliberately separate from physicalSoftware: the two VM domains,339   * host-side forwarder, and private TCP boundary are System 2 evidence340   * infrastructure. The AAOS service bundle emits a structured logcat record;341   * it does not own the network socket in the accepted path because the active342   * guest SELinux policy restricts that service domain. The host-side forwarder343   * owns the private TCP connection instead.344   */345  enum def VehicleSpeedCampaignQuality {346    QUALITY_UNSPECIFIED;347    VALID;348    STALE;349    INVALID;350  }351352  item def VehicleSpeedProviderMessage :> DE4SDVReferenceVehicleSpeedPayload {353    doc /*354     * Reference protobuf/VSIDL message published by the generated AAOS355     * Vehicle.Speed provider and consumed by the generated observer.356     * The bounded bridge accepts the VALID quality value for publication;357     * STALE and INVALID remain contract values rejected before publication.358     */359    attribute timestamp_ns : ScalarValues::Integer;360    attribute quality : VehicleSpeedCampaignQuality;361  }362363  port def VehicleSpeedProviderPublication {364    out item vehicleSpeed : VehicleSpeedProviderMessage;365  }366367  port def VehicleSpeedProviderSubscription {368    in item vehicleSpeed : VehicleSpeedProviderMessage;369  }370371  item def VehicleSpeedCampaignWireEnvelope :> VehicleSpeedProviderMessage {372    doc /*373     * Typed campaign envelope emitted by the AAOS observer. The JSON/logcat374     * transport adds `schema` and `clock_domain` to the provider message. The375     * executable JSON/protobuf/VSIDL contracts remain authoritative for exact376     * serialization and validation. The source timestamp remains available in377     * the envelope and bridge logs; the current VelocityReport evidence proves378     * velocity transfer, not source-timestamp propagation through ROS.379     */380    attribute schema : ScalarValues::String;381    attribute clock_domain : ScalarValues::String;382  }383384  port def VehicleSpeedCampaignWirePublication {385    out item envelope : VehicleSpeedCampaignWireEnvelope;386  }387388  port def VehicleSpeedCampaignWireSubscription {389    in item envelope : VehicleSpeedCampaignWireEnvelope;390  }391392  part def AAOSVehicleSpeedProvider {393    doc /*394     * Generated AAOS Vehicle.Speed provider. The provider publishes the395     * reference message through the service-bundle discovery boundary.396     */397    port vehicleSpeedOut : VehicleSpeedProviderPublication;398  }399400  part def AAOSVehicleSpeedObserver {401    doc /*402     * Generated independent AAOS Vehicle.Speed observer. It receives the403     * provider message and emits the structured campaign envelope through404     * logcat.405     */406    port vehicleSpeedIn : VehicleSpeedProviderSubscription;407    port structuredLogcatOut : VehicleSpeedCampaignWirePublication;408  }409410  part def AAOSVehicleSpeedServiceBundle {411    doc /*412     * AAOS Cuttlefish guest-side provider/observer boundary. The service bundle413     * does not claim direct network-socket ownership.414     */415    part provider : AAOSVehicleSpeedProvider;416    part observer : AAOSVehicleSpeedObserver;417    port structuredLogcatOut : VehicleSpeedCampaignWirePublication;418419    connection providerToObserver420      connect provider.vehicleSpeedOut to observer.vehicleSpeedIn;421    flow providerToObserverPayload from provider.vehicleSpeedOut.vehicleSpeed422      to observer.vehicleSpeedIn.vehicleSpeed;423    bind structuredLogcatOut = observer.structuredLogcatOut;424  }425426  part def AAOSHostLogcatForwarder {427    doc /*428     * VM-A host-side ADB/logcat extractor and forwarder. It reads the guest's429     * structured record and opens the private TCP connection to the ROS 2 host.430     */431    port structuredLogcatIn : VehicleSpeedCampaignWireSubscription;432    port privateTcpOut : VehicleSpeedCampaignWirePublication;433  }434435  part def VehicleSpeedPrivateTcpTransport {436    doc /*437     * Private TCP boundary between independent campaign VM domains. This is438     * development/evidence transport only; it is not native SDV transport or439     * a production vehicle-network decision.440     */441    port vmAIn : VehicleSpeedCampaignWireSubscription;442    port vmBOut : VehicleSpeedCampaignWirePublication;443  }444445  part def ROS2VehicleSpeedTcpIngress {446    doc /*447     * VM-B ingress validates the campaign envelope, applies speed_kmh / 3.6,448     * and publishes the official autoware_vehicle_msgs/msg/VelocityReport449     * boundary on /vehicle/status/velocity_status. The conversion is a role-level450     * implementation claim; this deployment view is not a complete internal451     * behavior model of the executable bridge.452     */453    port privateTcpIn : VehicleSpeedCampaignWireSubscription;454    port velocityReportOut : VelocityReportPublication;455  }456457  part def ROS2VelocityReportIndependentObserver {458    doc /*459     * Independent VM-B observer of the published VelocityReport. Its460     * observation is separate from the ingress node's conversion and state. It461     * validates the published velocity and records local receipt time; it does462     * not validate source-timestamp propagation.463     */464    port velocityReportIn : VelocityReportSubscription;465  }466467  part def AAOSVehicleSpeedCampaignHostVm :> AOSPAAOSBuildRuntimeEnvironment {468    doc /*469     * VM-A/System-2 campaign host containing the nested AAOS/Cuttlefish guest470     * and the host-side ADB/logcat forwarder.471     */472    part cuttlefishGuest : AAOSVehicleSpeedServiceBundle;473    part hostForwarder : AAOSHostLogcatForwarder;474  }475476  part def ROS2VehicleSpeedCampaignHostVm :> EngineeringExecutionEnvironment {477    doc /*478     * VM-B/System-2 campaign host containing the ROS 2 ingress and independent479     * observer. It is not a System 1 vehicle compute target.480     */481    part ros2Ingress : ROS2VehicleSpeedTcpIngress;482    part independentObserver : ROS2VelocityReportIndependentObserver;483  }484485  part def VehicleSpeedCampaignCommunicationDeployment {486    doc /*487     * Bounded cross-domain communication path exercised by the reference488     * campaign: AAOS guest -> structured logcat -> VM-A host forwarder ->489     * private TCP -> VM-B ROS 2 ingress -> VelocityReport -> independent490     * observer. The deployment is evidence infrastructure, not a production491     * SDV deployment or a direct AAOS-service-to-ROS socket claim. The flows492     * establish typed boundary topology; executable forwarding and conversion493     * semantics remain owned by the implementation and evidence artifacts.494     */495    part vmA : AAOSVehicleSpeedCampaignHostVm;496    part vmB : ROS2VehicleSpeedCampaignHostVm;497    part privateTcpBoundary : VehicleSpeedPrivateTcpTransport;498499    connection guestToHostForwarder500      connect vmA.cuttlefishGuest.structuredLogcatOut501      to vmA.hostForwarder.structuredLogcatIn;502    connection hostForwarderToPrivateTcp503      connect vmA.hostForwarder.privateTcpOut to privateTcpBoundary.vmAIn;504    connection privateTcpToRos2Ingress505      connect privateTcpBoundary.vmBOut to vmB.ros2Ingress.privateTcpIn;506    connection ros2IngressToObserver507      connect vmB.ros2Ingress.velocityReportOut508      to vmB.independentObserver.velocityReportIn;509510    flow guestToHostForwarderPayload511      from vmA.cuttlefishGuest.structuredLogcatOut.envelope512      to vmA.hostForwarder.structuredLogcatIn.envelope;513    flow hostForwarderToPrivateTcpPayload514      from vmA.hostForwarder.privateTcpOut.envelope515      to privateTcpBoundary.vmAIn.envelope;516    flow privateTcpToRos2IngressPayload517      from privateTcpBoundary.vmBOut.envelope518      to vmB.ros2Ingress.privateTcpIn.envelope;519    flow ros2IngressToObserverPayload520      from vmB.ros2Ingress.velocityReportOut.velocityReport521      to vmB.independentObserver.velocityReportIn.velocityReport;522  }523524  part vehicleSpeedCampaignDeployment : VehicleSpeedCampaignCommunicationDeployment;525526  dependency vehicleSpeedCampaignImplementationTrace527    from vehicleSpeedCampaignDeployment528    to physicalSoftwareSources::referenceInteropBenchSource;529530  allocation def LogicalToPhysicalSoftwareCandidate {531    doc /* Candidate logical-to-physical mapping. This does not imply complete realization, satisfaction, runtime execution, or acceptance. */532  }533534  allocation signalTranslatorCandidate : LogicalToPhysicalSoftwareCandidate535    allocate DE4SDV_MWConceptualArchitecture::system::signalTranslator536    to physicalSoftware::signalAccessClient;537  allocation vehicleSpeedSystemToSoftwareSignalCandidate : SystemToSoftwareSignalMappingCandidate538    allocate DE4SDV_MWConceptualArchitecture::system::signalTranslator539    to physicalSoftware::adapter::aaosSignal::vehicleSpeed;540  allocation diagnosticProxyCandidate : LogicalToPhysicalSoftwareCandidate541    allocate DE4SDV_MWConceptualArchitecture::system::diagnosticProxy542    to physicalSoftware::diagnosticAccessClient;543  allocation lifecycleBridgeCandidate : LogicalToPhysicalSoftwareCandidate544    allocate DE4SDV_MWConceptualArchitecture::system::lifecycleBridge545    to physicalSoftware::lifecycleClient;546  allocation healthProxyCandidate : LogicalToPhysicalSoftwareCandidate547    allocate DE4SDV_MWConceptualArchitecture::system::healthProxy548    to physicalSoftware::healthClient;549  allocation updateCoordinatorCandidate : LogicalToPhysicalSoftwareCandidate550    allocate DE4SDV_MWConceptualArchitecture::system::updateCoordinator551    to physicalSoftware::updateClient;552  allocation serviceBindingManagerCandidate : LogicalToPhysicalSoftwareCandidate553    allocate DE4SDV_MWConceptualArchitecture::system::serviceBindingManager554    to physicalSoftware::serviceDiscoveryClient;555556  dependency aaosBoundaryCandidateForSignalAccess557    from physicalSoftware::signalAccessClient558    to physicalSoftware::aaosSdvBoundary::vsidlMiddleware;559  dependency aaosBoundaryCandidateForDiagnostics560    from physicalSoftware::diagnosticAccessClient561    to physicalSoftware::aaosSdvBoundary::diagnostics;562  dependency aaosBoundaryCandidateForLifecycle563    from physicalSoftware::lifecycleClient564    to physicalSoftware::aaosSdvBoundary::lifecycleManager;565  dependency aaosBoundaryCandidateForHealth566    from physicalSoftware::healthClient567    to physicalSoftware::aaosSdvBoundary::healthMonitor;568  dependency aaosBoundaryCandidateForUpdates569    from physicalSoftware::updateClient570    to physicalSoftware::aaosSdvBoundary::updateManager;571  dependency aaosBoundaryCandidateForDiscovery572    from physicalSoftware::serviceDiscoveryClient573    to physicalSoftware::aaosSdvBoundary::serviceDiscovery;574575  dependency adapterCandidateAtApplicationBoundary576    from physicalSoftware::adapter577    to DE4SDV_MWConceptualArchitecture::system;578579  dependency adapterSignalMapping580    from physicalSoftware::adapter::applicationSignal581    to physicalSoftware::adapter::aaosSignal;582  dependency referenceVehicleSpeedContractTrace583    from physicalSoftware::adapter::aaosSignal::vehicleSpeed584    to physicalSoftwareSources::referenceInteropBenchSource;585  dependency referenceVehicleSpeedVSIDLCandidate586    from physicalSoftware::adapter::aaosSignal::vehicleSpeed587    to physicalSoftware::aaosSdvBoundary::vsidlMiddleware;588  dependency adapterDiagnosticMapping589    from physicalSoftware::adapter::applicationDiagnostics590    to physicalSoftware::adapter::aaosDiagnostics;591  dependency adapterLifecycleMapping592    from physicalSoftware::adapter::applicationLifecycle593    to physicalSoftware::adapter::aaosLifecycle;594  dependency adapterHealthMapping595    from physicalSoftware::adapter::applicationHealth596    to physicalSoftware::adapter::aaosHealth;597  dependency adapterUpdateMapping598    from physicalSoftware::adapter::applicationUpdate599    to physicalSoftware::adapter::aaosUpdate;600  dependency adapterDiscoveryMapping601    from physicalSoftware::adapter::applicationDiscovery602    to physicalSoftware::adapter::aaosDiscovery;603604  dependency adapterSignalServiceCandidate605    from physicalSoftware::adapter::aaosSignal606    to physicalSoftware::aaosSdvBoundary::vsidlMiddleware;607  dependency adapterDiagnosticServiceCandidate608    from physicalSoftware::adapter::aaosDiagnostics609    to physicalSoftware::aaosSdvBoundary::diagnostics;610  dependency adapterLifecycleServiceCandidate611    from physicalSoftware::adapter::aaosLifecycle612    to physicalSoftware::aaosSdvBoundary::lifecycleManager;613  dependency adapterHealthServiceCandidate614    from physicalSoftware::adapter::aaosHealth615    to physicalSoftware::aaosSdvBoundary::healthMonitor;616  dependency adapterUpdateServiceCandidate617    from physicalSoftware::adapter::aaosUpdate618    to physicalSoftware::aaosSdvBoundary::updateManager;619  dependency adapterDiscoveryServiceCandidate620    from physicalSoftware::adapter::aaosDiscovery621    to physicalSoftware::aaosSdvBoundary::serviceDiscovery;622623  dependency vsidlSignalToROS2Velocity624    from physicalSoftware::adapter::aaosSignal::vehicleSpeed625    to physicalSoftware::adapter::ros2VelocityOut;626  dependency ros2AutowareStateToVSIDLLifecycle627    from physicalSoftware::adapter::ros2AutowareStateIn628    to physicalSoftware::adapter::aaosLifecycle;629  dependency vsidlDiagnosticsToROS2Diagnostics630    from physicalSoftware::adapter::aaosDiagnostics631    to physicalSoftware::adapter::ros2DiagnosticsOut;632633  dependency vehicleSpeedSemanticTrace634    from physicalSoftware::adapter::aaosSignal::vehicleSpeed635    to physicalSoftwareSources::vssVehicleSpeedSource;636  dependency de4sdvAdapterImplementationTrace637    from physicalSoftware::adapter638    to physicalSoftwareSources::de4sdvVehicleSpeedAdapterSource;639  dependency referenceInteropBenchTrace640    from physicalSoftware::adapter641    to physicalSoftwareSources::referenceInteropBenchSource;642  dependency aaosVSIDLSourceTrace643    from physicalSoftware::adapter::aaosSignal644    to physicalSoftwareSources::vsidlProviderSource;645  dependency aaosMiddlewareSourceTrace646    from physicalSoftware::adapter::aaosSignal647    to physicalSoftwareSources::middlewareSource;648  dependency aaosHardwareInterfacesSourceTrace649    from physicalSoftware::adapter::aaosSignal650    to physicalSoftwareSources::hardwareInterfacesSource;651  dependency aaosGatewaySessionSourceTrace652    from physicalSoftware::adapter::aaosSignal653    to physicalSoftwareSources::gatewaySessionSource;654  dependency aaosDataTunnelSourceTrace655    from physicalSoftware::adapter::aaosSignal656    to physicalSoftwareSources::dataTunnelPublicationSource;657  dependency aaosRpcAgentSourceTrace658    from physicalSoftware::adapter::aaosSignal659    to physicalSoftwareSources::rpcAgentSource;660  dependency aaosLifecycleSourceTrace661    from physicalSoftware::aaosSdvBoundary::lifecycleManager662    to physicalSoftwareSources::lifecycleServiceSource;663  dependency aaosHealthSourceTrace664    from physicalSoftware::aaosSdvBoundary::healthMonitor665    to physicalSoftwareSources::healthMonitorSource;666  dependency aaosDiagnosticsSourceTrace667    from physicalSoftware::aaosSdvBoundary::diagnostics668    to physicalSoftwareSources::diagnosticsSource;669  dependency aaosAdapterSourceManifestTrace670    from physicalSoftware::adapter671    to physicalSoftwareSources::aaosSourceArtifact;672  dependency aaosSourceBuildEnvironmentCandidate673    from physicalSoftwareSources::aaosSourceArtifact674    to aaosBuildRuntimeEnvironmentCandidate;675  dependency aaosCuttlefishEnvironmentCandidate676    from physicalSoftware::aaosSdvBoundary677    to aaosBuildRuntimeEnvironmentCandidate;678679  concern physicalStructureConcern : PhysicalStructureConcern {680    doc /*681     * Review the System 1 candidate software boundary: adapter, AAOS SDV682     * boundary, and application-side clients. Source records and the bounded683     * System 2 campaign are excluded from this breakdown.684     */685    subject;686    stakeholder systemsEngineer : SystemsEngineer;687    stakeholder reviewer : OpenSourceReviewer;688  }689690  concern physicalInterfaceConcern : PhysicalInterfaceConcern {691    doc /*692     * Known issue: no System 1 Physical Interface view is published yet.693     * Physical interfaces can include software protocol endpoints, but this694     * increment has only a candidate vehicle-speed access port and no reviewed695     * pin, bus, deployed service, or production transport contract. The source696     * definitions remain authoritative; publishing their current native697     * projection would duplicate the functional interface catalog and leak an698     * unrelated candidate allocation.699     */700    subject;701    stakeholder systemsEngineer : SystemsEngineer;702    stakeholder reviewer : OpenSourceReviewer;703  }704705  concern vehicleSpeedCampaignInternalExchangeConcern : PhysicalInternalExchangeConcern {706    doc /*707     * Known issue: no Physical Internal Exchange view is published for the708     * campaign. Five explicit connections and five named item flows remain709     * authoritative in the model, but the tested native projection renders710     * only nested part boxes and does not materialize the connector path, flow711     * direction, or exchanged item types. A box-only artifact would misstate712     * the concern. The campaign source and observer are both inside the subject,713     * so there is also no external boundary exchange to substitute.714     */715    subject campaignDeployment : VehicleSpeedCampaignCommunicationDeployment;716    stakeholder systemsEngineer : SystemsEngineer;717    stakeholder reviewer : OpenSourceReviewer;718    stakeholder systemArchitect : SystemArchitect;719    stakeholder softwareDeveloper : SoftwareDeveloper;720    stakeholder verificationEngineer : VerificationEngineer;721  }722723  concern vehicleSpeedServiceBundleInternalExchangeConcern : PhysicalInternalExchangeConcern {724    doc /*725     * Which provider sends VehicleSpeedProviderMessage to which observer,726     * through which owned ports and connector, and in which direction? Keep727     * this bounded review slice inside the AAOS service bundle; transport and728     * deployment topology belong to the wider campaign concern.729     */730    subject serviceBundle : AAOSVehicleSpeedServiceBundle;731    stakeholder systemsEngineer : SystemsEngineer;732    stakeholder reviewer : OpenSourceReviewer;733    stakeholder softwareDeveloper : SoftwareDeveloper;734    stakeholder verificationEngineer : VerificationEngineer;735  }736737  concern vehicleSpeedCampaignStructureConcern : PhysicalStructureConcern {738    doc /* Supporting System 2 campaign-host breakdown, distinct from the System 1 product boundary. */739    subject campaignDeployment : VehicleSpeedCampaignCommunicationDeployment;740    stakeholder systemsEngineer : SystemsEngineer;741    stakeholder reviewer : OpenSourceReviewer;742  }743744  concern vehicleSpeedCampaignInterfaceConcern : PhysicalInterfaceConcern {745    doc /* Supporting System 2 campaign transport contracts, distinct from the System 1 candidate interfaces. */746    subject campaignDeployment : VehicleSpeedCampaignCommunicationDeployment;747    stakeholder systemsEngineer : SystemsEngineer;748    stakeholder reviewer : OpenSourceReviewer;749  }750751  concern physicalFunctionalMappingConcern : PhysicalFunctionalMappingConcern {752    subject;753    stakeholder systemsEngineer : SystemsEngineer;754    stakeholder reviewer : OpenSourceReviewer;755  }756757  concern physicalLogicalMappingConcern : PhysicalLogicalMappingConcern {758    subject;759    stakeholder systemsEngineer : SystemsEngineer;760    stakeholder reviewer : OpenSourceReviewer;761  }762763  view mwPhysicalStructureView {764    viewpoint selectedPhysicalStructureViewpoint : PhysicalStructureDefinitionViewpoint {765      frame physicalStructureConcern;766    }767    expose MiddlewarePhysicalSoftwareBoundary;768    attribute depth = 1;769    attribute showAnnotationRows = false;770    attribute maxCompartmentEntries = 8;771    render asTreeDiagram;772  }773774  /*775   * No Physical Context Exchange view is published for this campaign. Both776   * hosts and the complete one-directional transfer chain are contained by the777   * deployment subject, so presenting them as an external-boundary exchange778   * would be false. The typed connections and flows in the source are779   * authoritative for this scope while native rendering remains inadequate.780   */781782  view mwAAOSVehicleSpeedServiceBundleInternalExchangeView {783    viewpoint selectedAAOSVehicleSpeedServiceBundleInternalExchangeViewpoint : PhysicalInternalExchangeViewpoint {784      frame vehicleSpeedServiceBundleInternalExchangeConcern;785    }786    doc /*787     * Bounded native projection of the authoritative provider-to-observer788     * connection and VehicleSpeedProviderMessage flow. The wider campaign789     * exchange remains withheld because it does not pass the same visual gate.790     */791    expose vehicleSpeedCampaignDeployment::vmA::cuttlefishGuest;792    expose vehicleSpeedCampaignDeployment::vmA::cuttlefishGuest::**;793    attribute depth = -1;794    attribute showAnnotationRows = false;795    render asInterconnectionDiagram;796  }797798  view mwVehicleSpeedCampaignStructureView {799    viewpoint selectedVehicleSpeedCampaignStructureViewpoint : PhysicalStructureDefinitionViewpoint {800      frame vehicleSpeedCampaignStructureConcern;801    }802    doc /*803     * Supporting structure view for the two independent System 2 hosts, the804     * nested AAOS guest, host-side forwarder, ROS 2 ingress, and observer.805     */806    expose VehicleSpeedCampaignCommunicationDeployment;807    expose VehicleSpeedCampaignCommunicationDeployment::vmA;808    expose VehicleSpeedCampaignCommunicationDeployment::vmA::cuttlefishGuest;809    expose VehicleSpeedCampaignCommunicationDeployment::vmA::hostForwarder;810    expose VehicleSpeedCampaignCommunicationDeployment::privateTcpBoundary;811    expose VehicleSpeedCampaignCommunicationDeployment::vmB;812    expose VehicleSpeedCampaignCommunicationDeployment::vmB::ros2Ingress;813    expose VehicleSpeedCampaignCommunicationDeployment::vmB::independentObserver;814    attribute showAnnotationRows = false;815    attribute maxCompartmentEntries = 0;816    render asTreeDiagram;817  }818819  view mwVehicleSpeedCampaignInterfaceView {820    viewpoint selectedVehicleSpeedCampaignInterfaceViewpoint : PhysicalInterfaceDefinitionViewpoint {821      frame vehicleSpeedCampaignInterfaceConcern;822    }823    doc /*824     * Supporting interface view for the campaign envelope and the official825     * VelocityReport publication/subscription boundary. Exact serialization826     * and transport parameters remain owned by the executable contracts.827     */828    expose VehicleSpeedProviderPublication;829    expose VehicleSpeedProviderSubscription;830    expose VehicleSpeedCampaignWirePublication;831    expose VehicleSpeedCampaignWireSubscription;832    expose VelocityReportPublication;833    expose VelocityReportSubscription;834    attribute showAnnotationRows = false;835    render asTreeDiagram;836  }837838  /*839   * No physical-function allocation is modeled in this increment. Publishing a840   * Physical Functional Mapping view would therefore present package contents841   * as a false mapping. Add the view only when physical actions and their842   * allocations exist in the model.843   */844845  view mwPhysicalLogicalMappingView : MVD::MatrixView {846    viewpoint selectedPhysicalLogicalMappingViewpoint : PhysicalLogicalMappingViewpoint {847      frame physicalLogicalMappingConcern;848    }849    view :>> rowView {850      expose system::signalTranslator;851      expose system::diagnosticProxy;852      expose system::lifecycleBridge;853      expose system::healthProxy;854      expose system::updateCoordinator;855      expose system::serviceBindingManager;856      attribute :>> representation = Rep::name;857    }858    view :>> columnView {859      expose physicalSoftware::signalAccessClient;860      expose physicalSoftware::diagnosticAccessClient;861      expose physicalSoftware::lifecycleClient;862      expose physicalSoftware::healthClient;863      expose physicalSoftware::updateClient;864      expose physicalSoftware::serviceDiscoveryClient;865      expose physicalSoftware::adapter::aaosSignal::vehicleSpeed;866      attribute :>> representation = Rep::name;867    }868    view :>> cellView {869      expose DE4SDV_MWPhysicalSoftwareRealization::*;870      attribute :>> direction = SysideViews::MatrixTraceabilityDirection::row2col;871    }872  }873}874