textual-notation-of-model/packages/features/aebs/aebs_physical_software_realization.sysml
3 view(s) · 140 declared member(s) view source on GitHub
view aebsPhysicalSoftwareStructureView
| Viewpoint | selectedPhysicalStructureViewpoint (PhysicalStructureDefinitionViewpoint) |
|---|---|
| Concern | physicalStructureConcern |
| Render | asTreeDiagram |
| Exposes | physicalSoftwarephysicalSoftware::sourceArtifactphysicalSoftware::aebNoderequiredRuntimerequiredWarningProviderrequiredDiagnosticBridgerequiredEmergencyHandlerrequiredCommandGaterequiredVehicleInterfacerequiredBrakeActuationrequiredHealthSupervisorrequiredEvidenceService |
| Source | textual-notation-of-model/packages/features/aebs/aebs_physical_software_realization.sysml:521 |
No committed diagram. Regenerate via the Privileged Syside Validation workflow (expected artifact
diagrams/diagram-aebsPhysicalSoftwareStructureView.svg).view aebsPhysicalSoftwareInterfaceView
| Viewpoint | selectedPhysicalInterfaceViewpoint (PhysicalInterfaceDefinitionViewpoint) |
|---|---|
| Concern | physicalInterfaceConcern |
| Render | asTreeDiagram |
| Exposes | PointCloud2MessageVelocityReportMessageImuMessageTrajectoryMessagePredictedObjectsMessageAutowareStateMessageDiagnosticArrayMessageMetricArrayMessageDebugPointCloudMessageMarkerArrayMessageFloat32StampedMessageProcessingTimeDetailMessageROS2TopicEndpointROS2TopicSubscriptionROS2TopicPublicationROS2PublishSubscribeTopicInterfacePointCloud2SubscriptionVelocityReportSubscriptionImuSubscriptionTrajectorySubscriptionPredictedObjectsSubscriptionAutowareStateSubscriptionDiagnosticPublicationMetricPublicationDebugPointCloudPublicationMarkerPublicationDebugDistancePublicationProcessingTimePublicationphysicalSoftware::*physicalSoftware::aebNode::*requiredRuntime |
| Source | textual-notation-of-model/packages/features/aebs/aebs_physical_software_realization.sysml:541 |
No committed diagram. Regenerate via the Privileged Syside Validation workflow (expected artifact
diagrams/diagram-aebsPhysicalSoftwareInterfaceView.svg).view aebsPhysicalLogicalMappingView
| Viewpoint | selectedPhysicalLogicalMappingViewpoint (PhysicalLogicalMappingViewpoint) |
|---|---|
| View type | MVD::MatrixView |
| Concern | physicalLogicalMappingConcern |
| Exposes | system::stateAcquisitionsystem::egoPathPredictionsystem::targetProcessingsystem::collisionRiskEvaluationsystem::interventionDecisionsystem::warningManagementsystem::emergencyCoordinationsystem::healthSupervisionsystem::evidenceRecordingphysicalSoftware::aebNoderequiredWarningProviderrequiredDiagnosticBridgerequiredEmergencyHandlerrequiredCommandGaterequiredVehicleInterfacerequiredBrakeActuationrequiredHealthSupervisorrequiredEvidenceServiceDE4SDV_AEBSPhysicalSoftwareRealization::* |
| Source | textual-notation-of-model/packages/features/aebs/aebs_physical_software_realization.sysml:586 |
No committed diagram. Regenerate via the Privileged Syside Validation workflow (expected artifact
diagrams/diagram-matrix-aebsPhysicalLogicalMappingView.svg).Source
1/*2 * DE4SDV AEBS physical software realization model slice.3 *4 * This package implements INC-AEBS-007: a source-backed mapping from the5 * accepted technology-neutral AEBS system architecture to Autoware software.6 * Runtime deployment, vehicle-platform integration, brake actuation, and7 * executable evidence remain INC-AEBS-008/009 responsibilities.8 *9 * Pinned upstream source:10 * - repository: https://github.com/autowarefoundation/autoware_universe11 * - commit: f603d8759c92fb2f423f1544844e13086d79ad0912 * - package: control/autoware_autonomous_emergency_braking13 * - package version: 0.52.014 * - license: Apache-2.015 *16 * The pinned source contains two unresolved blockers recorded in the companion17 * YAML/Markdown control artifacts:18 * - predicted-trajectory path generation calls path.back() before the first19 * element is inserted; that branch is not accepted as a realization;20 * - the launch file remaps an undeclared input_odometry argument although the21 * current node has no odometry subscriber.22 *23 * This model makes no requirement satisfaction, compliance, certification,24 * production-readiness, real-vehicle, or brake-actuation claim.25 */2627package DE4SDV_AEBSPhysicalSoftwareRealization {28 private import DE4SDV_AEBSConceptualArchitecture::*;29 private import SAF_Viewpoints::*;30 private import DE4SDV_Stakeholders::*;31 private import DE4SDV_MethodContext::*;32 private import DE4SDV_ROS2Types::*;33 private import SysideViews::**;34 private import Views::*;3536 /* ──────────────────────────────────────────37 * Concrete Autoware ROS 2 message definitions38 * ────────────────────────────────────────── */3940 item def PointCloud2Message :> ROS2TopicMessage {41 doc /* ROS 2 sensor_msgs/msg/PointCloud2. */42 }4344 item def VelocityReportMessage :> ROS2TopicMessage {45 doc /* ROS 2 autoware_vehicle_msgs/msg/VelocityReport. */46 }4748 item def ImuMessage :> ROS2TopicMessage {49 doc /* ROS 2 sensor_msgs/msg/Imu. */50 }5152 item def TrajectoryMessage :> ROS2TopicMessage {53 doc /* ROS 2 autoware_planning_msgs/msg/Trajectory. */54 }5556 item def PredictedObjectsMessage :> ROS2TopicMessage {57 doc /* ROS 2 autoware_perception_msgs/msg/PredictedObjects. */58 }5960 item def AutowareStateMessage :> ROS2TopicMessage {61 doc /* ROS 2 autoware_system_msgs/msg/AutowareState. */62 }6364 item def DiagnosticArrayMessage :> ROS2TopicMessage {65 doc /*66 * ROS 2 diagnostic_msgs/msg/DiagnosticArray transport used by67 * diagnostic_updater. The AEB task name is aeb_emergency_stop.68 */69 }7071 item def MetricArrayMessage :> ROS2TopicMessage {72 doc /* ROS 2 tier4_metric_msgs/msg/MetricArray. */73 }7475 item def DebugPointCloudMessage :> ROS2TopicMessage {76 doc /* ROS 2 sensor_msgs/msg/PointCloud2 debug output. */77 }7879 item def MarkerArrayMessage :> ROS2TopicMessage {80 doc /* ROS 2 visualization_msgs/msg/MarkerArray. */81 }8283 item def Float32StampedMessage :> ROS2TopicMessage {84 doc /* ROS 2 tier4_debug_msgs/msg/Float32Stamped. */85 }8687 item def ProcessingTimeDetailMessage :> ROS2TopicMessage {88 doc /* ROS 2 autoware_utils/ProcessingTimeDetail debug output. */89 }9091 /*92 * Reusable ROS 2 topic protocol roles. Concrete message-specific port93 * definitions specialize these roles. The interface captures publish/94 * subscribe compatibility without selecting an RMW/DDS implementation.95 */96 interface def ROS2PublishSubscribeTopicInterface {97 doc /*98 * Application-level ROS 2 topic protocol. The publisher and subscriber99 * roles are compatible through a common topic and a matching concrete100 * message type; QoS and RMW/DDS selection are deferred.101 */102 end publisher : ROS2TopicPublication;103 end subscriber : ROS2TopicSubscription;104 flow of ROS2TopicMessage from publisher.payload to subscriber.payload;105 }106107 port def PointCloud2Subscription :> ROS2TopicSubscription {108 in item pointCloud : PointCloud2Message redefines payload;109 }110111 port def VelocityReportSubscription :> ROS2TopicSubscription {112 in item velocityReport : VelocityReportMessage redefines payload;113 }114115 port def ImuSubscription :> ROS2TopicSubscription {116 in item imu : ImuMessage redefines payload;117 }118119 port def TrajectorySubscription :> ROS2TopicSubscription {120 in item trajectory : TrajectoryMessage redefines payload;121 }122123 port def PredictedObjectsSubscription :> ROS2TopicSubscription {124 in item predictedObjects : PredictedObjectsMessage redefines payload;125 }126127 port def AutowareStateSubscription :> ROS2TopicSubscription {128 in item autowareState : AutowareStateMessage redefines payload;129 }130131 port def DiagnosticPublication :> ROS2TopicPublication {132 out item diagnostics : DiagnosticArrayMessage redefines payload;133 }134135 port def MetricPublication :> ROS2TopicPublication {136 out item metrics : MetricArrayMessage redefines payload;137 }138139 port def DebugPointCloudPublication :> ROS2TopicPublication {140 out item debugPointCloud : DebugPointCloudMessage redefines payload;141 }142143 port def MarkerPublication :> ROS2TopicPublication {144 out item markers : MarkerArrayMessage redefines payload;145 }146147 port def DebugDistancePublication :> ROS2TopicPublication {148 out item rssDistance : Float32StampedMessage redefines payload;149 }150151 port def ProcessingTimePublication :> ROS2TopicPublication {152 out item processingTime : ProcessingTimeDetailMessage redefines payload;153 }154155 /* ──────────────────────────────────────────156 * Source-backed physical software elements157 * ────────────────────────────────────────── */158159 part def AutowareAEBSourceArtifact {160 doc /*161 * Build/source artifact at162 * control/autoware_autonomous_emergency_braking, version 0.52.0, pinned to163 * Autoware Universe commit f603d8759c92fb2f423f1544844e13086d79ad09.164 */165 }166167 part def AutowareAutonomousEmergencyBrakingNode {168 doc /*169 * Concrete rclcpp node class AEB from include/autoware/170 * autonomous_emergency_braking/node.hpp and src/node.cpp.171 *172 * Source-backed behavior includes input polling/transformation, IMU and173 * control-trajectory path branches, target extraction from point clouds or174 * predicted objects, RSS-distance collision checking, and an ERROR-level175 * diagnostic when collision state is active. Branch acceptance and conceptual176 * coverage are represented separately below.177 */178179 port pointCloudIn : PointCloud2Subscription {180 doc /* ~/input/pointcloud; default /perception/obstacle_segmentation/pointcloud. */181 }182 port velocityIn : VelocityReportSubscription {183 doc /* ~/input/velocity; default /vehicle/status/velocity_status. */184 }185 port imuIn : ImuSubscription {186 doc /* ~/input/imu; default /sensing/imu/imu_data. */187 }188 port predictedTrajectoryIn : TrajectorySubscription {189 doc /*190 * ~/input/predicted_trajectory; default /control/trajectory_follower/191 * lateral/predicted_trajectory. Blocked at the pinned source revision.192 */193 }194 port predictedObjectsIn : PredictedObjectsSubscription {195 doc /* ~/input/objects; default /perception/object_recognition/objects. */196 }197 port autowareStateIn : AutowareStateSubscription {198 doc /* Absolute topic /autoware/state. */199 }200201 port diagnosticsOut : DiagnosticPublication {202 doc /* /diagnostics via diagnostic_updater task aeb_emergency_stop. */203 }204 port metricsOut : MetricPublication {205 doc /* ~/metrics. */206 }207 port debugPointCloudOut : DebugPointCloudPublication {208 doc /* ~/debug/obstacle_pointcloud. */209 }210 port debugMarkersOut : MarkerPublication {211 doc /* ~/debug/markers. */212 }213 port virtualWallOut : MarkerPublication {214 doc /* ~/virtual_wall. */215 }216 port rssDistanceOut : DebugDistancePublication {217 doc /* ~/debug/rss_distance. */218 }219 port processingTimeOut : ProcessingTimePublication {220 doc /* ~/debug/processing_time_detail_ms. */221 }222 }223224 part def RequiredROS2ApplicationRuntimeBoundary {225 doc /*226 * Required rclcpp, executor, RMW/DDS, TF, diagnostic_updater, message, and227 * process-lifecycle environment. Concrete runtime and deployment choices228 * are intentionally deferred to INC-AEBS-008.229 */230 }231232 part def RequiredDriverWarningProviderBoundary {233 doc /*234 * Required physical HMI/warning realization. The pinned Autoware AEB node235 * does not realize DriverWarningManagement. The proposed realization is a236 * separate HMI warning adapter that consumes a typed AEBS warning request237 * produced before emergency intervention and presents the selected visual,238 * audible, or haptic warning. Do not derive this warning from the AEB ERROR239 * diagnostic: that diagnostic reports emergency-stop activation and is too240 * late and too coarse to represent the warning contract. A typed warning241 * output or upstream AEB extension remains required.242 */243 }244245 part def RequiredDiagnosticFailureBridgeBoundary {246 doc /*247 * Required bridge from the AEB ERROR diagnostic to the failure-state or248 * operation-mode input expected by an emergency Minimum Risk Manoeuvre249 * (MRM) handler. The pinned250 * diagnostic graph aggregator is a candidate mechanism, but no active251 * repository configuration routing aeb_emergency_stop into MRM selection252 * was verified for INC-AEBS-007.253 */254 }255256 part def RequiredEmergencyMRMHandlerBoundary {257 doc /*258 * Required emergency Minimum Risk Manoeuvre (MRM) state owner. Autoware's259 * pinned mrm_handler consumes260 * OperationModeAvailability and MRM status inputs, not the AEB diagnostic261 * directly. No concrete provider or accepted route is selected here.262 */263 }264265 part def RequiredVehicleCommandGateBoundary {266 doc /*267 * Required downstream arbitration and safety gate. The pinned AEB node does268 * not publish a vehicle actuation command.269 */270 }271272 part def RequiredVehicleInterfaceBoundary {273 doc /* Required adapter from gated vehicle command to the selected vehicle platform. */274 }275276 part def RequiredBrakeECUAndActuatorBoundary {277 doc /* Required brake-controller and physical actuator boundary; deferred to INC-AEBS-008. */278 }279280 part def RequiredHealthSupervisorBoundary {281 doc /*282 * Required owner of explicit AEBS valid/degraded/unavailable state and283 * failure indication. Input waiting/logging in the pinned node is not a284 * complete realization of that conceptual responsibility.285 */286 }287288 part def RequiredEvidenceServiceBoundary {289 doc /*290 * Required recorder/collector for accepted AEBS evidence. Diagnostics,291 * metrics, markers, and timing debug outputs are observable source data but292 * do not by themselves implement evidence retention or acceptance.293 */294 }295296 part def VehicleTargetAEBSPhysicalSoftwareBoundary {297 doc /*298 * INC-AEBS-007 physical software boundary. Only the Autoware source artifact299 * and AEB node are selected realizations. Runtime, HMI, emergency handling,300 * vehicle control, actuation, health, and evidence services remain external301 * required boundaries for later increments.302 */303304 part sourceArtifact : AutowareAEBSourceArtifact;305 part aebNode : AutowareAutonomousEmergencyBrakingNode;306307 // These are the public ports of the selected physical-software boundary.308 // The bindings below delegate each public port to the matching endpoint on309 // the contained AEB node. A bind is equality/delegation, not another ROS310 // topic flow: it lets external connections use this boundary without311 // bypassing the internal node. Ports are declared first so both bound usages312 // exist before the delegation relationships are stated.313 port pointCloudIn : PointCloud2Subscription;314 port velocityIn : VelocityReportSubscription;315 port imuIn : ImuSubscription;316 port predictedTrajectoryIn : TrajectorySubscription;317 port predictedObjectsIn : PredictedObjectsSubscription;318 port autowareStateIn : AutowareStateSubscription;319 port diagnosticsOut : DiagnosticPublication;320 port metricsOut : MetricPublication;321 port debugPointCloudOut : DebugPointCloudPublication;322 port debugMarkersOut : MarkerPublication;323 port virtualWallOut : MarkerPublication;324 port rssDistanceOut : DebugDistancePublication;325 port processingTimeOut : ProcessingTimePublication;326327 bind pointCloudIn = aebNode.pointCloudIn;328 bind velocityIn = aebNode.velocityIn;329 bind imuIn = aebNode.imuIn;330 bind predictedTrajectoryIn = aebNode.predictedTrajectoryIn;331 bind predictedObjectsIn = aebNode.predictedObjectsIn;332 bind autowareStateIn = aebNode.autowareStateIn;333 bind diagnosticsOut = aebNode.diagnosticsOut;334 bind metricsOut = aebNode.metricsOut;335 bind debugPointCloudOut = aebNode.debugPointCloudOut;336 bind debugMarkersOut = aebNode.debugMarkersOut;337 bind virtualWallOut = aebNode.virtualWallOut;338 bind rssDistanceOut = aebNode.rssDistanceOut;339 bind processingTimeOut = aebNode.processingTimeOut;340 }341342 part physicalSoftware : VehicleTargetAEBSPhysicalSoftwareBoundary;343 part requiredRuntime : RequiredROS2ApplicationRuntimeBoundary;344 part requiredWarningProvider : RequiredDriverWarningProviderBoundary;345 part requiredDiagnosticBridge : RequiredDiagnosticFailureBridgeBoundary;346 part requiredEmergencyHandler : RequiredEmergencyMRMHandlerBoundary;347 part requiredCommandGate : RequiredVehicleCommandGateBoundary;348 part requiredVehicleInterface : RequiredVehicleInterfaceBoundary;349 part requiredBrakeActuation : RequiredBrakeECUAndActuatorBoundary;350 part requiredHealthSupervisor : RequiredHealthSupervisorBoundary;351 part requiredEvidenceService : RequiredEvidenceServiceBoundary;352353 /* ──────────────────────────────────────────354 * Logical-to-physical realization coverage355 * ──────────────────────────────────────────356 *357 * Native SysML allocation follows the logical-responsibility-to-physical-358 * realization pattern used by the authoritative Allocation validation359 * example. SAF P8_PLOM asks which physical role implements each logical role;360 * it does not require reversing native allocation semantics.361 */362363 allocation def AvailableLogicalToPhysicalSoftwareRealization {364 doc /*365 * At the pinned source and selected configuration, inspected source behavior366 * exists for the mapped conceptual responsibility. Typing an allocation with367 * this definition lets the SAF physical-logical mapping view distinguish a368 * source-available candidate from a partial or missing realization. It does369 * not imply complete requirement satisfaction, scenario evidence, runtime370 * execution, or acceptance.371 */372 }373374 allocation def PartialLogicalToPhysicalSoftwareRealization {375 doc /*376 * Inspected source behavior covers only part of the mapped logical377 * responsibility. The allocation is retained because the physical element378 * genuinely contributes, while the companion control artifacts identify the379 * uncovered obligations. This prevents both false full-coverage claims and380 * loss of useful traceability.381 */382 }383384 allocation stateAcquisitionPartial : PartialLogicalToPhysicalSoftwareRealization385 allocate DE4SDV_AEBSConceptualArchitecture::system::stateAcquisition386 to physicalSoftware.aebNode;387388 allocation egoPathPredictionPartial : PartialLogicalToPhysicalSoftwareRealization389 allocate DE4SDV_AEBSConceptualArchitecture::system::egoPathPrediction390 to physicalSoftware.aebNode;391392 allocation targetProcessingAvailable : AvailableLogicalToPhysicalSoftwareRealization393 allocate DE4SDV_AEBSConceptualArchitecture::system::targetProcessing394 to physicalSoftware.aebNode;395396 allocation collisionRiskEvaluationAvailable : AvailableLogicalToPhysicalSoftwareRealization397 allocate DE4SDV_AEBSConceptualArchitecture::system::collisionRiskEvaluation398 to physicalSoftware.aebNode;399400 allocation interventionDecisionPartial : PartialLogicalToPhysicalSoftwareRealization401 allocate DE4SDV_AEBSConceptualArchitecture::system::interventionDecision402 to physicalSoftware.aebNode;403404 allocation healthSupervisionPartial : PartialLogicalToPhysicalSoftwareRealization405 allocate DE4SDV_AEBSConceptualArchitecture::system::healthSupervision406 to physicalSoftware.aebNode;407408 allocation evidenceRecordingPartial : PartialLogicalToPhysicalSoftwareRealization409 allocate DE4SDV_AEBSConceptualArchitecture::system::evidenceRecording410 to physicalSoftware.aebNode;411412 /*413 * Coverage records are first-class typed model elements. They distinguish an414 * absent realization, a blocked source branch, and an observable source415 * contribution from a true logical-to-physical allocation.416 */417 part def MissingPhysicalRealizationRecord :> MissingRealizationRecord;418 part def BlockedPhysicalRealizationBranchRecord :> BlockedRealizationBranchRecord;419 part def PhysicalSourceContributionRecord :> SourceContributionRecord;420421 part driverWarningRealizationGap : MissingPhysicalRealizationRecord {422 doc /* DriverWarningManagement has no selected physical owner in INC-AEBS-007. */423 ref part systemRole = DE4SDV_AEBSConceptualArchitecture::system::warningManagement;424 ref part requiredPhysicalRole = requiredWarningProvider;425 }426427 part predictedTrajectoryBranchBlocked : BlockedPhysicalRealizationBranchRecord {428 doc /*429 * The predicted-trajectory input/path branch is blocked by DEF-AEBS-PHY-001.430 * The IMU branch remains the source-available contribution to the partial431 * EgoPathPrediction allocation. Resolve this by either moving to a reviewed432 * upstream revision where the empty-path access is fixed, or by proposing an433 * upstream patch that initializes the path before path.back() and adds a434 * regression test. Until that fix is reviewed, the simulation configuration435 * keeps use_predicted_trajectory false; disabling the branch is containment,436 * not resolution.437 */438 ref part systemRole = DE4SDV_AEBSConceptualArchitecture::system::egoPathPrediction;439 ref part physicalCandidate = physicalSoftware.aebNode;440 ref part pinnedSource = physicalSoftware.sourceArtifact;441 }442443 part emergencyDiagnosticContribution : PhysicalSourceContributionRecord {444 doc /*445 * The AEB node contributes an ERROR diagnostic only. It does not realize446 * the conceptual EmergencyInterventionCoordination contract or emit the447 * conceptual EmergencyInterventionRequest.448 */449 ref part conceptualConcern = DE4SDV_AEBSConceptualArchitecture::system::emergencyCoordination;450 ref part physicalSource = physicalSoftware.aebNode;451 ref part requiredPhysicalRole = requiredDiagnosticBridge;452 }453454 part healthCoverageGap : MissingPhysicalRealizationRecord {455 doc /* Complete valid/degraded/unavailable state ownership remains missing. */456 ref part systemRole = DE4SDV_AEBSConceptualArchitecture::system::healthSupervision;457 ref part requiredPhysicalRole = requiredHealthSupervisor;458 }459460 part evidenceCoverageGap : MissingPhysicalRealizationRecord {461 doc /* Evidence persistence, provenance, retention, and acceptance remain missing. */462 ref part systemRole = DE4SDV_AEBSConceptualArchitecture::system::evidenceRecording;463 ref part requiredPhysicalRole = requiredEvidenceService;464 }465466 dependency aebNodeTracesToPinnedSource from physicalSoftware::aebNode to physicalSoftware::sourceArtifact;467468 /*469 * Required emergency chain. These dependencies expose missing downstream470 * owners without inventing message schemas, deployments, or actuation claims.471 */472 dependency aebDiagnosticNeedsFailureBridge from physicalSoftware::aebNode to requiredDiagnosticBridge;473 dependency failureBridgeNeedsEmergencyHandler from requiredDiagnosticBridge to requiredEmergencyHandler;474 dependency emergencyHandlerNeedsCommandGate from requiredEmergencyHandler to requiredCommandGate;475 dependency commandGateNeedsVehicleInterface from requiredCommandGate to requiredVehicleInterface;476 /*477 * This final dependency records the still-missing handoff from the generic478 * vehicle-platform adapter to the brake ECU and actuator. It is an integration479 * obligation for a later member-product realization, not a modeled command480 * flow and not evidence that physical braking exists in this increment.481 */482 dependency vehicleInterfaceNeedsBrakeActuation from requiredVehicleInterface to requiredBrakeActuation;483484 dependency nodeNeedsRuntime from physicalSoftware::aebNode to requiredRuntime;485486 /* ──────────────────────────────────────────487 * SAF physical-domain concerns and views488 * ────────────────────────────────────────── */489490 concern physicalStructureConcern : PhysicalStructureConcern {491 doc /*492 * Reviewers need the selected Autoware software elements and every required493 * external physical boundary to be visible without implying deployment.494 */495 subject;496 stakeholder systemsEngineer : SystemsEngineer;497 stakeholder reviewer : OpenSourceReviewer;498 }499500 concern physicalInterfaceConcern : PhysicalInterfaceConcern {501 doc /*502 * Reviewers need the reusable ROS 2 message and port definitions plus the503 * exact typed topic usages on the pinned Autoware AEB node. Concrete504 * RMW/DDS protocol selection remains an explicit runtime obligation.505 */506 subject;507 stakeholder systemsEngineer : SystemsEngineer;508 stakeholder reviewer : OpenSourceReviewer;509 }510511 concern physicalLogicalMappingConcern : PhysicalLogicalMappingConcern {512 doc /*513 * Reviewers need available and partial mappings separated from blocked and514 * missing responsibilities; no mapping may imply requirement satisfaction.515 */516 subject;517 stakeholder systemsEngineer : SystemsEngineer;518 stakeholder reviewer : OpenSourceReviewer;519 }520521 view aebsPhysicalSoftwareStructureView {522 viewpoint selectedPhysicalStructureViewpoint : PhysicalStructureDefinitionViewpoint {523 frame physicalStructureConcern;524 }525526 expose physicalSoftware;527 expose physicalSoftware::sourceArtifact;528 expose physicalSoftware::aebNode;529 expose requiredRuntime;530 expose requiredWarningProvider;531 expose requiredDiagnosticBridge;532 expose requiredEmergencyHandler;533 expose requiredCommandGate;534 expose requiredVehicleInterface;535 expose requiredBrakeActuation;536 expose requiredHealthSupervisor;537 expose requiredEvidenceService;538 render asTreeDiagram;539 }540541 view aebsPhysicalSoftwareInterfaceView {542 viewpoint selectedPhysicalInterfaceViewpoint : PhysicalInterfaceDefinitionViewpoint {543 frame physicalInterfaceConcern;544 }545546 /*547 * P5_PIFD is a definition view, so expose the reusable port and exchanged548 * item definitions as well as the node's typed port usages. ROS 2 topic549 * transport is the inspected application-level protocol; the concrete550 * RMW/DDS protocol and deployment remain requiredRuntime obligations.551 */552 expose PointCloud2Message;553 expose VelocityReportMessage;554 expose ImuMessage;555 expose TrajectoryMessage;556 expose PredictedObjectsMessage;557 expose AutowareStateMessage;558 expose DiagnosticArrayMessage;559 expose MetricArrayMessage;560 expose DebugPointCloudMessage;561 expose MarkerArrayMessage;562 expose Float32StampedMessage;563 expose ProcessingTimeDetailMessage;564 expose ROS2TopicEndpoint;565 expose ROS2TopicSubscription;566 expose ROS2TopicPublication;567 expose ROS2PublishSubscribeTopicInterface;568 expose PointCloud2Subscription;569 expose VelocityReportSubscription;570 expose ImuSubscription;571 expose TrajectorySubscription;572 expose PredictedObjectsSubscription;573 expose AutowareStateSubscription;574 expose DiagnosticPublication;575 expose MetricPublication;576 expose DebugPointCloudPublication;577 expose MarkerPublication;578 expose DebugDistancePublication;579 expose ProcessingTimePublication;580 expose physicalSoftware::*;581 expose physicalSoftware::aebNode::*;582 expose requiredRuntime;583 render asTreeDiagram;584 }585586 view aebsPhysicalLogicalMappingView : MVD::MatrixView {587 viewpoint selectedPhysicalLogicalMappingViewpoint : PhysicalLogicalMappingViewpoint {588 frame physicalLogicalMappingConcern;589 }590 view :>> rowView {591 expose system::stateAcquisition;592 expose system::egoPathPrediction;593 expose system::targetProcessing;594 expose system::collisionRiskEvaluation;595 expose system::interventionDecision;596 expose system::warningManagement;597 expose system::emergencyCoordination;598 expose system::healthSupervision;599 expose system::evidenceRecording;600 attribute :>> representation = Rep::name;601 }602 view :>> columnView {603 expose physicalSoftware::aebNode;604 expose requiredWarningProvider;605 expose requiredDiagnosticBridge;606 expose requiredEmergencyHandler;607 expose requiredCommandGate;608 expose requiredVehicleInterface;609 expose requiredBrakeActuation;610 expose requiredHealthSupervisor;611 expose requiredEvidenceService;612 attribute :>> representation = Rep::name;613 }614 view :>> cellView {615 expose DE4SDV_AEBSPhysicalSoftwareRealization::*;616 attribute :>> direction = SysideViews::MatrixTraceabilityDirection::row2col;617 }618 }619}620