@memoarchitect/ontology 0.11.0 → 0.11.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -23,7 +23,7 @@ pin an exact release; the package has no repository or runtime dependency on Mem
23
23
  Tools or Memo Architect.
24
24
 
25
25
  ```bash
26
- pnpm add @memoarchitect/ontology@0.11.0
26
+ pnpm add @memoarchitect/ontology@0.11.2
27
27
  ```
28
28
 
29
29
  > **Pre-1.0 notice:** ontology names, relationships, and package layout may
@@ -7,7 +7,7 @@
7
7
  # (`type`, `extends`, `usage`, `ontologies`, `methodology`, `modules`) were
8
8
  # removed at the native semantic flip and are now rejected if present.
9
9
  name: '@memoarchitect/extension-aadl'
10
- version: 0.11.0
10
+ version: 0.11.2
11
11
  description: AADL (SAE AS5506) correspondence profile and runtime component families
12
12
  license: MIT
13
13
  tags:
@@ -7,7 +7,7 @@
7
7
  # (`type`, `extends`, `usage`, `ontologies`, `methodology`, `modules`) were
8
8
  # removed at the native semantic flip and are now rejected if present.
9
9
  name: '@memoarchitect/extension-cloud'
10
- version: 0.11.0
10
+ version: 0.11.2
11
11
  description: Networked services and managed data stores
12
12
  license: MIT
13
13
  tags:
@@ -7,7 +7,7 @@
7
7
  # (`type`, `extends`, `usage`, `ontologies`, `methodology`, `modules`) were
8
8
  # removed at the native semantic flip and are now rejected if present.
9
9
  name: '@memoarchitect/extension-container'
10
- version: 0.11.0
10
+ version: 0.11.2
11
11
  description: OCI container images and container runtimes as deployment content
12
12
  license: MIT
13
13
  tags:
@@ -7,7 +7,7 @@
7
7
  # (`type`, `extends`, `usage`, `ontologies`, `methodology`, `modules`) were
8
8
  # removed at the native semantic flip and are now rejected if present.
9
9
  name: '@memoarchitect/extension-messaging'
10
- version: 0.11.0
10
+ version: 0.11.2
11
11
  description: Publish/subscribe messaging — topics, brokers, and delivery semantics
12
12
  license: MIT
13
13
  tags:
@@ -7,7 +7,7 @@
7
7
  # (`type`, `extends`, `usage`, `ontologies`, `methodology`, `modules`) were
8
8
  # removed at the native semantic flip and are now rejected if present.
9
9
  name: '@memoarchitect/extension-ros'
10
- version: 0.11.0
10
+ version: 0.11.2
11
11
  description: ROS 2 nodes, messages, topic/service/action interfaces, QoS, and containerized deployment
12
12
  license: MIT
13
13
  tags:
@@ -7,7 +7,7 @@
7
7
  # (`type`, `extends`, `usage`, `ontologies`, `methodology`, `modules`) were
8
8
  # removed at the native semantic flip and are now rejected if present.
9
9
  name: '@memoarchitect/methodology-default'
10
- version: 0.11.0
10
+ version: 0.11.2
11
11
  description: "MEMO default medical-device methodology \u2014 selects viewpoints/views/DHF documents from @memoarchitect/ontology and adds rules, gates, patterns, profiles, and workflow."
12
12
  license: MIT
13
13
  tags:
@@ -7,7 +7,7 @@
7
7
  # (`type`, `extends`, `usage`, `ontologies`, `methodology`, `modules`) were
8
8
  # removed at the native semantic flip and are now rejected if present.
9
9
  name: '@memoarchitect/methodology-gpca'
10
- version: 0.11.0
10
+ version: 0.11.2
11
11
  description: "GPCA infusion pump methodology \u2014 subtraction-based tailoring of @memoarchitect/methodology-default for the non-networked prototype variant. Excludes cybersecurity and SOUP."
12
12
  license: MIT
13
13
  tags:
@@ -7,7 +7,7 @@
7
7
  # (`type`, `extends`, `usage`, `ontologies`, `methodology`, `modules`) were
8
8
  # removed at the native semantic flip and are now rejected if present.
9
9
  name: '@memoarchitect/ontology'
10
- version: 0.11.0
10
+ version: 0.11.2
11
11
  description: "MEMO \u2014 the single canonical medical-device ontology: core semantics, the Arcadia-inspired architecture layers (context, requirements, behavior, structure, interfaces, risk, cybersecurity,\
12
12
  \ assurance, \u2026), compliance, viewpoints, views, and invariant rules. One namespace (memo::), one src/ tree."
13
13
  license: MIT
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memoarchitect/ontology",
3
- "version": "0.11.0",
3
+ "version": "0.11.2",
4
4
  "packageManager": "pnpm@9.15.0",
5
5
  "description": "MEMO — Medical Engineering Modelling Ontology. Pure SysML v2 medical-device ontology with native constraints, portable to any conformant SysML v2 tool (SysIDE, SysON, sysand).",
