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

ViewpointselectedPhysicalStructureViewpoint (PhysicalStructureDefinitionViewpoint)
ConcernphysicalStructureConcern
RenderasTreeDiagram
ExposesphysicalSoftware
physicalSoftware::sourceArtifact
physicalSoftware::aebNode
requiredRuntime
requiredWarningProvider
requiredDiagnosticBridge
requiredEmergencyHandler
requiredCommandGate
requiredVehicleInterface
requiredBrakeActuation
requiredHealthSupervisor
requiredEvidenceService
Sourcetextual-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

ViewpointselectedPhysicalInterfaceViewpoint (PhysicalInterfaceDefinitionViewpoint)
ConcernphysicalInterfaceConcern
RenderasTreeDiagram
ExposesPointCloud2Message
VelocityReportMessage
ImuMessage
TrajectoryMessage
PredictedObjectsMessage
AutowareStateMessage
DiagnosticArrayMessage
MetricArrayMessage
DebugPointCloudMessage
MarkerArrayMessage
Float32StampedMessage
ProcessingTimeDetailMessage
ROS2TopicEndpoint
ROS2TopicSubscription
ROS2TopicPublication
ROS2PublishSubscribeTopicInterface
PointCloud2Subscription
VelocityReportSubscription
ImuSubscription
TrajectorySubscription
PredictedObjectsSubscription
AutowareStateSubscription
DiagnosticPublication
MetricPublication
DebugPointCloudPublication
MarkerPublication
DebugDistancePublication
ProcessingTimePublication
physicalSoftware::*
physicalSoftware::aebNode::*
requiredRuntime
Sourcetextual-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

ViewpointselectedPhysicalLogicalMappingViewpoint (PhysicalLogicalMappingViewpoint)
View typeMVD::MatrixView
ConcernphysicalLogicalMappingConcern
Exposessystem::stateAcquisition
system::egoPathPrediction
system::targetProcessing
system::collisionRiskEvaluation
system::interventionDecision
system::warningManagement
system::emergencyCoordination
system::healthSupervision
system::evidenceRecording
physicalSoftware::aebNode
requiredWarningProvider
requiredDiagnosticBridge
requiredEmergencyHandler
requiredCommandGate
requiredVehicleInterface
requiredBrakeActuation
requiredHealthSupervisor
requiredEvidenceService
DE4SDV_AEBSPhysicalSoftwareRealization::*
Sourcetextual-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