textual-notation-of-model/packages/features/aebs/aebs_visualization_logical_architecture.sysml
2 view(s) · 102 declared member(s) Jump to source ↓
view aebsVisualizationLogicalStructureViewsource ↓
| Viewpoint | selectedLogicalStructureViewpoint (SystemStructureDefinitionViewpoint) |
|---|---|
| Concern | visualizationLogicalStructureConcern |
| Render | asTreeDiagram |
| Exposes | logicalSystemlogicalSystem::nativeAebSourcelogicalSystem::coordinatorSourcelogicalSystem::sourceAdapterlogicalSystem::transportlogicalSystem::ingresslogicalSystem::displayServicelogicalSystem::applicationlogicalSystem::evidencelogicalSystem::healthSupervisor |
| Source | textual-notation-of-model/packages/features/aebs/aebs_visualization_logical_architecture.sysml:270 |
Hover a model element for details open raw SVG.
view aebsVisualizationLogicalInternalExchangeViewsource ↓
| Viewpoint | selectedLogicalExchangeViewpoint (SystemInternalExchangeViewpoint) |
|---|---|
| Concern | visualizationLogicalExchangeConcern |
| Render | asInterconnectionDiagram |
| Depth | -1 |
| Exposes | logicalSystemlogicalSystem::** |
| Source | textual-notation-of-model/packages/features/aebs/aebs_visualization_logical_architecture.sysml:288 |
Hover a model element for details open raw SVG.
Source
1/*2 * DE4SDV AEBS visualization logical architecture slice.3 *4 * INC-AEBS-010 Phase 7: conceptual/logical roles, typed ports, and exchange5 * interfaces for the visualization test system, with per-role provenance and6 * a read-only adapter contract. The adapter has source-side subscriptions and7 * transport output only — no command input/output is modeled anywhere.8 *9 * Source-side exchanges reuse the source-backed Autoware/DE4SDV physical10 * element types from the accepted AEBS physical realization; display-side11 * exchanges remain technology-neutral until Phase 8 selects them.12 */1314package DE4SDV_AEBSVisualizationLogicalArchitecture {15 private import DE4SDV_MethodContext::*;16 private import DE4SDV_Stakeholders::*;17 private import DE4SDV_AEBSVisualizationFraming::*;18 private import DE4SDV_AEBSVisualizationFunctionalArchitecture::*;19 private import DE4SDV_AEBSPhysicalSoftwareRealization::*;20 private import SAF_Viewpoints::*;21 private import SysideViews::**;22 private import Views::*;2324 /* ──────────────────────────────────────────25 * Logical port definitions26 * ────────────────────────────────────────── */2728 port def NativeAEBMetricInput {29 doc /* Read-only native AEB RSS-distance observation. */30 in item rssDistance : Float32StampedMessage;31 }3233 port def NativeAEBObstacleInput {34 doc /* Read-only native AEB filtered obstacle observation. */35 in item obstacleCloud : DebugPointCloudMessage;36 }3738 port def NativeAEBDiagnosticInput {39 doc /* Read-only native AEB intervention diagnostic observation. */40 in item diagnostics : DiagnosticArrayMessage;41 }4243 port def De4sdvWarningInput {44 doc /* Read-only DE4SDV AEBS warning-request observation. */45 in item warningRequest;46 }4748 port def De4sdvBrakingInput {49 doc /* Read-only DE4SDV AEBS braking-request observation. */50 in item brakingRequest;51 }5253 port def De4sdvLifecycleInput {54 doc /* Read-only DE4SDV AEBS coordination-state observation. */55 in item lifecycleState;56 }5758 port def VisualizationFrameOutput {59 doc /* Assembled visualization frame handed to transport. */60 out item visualizationFrame : AEBSVisualizationFrame;61 }6263 port def VisualizationFrameInput {64 doc /* Frame received by the display-side ingress. */65 in item visualizationFrame : AEBSVisualizationFrame;66 }6768 port def VisualizationPublicationOutput {69 doc /* Display-side service publication consumed by the application. */70 out item visualizationFrame : AEBSVisualizationFrame;71 }7273 port def VisualizationSubscriptionInput {74 doc /* Application-side subscription to the display service. */75 in item visualizationFrame : AEBSVisualizationFrame;76 }7778 port def RenderedStateOutput {79 doc /* Emitted presentation state for evidence correlation. */80 out item rendered : RenderedAEBSState;81 }8283 /* ──────────────────────────────────────────84 * Logical roles85 * ────────────────────────────────────────── */8687 part def NativeAEBSourceRole {88 doc /*89 * Logical role of the pinned native Autoware AEB component as a read-only90 * visualization source. It publishes; the visualization never publishes91 * to it and never commands it.92 */93 port rssDistanceOut : DebugDistancePublication;94 port obstacleCloudOut : DebugPointCloudPublication;95 port diagnosticsOut : DiagnosticPublication;96 }9798 part def De4sdvCoordinatorSourceRole {99 doc /*100 * Logical role of the existing DE4SDV AEBS coordinator as a read-only101 * visualization source of warning, braking, and lifecycle state.102 */103 port warningRequestOut;104 port brakingRequestOut;105 port lifecycleStateOut;106 }107108 part def VisualizationSourceAdapterRole {109 doc /*110 * Read-only source adapter. Subscribes to native AEB and DE4SDV sources,111 * assembles the versioned frame with per-field provenance, validates,112 * and emits toward transport. No command input/output exists.113 */114 port rssDistanceIn : NativeAEBMetricInput;115 port obstacleCloudIn : NativeAEBObstacleInput;116 port diagnosticsIn : NativeAEBDiagnosticInput;117 port warningIn : De4sdvWarningInput;118 port brakingIn : De4sdvBrakingInput;119 port lifecycleIn : De4sdvLifecycleInput;120 port frameOut : VisualizationFrameOutput;121 }122123 part def ReverseFrameTransportRole {124 doc /* Carries accepted frames from the source side to the display side. */125 port frameIn : VisualizationFrameOutput;126 port frameOut : VisualizationFrameInput;127 }128129 part def DisplayIngressRole {130 doc /*131 * Display-side ingress: validates received frames and publishes them to132 * the display service. Rejects invalid input without display.133 */134 port frameIn : VisualizationFrameInput;135 port frameOut : VisualizationPublicationOutput;136 }137138 part def DisplayServiceRole {139 doc /* Display-side subscription service between ingress and application. */140 port publishedIn : VisualizationPublicationOutput;141 port subscriptionOut : VisualizationSubscriptionInput;142 }143144 part def VisualizationApplicationRole {145 doc /*146 * Display application role: subscribes, supervises presentation state,147 * renders AEBS state with provenance, and emits evidence.148 */149 port frameIn : VisualizationSubscriptionInput;150 port renderedOut : RenderedStateOutput;151 }152153 part def VisualizationEvidenceRole {154 doc /* Records joinable source/bridge/service/display correlation records. */155 port renderedIn : RenderedStateOutput;156 }157158 part def VisualizationHealthSupervisorRole {159 doc /*160 * Owns freshness, availability, invalid, and restored dispositions for161 * the visualization presentation. Separate from any System 1 AEBS health162 * owner; it never writes back toward sources.163 */164 port renderedIn : RenderedStateOutput;165 }166167 /* ──────────────────────────────────────────168 * Logical system composition169 * ────────────────────────────────────────── */170171 part def AEBSVisualizationLogicalSystem {172 doc /*173 * Logical decomposition of the visualization test system. Information174 * flows one way: sources → adapter → transport → ingress → service →175 * application → evidence. No reverse flow into System 1 exists.176 */177178 part nativeAebSource : NativeAEBSourceRole;179 part coordinatorSource : De4sdvCoordinatorSourceRole;180 part sourceAdapter : VisualizationSourceAdapterRole;181 part transport : ReverseFrameTransportRole;182 part ingress : DisplayIngressRole;183 part displayService : DisplayServiceRole;184 part application : VisualizationApplicationRole;185 part evidence : VisualizationEvidenceRole;186 part healthSupervisor : VisualizationHealthSupervisorRole;187188 // Source observations into the adapter.189 connection rssDistanceObservation190 connect nativeAebSource.rssDistanceOut to sourceAdapter.rssDistanceIn;191 connection obstacleCloudObservation192 connect nativeAebSource.obstacleCloudOut to sourceAdapter.obstacleCloudIn;193 connection diagnosticObservation194 connect nativeAebSource.diagnosticsOut to sourceAdapter.diagnosticsIn;195 connection warningObservation196 connect coordinatorSource.warningRequestOut to sourceAdapter.warningIn;197 connection brakingObservation198 connect coordinatorSource.brakingRequestOut to sourceAdapter.brakingIn;199 connection lifecycleObservation200 connect coordinatorSource.lifecycleStateOut to sourceAdapter.lifecycleIn;201202 // Forward visualization flow only; no connection runs back toward sources.203 connection adapterToTransport204 connect sourceAdapter.frameOut to transport.frameIn;205 connection transportToIngress206 connect transport.frameOut to ingress.frameIn;207 connection ingressToService208 connect ingress.frameOut to displayService.publishedIn;209 connection serviceToApplication210 connect displayService.subscriptionOut to application.frameIn;211 connection applicationToEvidence212 connect application.renderedOut to evidence.renderedIn;213 connection applicationToHealthSupervisor214 connect application.renderedOut to healthSupervisor.renderedIn;215 }216217 part logicalSystem : AEBSVisualizationLogicalSystem;218219 /* Logical-to-functional allocation: each role realizes functional actions. */220 allocation def LogicalRoleToFunction;221222 allocation observeBySources : LogicalRoleToFunction223 allocate aebsVisualizationFunctionalFlow.observe224 to logicalSystem.sourceAdapter;225226 allocation assembleByAdapter : LogicalRoleToFunction227 allocate aebsVisualizationFunctionalFlow.assemble228 to logicalSystem.sourceAdapter;229230 allocation validateByAdapter : LogicalRoleToFunction231 allocate aebsVisualizationFunctionalFlow.validate232 to logicalSystem.sourceAdapter;233234 allocation superviseByHealth : LogicalRoleToFunction235 allocate aebsVisualizationFunctionalFlow.supervise236 to logicalSystem.healthSupervisor;237238 allocation transportByTransport : LogicalRoleToFunction239 allocate aebsVisualizationFunctionalFlow.transport240 to logicalSystem.transport;241242 allocation publishByIngress : LogicalRoleToFunction243 allocate aebsVisualizationFunctionalFlow.publish244 to logicalSystem.ingress;245246 allocation presentByApplication : LogicalRoleToFunction247 allocate aebsVisualizationFunctionalFlow.present248 to logicalSystem.application;249250 allocation recordByEvidence : LogicalRoleToFunction251 allocate aebsVisualizationFunctionalFlow.record252 to logicalSystem.evidence;253254 /* ──────────────────────────────────────────255 * Concerns and views256 * ────────────────────────────────────────── */257258 concern visualizationLogicalStructureConcern : ConceptualStructureConcern {259 subject;260 stakeholder systemsEngineer : SystemsEngineer;261 stakeholder reviewer : OpenSourceReviewer;262 }263264 concern visualizationLogicalExchangeConcern : ConceptualInternalExchangeConcern {265 subject;266 stakeholder systemsEngineer : SystemsEngineer;267 stakeholder reviewer : OpenSourceReviewer;268 }269270 view aebsVisualizationLogicalStructureView {271 viewpoint selectedLogicalStructureViewpoint : SystemStructureDefinitionViewpoint {272 frame visualizationLogicalStructureConcern;273 }274275 expose logicalSystem;276 expose logicalSystem::nativeAebSource;277 expose logicalSystem::coordinatorSource;278 expose logicalSystem::sourceAdapter;279 expose logicalSystem::transport;280 expose logicalSystem::ingress;281 expose logicalSystem::displayService;282 expose logicalSystem::application;283 expose logicalSystem::evidence;284 expose logicalSystem::healthSupervisor;285 render asTreeDiagram;286 }287288 view aebsVisualizationLogicalInternalExchangeView {289 viewpoint selectedLogicalExchangeViewpoint : SystemInternalExchangeViewpoint {290 frame visualizationLogicalExchangeConcern;291 }292293 expose logicalSystem;294 expose logicalSystem::**;295 attribute depth = -1;296 attribute showAnnotationRows = false;297 attribute maxCompartmentEntries = 0;298 render asInterconnectionDiagram;299 }300}301