textual-notation-of-model/packages/architecture/vehicle_sensing_boundary.sysml
1 view(s) · 57 declared member(s) view source on GitHub
view sensingBoundaryView
| Viewpoint | selectedPhysicalStructureViewpoint (PhysicalStructureDefinitionViewpoint) |
|---|---|
| Concern | sensingBoundaryStructureConcern |
| Render | asTreeDiagram |
| Exposes | SensorBoundaryPerceptionSensorBoundaryVehicleStateSensorBoundarySensorObservationPointCloudObservationIMUObservationVehicleMotionObservationPerceivedObjectObservationSensingOutputPortLiDARSensorBoundaryRadarSensorBoundaryCameraSensorBoundaryIMUSensorBoundaryWheelOdometrySensorBoundarySensorSuitePerceptionPipelineBoundaryVehicleSensingAssemblypointCloudObservationSupportsVehicleMotionStateimuObservationSupportsVehicleMotionStatevehicleMotionObservationSupportsVehicleMotionStateperceivedObjectObservationSupportsForwardTargetStatelidarProducesPointCloudObservationlidarProducesPointCloud2MessageradarProducesPerceivedObjectObservationcameraProducesPerceivedObjectObservationimuProducesImuObservationimuProducesImuMessagewheelOdometryProducesVehicleMotionObservationwheelOdometryProducesVelocityReportMessageperceptionPipelineProducesPerceivedObjectObservationperceptionPipelineProducesPredictedObjectsMessageperceptionPipelineRelaysPointCloud2MessageSensorSuitesensingAssemblyResidesInHardwareLayer |
| Source | textual-notation-of-model/packages/architecture/vehicle_sensing_boundary.sysml:288 |
No committed diagram. Regenerate via the Privileged Syside Validation workflow (expected artifact
diagrams/diagram-sensingBoundaryView.svg).Source
1/*2 * DE4SDV vehicle sensing boundary architecture model slice.3 *4 * This package models the platform-level sensing boundary between physical5 * sensors and the ADAS application stack. It defines sensor categories,6 * observation semantics, perception pipeline boundary, and the traceability7 * path from sensor outputs to the ROS 2 topic message types consumed by the8 * AEBS physical software realization.9 *10 * Scope:11 * - Abstract and concrete sensor boundary definitions12 * - Observation item types bridging sensors to functional vocabulary13 * - Perception pipeline boundary (raw sensor data to object-level output)14 * - Vehicle sensing assembly with PLE variation points for sensor selection15 * - Traceability dependencies from sensors to ROS 2 message types16 *17 * Out of scope:18 * - Sensor internals (specs, range, resolution, calibration)19 * - Concrete perception algorithm implementation20 * - Physical wiring harness or ECU topology21 * - Sensor-to-OS driver binding22 *23 * Relationship to SDV platform stack:24 * Sensors reside in the HardwareLayer of the SDV platform stack. This slice25 * specializes that boundary without coupling to any specific hardware vendor.26 * Sensor suite composition is a product-line variation point: concrete member27 * products select sensor variants per the PLE feature model.28 *29 * Relationship to AEBS:30 * The AEBS physical software realization consumes ROS 2 topics published by31 * sensors and the perception pipeline. This slice establishes the traceability32 * from physical sensor types through observation items to those message types.33 * It does not import AEBS system architecture — the connection is through34 * typed dependencies, not functional or logical flows.35 *36 * Semantic basis:37 * - SysML v2 specification: variation/variant notation (section 7.9)38 * - Systems-Modeling/SysML-v2-Release:39 * training/36. Variability/Variation Definitions.sysml (definition-level variations)40 * validation/07-Variant Configuration/7b-Variant Configurations.sysml (composition)41 */4243package DE4SDV_VehicleSensingBoundary {44 private import DE4SDV_SDVPlatformStack::*;45 private import DE4SDV_AEBSFunctionalBehavior::Features::AEBS::FunctionalBehavior::*;46 private import DE4SDV_AEBSPhysicalSoftwareRealization::*;47 private import SAF_Viewpoints::*;48 private import DE4SDV_Stakeholders::*;49 private import Views::*;5051 /* ──────────────────────────────────────────52 * Sensor boundary abstractions53 * ────────────────────────────────────────── */5455 abstract part def SensorBoundary {56 doc /*57 * Abstract base for physical sensor boundaries at the vehicle sensing58 * layer. Concrete sensor types specialize this boundary and expose a typed59 * sensing output port for their observation stream.60 */6162 port sensingOutputOut : SensingOutputPort;63 }6465 abstract part def PerceptionSensorBoundary :> SensorBoundary {66 doc /*67 * Base boundary for sensors that produce perception-oriented data such as68 * point clouds or object-level detections.69 */70 }7172 abstract part def VehicleStateSensorBoundary :> SensorBoundary {73 doc /*74 * Base boundary for sensors that produce vehicle motion or state data used75 * by the ADAS application stack and downstream vehicle behavior functions.76 */77 }7879 /* ──────────────────────────────────────────80 * Sensor observation abstractions81 * ────────────────────────────────────────── */8283 abstract item def SensorObservation {84 doc /*85 * Abstract base for all sensor outputs crossing the sensing boundary.86 * Concrete observation types carry the semantic meaning of each sensor87 * stream before it is mapped into application-facing software messages.88 */89 }9091 item def PointCloudObservation :> SensorObservation {92 doc /* Raw 3D point cloud data from LiDAR or similar ranging sensors. */93 }9495 item def IMUObservation :> SensorObservation {96 doc /* Inertial measurement data from an IMU sensor. */97 }9899 item def VehicleMotionObservation :> SensorObservation {100 doc /* Vehicle speed, acceleration, and related motion-state observation data. */101 }102103 item def PerceivedObjectObservation :> SensorObservation {104 doc /* Processed object-detection output produced by a perception pipeline. */105 }106107 /*108 * Traceability from sensing observations to functional-behavior item types.109 * These links keep the platform sensing boundary aligned with the AEBS110 * functional-behavior vocabulary without importing system architecture.111 */112 dependency pointCloudObservationSupportsVehicleMotionState from PointCloudObservation to VehicleMotionState;113 dependency imuObservationSupportsVehicleMotionState from IMUObservation to VehicleMotionState;114 dependency vehicleMotionObservationSupportsVehicleMotionState from VehicleMotionObservation to VehicleMotionState;115 dependency perceivedObjectObservationSupportsForwardTargetState from PerceivedObjectObservation to ForwardTargetState;116117 /* ──────────────────────────────────────────118 * Sensing output port definition119 * ────────────────────────────────────────── */120121 port def SensingOutputPort {122 doc /*123 * Generic sensing output port used by physical sensor boundaries and the124 * platform-level perception pipeline boundary.125 */126 out item observation : SensorObservation;127 }128129 /* ──────────────────────────────────────────130 * Concrete sensor boundary specializations131 * ────────────────────────────────────────── */132133 part def LiDARSensorBoundary :> PerceptionSensorBoundary {134 doc /* LiDAR sensor producing 3D point cloud observations. */135 port pointCloudOut : SensingOutputPort;136 }137138 part def RadarSensorBoundary :> PerceptionSensorBoundary {139 doc /* Radar sensor producing object detection observations. */140 port radarObjectOut : SensingOutputPort;141 }142143 part def CameraSensorBoundary :> PerceptionSensorBoundary {144 doc /* Camera sensor producing image-based object detection observations. */145 port cameraObjectOut : SensingOutputPort;146 }147148 part def IMUSensorBoundary :> VehicleStateSensorBoundary {149 doc /* IMU sensor producing inertial motion observations. */150 port imuOut : SensingOutputPort;151 }152153 part def WheelOdometrySensorBoundary :> VehicleStateSensorBoundary {154 doc /* Wheel odometry producing vehicle velocity observations. */155 port velocityOut : SensingOutputPort;156 }157158 /*159 * Traceability from concrete sensor types to observation semantics and ROS 2160 * message types consumed by the AEBS physical software realization.161 */162 dependency lidarProducesPointCloudObservation from LiDARSensorBoundary to PointCloudObservation;163 dependency lidarProducesPointCloud2Message from LiDARSensorBoundary to PointCloud2Message;164 dependency radarProducesPerceivedObjectObservation from RadarSensorBoundary to PerceivedObjectObservation;165 dependency cameraProducesPerceivedObjectObservation from CameraSensorBoundary to PerceivedObjectObservation;166 dependency imuProducesImuObservation from IMUSensorBoundary to IMUObservation;167 dependency imuProducesImuMessage from IMUSensorBoundary to ImuMessage;168 dependency wheelOdometryProducesVehicleMotionObservation from WheelOdometrySensorBoundary to VehicleMotionObservation;169 dependency wheelOdometryProducesVelocityReportMessage from WheelOdometrySensorBoundary to VelocityReportMessage;170171 /* ──────────────────────────────────────────172 * Sensor suite composition173 *174 * Motion sensors (IMU, wheel odometry) are common capabilities required175 * across all member products. They are NOT variation points — they are176 * plain parts of the sensing assembly, not features that distinguish177 * member products (ISO/IEC 26580).178 *179 * Perception sensors (LiDAR, radar, camera) are optional features that180 * distinguish member products. A product may have any combination (LiDAR +181 * camera, radar-only, all three, etc). SysML v2 variation/variant is182 * exclusive choice, so multi-select cannot be expressed as a single183 * variation. Instead, each perception sensor is an independent include/184 * exclude variation point using the [0]/[1] multiplicity pattern (same185 * pattern as the SDV platform stack's hypervisor "none" variant).186 *187 * The PLE feature model (sdv_product_line.yaml) uses or_group for perception188 * sensors, which expresses multi-select at the feature level. The189 * configurator resolves the YAML selections and annotates which sensors190 * are enabled in the generated product-model projection.191 * ────────────────────────────────────────── */192193 part def SensorSuite {194 doc /* Abstract composite of one or more physical sensor boundaries selected for a member product. */195 }196197 /*198 * Perception sensor variation points — independent include/exclude per199 * sensor. Each variation offers a present [1] or absent [0] variant.200 * A configured product selects present or absent for each independently,201 * enabling any combination (LiDAR + camera, radar-only, all three, etc).202 */203 variation part lidarSensor : LiDARSensorBoundary {204 variant part lidarPresent[1] : LiDARSensorBoundary;205 variant part lidarAbsent[0];206 }207208 variation part radarSensor : RadarSensorBoundary {209 variant part radarPresent[1] : RadarSensorBoundary;210 variant part radarAbsent[0];211 }212213 variation part cameraSensor : CameraSensorBoundary {214 variant part cameraPresent[1] : CameraSensorBoundary;215 variant part cameraAbsent[0];216 }217218 /* ──────────────────────────────────────────219 * Perception pipeline boundary220 * ────────────────────────────────────────── */221222 part def PerceptionPipelineBoundary {223 doc /*224 * Boundary between raw sensor observations and processed perception outputs225 * consumed by ADAS applications. The perception pipeline fuses raw sensor226 * data into object-level perception results. Concrete perception227 * implementation (e.g. Autoware perception stack) is a separate concern.228 */229230 port rawSensorIn : SensingOutputPort;231 port perceivedObjectsOut : SensingOutputPort;232 }233234 dependency perceptionPipelineProducesPerceivedObjectObservation from PerceptionPipelineBoundary to PerceivedObjectObservation;235 dependency perceptionPipelineProducesPredictedObjectsMessage from PerceptionPipelineBoundary to PredictedObjectsMessage;236 dependency perceptionPipelineRelaysPointCloud2Message from PerceptionPipelineBoundary to PointCloud2Message;237238 /* ──────────────────────────────────────────239 * Vehicle sensing assembly240 * ────────────────────────────────────────── */241242 part def VehicleSensingAssembly {243 doc /*244 * Platform-level sensing assembly for an SDV member product. Composes245 * common motion sensors (present in all member products) with optional246 * perception sensors (selected per product-line configuration) and the247 * perception pipeline.248 */249250 // Common capabilities — present in all member products, not variation points251 part imuSensor : IMUSensorBoundary;252 part wheelOdometrySensor : WheelOdometrySensorBoundary;253254 // Perception sensor variation points — independent include/exclude per sensor255 variation part lidarSensor : LiDARSensorBoundary;256 variation part radarSensor : RadarSensorBoundary;257 variation part cameraSensor : CameraSensorBoundary;258259 part perceptionPipeline : PerceptionPipelineBoundary;260 }261262 /*263 * The sensing assembly resides in the hardware layer of the SDV platform264 * stack. This dependency makes the stack relationship explicit without265 * modeling internal hardware topology.266 */267 dependency sensingAssemblyResidesInHardwareLayer from VehicleSensingAssembly to HardwareLayer;268269 /* ──────────────────────────────────────────270 * SAF physical-domain concern and view271 * ──────────────────────────────────────────272 * Uses SAF PhysicalStructureDefinitionViewpoint (P2_PSTD) — not an273 * invented viewpoint. The sensing boundary is a physical/software274 * structure that needs to be visible for integration review.275 */276277 concern sensingBoundaryStructureConcern : PhysicalStructureConcern {278 doc /*279 * Reviewers need the sensor-to-application traceability boundary to be280 * visible: which physical sensors produce the observations that feed the281 * ADAS application stack.282 */283 subject;284 stakeholder systemsEngineer : SystemsEngineer;285 stakeholder reviewer : OpenSourceReviewer;286 }287288 view sensingBoundaryView {289 viewpoint selectedPhysicalStructureViewpoint : PhysicalStructureDefinitionViewpoint {290 frame sensingBoundaryStructureConcern;291 }292293 expose SensorBoundary;294 expose PerceptionSensorBoundary;295 expose VehicleStateSensorBoundary;296 expose SensorObservation;297 expose PointCloudObservation;298 expose IMUObservation;299 expose VehicleMotionObservation;300 expose PerceivedObjectObservation;301 expose SensingOutputPort;302 expose LiDARSensorBoundary;303 expose RadarSensorBoundary;304 expose CameraSensorBoundary;305 expose IMUSensorBoundary;306 expose WheelOdometrySensorBoundary;307 expose SensorSuite;308 expose PerceptionPipelineBoundary;309 expose VehicleSensingAssembly;310 expose pointCloudObservationSupportsVehicleMotionState;311 expose imuObservationSupportsVehicleMotionState;312 expose vehicleMotionObservationSupportsVehicleMotionState;313 expose perceivedObjectObservationSupportsForwardTargetState;314 expose lidarProducesPointCloudObservation;315 expose lidarProducesPointCloud2Message;316 expose radarProducesPerceivedObjectObservation;317 expose cameraProducesPerceivedObjectObservation;318 expose imuProducesImuObservation;319 expose imuProducesImuMessage;320 expose wheelOdometryProducesVehicleMotionObservation;321 expose wheelOdometryProducesVelocityReportMessage;322 expose perceptionPipelineProducesPerceivedObjectObservation;323 expose perceptionPipelineProducesPredictedObjectsMessage;324 expose perceptionPipelineRelaysPointCloud2Message;325 expose SensorSuite;326 expose sensingAssemblyResidesInHardwareLayer;327 render asTreeDiagram;328 }329}330