textual-notation-of-model/packages/features/aebs/aebs_visualization_functional_architecture.sysml

3 view(s) · 90 declared member(s) Jump to source ↓

view aebsVisualizationFunctionStructureViewsource ↓

ViewpointselectedFunctionStructureViewpoint (SystemStructureDefinitionViewpoint)
ConcernvisualizationFunctionStructureConcern
RenderasTreeDiagram
ExposesaebsVisualizationFunctionalFlow
Sourcetextual-notation-of-model/packages/features/aebs/aebs_visualization_functional_architecture.sysml:313
diagram-aebsVisualizationFunctionStructureView.svg
«view» aebsVisualizationFunctionStructureView expose aebsVisualizationFunctionalFlow «action» aebsVisualizationFunctionalFlow : AebsVisualizationFunctionalFlow items ^rendered : RenderedAEBSState ^evidenceRecord : ScalarValues::String actions ^observe : ObserveAEBSSources ^assemble : AssembleVisualizationFrame ^validate : ValidateFrame ^supervise : SuperviseHealth ^transport : TransportFrame ^publish : PublishToDisplayService ^present : RenderAEBSState ^record : RecordVisualizationEvidence

Hover a model element for details open raw SVG.

view aebsVisualizationFunctionInternalExchangeViewsource ↓

ViewpointselectedFunctionExchangeViewpoint (SystemInternalExchangeViewpoint)
ConcernvisualizationFunctionExchangeConcern
RenderasInterconnectionDiagram
Depth-1
ExposesaebsVisualizationFunctionalFlow
aebsVisualizationFunctionalFlow::**
Sourcetextual-notation-of-model/packages/features/aebs/aebs_visualization_functional_architecture.sysml:322
No committed diagram. Regenerate via the Privileged Syside Validation workflow (expected artifact diagrams/diagram-aebsVisualizationFunctionInternalExchangeView.svg).

view aebsVisualizationFunctionRequirementMappingViewsource ↓

ViewpointselectedFunctionMappingViewpoint (SystemFunctionMappingViewpoint)
View typeMVD::MatrixView
ConcernvisualizationFunctionMappingConcern
ExposesDE4SDV_AEBSVisualizationNeedsRequirements::reqSourceFidelity
DE4SDV_AEBSVisualizationNeedsRequirements::reqNativeParticipation
DE4SDV_AEBSVisualizationNeedsRequirements::reqDe4sdvParticipation
DE4SDV_AEBSVisualizationNeedsRequirements::reqNonInterference
DE4SDV_AEBSVisualizationNeedsRequirements::reqFailClosedFreshness
DE4SDV_AEBSVisualizationNeedsRequirements::reqAvailabilityDisposition
DE4SDV_AEBSVisualizationNeedsRequirements::reqInvalidRejection
DE4SDV_AEBSVisualizationNeedsRequirements::reqRestorationBehavior
DE4SDV_AEBSVisualizationNeedsRequirements::reqRealAAOSRendering
DE4SDV_AEBSVisualizationNeedsRequirements::reqEvidenceCorrelation
AebsVisualizationFunctionalFlow::observe
AebsVisualizationFunctionalFlow::assemble
AebsVisualizationFunctionalFlow::validate
AebsVisualizationFunctionalFlow::supervise
AebsVisualizationFunctionalFlow::transport
AebsVisualizationFunctionalFlow::publish
AebsVisualizationFunctionalFlow::present
AebsVisualizationFunctionalFlow::record
DE4SDV_AEBSVisualizationFunctionalArchitecture::*
Sourcetextual-notation-of-model/packages/features/aebs/aebs_visualization_functional_architecture.sysml:335
No committed diagram. Regenerate via the Privileged Syside Validation workflow (expected artifact diagrams/diagram-matrix-aebsVisualizationFunctionRequirementMappingView.svg).

Source

