@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.
- package/README.md +1 -1
- package/examples/gpca-pump/memo.identity.yaml +27 -0
- package/examples/sysml-diagram-samples/README.md +10 -0
- package/examples/sysml-diagram-samples/dashboards/README.md +17 -0
- package/examples/sysml-diagram-samples/dashboards/viewpoint-vp-demo-ibd.md +61 -0
- package/examples/sysml-diagram-samples/memo.identity.yaml +616 -0
- package/examples/sysml-diagram-samples/model/catalog/project.sysml +2 -11
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/viewpoint.sysml +81 -6
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/action_flow_view.sysml +15 -5
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/browser_view.sysml +88 -0
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/context_view.sysml +6 -6
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/functional_flow_view.sysml +3 -3
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/grid_view.sysml +64 -0
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/interconnection_view.sysml +64 -4
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/operational_behaviour_view.sysml +3 -3
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/package_view.sysml +69 -0
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/requirements_view.sysml +11 -11
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/sequence_view.sysml +97 -0
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/standard_activity_view.sysml +18 -18
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/state_transition_view.sysml +18 -6
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/tree_view.sysml +5 -5
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/use_case_view.sysml +34 -11
- 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/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/sequence_view.sysml
ADDED
|
@@ -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
|
-
|
|
2
|
-
//
|
|
3
|
-
//
|
|
4
|
-
//
|
|
5
|
-
// fixture
|
|
6
|
-
//
|
|
7
|
-
//
|
|
8
|
-
//
|
|
9
|
-
//
|
|
10
|
-
//
|
|
11
|
-
//
|
|
12
|
-
//
|
|
13
|
-
// the
|
|
14
|
-
|
|
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
|
|
27
|
-
expose
|
|
26
|
+
view orderFulfillmentActivity : MemoDiagramView {
|
|
27
|
+
expose FulfillOrder::**;
|
|
28
28
|
attribute depth = 2;
|
|
29
|
-
@MemoIdentity { :>> shortDescription = "
|
|
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 =
|
|
32
|
+
ref :>> viewpointDefinition = actionFlowViewpoint;
|
|
33
33
|
}
|
|
34
34
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
//
|
|
3
|
-
//
|
|
4
|
-
|
|
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
|
|
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 =
|
|
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.
|
package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/tree_view.sysml
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package
|
|
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-
|
|
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
|
|
36
|
+
view blockDecomposition : MemoDiagramView {
|
|
37
37
|
expose rootA::**;
|
|
38
38
|
attribute depth = 2;
|
|
39
|
-
@MemoIdentity { :>> shortDescription = "
|
|
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 =
|
|
42
|
+
ref :>> viewpointDefinition = treeViewpoint;
|
|
43
43
|
attribute :>> layoutHint = "tree";
|
|
44
44
|
attribute :>> styleHint = "expanded:rootA,rootB,branchA1,branchB1";
|
|
45
45
|
part :>> selectionQuery {
|
package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/use_case_view.sysml
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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
|
-
|
|
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 =
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
10
|
+
version: 0.12.1
|
|
11
11
|
description: Closure rules and viewpoints for medical device modeling
|
|
12
12
|
license: MIT
|
|
13
13
|
tags:
|