@memoarchitect/ontology 0.12.0 → 0.12.1

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.
Files changed (32) hide show
  1. package/README.md +1 -1
  2. package/examples/gpca-pump/memo.identity.yaml +27 -0
  3. package/examples/sysml-diagram-samples/README.md +10 -0
  4. package/examples/sysml-diagram-samples/dashboards/README.md +17 -0
  5. package/examples/sysml-diagram-samples/dashboards/viewpoint-vp-demo-ibd.md +61 -0
  6. package/examples/sysml-diagram-samples/memo.identity.yaml +616 -0
  7. package/examples/sysml-diagram-samples/model/catalog/project.sysml +2 -11
  8. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/viewpoint.sysml +81 -6
  9. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/action_flow_view.sysml +15 -5
  10. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/browser_view.sysml +88 -0
  11. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/context_view.sysml +6 -6
  12. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/functional_flow_view.sysml +3 -3
  13. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/grid_view.sysml +64 -0
  14. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/interconnection_view.sysml +64 -4
  15. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/operational_behaviour_view.sysml +3 -3
  16. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/package_view.sysml +69 -0
  17. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/requirements_view.sysml +11 -11
  18. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/sequence_view.sysml +97 -0
  19. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/standard_activity_view.sysml +18 -18
  20. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/state_transition_view.sysml +18 -6
  21. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/tree_view.sysml +5 -5
  22. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/use_case_view.sysml +34 -11
  23. package/extensions/aadl/memo.package.yaml +1 -1
  24. package/extensions/cloud/memo.package.yaml +1 -1
  25. package/extensions/container/memo.package.yaml +1 -1
  26. package/extensions/messaging/memo.package.yaml +1 -1
  27. package/extensions/ros/memo.package.yaml +1 -1
  28. package/methodologies/default/memo.package.yaml +1 -1
  29. package/methodologies/gpca/memo.package.yaml +1 -1
  30. package/ontology/memo.package.yaml +1 -1
  31. package/package.json +1 -1
  32. package/profile/memo.package.yaml +1 -1
