textual-notation-of-model/packages/features/middleware/mw_verification_evidence.sysml

2 view(s) · 238 declared member(s) view source on GitHub

view mw010VerificationAssuranceView

ViewpointselectedArgumentationAssuranceViewpoint (ArgumentationAssuranceViewpoint)
ConcernargumentationAssuranceConcern
RenderasTreeDiagram
Exposesmw010ReferenceContractClaim
signalTranslationArgument010
vehicleStartupArgument010
contractAndRehearsalEvidence010
boundedAAOSBootBaseline010
claimSupportedBySignalArgument
claimSupportedByStartupArgument
contractEvidenceReinforcesArgument
bootBaselineReinforcesArgument
Sourcetextual-notation-of-model/packages/features/middleware/mw_verification_evidence.sysml:644
diagram-mw010VerificationAssuranceView.svg
«view» mw010VerificationAssuranceView expose mw010ReferenceContractClaim expose signalTranslationArgument010 expose vehicleStartupArgument010 expose contractAndRehearsalEvidence010 expose boundedAAOSBootBaseline010 expose claimSupportedBySignalArgument expose claimSupportedByStartupArgument expose contractEvidenceReinforcesArgument expose bootBaselineReinforcesArgument «requirement» mw010ReferenceContractClaim : MiddlewareClaim010 «requirement» signalTranslationArgument010 : MiddlewareArgument010 «requirement» vehicleStartupArgument010 : MiddlewareArgument010 «part» contractAndRehearsalEvidence010 : ExecutionEnvironmentEvidenceArtifact «part» boundedAAOSBootBaseline010 : InspectedExecutionEnvironmentEvidence «Dependency» claimSupportedBySignalArgument «Dependency» claimSupportedByStartupArgument «Dependency» contractEvidenceReinforcesArgument «Dependency» bootBaselineReinforcesArgument claimSupportedBySignalArgument claimSupportedByStartupArgument contractEvidenceReinforcesArgument bootBaselineReinforcesArgument

Hover a model element for details open raw SVG.

view mw010OpenCounterclaimAssuranceView

ViewpointselectedOpenCounterclaimAssuranceViewpoint (ArgumentationAssuranceViewpoint)
ConcernargumentationAssuranceConcern
RenderasTreeDiagram
Exposesmw010ReferenceContractClaim
counterClaim010ProviderBinding
counterClaim010CrossDomainTransport
counterClaim010IndependentObservation
counterClaim010LifecycleUpdateFault
providerBindingEvidenceGap010
crossDomainTransportEvidenceGap010
independentAutowareObservationGap010
lifecycleUpdateFaultEvidenceGap010
counterClaimProviderBindingCountersClaim
counterClaimTransportCountersClaim
counterClaimObservationCountersClaim
counterClaimLifecycleCountersClaim
counterClaimProviderBindingGapTrace
counterClaimTransportGapTrace
counterClaimObservationGapTrace
counterClaimLifecycleGapTrace
Sourcetextual-notation-of-model/packages/features/middleware/mw_verification_evidence.sysml:666
diagram-mw010OpenCounterclaimAssuranceView.svg
«view» mw010OpenCounterclaimAssuranceView expose mw010ReferenceContractClaim expose counterClaim010ProviderBinding expose counterClaim010CrossDomainTransport expose counterClaim010IndependentObservation expose counterClaim010LifecycleUpdateFault expose providerBindingEvidenceGap010 expose crossDomainTransportEvidenceGap010 expose independentAutowareObservationGap010 expose lifecycleUpdateFaultEvidenceGap010 expose counterClaimProviderBindingCountersClaim expose counterClaimTransportCountersClaim expose counterClaimObservationCountersClaim expose counterClaimLifecycleCountersClaim expose counterClaimProviderBindingGapTrace expose counterClaimTransportGapTrace expose counterClaimObservationGapTrace expose counterClaimLifecycleGapTrace «requirement» mw010ReferenceContractClaim : MiddlewareClaim010 «requirement» counterClaim010ProviderBinding : MiddlewareCounterClaim010 «requirement» counterClaim010CrossDomainTransport : MiddlewareCounterClaim010 «requirement» counterClaim010IndependentObservation : MiddlewareCounterClaim010 «requirement» counterClaim010LifecycleUpdateFault : MiddlewareCounterClaim010 «part» providerBindingEvidenceGap010 : DeferredProductLineScope «part» crossDomainTransportEvidenceGap010 : DeferredProductLineScope «part» independentAutowareObservationGap010 : DeferredProductLineScope «part» lifecycleUpdateFaultEvidenceGap010 : DeferredProductLineScope «Dependency» counterClaimProviderBindingCountersClaim «Dependency» counterClaimTransportCountersClaim «Dependency» counterClaimObservationCountersClaim «Dependency» counterClaimLifecycleCountersClaim «Dependency» counterClaimProviderBindingGapTrace «Dependency» counterClaimTransportGapTrace «Dependency» counterClaimObservationGapTrace «Dependency» counterClaimLifecycleGapTrace counterClaimProviderBindingCountersClaim counterClaimTransportCountersClaim counterClaimObservationCountersClaim counterClaimLifecycleCountersClaim counterClaimProviderBindingGapTrace counterClaimTransportGapTrace counterClaimObservationGapTrace counterClaimLifecycleGapTrace