6
6
  "scripts": {
@@ -7,7 +7,7 @@
7
7
  # (`type`, `extends`, `usage`, `ontologies`, `methodology`, `modules`) were
8
8
  # removed at the native semantic flip and are now rejected if present.
9
9
  name: '@memoarchitect/medical-modeling-profile'
10
- version: 0.11.0
10
+ version: 0.11.2
11
11
  description: Closure rules and viewpoints for medical device modeling
12
12
  license: MIT
13
13
  tags:
@@ -46,6 +46,11 @@ package memo_assurance_cybersecurity {
46
46
  attribute affectedLayer : String;
47
47
  attribute cweReference : String;
48
48
  attribute remediable : Boolean;
49
+ // CVSS v3.1 quantitative rating — the core output of a vulnerability
50
+ // analysis (e.g. RSK-00058). `cvssBaseScore` is the 0.0-10.0 numeric
51
+ // score; `cvssVector` the source vector string (AV:.../AC:.../...).
52
+ attribute cvssBaseScore : Real;
53
+ attribute cvssVector : String;
49
54
  }
50
55
 
51
56
  item def CyberHazard specializes Hazard {
@@ -39,22 +39,10 @@ package memo_assurance_safety_risk {
39
39
  attribute riskLevelMapping : String;
40
40
  attribute acceptabilityThresholds : String;
41
41
  }
42
- part def DesignControlRiskRow specializes Risk {
43
- attribute rowTitle : String;
44
- attribute hazardAnalysis : String;
45
- attribute hazardCategory : String;
46
- attribute hazardSubcategory : String;
47
- attribute causeSequenceOfEventsFailure : String;
48
- attribute harmText : String;
49
- attribute probabilityBeforeRaw : String;
50
- attribute severityBeforeRaw : String;
51
- attribute riskBeforeMeasureRaw : String;
52
- attribute probabilityAfterRaw : String;
53
- attribute severityAfterRaw : String;
54
- attribute riskAfterMitigationRaw : String;
55
- attribute cannotReduceFurther : Boolean;
56
- attribute linkSummary : String;
57
- }
42
+ // `DesignControlRiskRow` was a denormalized spreadsheet transcription.
43
+ // Risk rows now decompose into the ISO 14971 chain below: Risk owns its
44
+ // Hazard, SequenceOfEvents, HazardousSituation, and Harm items, linked by
45
+ // TracesRisk / LeadsToHarm, with ResidualRisk after mitigation.
58
46
  // A device characteristic whose implementation, failure, or misuse can
59
47
  // affect safety. This is the modelable output of ISO 14971 §5.3.
60
48
  part def SafetyRelatedCharacteristic specializes MemoPart {
@@ -102,6 +90,8 @@ package memo_assurance_safety_risk {
102
90
  item def HazardousSituation specializes RiskItem {
103
91
  attribute exposedPersons : String;
104
92
  attribute operatingCondition : String;
93
+ // ISO 14971 P1: probability that the hazardous situation occurs.
94
+ attribute probabilityOfOccurrence : ProbabilityKind;
105
95
  }
106
96
  item def Harm specializes RiskItem {
107
97
  attribute clinicalImpact : String;
@@ -138,6 +128,19 @@ package memo_assurance_safety_risk {
138
128
  :> annotatedElement : SysML::ConnectionUsage;
139
129
  :>> baseType = tracesRiskLinks meta SysML::Usage;
140
130
  }
131
+ // The final ISO 14971 chain edge. P2 is the conditional probability that
132
+ // the hazardous situation results in the harm.
133
+ connection def LeadsToHarm :> MemoRelationship {
134
+ attribute conditionalProbability : ProbabilityKind;
135
+ end hazardousSituation : HazardousSituation :>> source;
136
+ end resultingHarm : Harm :>> target;
137
+ }
138
+ abstract connection leadsToHarmLinks : LeadsToHarm[*];
139
+ metadata def <leadsToHarm> LeadsToHarmMetadata :> SemanticMetadata {
140
+ :> annotatedElement : SysML::ConnectionDefinition;
141
+ :> annotatedElement : SysML::ConnectionUsage;
142
+ :>> baseType = leadsToHarmLinks meta SysML::Usage;
143
+ }
141
144
  // IEC 62366-1 3.9's hazard-related use scenario: the scenario a hazard can
142
145
  // arise in. It is declared HERE rather than as a `hazardReference` string
143
146
  // on the scenario, which is what stood in for it: a string names nothing a
@@ -21,10 +21,28 @@ package memo_assurance_verification_validation {
21
21
  // a second spelling of `status`.
22
22
  // Specializes the standard library verification case as well as MEMO's
23
23
  // base, rather than shadowing it — see the note on UseCase.
24
+ // Reusable test action, distinct from a case's pass/fail criteria.
25
+ action def TestStep specializes MemoAction {
26
+ attribute stepAction : String;
27
+ attribute expectedResult : String;
28
+ attribute referencedItem : String;
29
+ }
24
30
  verification def VerificationCase :> MemoVerificationCase, VerificationCases::VerificationCase {
25
31
  attribute methodKind : MemoVerificationMethodKind;
26
32
  attribute acceptanceCriteria : String;
27
33
  }
34
+ // Orders a reusable TestStep within a verification or validation case.
35
+ connection def PerformsStep :> MemoRelationship {
36
+ attribute sequence : Integer;
37
+ end verificationCase : MemoVerificationCase :>> source;
38
+ end testStep : TestStep :>> target;
39
+ }
40
+ abstract connection performsStepLinks : PerformsStep[*];
41
+ metadata def <performsStep> PerformsStepMetadata :> SemanticMetadata {
42
+ :> annotatedElement : SysML::ConnectionDefinition;
43
+ :> annotatedElement : SysML::ConnectionUsage;
44
+ :>> baseType = performsStepLinks meta SysML::Usage;
45
+ }
28
46
  verification def ValidationCase :> MemoVerificationCase {
29
47
  attribute validationMethod : ValidationMethodKind;
30
48
  attribute userParticipation : String;