textual-notation-of-model/packages/methods/de4sdv/de4sdv_method_conformance.sysml
0 view(s) · 35 declared member(s)
Source
1/* DE4SDV method-conformance kernel vocabulary (Lane B).2 *3 * Typed model-resident vocabulary for method-contract objects and4 * evaluation scopes, per the frozen conformance baseline (Sections 6-7)5 * and the accepted Package A specification (docs/method-conformance/).6 *7 * Representation decision (frozen baseline Section 7: "the first8 * implementation increment must choose and prove its native9 * representation"): the contract schema is materialized as model-resident10 * records — item definitions carrying typed attributes — so the contract11 * and the INC-AEBS-009D pilot scope are real API-queryable objects, not12 * prose. Every declaration here is classified in the ontology/kernel13 * contract (approach/framework/ontology/de4sdv-basic-ontology.yaml).14 *15 * Boundary: this file defines method vocabulary only. The concrete16 * INC-AEBS-009D pilot scope usage lives beside its verification slice in17 * the AEBS package; no phase-specific populations, thresholds, or18 * obligations live here.19 */20package DE4SDV_MethodConformance {2122 private import ScalarValues::*;23 private import Metaobjects::SemanticMetadata;24 private import DE4SDV_MethodProcess::*;2526 /* Evaluation-source kinds from the frozen baseline Section 7 schema:27 pinned model record | pinned repository artifact | live delivery adapter. */28 enum def EvaluationSourceKind {29 doc /* The kind of input an obligation reads: a pinned model record, a pinned30 repository artifact, or a live delivery adapter (outside deterministic31 V1 evaluation). */32 pinnedModelRecord {33 doc /* The obligation reads a pinned model record at the bound API revision. */34 }35 pinnedRepositoryArtifact {36 doc /* The obligation reads a pinned, digest-identified repository artifact. */37 }38 liveDeliveryAdapter {39 doc /* The obligation reads a live delivery projection; outside deterministic V1 evaluation. */40 }41 }4243 /* One typed method-contract obligation. Attributes mirror the frozen44 baseline Section 7 schema exactly; status conditions bind to explicit45 allowed-value vocabularies (no example literals such as 'approved'). */46 item def MethodContractObligation {47 doc /* A typed model-resident method-contract obligation: stable explicit48 identifier, phase reference, typed subject selector, restricted49 applicability, population policy, pinned predicate with declared50 input/output types, target filters, per-subject cardinality bounds,51 requiredness, evaluation source, optional attestation-policy52 reference, and exact claim boundary. Model materialization of the53 frozen baseline Section 7 schema. */54 attribute obligationId : String;55 doc /* Stable explicit identifier; unique in the selected method. */56 attribute phase : MethodPhase;57 doc /* Reference to an existing MethodPhase literal; never a phase-specific Python branch. */58 attribute subjectSelector : String;59 doc /* Typed selection from the declared evaluation scope; no free-text inference. */60 attribute applicability : String;61 doc /* Restricted typed condition over pinned model/configuration data. */62 attribute minimumPopulation : Natural;63 attribute permittedEmpty : Boolean;64 doc /* Explicit permitted-empty disposition; an empty population without it is not a pass. */65 attribute predicate : String;66 doc /* Pinned ontology predicate identifier with declared input/output types. */67 attribute targetFilter : String;68 doc /* Typed conditions on returned targets, not implicitly on subjects. */69 attribute cardinalityMinimum : Natural;70 attribute cardinalityMaximum : Natural;71 doc /* Integer bounds over distinct qualifying targets per applicable subject. */72 attribute required : Boolean;73 doc /* Whether failure blocks this declared contract scope. */74 attribute evaluationSource : EvaluationSourceKind;75 attribute attestationPolicyRef : String;76 doc /* Policy identity required when acceptance/approval is part of the obligation; may be empty. */77 attribute claimBoundary : String;78 doc /* Exact claim supported when this obligation passes. */79 }8081 /* An evaluation scope binds increment identity, root subjects with82 eligible types, population policy, and explicit exclusions with83 rationale (frozen baseline Section 6). Contribution set and evaluation84 scope are distinct sets. */85 part def MethodEvaluationScope {86 doc /* An evaluation scope binding increment identity, eligible subject types,87 and explicit exclusions. Contribution set and evaluation scope are88 distinct sets; membership in evaluation scope is a reviewed scope89 decision, not an inferred impact claim. */90 attribute incrementId : String;91 doc /* Owning increment identifier, e.g. an INC-<SUBJECT>-<SEQ> record identity. */92 attribute subjectType : String;93 doc /* Eligible subject API metaclass for this scope; subjects of other types are rejected. */94 }9596 /* Explicit membership of one subject in an evaluation scope: the97 "contributes" relation of the frozen baseline Section 6. Membership in98 evaluation scope is a reviewed scope decision, not an inferred impact99 claim. */100 item def EvaluationScopeMembership {101 doc /* Explicit membership of one subject in an evaluation scope, carrying the102 contributes flag that separates the contribution set from reused103 evaluation-scope members. */104 attribute scopeId : String;105 doc /* Stable explicit identifier of the owning scope. */106 attribute subjectId : String;107 doc /* Stable explicit identifier (declaredShortName) of the subject element. */108 attribute contributes : Boolean;109 doc /* True when the increment introduces or changes the subject (contribution set); false for reused scope members. */110 }111112 /* A candidate evaluation declares the tested scope it compares evidence113 against (provenance fingerprint fields from the retained records). */114 item def TestedScopeDeclaration {115 doc /* A candidate evaluation's declaration of the tested scope it compares116 retained evidence against: execution head and pinned profile117 identities (conservative scope-equality inputs). */118 attribute executionHead : String;119 doc /* Full Git SHA the retained execution records were produced at. */120 attribute profileIdentities : String;121 doc /* Comma-separated pinned profile identities of the declared tested scope. */122 }123124 /* Reference to one retained execution record: explicit external identity125 with digest and provenance; bytes stay external. */126 item def RetainedExecutionRecordReference {127 doc /* A model-resident reference to one retained execution record with128 explicit external identity, artifact path, digest, and run identity;129 record bytes stay external. */130 attribute recordId : String;131 attribute artifactPath : String;132 attribute sha256 : String;133 attribute runId : String;134 }135136 /* Reference to the authorization policy and, where present, the137 attributable acceptance decision. Policy status (proposed vs approved)138 is carried by the policy document, not by this reference. */139 item def AcceptanceAttestationReference {140 doc /* A model-resident reference to the authorization policy and the141 machine-declared decision-registry location. Policy status (proposed142 vs approved) is carried by the policy document, not by this reference;143 a missing registry and a known-empty registry are different states. */144 attribute policyRef : String;145 doc /* Resolvable policy identity; an unresolvable identity is a contract error downstream. */146 attribute decisionRegistryPath : String;147 doc /* Machine-declared decision-registry location; missing and known-empty registries are different states. */148 }149150 doc /* Method-conformance vocabulary: model-resident contract objects so151 obligations, scopes, and evidence references are API-queryable at a152 bound revision. Phase-specific populations and thresholds are model153 data in feature slices, never Python constants. */154}155