textual-notation-of-model/packages/architecture/vehicle_sensing_boundary.sysml

1 view(s) · 57 declared member(s) view source on GitHub

view sensingBoundaryView

ViewpointselectedPhysicalStructureViewpoint (PhysicalStructureDefinitionViewpoint)
ConcernsensingBoundaryStructureConcern
RenderasTreeDiagram
ExposesSensorBoundary
PerceptionSensorBoundary
VehicleStateSensorBoundary
SensorObservation
PointCloudObservation
IMUObservation
VehicleMotionObservation
PerceivedObjectObservation
SensingOutputPort
LiDARSensorBoundary
RadarSensorBoundary
CameraSensorBoundary
IMUSensorBoundary
WheelOdometrySensorBoundary
SensorSuite
PerceptionPipelineBoundary
VehicleSensingAssembly
pointCloudObservationSupportsVehicleMotionState
imuObservationSupportsVehicleMotionState
vehicleMotionObservationSupportsVehicleMotionState
perceivedObjectObservationSupportsForwardTargetState
lidarProducesPointCloudObservation
lidarProducesPointCloud2Message
radarProducesPerceivedObjectObservation
cameraProducesPerceivedObjectObservation
imuProducesImuObservation
imuProducesImuMessage
wheelOdometryProducesVehicleMotionObservation
wheelOdometryProducesVelocityReportMessage
perceptionPipelineProducesPerceivedObjectObservation
perceptionPipelineProducesPredictedObjectsMessage
perceptionPipelineRelaysPointCloud2Message
SensorSuite
sensingAssemblyResidesInHardwareLayer
Sourcetextual-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