@@ -0,0 +1,97 @@
1
+ package diagram_samples {
2
+ // Sequence sample (sequence view kind, `seq` diagram type). A FunctionalFlow
3
+ // owns an ordered chain of FunctionalFlowSteps; each step is `allocate`d to
4
+ // the lifeline (an actor or component) that performs it, and the sequence
5
+ // template lays lifelines out as columns with one row per step in
6
+ // declaration order.
7
+ private import ScalarValues::*;
8
+
9
+ private import memo_architecture_operational_context_actors::*;
10
+ private import memo_architecture_logical_structure::*;
11
+ private import memo_architecture_functional_functions::*;
12
+ private import memo_core_relationships::*;
13
+ private import memo_viewpoints_definitions::*;
14
+ private import memo_viewpoints_functional_functional_viewpoint::*;
15
+ private import memo_core_enumerations::*;
16
+
17
+ private import memo_core_common::*;
18
+ private import memo_core_common::MemoIdentity;
19
+
20
+ // Lifelines — the actor and components each step is allocated to.
21
+ part clinician : User { attribute :>> name = "Clinician"; }
22
+ part pumpController : LogicalComponent { attribute :>> name = "Pump Controller"; }
23
+ part pumpMechanism : LogicalComponent { attribute :>> name = "Pump Mechanism"; }
24
+
25
+ // Combined fragment definitions — referenced by steps' `fragment` attribute.
26
+ part monitorLoop {
27
+ attribute :>> name = "Monitor Loop";
28
+ attribute fragmentType = "loop";
29
+ attribute guard = "vitals abnormal";
30
+ }
31
+ part errorHandling {
32
+ attribute :>> name = "Error Handling";
33
+ attribute fragmentType = "alt";
34
+ attribute fragmentGuards = "[error recoverable]|[else]";
35
+ }
36
+
37
+ action startInfusion : FunctionalFlow {
38
+ attribute :>> name = "Start Infusion";
39
+
40
+ action stepRequestStart : FunctionalFlowStep { attribute :>> name = "Request start infusion"; }
41
+ action stepValidate : FunctionalFlowStep { attribute :>> name = "Validate prescribed rate"; }
42
+ action stepCommandMotor : FunctionalFlowStep { attribute :>> name = "Command motor drive"; }
43
+ action stepConfirm : FunctionalFlowStep { attribute :>> name = "Confirm delivery started"; }
44
+
45
+ // Steps inside the monitoring loop fragment
46
+ action stepReadSensor : FunctionalFlowStep { attribute :>> name = "Read sensor data"; attribute stepOrder = "5"; attribute fragment = "monitorLoop"; }
47
+ action stepCheckVitals : FunctionalFlowStep { attribute :>> name = "Check vital signs"; attribute stepOrder = "6"; attribute fragment = "monitorLoop"; }
48
+
49
+ // Steps inside the alt (error-handling) fragment
50
+ action stepRetryDelivery : FunctionalFlowStep { attribute :>> name = "Retry delivery"; attribute stepOrder = "7"; attribute fragment = "errorHandling"; attribute fragmentOperand = "1"; }
51
+ action stepAlertUser : FunctionalFlowStep { attribute :>> name = "Alert user"; attribute stepOrder = "8"; attribute fragment = "errorHandling"; attribute fragmentOperand = "2"; }
52
+
53
+ action stepNotify : FunctionalFlowStep { attribute :>> name = "Notify delivery started"; attribute stepOrder = "9"; }
54
+
55
+ first start then stepRequestStart;
56
+ first stepRequestStart then stepValidate;
57
+ first stepValidate then stepCommandMotor;
58
+ first stepCommandMotor then stepConfirm;
59
+ first stepConfirm then stepReadSensor;
60
+ first stepReadSensor then stepCheckVitals;
61
+ first stepCheckVitals then stepRetryDelivery;
62
+ first stepCheckVitals then stepAlertUser;
63
+ first stepRetryDelivery then stepNotify;
64
+ first stepAlertUser then stepNotify;
65
+ first stepNotify then done;
66
+ }
67
+
68
+ // Lane assignment — which lifeline performs each step, in the order the
69
+ // sequence reads top to bottom: clinician requests, controller validates,
70
+ // mechanism drives, controller confirms, clinician is notified.
71
+ allocate startInfusion.stepRequestStart to clinician;
72
+ allocate startInfusion.stepValidate to pumpController;
73
+ allocate startInfusion.stepCommandMotor to pumpMechanism;
74
+ allocate startInfusion.stepConfirm to pumpController;
75
+ allocate startInfusion.stepReadSensor to pumpMechanism;
76
+ allocate startInfusion.stepCheckVitals to pumpController;
77
+ allocate startInfusion.stepRetryDelivery to pumpController;
78
+ allocate startInfusion.stepAlertUser to clinician;
79
+ allocate startInfusion.stepNotify to clinician;
80
+
81
+ view startInfusionSequence : MemoDiagramView {
82
+ expose startInfusion::**;
83
+ expose clinician::**;
84
+ expose pumpController::**;
85
+ expose pumpMechanism::**;
86
+ expose monitorLoop::**;
87
+ expose errorHandling::**;
88
+ attribute depth = 2;
89
+ @MemoIdentity { :>> shortDescription = "Start-infusion sequence with combined fragments — loop for sensor monitoring and alt for error handling."; }
90
+ attribute :>> viewKind = DiagramViewKind::sequence;
91
+ attribute :>> diagramType = "seq";
92
+ ref :>> viewpointDefinition = sequenceViewpoint;
93
+ part :>> selectionQuery {
94
+ attribute :>> includeElementKinds = ("FunctionalFlowStep", "User", "LogicalComponent", "Part");
95
+ }
96
+ }
97
+ }
@@ -1,17 +1,17 @@
1
- // Standard SysML v2 activity sample (actionflow view kind, `afd` diagram type).
2
- //
3
- // The view over `activity_example::CustomerProcess`, the standard-SysML activity
4
- // fixture in `model/sysml_v2_activity_example.sysml`. It exists because the
5
- // fixture's whole point is the node types `action_flow_view.sysml` does not
6
- // have — decision, merge, fork, join, accept, send, terminate, and guarded
7
- // successions. Without a view exposing it the fixture parses into the model and
8
- // is never drawn, which is indistinguishable from a renderer that cannot draw
9
- // decisions.
10
- //
11
- // Nothing here specializes a MEMO kind: the fixture is plain standard SysML,
12
- // and that is the property under test. The renderer classifies its nodes from
13
- // the metamodel (`activity-notation.ts`), not from an ontology kind.
14
- package memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_standard_activity_view {
1
+ package diagram_samples {
2
+ // Standard SysML v2 activity sample (actionflow view kind, `afd` diagram type).
3
+ //
4
+ // The view over `activity_example::CustomerProcess`, the standard-SysML activity
5
+ // fixture in `model/sysml_v2_activity_example.sysml`. It exists because the
6
+ // fixture's whole point is the node types `action_flow_view.sysml` does not
7
+ // have — decision, merge, fork, join, accept, send, terminate, and guarded
8
+ // successions. Without a view exposing it the fixture parses into the model and
9
+ // is never drawn, which is indistinguishable from a renderer that cannot draw
10
+ // decisions.
11
+ //
12
+ // Nothing here specializes a MEMO kind: the fixture is plain standard SysML,
13
+ // and that is the property under test. The renderer classifies its nodes from
14
+ // the metamodel (`activity-notation.ts`), not from an ontology kind.
15
15
  private import ScalarValues::*;
16
16
 
17
17
  private import memo_core_relationships::*;
@@ -23,12 +23,12 @@ package memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_standard
23
23
 
24
24
  private import memo_core_common::*;
25
25
  private import memo_core_common::MemoIdentity;
26
- view standardActivityView : MemoDiagramView {
27
- expose CustomerProcess::**;
26
+ view orderFulfillmentActivity : MemoDiagramView {
27
+ expose FulfillOrder::**;
28
28
  attribute depth = 2;
29
- @MemoIdentity { :>> shortDescription = "Customer login, guarded validation, shopping loop, checkout, credit approval, and explicit completion outcomes."; }
29
+ @MemoIdentity { :>> shortDescription = "Order fulfilment — accept, validate, decide, fork into parallel shipment and invoice, join, notify, send receipt, and terminate."; }
30
30
  attribute :>> viewKind = DiagramViewKind::actionflow;
31
31
  attribute :>> diagramType = "afd";
32
- ref :>> viewpointDefinition = functionalViewpoint;
32
+ ref :>> viewpointDefinition = actionFlowViewpoint;
33
33
  }
34
34
  }
@@ -1,7 +1,7 @@
1
- // State transition sample (statetransition view kind, `stm` diagram type). A
2
- // behaviour machine owns its mode states by containing them, and each native
3
- // transition lives inside the state whose substates it connects.
4
- package memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_state_transition_view {
1
+ package diagram_samples {
2
+ // State transition sample (statetransition view kind, `stm` diagram type). A
3
+ // behaviour machine owns its mode states by containing them, and each native
4
+ // transition lives inside the state whose substates it connects.
5
5
  private import ScalarValues::*;
6
6
 
7
7
  private import memo_architecture_functional_behavior::*;
@@ -62,18 +62,30 @@ package memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_state_tr
62
62
  }
63
63
  }
64
64
 
65
- view sampleStateTransitionView : MemoDiagramView {
65
+ view pumpModeStateMachine : MemoDiagramView {
66
66
  expose pumpModes::**;
67
67
  attribute depth = 2;
68
68
  @MemoIdentity { :>> shortDescription = "A pump-mode state machine — Idle, Infusing, Paused, Alarm — where Infusing is a composite state nesting Priming, Delivering and Holding."; }
69
69
  attribute :>> viewKind = DiagramViewKind::statetransition;
70
70
  attribute :>> diagramType = "stm";
71
- ref :>> viewpointDefinition = functionalViewpoint;
71
+ ref :>> viewpointDefinition = stateMachineViewpoint;
72
72
  part :>> selectionQuery {
73
73
  attribute :>> includeElementKinds = ("StateMachine", "MemoState");
74
74
  }
75
75
  }
76
76
 
77
+ view infusingSubStates : MemoDiagramView {
78
+ expose pumpModes.infusing::**;
79
+ attribute depth = 2;
80
+ @MemoIdentity { :>> shortDescription = "Sub-states of the Infusing composite state — Priming, Delivering, and Holding with their internal transitions."; }
81
+ attribute :>> viewKind = DiagramViewKind::statetransition;
82
+ attribute :>> diagramType = "stm";
83
+ ref :>> viewpointDefinition = stateMachineViewpoint;
84
+ part :>> selectionQuery {
85
+ attribute :>> includeElementKinds = ("MemoState");
86
+ }
87
+ }
88
+
77
89
  // The machine is one containment tree, so exposing its root reaches every
78
90
  // state and transition; the former per-element IncludedIn list restated
79
91
  // that tree a second time and is gone with it.
@@ -1,4 +1,4 @@
1
- package memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_tree_view {
1
+ package diagram_samples {
2
2
  private import ScalarValues::*;
3
3
  private import memo_architecture_implementation_hardware_structure::*;
4
4
 
@@ -16,7 +16,7 @@ package memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_tree_vie
16
16
  attribute :>> name = "Branch A.1";
17
17
  part leafA11 : HardwareAssembly {
18
18
  attribute :>> name = "Leaf A.1.1";
19
- attribute :>> partNumber = "PN-001";
19
+ attribute :>> partNumber = "PN-1";
20
20
  }
21
21
  part leafA12 : HardwareAssembly { attribute :>> name = "Leaf A.1.2"; }
22
22
  }
@@ -33,13 +33,13 @@ package memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_tree_vie
33
33
  }
34
34
  }
35
35
 
36
- view sampleTreeView : MemoDiagramView {
36
+ view blockDecomposition : MemoDiagramView {
37
37
  expose rootA::**;
38
38
  attribute depth = 2;
39
- @MemoIdentity { :>> shortDescription = "One connected dummy hierarchy with varied branch depths for tree layout development."; }
39
+ @MemoIdentity { :>> shortDescription = "Block decomposition tree — hardware assemblies with varied branch depths."; }
40
40
  attribute :>> viewKind = DiagramViewKind::general;
41
41
  attribute :>> diagramType = "bdd";
42
- ref :>> viewpointDefinition = physicalViewpoint;
42
+ ref :>> viewpointDefinition = treeViewpoint;
43
43
  attribute :>> layoutHint = "tree";
44
44
  attribute :>> styleHint = "expanded:rootA,rootB,branchA1,branchB1";
45
45
  part :>> selectionQuery {
@@ -1,4 +1,4 @@
1
- package memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_use_case_view {
1
+ package diagram_samples {
2
2
  private import ScalarValues::*;
3
3
  private import memo_architecture_operational_context_actors::*;
4
4
  private import memo_architecture_operational_use_cases::*;
@@ -9,6 +9,15 @@ package memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_use_case
9
9
 
10
10
  private import memo_core_common::*;
11
11
  private import memo_core_common::MemoIdentity;
12
+
13
+ // Generalization (specialization) relation for UML-style use-case diagrams.
14
+ // Source is the specific element, target the general one; the UCD renderer
15
+ // draws a solid line with a hollow triangle pointing at the general end.
16
+ connection def Specialization :> MemoRelationship {
17
+ end specialized :>> source;
18
+ end general :>> target;
19
+ }
20
+
12
21
  // Product-neutral fixture for the UML-style use-case presentation.
13
22
  part patient : User {
14
23
  attribute :>> actorKind = ActorKind::patient;
@@ -22,9 +31,13 @@ package memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_use_case
22
31
  attribute :>> actorKind = ActorKind::technician;
23
32
  attribute :>> name = "Service Technician";
24
33
  }
34
+ part nursingStaff : User {
35
+ attribute :>> actorKind = ActorKind::clinician;
36
+ attribute :>> name = "Nursing Staff";
37
+ }
25
38
 
26
39
  use case reviewStatus : UseCase {
27
- @MemoIdentity { :>> providedId = "UC-SAMPLE-001"; }
40
+ @MemoIdentity { :>> providedId = "UC-SAMPLE-1"; }
28
41
  attribute :>> name = "Review Device Status";
29
42
  attribute :>> useCaseKind = UseCaseKind::clinical;
30
43
  include validateTherapySettings;
@@ -32,7 +45,7 @@ package memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_use_case
32
45
  actor patientActor = patient;
33
46
  }
34
47
  use case configureTherapy : UseCase {
35
- @MemoIdentity { :>> providedId = "UC-SAMPLE-002"; }
48
+ @MemoIdentity { :>> providedId = "UC-SAMPLE-2"; }
36
49
  attribute :>> name = "Configure Therapy";
37
50
  attribute :>> useCaseKind = UseCaseKind::clinical;
38
51
  include reviewStatus;
@@ -41,7 +54,7 @@ package memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_use_case
41
54
  actor patientActor = patient;
42
55
  }
43
56
  use case maintainDevice : UseCase {
44
- @MemoIdentity { :>> providedId = "UC-SAMPLE-003"; }
57
+ @MemoIdentity { :>> providedId = "UC-SAMPLE-3"; }
45
58
  attribute :>> name = "Maintain Device";
46
59
  attribute :>> useCaseKind = UseCaseKind::service;
47
60
  subject supportingSystem;
@@ -49,14 +62,14 @@ package memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_use_case
49
62
  }
50
63
 
51
64
  use case documentTreatment : UseCase {
52
- @MemoIdentity { :>> providedId = "UC-SAMPLE-004"; }
65
+ @MemoIdentity { :>> providedId = "UC-SAMPLE-4"; }
53
66
  attribute :>> name = "Document Treatment";
54
67
  attribute :>> useCaseKind = UseCaseKind::clinical;
55
68
  }
56
69
 
57
70
  // L2 child of Review Device Status: makes L0 → L1 → L2 selectable.
58
71
  use case validateTherapySettings : UseCase {
59
- @MemoIdentity { :>> providedId = "UC-SAMPLE-005"; }
72
+ @MemoIdentity { :>> providedId = "UC-SAMPLE-5"; }
60
73
  attribute :>> name = "Validate Therapy Settings";
61
74
  attribute :>> useCaseKind = UseCaseKind::clinical;
62
75
  subject supportingSystem;
@@ -67,24 +80,34 @@ package memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_use_case
67
80
  // specialization, and `:>` inherits the base's subject and actors.
68
81
  dependency from documentTreatment to reviewStatus;
69
82
 
70
- view sampleUseCaseView : MemoDiagramView {
83
+ // Actor generalization: Nursing Staff is a specialization of Clinician.
84
+ // UML draws this as a solid line with a hollow triangle arrowhead pointing
85
+ // at the general actor.
86
+ connection : Specialization connect nursingStaff to clinician;
87
+
88
+ // Use-case generalization: Configure Therapy specializes Review Device
89
+ // Status — the general case is browsing status; configuring therapy is a
90
+ // more specific variant.
91
+ connection : Specialization connect configureTherapy to reviewStatus;
92
+
93
+ view deviceUseCases : MemoDiagramView {
71
94
  expose patient;
72
95
  expose clinician;
73
96
  expose serviceTechnician;
97
+ expose nursingStaff;
74
98
  expose reviewStatus;
75
99
  expose configureTherapy;
76
100
  expose maintainDevice;
77
101
  expose documentTreatment;
78
102
  expose validateTherapySettings;
79
- @MemoIdentity { :>> shortDescription = "Actors outside a device boundary with include, extend, hierarchy-level, and orthogonal-routing presentation."; }
103
+ @MemoIdentity { :>> shortDescription = "Actors outside a device boundary with include, extend, generalization, hierarchy-level, and orthogonal-routing presentation."; }
80
104
  attribute :>> viewKind = DiagramViewKind::general;
81
105
  attribute :>> diagramType = "ucd";
82
- ref :>> viewpointDefinition = operationalViewpoint;
106
+ ref :>> viewpointDefinition = useCaseViewpoint;
83
107
  part :>> selectionQuery {
84
108
  attribute :>> includeElementKinds = ("User", "UseCase");
85
- attribute :>> includeRelationshipKinds = ("ParticipatesIn", "IncludesStep", "Extends");
109
+ attribute :>> includeRelationshipKinds = ("ParticipatesIn", "IncludesStep", "Extends", "Specialization");
86
110
  }
87
- // Presentation is owned by the model view, rather than a canvas control.
88
111
  attribute :>> layoutHint = "usecase:level=all;edge=rounded";
89
112
  }
90
113
  }
@@ -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.12.0
10
+ version: 0.12.1
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.12.0
10
+ version: 0.12.1
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.12.0
10
+ version: 0.12.1
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.12.0
10
+ version: 0.12.1
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.12.0
10
+ version: 0.12.1
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.12.0
10
+ version: 0.12.1
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.12.0
10
+ version: 0.12.1
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.12.0
10
+ version: 0.12.1
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.12.0",
3
+ "version": "0.12.1",
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.12.0
10
+ version: 0.12.1
11
11
  description: Closure rules and viewpoints for medical device modeling
12
12
  license: MIT
13
13
  tags: