-
-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathviews.sysml
More file actions
199 lines (159 loc) · 6.32 KB
/
Copy pathviews.sysml
File metadata and controls
199 lines (159 loc) · 6.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
// The views that present the architecture, one per rendering kind, plus the
// filtered layer views.
package OpenSysMLViews {
private import Views::*;
private import StandardViewDefinitions::*;
private import OpenSysMLArtifacts::*;
viewpoint def MaintainerPerspective {
frame concern latency : OpenSysMLInvariants::KeystrokeLatency;
}
viewpoint maintainerPerspective : MaintainerPerspective;
view pipelineStructure {
doc /* The analysis pipeline: stages, channels and the artifacts flowing. */
expose OpenSysMLPipeline::AnalysisPipeline;
render asInterconnectionDiagram;
}
view toolchainStructure {
doc /* Surfaces, clients and oracles around the pipeline. */
expose OpenSysMLSurfaces::Toolchain;
render asInterconnectionDiagram;
}
view documentPipeline {
expose OpenSysMLSurfaces::DocumentPipeline;
render asInterconnectionDiagram;
}
view documentFlow : ActionFlowView {
doc /* One document rendered, and the two branches in it. */
expose OpenSysMLSurfaces::RenderDocument;
}
view stageTable {
doc /* Every stage with the Go package that implements it. */
expose OpenSysMLPipeline::AnalysisPipeline;
render asElementTable;
}
view invariantTable {
expose OpenSysMLInvariants::**[@OpenSysMLArtifacts::Invariant];
render asElementTable;
}
view analysisFlow : ActionFlowView {
expose OpenSysMLBehavior::AnalyzeDocument;
}
view editFlow : ActionFlowView {
expose OpenSysMLBehavior::ServeEdit;
}
view libraryLoadFlow : ActionFlowView {
doc /* The bundled library loaded: from its snapshot, or from its files. */
expose OpenSysMLBehavior::LoadLibrary;
}
view calcInvocationFlow : ActionFlowView {
doc /* One calc invoked: compiled when it may be, on the evaluator otherwise. */
expose OpenSysMLBehavior::InvokeCalc;
}
view instanceLayer {
doc /* The instance layer: a type's schema once, objects on demand, every value read lazily and admitted. */
expose OpenSysMLExecution::InstanceModel;
render asInterconnectionDiagram;
}
view featureReadFlow : ActionFlowView {
doc /* One feature read: the case the feature is in decides how its value is made. */
expose OpenSysMLBehavior::ReadFeatureValue;
}
view actionExecution : SequenceView {
doc /* One action executed: lowered, stepped, scheduled, evaluated, read and written. */
expose OpenSysMLExecution::ExecuteAction;
}
view tierStates : StateTransitionView {
expose OpenSysMLBehavior::TierProgression;
}
view runtimeTiers : StateTransitionView {
expose OpenSysMLBehavior::RuntimeTiers;
}
view tokenFlow : StateTransitionView {
expose OpenSysMLBehavior::TokenFlow;
}
view eventDispatch : StateTransitionView {
expose OpenSysMLBehavior::EventDispatch;
}
view budgetExhaustion : StateTransitionView {
doc /* Six budgets, six ways a run can end early, each naming itself. */
expose OpenSysMLBehavior::BudgetExhaustion;
}
view analysisFramework {
doc /* One contract for every question: kinds, evidence, registry, dispatch, budget, workers, engines. */
expose OpenSysMLPipeline::AnalysisFramework;
render asInterconnectionDiagram;
}
view engineTable {
doc /* The engines this build registers, what each answers and how strongly. */
expose OpenSysMLPipeline::AnalysisFramework;
render asElementTable;
}
view questionFlow : ActionFlowView {
doc /* One question answered: selection, coverage, the run, and what the plan records. */
expose OpenSysMLBehavior::AnswerQuestion;
}
view exploreFlow : ActionFlowView {
doc /* A behavior's outcomes explored over a fleet of workers, proved or observed. */
expose OpenSysMLBehavior::ExploreOutcomes;
}
view evidenceLadder : StateTransitionView {
doc /* The five strengths of an answer, and what earns each. */
expose OpenSysMLBehavior::EvidenceLadder;
}
view workerLifecycle : StateTransitionView {
doc /* A plan's worker: warmed once for its job, a fresh context per run. */
expose OpenSysMLBehavior::WorkerLifecycle;
}
view snapshotLifecycle : StateTransitionView {
doc /* A snapshot as a mark between steps, and the two asks it refuses. */
expose OpenSysMLBehavior::SnapshotLifecycle;
}
view editorPipeline {
doc /* What an editor reaches: highlighting, fixes, suggestions, edits. */
expose OpenSysMLSurfaces::EditorPipeline;
render asInterconnectionDiagram;
}
view renderingKinds {
doc /* Every rendering kind the view engine recognizes, and which it produces. */
expose OpenSysMLSurfaces::ViewEngine;
render asElementTable;
}
view identityPath {
doc /* How an element's repository id reaches RDF and comes back. */
expose OpenSysMLIdentity::IdentityPath;
render asInterconnectionDiagram;
}
view identityRoundTrip : ActionFlowView {
expose OpenSysMLIdentity::CarryIdentity;
}
view syncFlow : ActionFlowView {
doc /* A local model diffed against its repository, keyed by effective id. */
expose OpenSysMLIdentity::SyncModel;
}
view identityLayer {
expose OpenSysMLIdentity::**[@OpenSysMLIdentity::Identity];
}
// The layer views, each reached by a filtered recursive expose.
view frontendLayer {
expose OpenSysMLPipeline::**[@OpenSysMLArtifacts::Frontend];
}
view semanticLayer {
expose OpenSysMLPipeline::**[@OpenSysMLArtifacts::SemanticEngine];
}
view backendLayer {
expose OpenSysMLPipeline::**[@OpenSysMLArtifacts::Backend];
}
view analysisLayer {
expose OpenSysMLPipeline::**[@OpenSysMLArtifacts::Analysis];
}
view oracleLayer {
expose OpenSysMLSurfaces::**[@OpenSysMLArtifacts::Oracle];
}
view overview {
expose OpenSysMLSurfaces::opensysml;
expose OpenSysMLSurfaces::Toolchain::lsp;
view pipelineSubview :> pipelineStructure;
satisfy maintainerPerspective;
frame concern latency : OpenSysMLInvariants::KeystrokeLatency;
}
}