Hover a model element for details open raw SVG.

Source

1/*2 * DE4SDV middleware verification and validation/evidence model slice.3 *4 * INC-MW-010 defines the verification cases, validation scenarios, acceptance5 * criteria, evidence roles, and explicit claim boundary for the configured6 * Autoware + AndroidSDV member. It may be planned and exercised incrementally;7 * planned cases are not runtime passes.8 *9 * Contract tests and the bounded Cuttlefish boot record support lower-level10 * claims. Target-runtime provider, transport, ROS 2, Autoware, lifecycle,11 * update, and fault evidence remain blocked until the executable realization12 * and independent observation path exist.13 */1415package DE4SDV_MW010VerificationEvidence {16  private import DE4SDV_MethodContext::*;17  private import DE4SDV_MethodProcess::*;18  private import DE4SDV_ProductLine::*;19  private import DE4SDV_Stakeholders::*;20  private import DE4SDV_ExecutionEnvironments::*;21  private import DE4SDV_MWRequirements::Features::Middleware::Requirements::*;22  private import DE4SDV_MWFunctionalArchitecture::Features::Middleware::FunctionalArchitecture::*;23  private import DE4SDV_MWPhysicalSoftwareRealization::*;24  private import DE4SDV_MWVariabilityConfiguration::*;25  private import VerificationCases::*;26  private import VerificationMethodKind::*;27  private import ScalarValues::*;28  private import SAF_Viewpoints::*;29  private import Views::*;3031  part incMW010 : FeatureIncrement {32    doc /* INC-MW-010: middleware verification, validation, and evidence. */33  }3435  enum def ScenarioIdentity010 {36    signalTranslation;37    lifecycleCoordination;38    healthForwarding;39    vehicleStartup;40    updateCoordination;41    faultDetection;42  }4344  enum def EvidenceOutcome010 {45    passBoundedVerification;46    passBoundedValidation;47    failObservedBehavior;48    inconclusiveMissingEvidence;49    blockedTargetRuntime;50    errorEvidence;51  }5253  enum def EvidenceDisposition010 {54    planned;55    observedBounded;56    partial;57    blocked;58    accepted;59    rejected;60  }6162  item def VehicleSpeedTranslationObservation010 {63    attribute inputSpeedKmh : Real;64    attribute expectedVelocityMps : Real;65    attribute observedVelocityMps : Real;66    attribute sourceContractIdentity : String;67    attribute consumerContractIdentity : String;68    attribute independentObservation : Boolean;69  }7071  item def LifecycleObservation010 {72    attribute stateName : String;73    attribute predecessorState : String;74    attribute successorState : String;75    attribute transitionObserved : Boolean;76  }7778  item def HealthObservation010 {79    attribute healthState : String;80    attribute sourceFresh : Boolean;81    attribute forwarded : Boolean;82    attribute faultIdentity : String;83  }8485  item def RetainedMiddlewareEvidence010 {86    attribute configurationIdentity : String;87    attribute executionEnvironmentIdentity : String;88    attribute contractIdentity : String;89    attribute rawObservationArtifact : String;90    attribute independentObserverIdentity : String;91    attribute disposition : EvidenceDisposition010;92    attribute claimBoundary : String;93  }9495  item def ReplayedMiddlewareEvaluation010 {96    attribute scenario : ScenarioIdentity010;97    attribute outcome : EvidenceOutcome010;98    attribute acceptanceSummary : String;99  }100101  calc def Map010OutcomeToVerdict {102    in outcome : EvidenceOutcome010;103    return verdict : VerdictKind =104      if outcome == EvidenceOutcome010::passBoundedVerification? VerdictKind::pass105      else if outcome == EvidenceOutcome010::passBoundedValidation? VerdictKind::pass106      else if outcome == EvidenceOutcome010::failObservedBehavior? VerdictKind::fail107      else if outcome == EvidenceOutcome010::errorEvidence? VerdictKind::error108      else VerdictKind::inconclusive;109  }110111  part def MiddlewareIntegrationVandVBench010 {112    doc /*113     * System 1 is the configured member under evaluation. System 2 is the114     * engineering/build/test environment and is not a product selection.115     */116    part system1MemberProduct : MWAutowareAAOSSDVConfiguredMember;117    part system2TestEnvironment : AOSPAAOSBuildRuntimeEnvironment;118    attribute scenario : ScenarioIdentity010;119  }120121  part signalTranslationBench010 : MiddlewareIntegrationVandVBench010 {122    attribute :>> scenario = ScenarioIdentity010::signalTranslation;123  }124125  part lifecycleCoordinationBench010 : MiddlewareIntegrationVandVBench010 {126    attribute :>> scenario = ScenarioIdentity010::lifecycleCoordination;127  }128129  part healthForwardingBench010 : MiddlewareIntegrationVandVBench010 {130    attribute :>> scenario = ScenarioIdentity010::healthForwarding;131  }132133  part vehicleStartupBench010 : MiddlewareIntegrationVandVBench010 {134    attribute :>> scenario = ScenarioIdentity010::vehicleStartup;135  }136137  part updateCoordinationBench010 : MiddlewareIntegrationVandVBench010 {138    attribute :>> scenario = ScenarioIdentity010::updateCoordination;139  }140141  part faultDetectionBench010 : MiddlewareIntegrationVandVBench010 {142    attribute :>> scenario = ScenarioIdentity010::faultDetection;143  }144145  requirement def MiddlewareAcceptanceCriterion010146    :> EvidenceContractTraceabilityRequirementCandidate;147148  requirement acceptanceCriterion010SignalTranslation : MiddlewareAcceptanceCriterion010 {149    doc /* AC-MW-010-01; bounded verification of the selected Vehicle.Speed slice. */150    subject bench : MiddlewareIntegrationVandVBench010;151    require constraint {152      doc /* The selected contract shall preserve Vehicle.Speed [km/h] semantics, map 36 km/h to 10 m/s and 72 km/h to 20 m/s through division by 3.6, reject invalid/non-finite samples, and expose the resulting VelocityReport field to an independent observer. */153    }154  }155156  requirement acceptanceCriterion010LifecycleCoordination : MiddlewareAcceptanceCriterion010 {157    doc /* AC-MW-010-02; bounded verification of integration lifecycle behavior. */158    subject bench : MiddlewareIntegrationVandVBench010;159    require constraint {160      doc /* The integration boundary shall make startup, initializing, operational, degraded, and shutdown behavior observable, preserve the declared transition ordering, and prevent use before required binding/readiness. */161    }162  }163164  requirement acceptanceCriterion010HealthForwarding : MiddlewareAcceptanceCriterion010 {165    doc /* AC-MW-010-03; bounded verification of health forwarding. */166    subject bench : MiddlewareIntegrationVandVBench010;167    require constraint {168      doc /* Missing, stale, inconsistent, or unavailable provider/transport/consumer health shall produce an observable degraded or unavailable disposition and shall be forwarded to the application boundary without being relabeled as healthy. */169    }170  }171172  requirement acceptanceCriterion010VehicleStartup : MiddlewareAcceptanceCriterion010 {173    doc /* AC-MW-010-04; validation of vehicle/application startup. */174    subject bench : MiddlewareIntegrationVandVBench010;175    require constraint {176      doc /* A configured member startup scenario shall prove provider registration, service discovery/binding, transport readiness, adapter readiness, and ROS 2 consumer readiness in causal order before the signal is accepted. */177    }178  }179180  requirement acceptanceCriterion010UpdateCoordination : MiddlewareAcceptanceCriterion010 {181    doc /* AC-MW-010-05; validation of integration update behavior. */182    subject bench : MiddlewareIntegrationVandVBench010;183    require constraint {184      doc /* An update/OTA scenario shall retain pre-update and post-update identities and observations and shall detect, rather than silently accept, loss or incompatible change of the required signal, lifecycle, health, discovery, or consumer contracts. */185    }186  }187188  requirement acceptanceCriterion010FaultDetection : MiddlewareAcceptanceCriterion010 {189    doc /* AC-MW-010-06; validation of fault detection and containment. */190    subject bench : MiddlewareIntegrationVandVBench010;191    require constraint {192      doc /* Provider, binding, discovery, transport, adapter, and consumer faults shall be detected and classified at the integration boundary; non-safety middleware failure shall not create an uncontrolled emergency intervention command. */193    }194  }195196  requirement acceptanceCriterion010EvidenceIndependence : MiddlewareAcceptanceCriterion010 {197    doc /* AC-MW-010-07; evidence integrity and claim-boundary criterion. */198    subject bench : MiddlewareIntegrationVandVBench010;199    require constraint {200      doc /* Every retained verdict shall bind the configured member, execution environment, contract identities, raw observations, and independent observer evidence. Missing target-runtime evidence shall be inconclusive or blocked, never a runtime pass. */201    }202  }203204  part boundedAAOSBootBaseline010 : InspectedExecutionEnvironmentEvidence {205    doc /*206     * implementation/aaos-sdv-reference-interop-bench/evidence/207     * aaos-cuttlefish-cloud-proof.yaml. This is bounded x86_64 AOSP build and208     * Cuttlefish boot evidence; it is not provider, transport, ROS 2, Autoware,209     * lifecycle, update, fault, or vehicle interoperability evidence.210     */211  }212213  part contractAndRehearsalEvidence010 : ExecutionEnvironmentEvidenceArtifact {214    doc /*215     * Existing reference-contract and provider-neutral adapter tests support216     * contract and conversion claims only. They are not target-runtime proof.217     */218  }219220  part plannedTargetRuntimeEvidence010 : PlannedExecutionEnvironmentEvidence {221    doc /*222     * Planned evidence for provider binding, deployment, discovery, transport,223     * ROS 2 publication, independent Autoware observation, and lifecycle/fault224     * scenarios on the configured member.225     */226  }227228  part providerBindingEvidenceGap010 : DeferredProductLineScope {229    doc /* GAP-MW-025: Generated/usable VSIDL binding and deployed provider behavior remain unavailable. */230  }231232  part crossDomainTransportEvidenceGap010 : DeferredProductLineScope {233    doc /* GAP-MW-026: Android/KVM-to-Linux/ROS 2 transport, discovery, and deployment evidence remain unavailable. */234  }235236  part independentAutowareObservationGap010 : DeferredProductLineScope {237    doc /* GAP-MW-027: An independent observation of /vehicle/status/velocity_status and Autoware-side provenance remains unavailable. */238  }239240  part lifecycleUpdateFaultEvidenceGap010 : DeferredProductLineScope {241    doc /* GAP-MW-028: Target-runtime lifecycle, update/OTA, health, and fault evidence remains unavailable. */242  }243244  verification def SignalTranslationVerification010 {245    subject verifiedBench : MiddlewareIntegrationVandVBench010;246    objective signalTranslationObjective010 {247      verify acceptanceCriterion010SignalTranslation;248      verify acceptanceCriterion010EvidenceIndependence;249    }250    action collectData {251      @VerificationMethod{ kind = (test, inspect); }252      out item retainedEvidence : RetainedMiddlewareEvidence010;253    }254    action processData {255      @VerificationMethod{ kind = analyze; }256      in scenarioIdentity : ScenarioIdentity010 = verifiedBench.scenario;257      in item retainedEvidence : RetainedMiddlewareEvidence010 = collectData.retainedEvidence;258      out item replayedEvaluation : ReplayedMiddlewareEvaluation010;259    }260    action evaluateData {261      @VerificationMethod{ kind = analyze; }262      in item replayedEvaluation : ReplayedMiddlewareEvaluation010 = processData.replayedEvaluation;263      out verdict : VerdictKind = Map010OutcomeToVerdict(replayedEvaluation.outcome);264    }265    return verdict : VerdictKind = evaluateData.verdict;266  }267268  verification def LifecycleCoordinationVerification010 {269    subject verifiedBench : MiddlewareIntegrationVandVBench010;270    objective lifecycleCoordinationObjective010 {271      verify acceptanceCriterion010LifecycleCoordination;272      verify acceptanceCriterion010EvidenceIndependence;273    }274    action collectData {275      @VerificationMethod{ kind = (test, inspect); }276      out item retainedEvidence : RetainedMiddlewareEvidence010;277    }278    action processData {279      @VerificationMethod{ kind = analyze; }280      in scenarioIdentity : ScenarioIdentity010 = verifiedBench.scenario;281      in item retainedEvidence : RetainedMiddlewareEvidence010 = collectData.retainedEvidence;282      out item replayedEvaluation : ReplayedMiddlewareEvaluation010;283    }284    action evaluateData {285      @VerificationMethod{ kind = analyze; }286      in item replayedEvaluation : ReplayedMiddlewareEvaluation010 = processData.replayedEvaluation;287      out verdict : VerdictKind = Map010OutcomeToVerdict(replayedEvaluation.outcome);288    }289    return verdict : VerdictKind = evaluateData.verdict;290  }291292  verification def HealthForwardingVerification010 {293    subject verifiedBench : MiddlewareIntegrationVandVBench010;294    objective healthForwardingObjective010 {295      verify acceptanceCriterion010HealthForwarding;296      verify acceptanceCriterion010EvidenceIndependence;297    }298    action collectData {299      @VerificationMethod{ kind = (test, inspect); }300      out item retainedEvidence : RetainedMiddlewareEvidence010;301    }302    action processData {303      @VerificationMethod{ kind = analyze; }304      in scenarioIdentity : ScenarioIdentity010 = verifiedBench.scenario;305      in item retainedEvidence : RetainedMiddlewareEvidence010 = collectData.retainedEvidence;306      out item replayedEvaluation : ReplayedMiddlewareEvaluation010;307    }308    action evaluateData {309      @VerificationMethod{ kind = analyze; }310      in item replayedEvaluation : ReplayedMiddlewareEvaluation010 = processData.replayedEvaluation;311      out verdict : VerdictKind = Map010OutcomeToVerdict(replayedEvaluation.outcome);312    }313    return verdict : VerdictKind = evaluateData.verdict;314  }315316  verification def VehicleStartupValidation010 {317    subject verifiedBench : MiddlewareIntegrationVandVBench010;318    objective vehicleStartupObjective010 {319      verify acceptanceCriterion010VehicleStartup;320      verify acceptanceCriterion010LifecycleCoordination;321      verify acceptanceCriterion010EvidenceIndependence;322    }323    action collectData {324      @VerificationMethod{ kind = (test, inspect); }325      out item retainedEvidence : RetainedMiddlewareEvidence010;326    }327    action processData {328      @VerificationMethod{ kind = analyze; }329      in scenarioIdentity : ScenarioIdentity010 = verifiedBench.scenario;330      in item retainedEvidence : RetainedMiddlewareEvidence010 = collectData.retainedEvidence;331      out item replayedEvaluation : ReplayedMiddlewareEvaluation010;332    }333    action evaluateData {334      @VerificationMethod{ kind = analyze; }335      in item replayedEvaluation : ReplayedMiddlewareEvaluation010 = processData.replayedEvaluation;336      out verdict : VerdictKind = Map010OutcomeToVerdict(replayedEvaluation.outcome);337    }338    return verdict : VerdictKind = evaluateData.verdict;339  }340341  verification def UpdateCoordinationValidation010 {342    subject verifiedBench : MiddlewareIntegrationVandVBench010;343    objective updateCoordinationObjective010 {344      verify acceptanceCriterion010UpdateCoordination;345      verify acceptanceCriterion010LifecycleCoordination;346      verify acceptanceCriterion010HealthForwarding;347      verify acceptanceCriterion010EvidenceIndependence;348    }349    action collectData {350      @VerificationMethod{ kind = (test, inspect); }351      out item retainedEvidence : RetainedMiddlewareEvidence010;352    }353    action processData {354      @VerificationMethod{ kind = analyze; }355      in scenarioIdentity : ScenarioIdentity010 = verifiedBench.scenario;356      in item retainedEvidence : RetainedMiddlewareEvidence010 = collectData.retainedEvidence;357      out item replayedEvaluation : ReplayedMiddlewareEvaluation010;358    }359    action evaluateData {360      @VerificationMethod{ kind = analyze; }361      in item replayedEvaluation : ReplayedMiddlewareEvaluation010 = processData.replayedEvaluation;362      out verdict : VerdictKind = Map010OutcomeToVerdict(replayedEvaluation.outcome);363    }364    return verdict : VerdictKind = evaluateData.verdict;365  }366367  verification def FaultDetectionValidation010 {368    subject verifiedBench : MiddlewareIntegrationVandVBench010;369    objective faultDetectionObjective010 {370      verify acceptanceCriterion010FaultDetection;371      verify acceptanceCriterion010HealthForwarding;372      verify acceptanceCriterion010EvidenceIndependence;373    }374    action collectData {375      @VerificationMethod{ kind = (test, inspect); }376      out item retainedEvidence : RetainedMiddlewareEvidence010;377    }378    action processData {379      @VerificationMethod{ kind = analyze; }380      in scenarioIdentity : ScenarioIdentity010 = verifiedBench.scenario;381      in item retainedEvidence : RetainedMiddlewareEvidence010 = collectData.retainedEvidence;382      out item replayedEvaluation : ReplayedMiddlewareEvaluation010;383    }384    action evaluateData {385      @VerificationMethod{ kind = analyze; }386      in item replayedEvaluation : ReplayedMiddlewareEvaluation010 = processData.replayedEvaluation;387      out verdict : VerdictKind = Map010OutcomeToVerdict(replayedEvaluation.outcome);388    }389    return verdict : VerdictKind = evaluateData.verdict;390  }391392  verification signalTranslationVerification010 : SignalTranslationVerification010 {393    @VerificationMethod{ kind = (test, inspect, analyze); }394    subject verifiedBench :> signalTranslationBench010;395  }396397  verification lifecycleCoordinationVerification010 : LifecycleCoordinationVerification010 {398    @VerificationMethod{ kind = (test, inspect, analyze); }399    subject verifiedBench :> lifecycleCoordinationBench010;400  }401402  verification healthForwardingVerification010 : HealthForwardingVerification010 {403    @VerificationMethod{ kind = (test, inspect, analyze); }404    subject verifiedBench :> healthForwardingBench010;405  }406407  verification vehicleStartupValidation010 : VehicleStartupValidation010 {408    @VerificationMethod{ kind = (test, inspect, analyze); }409    subject verifiedBench :> vehicleStartupBench010;410  }411412  verification updateCoordinationValidation010 : UpdateCoordinationValidation010 {413    @VerificationMethod{ kind = (test, inspect, analyze); }414    subject verifiedBench :> updateCoordinationBench010;415  }416417  verification faultDetectionValidation010 : FaultDetectionValidation010 {418    @VerificationMethod{ kind = (test, inspect, analyze); }419    subject verifiedBench :> faultDetectionBench010;420  }421422  part verificationSystem010 {423    perform signalTranslationVerification010;424    perform lifecycleCoordinationVerification010;425    perform healthForwardingVerification010;426    perform vehicleStartupValidation010;427    perform updateCoordinationValidation010;428    perform faultDetectionValidation010;429  }430431  dependency signalTranslationVerificationToRequirement432    from acceptanceCriterion010SignalTranslation433    to reqProvideMiddlewareSignalAccess;434  dependency lifecycleVerificationToRequirement435    from acceptanceCriterion010LifecycleCoordination436    to reqCoordinateMiddlewareLifecycle;437  dependency healthVerificationToRequirement438    from acceptanceCriterion010HealthForwarding439    to reqMonitorMiddlewareHealth;440  dependency startupValidationToDiscoveryRequirement441    from acceptanceCriterion010VehicleStartup442    to reqProvideServiceDiscovery;443  dependency startupValidationToLifecycleRequirement444    from acceptanceCriterion010VehicleStartup445    to reqCoordinateMiddlewareLifecycle;446  dependency updateValidationToRequirement447    from acceptanceCriterion010UpdateCoordination448    to reqCoordinateMiddlewareUpdates;449  dependency faultValidationToHealthRequirement450    from acceptanceCriterion010FaultDetection451    to reqMonitorMiddlewareHealth;452  dependency faultValidationToSafetyRequirement453    from acceptanceCriterion010FaultDetection454    to reqIsolateSafetyPath;455  dependency evidenceIndependenceToTraceabilityRequirement456    from acceptanceCriterion010EvidenceIndependence457    to reqMaintainMiddlewareBoundaryTraceability;458459  dependency verificationConfiguredMemberTrace460    from verificationSystem010461    to DE4SDV_MWVariabilityConfiguration::configuredMember;462  dependency verificationPhysicalBoundaryTrace463    from verificationSystem010464    to DE4SDV_MWPhysicalSoftwareRealization::physicalSoftware;465  dependency verificationSignalMappingTrace466    from signalTranslationVerification010467    to DE4SDV_MWPhysicalSoftwareRealization::physicalSoftware::adapter::aaosSignal::vehicleSpeed;468  dependency verificationContractTrace469    from signalTranslationVerification010470    to DE4SDV_MWPhysicalSoftwareRealization::physicalSoftwareSources::referenceInteropBenchSource;471  dependency verificationExecutionEnvironmentTrace472    from verificationSystem010473    to DE4SDV_MWPhysicalSoftwareRealization::aaosBuildRuntimeEnvironmentCandidate;474  dependency boundedBootBaselineTrace475    from boundedAAOSBootBaseline010476    to DE4SDV_MWPhysicalSoftwareRealization::physicalEnablingSystemGap;477  dependency providerBindingGapTrace478    from plannedTargetRuntimeEvidence010479    to providerBindingEvidenceGap010;480  dependency transportGapTrace481    from plannedTargetRuntimeEvidence010482    to crossDomainTransportEvidenceGap010;483  dependency independentObserverGapTrace484    from plannedTargetRuntimeEvidence010485    to independentAutowareObservationGap010;486  dependency lifecycleUpdateFaultGapTrace487    from plannedTargetRuntimeEvidence010488    to lifecycleUpdateFaultEvidenceGap010;489  dependency targetRuntimeEvidenceToPhase9Gap490    from plannedTargetRuntimeEvidence010491    to DE4SDV_MWVariabilityConfiguration::configuredRuntimeEvidenceGap;492  dependency targetRuntimeEvidenceToPhysicalSourceContractGap493    from plannedTargetRuntimeEvidence010494    to DE4SDV_MWPhysicalSoftwareRealization::physicalSourceContractGap;495  dependency targetRuntimeEvidenceToPhysicalProcessDeploymentGap496    from plannedTargetRuntimeEvidence010497    to DE4SDV_MWPhysicalSoftwareRealization::physicalProcessDeploymentGap;498  dependency targetRuntimeEvidenceToVelocitySignalContractGap499    from plannedTargetRuntimeEvidence010500    to DE4SDV_MWPhysicalSoftwareRealization::velocitySignalContractGap;501502  /* Claim-argument-evidence layer (INC-MW-010).503   *504   * The claim states what the configured member is asserted to realize within505   * the declared claim boundary. Arguments support the claim per verification506   * dimension. Counter-claims bound the claim where evidence is not yet507   * established (GAP-MW-025..028). Verification cases and evidence items508   * reinforce the arguments they are traced to. Planned or blocked evidence509   * never upgrades a verdict to pass.510   */511512  requirement def MiddlewareClaim010513    :> EvidenceContractTraceabilityRequirementCandidate;514515  requirement def MiddlewareArgument010516    :> EvidenceContractTraceabilityRequirementCandidate;517518  requirement def MiddlewareCounterClaim010519    :> EvidenceContractTraceabilityRequirementCandidate;520521  requirement mw010ReferenceContractClaim : MiddlewareClaim010 {522    doc /*523     * CLM-MW-010-01: the configured Autoware + AndroidSDV member realizes the524     * Vehicle.Speed reference contract within the declared claim boundary:525     * signal translation semantics, lifecycle coordination, health forwarding,526     * startup and update coordination, and fault containment are observable,527     * replayable, and independently observed.528     */529    subject claimSubject : MiddlewareIntegrationVandVBench010;530    require constraint {531      doc /* The claim is bounded by retained, replayable, independently532        observed evidence bound to the configured member, execution533        environment, and contract identities. It is not target-runtime proof. */534    }535  }536537  requirement signalTranslationArgument010 : MiddlewareArgument010 {538    doc /* AGT-MW-010-01: argues that AC-MW-010-01 (bounded signal translation semantics) is satisfied within the claim boundary. */539    subject bench : MiddlewareIntegrationVandVBench010;540  }541542  requirement lifecycleCoordinationArgument010 : MiddlewareArgument010 {543    doc /* AGT-MW-010-02: argues that AC-MW-010-02 (observable integration lifecycle coordination) is satisfied within the claim boundary. */544    subject bench : MiddlewareIntegrationVandVBench010;545  }546547  requirement healthForwardingArgument010 : MiddlewareArgument010 {548    doc /* AGT-MW-010-03: argues that AC-MW-010-03 (health forwarding without relabeling) is satisfied within the claim boundary. */549    subject bench : MiddlewareIntegrationVandVBench010;550  }551552  requirement vehicleStartupArgument010 : MiddlewareArgument010 {553    doc /* AGT-MW-010-04: argues that AC-MW-010-04 (causally ordered startup readiness) is satisfied within the claim boundary. */554    subject bench : MiddlewareIntegrationVandVBench010;555  }556557  requirement updateCoordinationArgument010 : MiddlewareArgument010 {558    doc /* AGT-MW-010-05: argues that AC-MW-010-05 (update coordination with identity retention) is satisfied within the claim boundary. */559    subject bench : MiddlewareIntegrationVandVBench010;560  }561562  requirement faultDetectionArgument010 : MiddlewareArgument010 {563    doc /* AGT-MW-010-06: argues that AC-MW-010-06 (fault detection and containment) is satisfied within the claim boundary. */564    subject bench : MiddlewareIntegrationVandVBench010;565  }566567  requirement counterClaim010ProviderBinding : MiddlewareCounterClaim010 {568    doc /* CCM-MW-010-01: bounds the claim for GAP-MW-025 scope (provider binding and deployed provider behavior). */569    subject bench : MiddlewareIntegrationVandVBench010;570  }571572  requirement counterClaim010CrossDomainTransport : MiddlewareCounterClaim010 {573    doc /* CCM-MW-010-02: bounds the claim for GAP-MW-026 scope (Android/KVM-to-Linux/ROS 2 transport, discovery, deployment). */574    subject bench : MiddlewareIntegrationVandVBench010;575  }576577  requirement counterClaim010IndependentObservation : MiddlewareCounterClaim010 {578    doc /* CCM-MW-010-03: bounds the claim for GAP-MW-027 scope (independent Autoware observation). */579    subject bench : MiddlewareIntegrationVandVBench010;580  }581582  requirement counterClaim010LifecycleUpdateFault : MiddlewareCounterClaim010 {583    doc /* CCM-MW-010-04: bounds the claim for GAP-MW-028 scope (target-runtime lifecycle, update/OTA, health, fault). */584    subject bench : MiddlewareIntegrationVandVBench010;585  }586587  dependency claimSupportedBySignalArgument588    from signalTranslationArgument010 to mw010ReferenceContractClaim;589  dependency claimSupportedByLifecycleArgument590    from lifecycleCoordinationArgument010 to mw010ReferenceContractClaim;591  dependency claimSupportedByHealthArgument592    from healthForwardingArgument010 to mw010ReferenceContractClaim;593  dependency claimSupportedByStartupArgument594    from vehicleStartupArgument010 to mw010ReferenceContractClaim;595  dependency claimSupportedByUpdateArgument596    from updateCoordinationArgument010 to mw010ReferenceContractClaim;597  dependency claimSupportedByFaultArgument598    from faultDetectionArgument010 to mw010ReferenceContractClaim;599600  dependency signalVerificationReinforcesArgument601    from signalTranslationVerification010 to signalTranslationArgument010;602  dependency lifecycleVerificationReinforcesArgument603    from lifecycleCoordinationVerification010 to lifecycleCoordinationArgument010;604  dependency healthVerificationReinforcesArgument605    from healthForwardingVerification010 to healthForwardingArgument010;606  dependency startupValidationReinforcesArgument607    from vehicleStartupValidation010 to vehicleStartupArgument010;608  dependency updateValidationReinforcesArgument609    from updateCoordinationValidation010 to updateCoordinationArgument010;610  dependency faultValidationReinforcesArgument611    from faultDetectionValidation010 to faultDetectionArgument010;612613  dependency contractEvidenceReinforcesArgument614    from contractAndRehearsalEvidence010 to signalTranslationArgument010;615  dependency bootBaselineReinforcesArgument616    from boundedAAOSBootBaseline010 to vehicleStartupArgument010;617618  dependency counterClaimProviderBindingCountersClaim619    from counterClaim010ProviderBinding to mw010ReferenceContractClaim;620  dependency counterClaimTransportCountersClaim621    from counterClaim010CrossDomainTransport to mw010ReferenceContractClaim;622  dependency counterClaimObservationCountersClaim623    from counterClaim010IndependentObservation to mw010ReferenceContractClaim;624  dependency counterClaimLifecycleCountersClaim625    from counterClaim010LifecycleUpdateFault to mw010ReferenceContractClaim;626627  dependency counterClaimProviderBindingGapTrace628    from counterClaim010ProviderBinding to providerBindingEvidenceGap010;629  dependency counterClaimTransportGapTrace630    from counterClaim010CrossDomainTransport to crossDomainTransportEvidenceGap010;631  dependency counterClaimObservationGapTrace632    from counterClaim010IndependentObservation to independentAutowareObservationGap010;633  dependency counterClaimLifecycleGapTrace634    from counterClaim010LifecycleUpdateFault to lifecycleUpdateFaultEvidenceGap010;635636  concern argumentationAssuranceConcern : ArgumentationAssuranceConcern {637    doc /* Evidence-based assurance claims and their supporting argumentation. */638    subject;639    stakeholder systemsEngineer : SystemsEngineer;640    stakeholder verificationEngineer : VerificationEngineer;641    stakeholder reviewer : OpenSourceReviewer;642  }643644  view mw010VerificationAssuranceView {645    viewpoint selectedArgumentationAssuranceViewpoint : ArgumentationAssuranceViewpoint {646      frame argumentationAssuranceConcern;647    }648    doc /*649     * Positive evidence slice: the claim branches that currently have retained650     * evidence. Open counterclaims and gaps are published separately.651     */652    expose mw010ReferenceContractClaim;653    expose signalTranslationArgument010;654    expose vehicleStartupArgument010;655    expose contractAndRehearsalEvidence010;656    expose boundedAAOSBootBaseline010;657    expose claimSupportedBySignalArgument;658    expose claimSupportedByStartupArgument;659    expose contractEvidenceReinforcesArgument;660    expose bootBaselineReinforcesArgument;661    attribute maxCompartmentEntries = 0;662    attribute showAnnotationRows = false;663    render asTreeDiagram;664  }665666  view mw010OpenCounterclaimAssuranceView {667    viewpoint selectedOpenCounterclaimAssuranceViewpoint : ArgumentationAssuranceViewpoint {668      frame argumentationAssuranceConcern;669    }670    doc /*671     * Challenge slice: unresolved counterclaims against the reference claim and672     * the explicit evidence gaps that prevent target-runtime assurance.673     */674    expose mw010ReferenceContractClaim;675    expose counterClaim010ProviderBinding;676    expose counterClaim010CrossDomainTransport;677    expose counterClaim010IndependentObservation;678    expose counterClaim010LifecycleUpdateFault;679    expose providerBindingEvidenceGap010;680    expose crossDomainTransportEvidenceGap010;681    expose independentAutowareObservationGap010;682    expose lifecycleUpdateFaultEvidenceGap010;683    expose counterClaimProviderBindingCountersClaim;684    expose counterClaimTransportCountersClaim;685    expose counterClaimObservationCountersClaim;686    expose counterClaimLifecycleCountersClaim;687    expose counterClaimProviderBindingGapTrace;688    expose counterClaimTransportGapTrace;689    expose counterClaimObservationGapTrace;690    expose counterClaimLifecycleGapTrace;691    attribute maxCompartmentEntries = 0;692    attribute showAnnotationRows = false;693    render asTreeDiagram;694  }695}696