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
| Viewpoint | selectedPhysicalStructureViewpoint (PhysicalStructureDefinitionViewpoint) |
|---|---|
| Concern | physicalStructureConcern |
| Render | asTreeDiagram |
| Depth | 1 |
| Exposes | MiddlewarePhysicalSoftwareBoundary |
| Source | textual-notation-of-model/packages/features/middleware/mw_physical_software_realization.sysml:763 |
Hover a model element for details open raw SVG.
view mwAAOSVehicleSpeedServiceBundleInternalExchangeView
| Viewpoint | selectedAAOSVehicleSpeedServiceBundleInternalExchangeViewpoint (PhysicalInternalExchangeViewpoint) |
|---|---|
| Concern | vehicleSpeedServiceBundleInternalExchangeConcern |
| Render | asInterconnectionDiagram |
| Depth | -1 |
| Exposes | vehicleSpeedCampaignDeployment::vmA::cuttlefishGuestvehicleSpeedCampaignDeployment::vmA::cuttlefishGuest::** |
| Source | textual-notation-of-model/packages/features/middleware/mw_physical_software_realization.sysml:782 |
Hover a model element for details open raw SVG.
view mwVehicleSpeedCampaignStructureView
| Viewpoint | selectedVehicleSpeedCampaignStructureViewpoint (PhysicalStructureDefinitionViewpoint) |
|---|---|
| Concern | vehicleSpeedCampaignStructureConcern |
| Render | asTreeDiagram |
| Exposes | VehicleSpeedCampaignCommunicationDeploymentVehicleSpeedCampaignCommunicationDeployment::vmAVehicleSpeedCampaignCommunicationDeployment::vmA::cuttlefishGuestVehicleSpeedCampaignCommunicationDeployment::vmA::hostForwarderVehicleSpeedCampaignCommunicationDeployment::privateTcpBoundaryVehicleSpeedCampaignCommunicationDeployment::vmBVehicleSpeedCampaignCommunicationDeployment::vmB::ros2IngressVehicleSpeedCampaignCommunicationDeployment::vmB::independentObserver |
| Source | textual-notation-of-model/packages/features/middleware/mw_physical_software_realization.sysml:798 |
Hover a model element for details open raw SVG.
view mwVehicleSpeedCampaignInterfaceView
| Viewpoint | selectedVehicleSpeedCampaignInterfaceViewpoint (PhysicalInterfaceDefinitionViewpoint) |
|---|---|
| Concern | vehicleSpeedCampaignInterfaceConcern |
| Render | asTreeDiagram |
| Exposes | VehicleSpeedProviderPublicationVehicleSpeedProviderSubscriptionVehicleSpeedCampaignWirePublicationVehicleSpeedCampaignWireSubscriptionVelocityReportPublicationVelocityReportSubscription |
| Source | textual-notation-of-model/packages/features/middleware/mw_physical_software_realization.sysml:819 |
Hover a model element for details open raw SVG.
view mwPhysicalLogicalMappingView
| Viewpoint | selectedPhysicalLogicalMappingViewpoint (PhysicalLogicalMappingViewpoint) |
|---|---|
| View type | MVD::MatrixView |
| Concern | physicalLogicalMappingConcern |
| Exposes | system::signalTranslatorsystem::diagnosticProxysystem::lifecycleBridgesystem::healthProxysystem::updateCoordinatorsystem::serviceBindingManagerphysicalSoftware::signalAccessClientphysicalSoftware::diagnosticAccessClientphysicalSoftware::lifecycleClientphysicalSoftware::healthClientphysicalSoftware::updateClientphysicalSoftware::serviceDiscoveryClientphysicalSoftware::adapter::aaosSignal::vehicleSpeedDE4SDV_MWPhysicalSoftwareRealization::* |
| Source | textual-notation-of-model/packages/features/middleware/mw_physical_software_realization.sysml:845 |
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