@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 +1 -1
- package/extensions/aadl/memo.package.yaml +1 -1
- package/extensions/cloud/memo.package.yaml +1 -1
- package/extensions/container/memo.package.yaml +1 -1
- package/extensions/messaging/memo.package.yaml +1 -1
- package/extensions/ros/memo.package.yaml +1 -1
- package/methodologies/default/memo.package.yaml +1 -1
- package/methodologies/gpca/memo.package.yaml +1 -1
- package/ontology/memo.package.yaml +1 -1
- package/package.json +1 -1
- package/profile/memo.package.yaml +1 -1
- package/src/assurance/cybersecurity/memo_cybersecurity.sysml +5 -0
- package/src/assurance/safety_risk/memo_risk.sysml +19 -16
- package/src/assurance/verification_validation/memo_assurance.sysml +18 -0
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
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;
|