1/*2 * DE4SDV AEBS visualization functional architecture slice.3 *4 * INC-AEBS-010 Phase 6: technology-neutral functional decomposition of the5 * visualization test system — observation, frame assembly, validation,6 * health supervision, transport, AAOS publication, and rendering — plus the7 * semantic visualization frame, its per-field provenance kind, and the8 * presentation/health state machine with explicit transitions and guards.9 *10 * No transport protocol, serialization format, programming language,11 * operating system, or product choice appears here. Physical realization is12 * deferred to the Phase 7/8 slices in the same chain.13 */1415package DE4SDV_AEBSVisualizationFunctionalArchitecture {16  private import DE4SDV_MethodContext::*;17  private import DE4SDV_Stakeholders::*;18  private import DE4SDV_AEBSVisualizationFraming::*;19  private import DE4SDV_AEBSVisualizationNeedsRequirements::*;20  private import SAF_Viewpoints::*;21  private import SysideViews::**;22  private import Views::*;2324  /* ──────────────────────────────────────────25   * Provenance and health semantics26   * ────────────────────────────────────────── */2728  enum def VisualizationSourceKind {29    nativeAutowareAEB;30    de4sdvAebsCoordinator;31    displayDerived;32  }3334  enum def VisualizationHealthKind {35    unavailable;36    invalid;37    stale;38    restored;39    healthy;40  }4142  item def VisualizationFieldValue {43    doc /*44     * One displayed AEBS value with mandatory per-field provenance. No45     * displayed value may exist without a source kind, source timestamp,46     * units, and coordinate frame.47     */48    attribute sourceKind : VisualizationSourceKind;49    attribute sourceTimestampNs : ScalarValues::Integer;50    attribute units;51    attribute coordinateFrame;52  }5354  item def TargetPointProjection {55    doc /* One downsampled projected point of the filtered obstacle cluster. */56    attribute forwardM : ScalarValues::Real;57    attribute lateralM : ScalarValues::Real;58  }5960  item def AEBSVisualizationFrame {61    doc /*62     * Semantic visualization frame. SysML owns these field semantics; a later63     * serialization schema only encodes them and adds no semantics.64     */65    attribute schemaMajor : ScalarValues::Integer;66    attribute schemaMinor : ScalarValues::Integer;67    attribute sequence : ScalarValues::Integer;68    attribute frameTimestampNs : ScalarValues::Integer;69    attribute bridgeReceiptTimestampNs : ScalarValues::Integer;70    attribute sourceIdentity : ScalarValues::String;71    item rssDistance : VisualizationFieldValue;72    item targetRange : VisualizationFieldValue;73    item targetBearing : VisualizationFieldValue;74    item targetPoints : TargetPointProjection[0..24];75    item egoSpeed : VisualizationFieldValue;76    item nativeIntervention : VisualizationFieldValue;77    item de4sdvWarningRequest : VisualizationFieldValue;78    item de4sdvBrakingRequest : VisualizationFieldValue;79    item de4sdvLifecycleState : VisualizationFieldValue;80  }8182  item def RenderedAEBSState {83    doc /* Observable presentation result produced by rendering or suppression. */84    attribute presentationState : VisualizationHealthKind;85    item renderedValues : VisualizationFieldValue[0..*];86  }8788  /* ──────────────────────────────────────────89   * Functional actions90   * ────────────────────────────────────────── */9192  action def ObserveAEBSSources {93    doc /* Subscribe read-only to native AEB metrics/intervention and DE4SDV AEBS state. */94    out observedFrame : AEBSVisualizationFrame;95  }9697  action def AssembleVisualizationFrame {98    doc /* Correlate source observations into one versioned frame with per-field provenance. */99    in observedFrame : AEBSVisualizationFrame;100    out assembledFrame : AEBSVisualizationFrame;101  }102103  action def ValidateFrame {104    doc /* Enforce schema, range, finiteness, timestamp, and monotonic sequence. */105    in assembledFrame : AEBSVisualizationFrame;106    out validFrame : AEBSVisualizationFrame;107    out rejected : ScalarValues::Boolean;108  }109110  action def SuperviseHealth {111    doc /* Own freshness/availability/invalid/restored disposition. */112    in validFrame : AEBSVisualizationFrame;113    in frameRejected : ScalarValues::Boolean;114    out health : VisualizationHealthKind;115  }116117  action def TransportFrame {118    doc /* Carry an accepted frame across the reverse boundary toward the display. */119    in validFrame : AEBSVisualizationFrame;120    out transportedFrame : AEBSVisualizationFrame;121  }122123  action def PublishToDisplayService {124    doc /* Offer the frame to the display-side subscription service. */125    in transportedFrame : AEBSVisualizationFrame;126    in health : VisualizationHealthKind;127    out publishedFrame : AEBSVisualizationFrame;128  }129130  action def RenderAEBSState {131    doc /* Render the current AEBS threat/intervention presentation from published data. */132    in publishedFrame : AEBSVisualizationFrame;133    in health : VisualizationHealthKind;134    out rendered : RenderedAEBSState;135  }136137  action def RecordVisualizationEvidence {138    doc /* Retain correlation records across source, bridge, service, and display. */139    in observedFrame : AEBSVisualizationFrame;140    in rendered : RenderedAEBSState;141    out evidenceRecord : ScalarValues::String;142  }143144  action def AebsVisualizationFunctionalFlow {145    out item rendered : RenderedAEBSState;146    out item evidenceRecord : ScalarValues::String;147148    action observe : ObserveAEBSSources {149      out observedFrame;150    }151152    action assemble : AssembleVisualizationFrame {153      in observedFrame;154      out assembledFrame;155    }156157    flow from observe.observedFrame to assemble.observedFrame;158    first observe then assemble;159160    action validate : ValidateFrame {161      in assembledFrame;162      out validFrame;163      out rejected;164    }165166    flow from assemble.assembledFrame to validate.assembledFrame;167    first assemble then validate;168169    action supervise : SuperviseHealth {170      in validFrame;171      in frameRejected;172      out health;173    }174175    flow from validate.validFrame to supervise.validFrame;176    flow from validate.rejected to supervise.frameRejected;177    first validate then supervise;178179    action transport : TransportFrame {180      in validFrame;181      out transportedFrame;182    }183184    flow from validate.validFrame to transport.validFrame;185186    action publish : PublishToDisplayService {187      in transportedFrame;188      in health;189      out publishedFrame;190    }191192    flow from transport.transportedFrame to publish.transportedFrame;193    flow from supervise.health to publish.health;194195    action present : RenderAEBSState {196      in publishedFrame;197      in health;198      out rendered = AebsVisualizationFunctionalFlow::rendered;199    }200201    flow from publish.publishedFrame to present.publishedFrame;202    flow from supervise.health to present.health;203    first publish then present;204205    action record : RecordVisualizationEvidence {206      in observedFrame;207      in rendered;208      out evidenceRecord = AebsVisualizationFunctionalFlow::evidenceRecord;209    }210211    flow from observe.observedFrame to record.observedFrame;212    flow from present.rendered to record.rendered;213  }214215  action aebsVisualizationFunctionalFlow : AebsVisualizationFunctionalFlow;216217  /* ──────────────────────────────────────────218   * Presentation/health state machine219   * ────────────────────────────────────────── */220221  state def VisualizationPresentationMachine {222    doc /*223     * Explicit presentation/health state machine. The repository's accepted224     * state-usage form (transition source then target, per the middleware225     * functional architecture slice) is used; the guarded health semantics226     * are documented per transition and enforced by SuperviseHealth.227     */228229    state unavailable;230    state monitoring;231    state warning;232    state intervention;233    state released;234    state stale;235    state invalid;236237    transition first unavailable then monitoring;      // first valid frame accepted238    transition first monitoring then warning;          // warning threshold reached239    transition first warning then intervention;        // native intervention observed240    transition first intervention then released;       // verified-stop released241    transition first monitoring then stale;            // no-valid-frame timeout242    transition first warning then stale;               // no-valid-frame timeout243    transition first intervention then stale;          // no-valid-frame timeout244    transition first released then stale;              // no-valid-frame timeout245    transition first monitoring then invalid;          // frame rejected as invalid246    transition first warning then invalid;             // frame rejected as invalid247    transition first intervention then invalid;        // frame rejected as invalid248    transition first released then invalid;            // frame rejected as invalid249    transition first stale then unavailable;           // source gone250    transition first invalid then unavailable;         // source gone251    transition first stale then monitoring;            // restored after valid streak252    transition first invalid then monitoring;          // restored after valid streak253  }254255  /* ──────────────────────────────────────────256   * Requirement allocation257   * ────────────────────────────────────────── */258259  allocation def System2RequirementToFunction;260261  allocation sourceFidelityAllocation : System2RequirementToFunction262    allocate reqSourceFidelity to AebsVisualizationFunctionalFlow::assemble;263264  allocation nativeParticipationAllocation : System2RequirementToFunction265    allocate reqNativeParticipation to AebsVisualizationFunctionalFlow::observe;266267  allocation de4sdvParticipationAllocation : System2RequirementToFunction268    allocate reqDe4sdvParticipation to AebsVisualizationFunctionalFlow::observe;269270  allocation nonInterferenceAllocation : System2RequirementToFunction271    allocate reqNonInterference to AebsVisualizationFunctionalFlow::observe;272273  allocation failClosedFreshnessAllocation : System2RequirementToFunction274    allocate reqFailClosedFreshness to AebsVisualizationFunctionalFlow::supervise;275276  allocation availabilityDispositionAllocation : System2RequirementToFunction277    allocate reqAvailabilityDisposition to AebsVisualizationFunctionalFlow::supervise;278279  allocation invalidRejectionAllocation : System2RequirementToFunction280    allocate reqInvalidRejection to AebsVisualizationFunctionalFlow::validate;281282  allocation restorationBehaviorAllocation : System2RequirementToFunction283    allocate reqRestorationBehavior to AebsVisualizationFunctionalFlow::supervise;284285  allocation realAaosRenderingAllocation : System2RequirementToFunction286    allocate reqRealAAOSRendering to AebsVisualizationFunctionalFlow::present;287288  allocation evidenceCorrelationAllocation : System2RequirementToFunction289    allocate reqEvidenceCorrelation to AebsVisualizationFunctionalFlow::record;290291  /* ──────────────────────────────────────────292   * Concerns and views293   * ────────────────────────────────────────── */294295  concern visualizationFunctionStructureConcern : FunctionalBehaviorConcern {296    subject;297    stakeholder systemsEngineer : SystemsEngineer;298    stakeholder reviewer : OpenSourceReviewer;299  }300301  concern visualizationFunctionExchangeConcern : SystemProcessConcern {302    subject;303    stakeholder systemsEngineer : SystemsEngineer;304    stakeholder reviewer : OpenSourceReviewer;305  }306307  concern visualizationFunctionMappingConcern : ConceptualFunctionMappingConcern {308    subject;309    stakeholder verificationEngineer : VerificationEngineer;310    stakeholder reviewer : OpenSourceReviewer;311  }312313  view aebsVisualizationFunctionStructureView {314    viewpoint selectedFunctionStructureViewpoint : SystemStructureDefinitionViewpoint {315      frame visualizationFunctionStructureConcern;316    }317318    expose aebsVisualizationFunctionalFlow;319    render asTreeDiagram;320  }321322  view aebsVisualizationFunctionInternalExchangeView {323    viewpoint selectedFunctionExchangeViewpoint : SystemInternalExchangeViewpoint {324      frame visualizationFunctionExchangeConcern;325    }326327    expose aebsVisualizationFunctionalFlow;328    expose aebsVisualizationFunctionalFlow::**;329    attribute depth = -1;330    attribute showAnnotationRows = false;331    attribute maxCompartmentEntries = 0;332    render asInterconnectionDiagram;333  }334335  view aebsVisualizationFunctionRequirementMappingView : MVD::MatrixView {336    viewpoint selectedFunctionMappingViewpoint : SystemFunctionMappingViewpoint {337      frame visualizationFunctionMappingConcern;338    }339    view :>> rowView {340      expose DE4SDV_AEBSVisualizationNeedsRequirements::reqSourceFidelity;341      expose DE4SDV_AEBSVisualizationNeedsRequirements::reqNativeParticipation;342      expose DE4SDV_AEBSVisualizationNeedsRequirements::reqDe4sdvParticipation;343      expose DE4SDV_AEBSVisualizationNeedsRequirements::reqNonInterference;344      expose DE4SDV_AEBSVisualizationNeedsRequirements::reqFailClosedFreshness;345      expose DE4SDV_AEBSVisualizationNeedsRequirements::reqAvailabilityDisposition;346      expose DE4SDV_AEBSVisualizationNeedsRequirements::reqInvalidRejection;347      expose DE4SDV_AEBSVisualizationNeedsRequirements::reqRestorationBehavior;348      expose DE4SDV_AEBSVisualizationNeedsRequirements::reqRealAAOSRendering;349      expose DE4SDV_AEBSVisualizationNeedsRequirements::reqEvidenceCorrelation;350      attribute :>> representation = Rep::name;351    }352    view :>> columnView {353      expose AebsVisualizationFunctionalFlow::observe;354      expose AebsVisualizationFunctionalFlow::assemble;355      expose AebsVisualizationFunctionalFlow::validate;356      expose AebsVisualizationFunctionalFlow::supervise;357      expose AebsVisualizationFunctionalFlow::transport;358      expose AebsVisualizationFunctionalFlow::publish;359      expose AebsVisualizationFunctionalFlow::present;360      expose AebsVisualizationFunctionalFlow::record;361      attribute :>> representation = Rep::name;362    }363    view :>> cellView {364      expose DE4SDV_AEBSVisualizationFunctionalArchitecture::*;365      attribute :>> direction = SysideViews::MatrixTraceabilityDirection::row2col;366    }367  }368}369