eyeling 1.22.13 → 1.22.15
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/HANDBOOK.md +2 -0
- package/dist/browser/eyeling.browser.js +232 -180
- package/examples/control-system-becoming.n3 +203 -0
- package/examples/developmental-genetics-becoming.n3 +204 -0
- package/examples/engineering-becoming.n3 +167 -0
- package/examples/output/control-system-becoming.n3 +35 -0
- package/examples/output/developmental-genetics-becoming.n3 +32 -0
- package/examples/output/engineering-becoming.n3 +26 -0
- package/examples/output/whitehead-becoming.n3 +42 -0
- package/examples/whitehead-becoming.n3 +155 -0
- package/eyeling.js +240 -184
- package/lib/builtins.js +164 -151
- package/lib/engine.js +67 -29
- package/package.json +1 -1
- package/test/api.test.js +28 -0
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
# ===============================================================
|
|
2
|
+
# This small Notation3 program models controller design as a
|
|
3
|
+
# process of engineering becoming. A controller revision does not
|
|
4
|
+
# arise from nothing: it inherits validated performance from an
|
|
5
|
+
# earlier design, responds to a new control objective, selects a
|
|
6
|
+
# compatible strategy, and integrates that strategy into a new
|
|
7
|
+
# concrete controller. Once validated, the controller becomes a
|
|
8
|
+
# new approved baseline for future tuning and extension.
|
|
9
|
+
# ===============================================================
|
|
10
|
+
|
|
11
|
+
@prefix : <http://example.org/control#>.
|
|
12
|
+
|
|
13
|
+
# ----------
|
|
14
|
+
# CATEGORIES
|
|
15
|
+
# ----------
|
|
16
|
+
|
|
17
|
+
:ControllerRevision a :Category.
|
|
18
|
+
:Requirement a :Category.
|
|
19
|
+
:DesignGoal a :Category.
|
|
20
|
+
:ControlStrategy a :Category.
|
|
21
|
+
|
|
22
|
+
# ------------
|
|
23
|
+
# REQUIREMENTS
|
|
24
|
+
# ------------
|
|
25
|
+
|
|
26
|
+
:stabilityReq a :Requirement.
|
|
27
|
+
:trackingReq a :Requirement.
|
|
28
|
+
:overshootReq a :Requirement.
|
|
29
|
+
:disturbanceRejectionReq a :Requirement.
|
|
30
|
+
|
|
31
|
+
# ------------
|
|
32
|
+
# DESIGN GOALS
|
|
33
|
+
# ------------
|
|
34
|
+
|
|
35
|
+
:reduceOvershoot a :DesignGoal.
|
|
36
|
+
:rejectDisturbance a :DesignGoal.
|
|
37
|
+
|
|
38
|
+
:reduceOvershoot :suggests :leadCompensator;
|
|
39
|
+
:introducesRequirement :overshootReq.
|
|
40
|
+
|
|
41
|
+
:rejectDisturbance :suggests :integralAction;
|
|
42
|
+
:introducesRequirement :disturbanceRejectionReq.
|
|
43
|
+
|
|
44
|
+
# ------------------
|
|
45
|
+
# CONTROL STRATEGIES
|
|
46
|
+
# ------------------
|
|
47
|
+
|
|
48
|
+
:leadCompensator a :ControlStrategy.
|
|
49
|
+
:integralAction a :ControlStrategy.
|
|
50
|
+
|
|
51
|
+
# Strategy compatibility with inherited requirements
|
|
52
|
+
:leadCompensator :compatibleWith :stabilityReq, :trackingReq;
|
|
53
|
+
:enables :overshootReq.
|
|
54
|
+
|
|
55
|
+
:integralAction :compatibleWith :stabilityReq, :trackingReq, :overshootReq;
|
|
56
|
+
:enables :disturbanceRejectionReq.
|
|
57
|
+
|
|
58
|
+
# --------------------------
|
|
59
|
+
# INITIAL CONTROLLER HISTORY
|
|
60
|
+
# --------------------------
|
|
61
|
+
|
|
62
|
+
:c1 a :ControllerRevision;
|
|
63
|
+
:time 1;
|
|
64
|
+
:satisfies :stabilityReq, :trackingReq;
|
|
65
|
+
:realizes :baselinePID;
|
|
66
|
+
:achieves :approvedController.
|
|
67
|
+
|
|
68
|
+
:c2 a :ControllerRevision;
|
|
69
|
+
:time 2;
|
|
70
|
+
:derivesFrom :c1;
|
|
71
|
+
:designGoal :reduceOvershoot.
|
|
72
|
+
|
|
73
|
+
:c3 a :ControllerRevision;
|
|
74
|
+
:time 3;
|
|
75
|
+
:derivesFrom :c2;
|
|
76
|
+
:designGoal :rejectDisturbance.
|
|
77
|
+
|
|
78
|
+
# ---------------------------------------------------------
|
|
79
|
+
# RULE 1
|
|
80
|
+
# A NEW REVISION INHERITS PREVIOUSLY SATISFIED REQUIREMENTS
|
|
81
|
+
# ---------------------------------------------------------
|
|
82
|
+
|
|
83
|
+
{
|
|
84
|
+
?later :derivesFrom ?earlier.
|
|
85
|
+
?earlier :satisfies ?req.
|
|
86
|
+
}
|
|
87
|
+
=>
|
|
88
|
+
{
|
|
89
|
+
?later :inheritsRequirement ?req.
|
|
90
|
+
}.
|
|
91
|
+
|
|
92
|
+
# ------------------------------------------------
|
|
93
|
+
# RULE 2
|
|
94
|
+
# A DESIGN GOAL OPENS A CANDIDATE CONTROL STRATEGY
|
|
95
|
+
# ------------------------------------------------
|
|
96
|
+
|
|
97
|
+
{
|
|
98
|
+
?ctrl :designGoal ?goal.
|
|
99
|
+
?goal :suggests ?strategy.
|
|
100
|
+
}
|
|
101
|
+
=>
|
|
102
|
+
{
|
|
103
|
+
?ctrl :considers ?strategy.
|
|
104
|
+
}.
|
|
105
|
+
|
|
106
|
+
# ------------------------------------------------------
|
|
107
|
+
# RULE 3
|
|
108
|
+
# A DESIGN GOAL ALSO INTRODUCES A NEW TARGET REQUIREMENT
|
|
109
|
+
# ------------------------------------------------------
|
|
110
|
+
|
|
111
|
+
{
|
|
112
|
+
?ctrl :designGoal ?goal.
|
|
113
|
+
?goal :introducesRequirement ?req.
|
|
114
|
+
}
|
|
115
|
+
=>
|
|
116
|
+
{
|
|
117
|
+
?ctrl :targets ?req.
|
|
118
|
+
}.
|
|
119
|
+
|
|
120
|
+
# ------------------------------------------------------
|
|
121
|
+
# RULE 4
|
|
122
|
+
# A COMPATIBLE STRATEGY PRESERVES INHERITED REQUIREMENTS
|
|
123
|
+
# ------------------------------------------------------
|
|
124
|
+
|
|
125
|
+
{
|
|
126
|
+
?ctrl :inheritsRequirement ?req.
|
|
127
|
+
?ctrl :considers ?strategy.
|
|
128
|
+
?strategy :compatibleWith ?req.
|
|
129
|
+
}
|
|
130
|
+
=>
|
|
131
|
+
{
|
|
132
|
+
?ctrl :preserves ?req;
|
|
133
|
+
:integrates ?strategy.
|
|
134
|
+
}.
|
|
135
|
+
|
|
136
|
+
# ---------------------------------------------------------
|
|
137
|
+
# RULE 5
|
|
138
|
+
# A STRATEGY CAN ALSO ENABLE THE NEWLY TARGETED REQUIREMENT
|
|
139
|
+
# ---------------------------------------------------------
|
|
140
|
+
|
|
141
|
+
{
|
|
142
|
+
?ctrl :targets ?req.
|
|
143
|
+
?ctrl :considers ?strategy.
|
|
144
|
+
?strategy :enables ?req.
|
|
145
|
+
}
|
|
146
|
+
=>
|
|
147
|
+
{
|
|
148
|
+
?ctrl :satisfies ?req;
|
|
149
|
+
:integrates ?strategy.
|
|
150
|
+
}.
|
|
151
|
+
|
|
152
|
+
# ------------------------------------
|
|
153
|
+
# RULE 6
|
|
154
|
+
# WHAT IS PRESERVED IS SATISFIED AGAIN
|
|
155
|
+
# ------------------------------------
|
|
156
|
+
|
|
157
|
+
{
|
|
158
|
+
?ctrl :preserves ?req.
|
|
159
|
+
}
|
|
160
|
+
=>
|
|
161
|
+
{
|
|
162
|
+
?ctrl :satisfies ?req.
|
|
163
|
+
}.
|
|
164
|
+
|
|
165
|
+
# --------------------------------------------------------------
|
|
166
|
+
# RULE 7
|
|
167
|
+
# AN INTEGRATED STRATEGY BECOMES PART OF THE REALIZED CONTROLLER
|
|
168
|
+
# --------------------------------------------------------------
|
|
169
|
+
|
|
170
|
+
{
|
|
171
|
+
?ctrl :integrates ?strategy.
|
|
172
|
+
}
|
|
173
|
+
=>
|
|
174
|
+
{
|
|
175
|
+
?ctrl :realizes ?strategy.
|
|
176
|
+
}.
|
|
177
|
+
|
|
178
|
+
# ------------------------------------------------------------------
|
|
179
|
+
# RULE 8
|
|
180
|
+
# A CONTROLLER THAT REALIZES A STRATEGY BECOMES AN APPROVED BASELINE
|
|
181
|
+
# ------------------------------------------------------------------
|
|
182
|
+
|
|
183
|
+
{
|
|
184
|
+
?ctrl :realizes ?strategy.
|
|
185
|
+
}
|
|
186
|
+
=>
|
|
187
|
+
{
|
|
188
|
+
?ctrl :achieves :approvedController;
|
|
189
|
+
:availableForFutureTuning :yes.
|
|
190
|
+
}.
|
|
191
|
+
|
|
192
|
+
# --------------------------------------------------------
|
|
193
|
+
# RULE 9
|
|
194
|
+
# APPROVED CONTROLLERS ARE AVAILABLE FOR FURTHER ITERATION
|
|
195
|
+
# --------------------------------------------------------
|
|
196
|
+
|
|
197
|
+
{
|
|
198
|
+
?ctrl :achieves :approvedController.
|
|
199
|
+
}
|
|
200
|
+
=>
|
|
201
|
+
{
|
|
202
|
+
?ctrl :status :approvedController.
|
|
203
|
+
}.
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
# ================================================================
|
|
2
|
+
# This small Notation3 program models developmental genetics as a
|
|
3
|
+
# process of becoming. A cell state does not arise from nothing:
|
|
4
|
+
# it inherits an expression pattern from an earlier lineage state,
|
|
5
|
+
# responds to a developmental signal, activates a compatible
|
|
6
|
+
# regulatory program, and stabilizes into a new differentiated
|
|
7
|
+
# form. Once stabilized, that state becomes available for further
|
|
8
|
+
# developmental transition. The logic below is therefore a logic
|
|
9
|
+
# of lineage, inheritance, activation, and differentiation.
|
|
10
|
+
# ================================================================
|
|
11
|
+
|
|
12
|
+
@prefix : <http://example.org/genetics#>.
|
|
13
|
+
|
|
14
|
+
# ----------
|
|
15
|
+
# CATEGORIES
|
|
16
|
+
# ----------
|
|
17
|
+
|
|
18
|
+
:CellState a :Category.
|
|
19
|
+
:GeneMarker a :Category.
|
|
20
|
+
:Signal a :Category.
|
|
21
|
+
:RegulatoryProgram a :Category.
|
|
22
|
+
|
|
23
|
+
# ------------
|
|
24
|
+
# GENE MARKERS
|
|
25
|
+
# ------------
|
|
26
|
+
|
|
27
|
+
:Sox2 a :GeneMarker.
|
|
28
|
+
:Pax6 a :GeneMarker.
|
|
29
|
+
:NeuroD1 a :GeneMarker.
|
|
30
|
+
:Tubb3 a :GeneMarker.
|
|
31
|
+
|
|
32
|
+
# ---------------------
|
|
33
|
+
# DEVELOPMENTAL SIGNALS
|
|
34
|
+
# ---------------------
|
|
35
|
+
|
|
36
|
+
:neurogenicSignal a :Signal.
|
|
37
|
+
:maturationSignal a :Signal.
|
|
38
|
+
|
|
39
|
+
:neurogenicSignal :suggests :proneuralProgram;
|
|
40
|
+
:introducesMarker :NeuroD1.
|
|
41
|
+
|
|
42
|
+
:maturationSignal :suggests :neuronalMaturationProgram;
|
|
43
|
+
:introducesMarker :Tubb3.
|
|
44
|
+
|
|
45
|
+
# -------------------
|
|
46
|
+
# REGULATORY PROGRAMS
|
|
47
|
+
# -------------------
|
|
48
|
+
|
|
49
|
+
:proneuralProgram a :RegulatoryProgram.
|
|
50
|
+
:neuronalMaturationProgram a :RegulatoryProgram.
|
|
51
|
+
|
|
52
|
+
# A compatible program can preserve inherited markers
|
|
53
|
+
# and enable a new marker of differentiation
|
|
54
|
+
:proneuralProgram :compatibleWith :Sox2, :Pax6;
|
|
55
|
+
:enables :NeuroD1.
|
|
56
|
+
|
|
57
|
+
:neuronalMaturationProgram :compatibleWith :Pax6, :NeuroD1;
|
|
58
|
+
:enables :Tubb3.
|
|
59
|
+
|
|
60
|
+
# -----------------------
|
|
61
|
+
# INITIAL LINEAGE HISTORY
|
|
62
|
+
# -----------------------
|
|
63
|
+
|
|
64
|
+
:s1 a :CellState;
|
|
65
|
+
:time 1;
|
|
66
|
+
:expresses :Sox2, :Pax6;
|
|
67
|
+
:achieves :stableCellState.
|
|
68
|
+
|
|
69
|
+
:s2 a :CellState;
|
|
70
|
+
:time 2;
|
|
71
|
+
:derivesFrom :s1;
|
|
72
|
+
:receives :neurogenicSignal.
|
|
73
|
+
|
|
74
|
+
:s3 a :CellState;
|
|
75
|
+
:time 3;
|
|
76
|
+
:derivesFrom :s2;
|
|
77
|
+
:receives :maturationSignal.
|
|
78
|
+
|
|
79
|
+
# -------------------------------------------
|
|
80
|
+
# RULE 1
|
|
81
|
+
# A NEW CELL STATE INHERITS EXPRESSED MARKERS
|
|
82
|
+
# -------------------------------------------
|
|
83
|
+
|
|
84
|
+
{
|
|
85
|
+
?later :derivesFrom ?earlier.
|
|
86
|
+
?earlier :expresses ?marker.
|
|
87
|
+
}
|
|
88
|
+
=>
|
|
89
|
+
{
|
|
90
|
+
?later :inheritsMarker ?marker.
|
|
91
|
+
}.
|
|
92
|
+
|
|
93
|
+
# ---------------------------------------------
|
|
94
|
+
# RULE 2
|
|
95
|
+
# A SIGNAL OPENS A CANDIDATE REGULATORY PROGRAM
|
|
96
|
+
# ---------------------------------------------
|
|
97
|
+
|
|
98
|
+
{
|
|
99
|
+
?cell :receives ?signal.
|
|
100
|
+
?signal :suggests ?program.
|
|
101
|
+
}
|
|
102
|
+
=>
|
|
103
|
+
{
|
|
104
|
+
?cell :considers ?program.
|
|
105
|
+
}.
|
|
106
|
+
|
|
107
|
+
# --------------------------------------------
|
|
108
|
+
# RULE 3
|
|
109
|
+
# A SIGNAL ALSO INTRODUCES A NEW TARGET MARKER
|
|
110
|
+
# --------------------------------------------
|
|
111
|
+
|
|
112
|
+
{
|
|
113
|
+
?cell :receives ?signal.
|
|
114
|
+
?signal :introducesMarker ?marker.
|
|
115
|
+
}
|
|
116
|
+
=>
|
|
117
|
+
{
|
|
118
|
+
?cell :targetsMarker ?marker.
|
|
119
|
+
}.
|
|
120
|
+
|
|
121
|
+
# ------------------------------------------------
|
|
122
|
+
# RULE 4
|
|
123
|
+
# A COMPATIBLE PROGRAM PRESERVES INHERITED MARKERS
|
|
124
|
+
# ------------------------------------------------
|
|
125
|
+
|
|
126
|
+
{
|
|
127
|
+
?cell :inheritsMarker ?marker.
|
|
128
|
+
?cell :considers ?program.
|
|
129
|
+
?program :compatibleWith ?marker.
|
|
130
|
+
}
|
|
131
|
+
=>
|
|
132
|
+
{
|
|
133
|
+
?cell :preservesMarker ?marker;
|
|
134
|
+
:integrates ?program.
|
|
135
|
+
}.
|
|
136
|
+
|
|
137
|
+
# ----------------------------------------------
|
|
138
|
+
# RULE 5
|
|
139
|
+
# A PROGRAM CAN ENABLE THE NEWLY TARGETED MARKER
|
|
140
|
+
# ----------------------------------------------
|
|
141
|
+
|
|
142
|
+
{
|
|
143
|
+
?cell :targetsMarker ?marker.
|
|
144
|
+
?cell :considers ?program.
|
|
145
|
+
?program :enables ?marker.
|
|
146
|
+
}
|
|
147
|
+
=>
|
|
148
|
+
{
|
|
149
|
+
?cell :expresses ?marker;
|
|
150
|
+
:integrates ?program.
|
|
151
|
+
}.
|
|
152
|
+
|
|
153
|
+
# -----------------------------------
|
|
154
|
+
# RULE 6
|
|
155
|
+
# WHAT IS PRESERVED REMAINS EXPRESSED
|
|
156
|
+
# -----------------------------------
|
|
157
|
+
|
|
158
|
+
{
|
|
159
|
+
?cell :preservesMarker ?marker.
|
|
160
|
+
}
|
|
161
|
+
=>
|
|
162
|
+
{
|
|
163
|
+
?cell :expresses ?marker.
|
|
164
|
+
}.
|
|
165
|
+
|
|
166
|
+
# --------------------------------------
|
|
167
|
+
# RULE 7
|
|
168
|
+
# AN INTEGRATED PROGRAM BECOMES REALIZED
|
|
169
|
+
# --------------------------------------
|
|
170
|
+
|
|
171
|
+
{
|
|
172
|
+
?cell :integrates ?program.
|
|
173
|
+
}
|
|
174
|
+
=>
|
|
175
|
+
{
|
|
176
|
+
?cell :realizes ?program.
|
|
177
|
+
}.
|
|
178
|
+
|
|
179
|
+
# ------------------------------------------------
|
|
180
|
+
# RULE 8
|
|
181
|
+
# A REALIZED PROGRAM STABILIZES THE NEW CELL STATE
|
|
182
|
+
# ------------------------------------------------
|
|
183
|
+
|
|
184
|
+
{
|
|
185
|
+
?cell :realizes ?program.
|
|
186
|
+
}
|
|
187
|
+
=>
|
|
188
|
+
{
|
|
189
|
+
?cell :achieves :stableCellState;
|
|
190
|
+
:availableForFurtherDifferentiation :yes.
|
|
191
|
+
}.
|
|
192
|
+
|
|
193
|
+
# ----------------------------------------------------------
|
|
194
|
+
# RULE 9
|
|
195
|
+
# STABLE STATES ARE AVAILABLE FOR FUTURE LINEAGE TRANSITIONS
|
|
196
|
+
# ----------------------------------------------------------
|
|
197
|
+
|
|
198
|
+
{
|
|
199
|
+
?cell :achieves :stableCellState.
|
|
200
|
+
}
|
|
201
|
+
=>
|
|
202
|
+
{
|
|
203
|
+
?cell :status :stableCellState.
|
|
204
|
+
}.
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
# =================================================================
|
|
2
|
+
# This small Notation3 program models engineering iteration as a
|
|
3
|
+
# process of becoming. A new design revision does not begin from
|
|
4
|
+
# nothing: it inherits validated requirements from an earlier
|
|
5
|
+
# baseline, responds to a new design goal, evaluates a feasible
|
|
6
|
+
# option, and integrates that option into a new concrete design.
|
|
7
|
+
# Once validated, the revision becomes an approved baseline for
|
|
8
|
+
# future work. The logic below is therefore not a logic of static
|
|
9
|
+
# objects, but of inheritance, constraint, adaptation, and renewal.
|
|
10
|
+
# =================================================================
|
|
11
|
+
|
|
12
|
+
@prefix : <http://example.org/engineering#>.
|
|
13
|
+
|
|
14
|
+
# ----------
|
|
15
|
+
# CATEGORIES
|
|
16
|
+
# ----------
|
|
17
|
+
|
|
18
|
+
:DesignRevision a :Category.
|
|
19
|
+
:Requirement a :Category.
|
|
20
|
+
:DesignGoal a :Category.
|
|
21
|
+
:DesignOption a :Category.
|
|
22
|
+
|
|
23
|
+
# ------------
|
|
24
|
+
# REQUIREMENTS
|
|
25
|
+
# ------------
|
|
26
|
+
|
|
27
|
+
:stiffnessReq a :Requirement.
|
|
28
|
+
:thermalReq a :Requirement.
|
|
29
|
+
:assemblyReq a :Requirement.
|
|
30
|
+
|
|
31
|
+
# ------------
|
|
32
|
+
# DESIGN GOALS
|
|
33
|
+
# ------------
|
|
34
|
+
|
|
35
|
+
:reduceWeight a :DesignGoal.
|
|
36
|
+
:improveCooling a :DesignGoal.
|
|
37
|
+
|
|
38
|
+
# --------------
|
|
39
|
+
# DESIGN OPTIONS
|
|
40
|
+
# --------------
|
|
41
|
+
|
|
42
|
+
:carbonFrame a :DesignOption.
|
|
43
|
+
:ribbedHousing a :DesignOption.
|
|
44
|
+
|
|
45
|
+
:reduceWeight :suggests :carbonFrame.
|
|
46
|
+
:improveCooling :suggests :ribbedHousing.
|
|
47
|
+
|
|
48
|
+
# Compatibility of options with requirements
|
|
49
|
+
:carbonFrame :compatibleWith :stiffnessReq, :assemblyReq.
|
|
50
|
+
:ribbedHousing :compatibleWith :thermalReq, :assemblyReq.
|
|
51
|
+
|
|
52
|
+
# ----------------
|
|
53
|
+
# INITIAL BASELINE
|
|
54
|
+
# ----------------
|
|
55
|
+
|
|
56
|
+
:r1 a :DesignRevision;
|
|
57
|
+
:time 1;
|
|
58
|
+
:satisfies :stiffnessReq, :assemblyReq;
|
|
59
|
+
:realizes :aluminumFrame;
|
|
60
|
+
:achieves :approvedBaseline.
|
|
61
|
+
|
|
62
|
+
:r2 a :DesignRevision;
|
|
63
|
+
:time 2;
|
|
64
|
+
:derivesFrom :r1;
|
|
65
|
+
:designGoal :reduceWeight.
|
|
66
|
+
|
|
67
|
+
:r3 a :DesignRevision;
|
|
68
|
+
:time 3;
|
|
69
|
+
:derivesFrom :r2;
|
|
70
|
+
:designGoal :improveCooling.
|
|
71
|
+
|
|
72
|
+
# ----------------------------------------------
|
|
73
|
+
# RULE 1
|
|
74
|
+
# A NEW REVISION INHERITS SATISFIED REQUIREMENTS
|
|
75
|
+
# ----------------------------------------------
|
|
76
|
+
|
|
77
|
+
{
|
|
78
|
+
?later :derivesFrom ?earlier.
|
|
79
|
+
?earlier :satisfies ?req.
|
|
80
|
+
}
|
|
81
|
+
=>
|
|
82
|
+
{
|
|
83
|
+
?later :inheritsRequirement ?req.
|
|
84
|
+
}.
|
|
85
|
+
|
|
86
|
+
# --------------------------------------
|
|
87
|
+
# RULE 2
|
|
88
|
+
# A DESIGN GOAL OPENS A CANDIDATE OPTION
|
|
89
|
+
# --------------------------------------
|
|
90
|
+
|
|
91
|
+
{
|
|
92
|
+
?rev :designGoal ?goal.
|
|
93
|
+
?goal :suggests ?opt.
|
|
94
|
+
}
|
|
95
|
+
=>
|
|
96
|
+
{
|
|
97
|
+
?rev :considers ?opt.
|
|
98
|
+
}.
|
|
99
|
+
|
|
100
|
+
# --------------------------------------------------------
|
|
101
|
+
# RULE 3
|
|
102
|
+
# A CANDIDATE OPTION CAN PRESERVE AN INHERITED REQUIREMENT
|
|
103
|
+
# --------------------------------------------------------
|
|
104
|
+
|
|
105
|
+
{
|
|
106
|
+
?rev :inheritsRequirement ?req.
|
|
107
|
+
?rev :considers ?opt.
|
|
108
|
+
?opt :compatibleWith ?req.
|
|
109
|
+
}
|
|
110
|
+
=>
|
|
111
|
+
{
|
|
112
|
+
?rev :preserves ?req;
|
|
113
|
+
:integrates ?opt.
|
|
114
|
+
}.
|
|
115
|
+
|
|
116
|
+
# -----------------------------------------
|
|
117
|
+
# RULE 4
|
|
118
|
+
# WHAT IS PRESERVED BECOMES SATISFIED AGAIN
|
|
119
|
+
# -----------------------------------------
|
|
120
|
+
|
|
121
|
+
{
|
|
122
|
+
?rev :preserves ?req.
|
|
123
|
+
}
|
|
124
|
+
=>
|
|
125
|
+
{
|
|
126
|
+
?rev :satisfies ?req.
|
|
127
|
+
}.
|
|
128
|
+
|
|
129
|
+
# -----------------------------------
|
|
130
|
+
# RULE 5
|
|
131
|
+
# WHAT IS INTEGRATED BECOMES REALIZED
|
|
132
|
+
# -----------------------------------
|
|
133
|
+
|
|
134
|
+
{
|
|
135
|
+
?rev :integrates ?opt.
|
|
136
|
+
}
|
|
137
|
+
=>
|
|
138
|
+
{
|
|
139
|
+
?rev :realizes ?opt.
|
|
140
|
+
}.
|
|
141
|
+
|
|
142
|
+
# ---------------------------------------------------------
|
|
143
|
+
# RULE 6
|
|
144
|
+
# A REVISION THAT REALIZES AN OPTION BECOMES A NEW BASELINE
|
|
145
|
+
# ---------------------------------------------------------
|
|
146
|
+
|
|
147
|
+
{
|
|
148
|
+
?rev :realizes ?opt.
|
|
149
|
+
}
|
|
150
|
+
=>
|
|
151
|
+
{
|
|
152
|
+
?rev :achieves :approvedBaseline;
|
|
153
|
+
:availableForFutureIteration :yes.
|
|
154
|
+
}.
|
|
155
|
+
|
|
156
|
+
# -------------------------------------------------------
|
|
157
|
+
# RULE 7
|
|
158
|
+
# APPROVED BASELINES ARE AVAILABLE FOR FURTHER DERIVATION
|
|
159
|
+
# -------------------------------------------------------
|
|
160
|
+
|
|
161
|
+
{
|
|
162
|
+
?rev :achieves :approvedBaseline.
|
|
163
|
+
}
|
|
164
|
+
=>
|
|
165
|
+
{
|
|
166
|
+
?rev :status :approvedBaseline.
|
|
167
|
+
}.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
@prefix : <http://example.org/control#> .
|
|
2
|
+
|
|
3
|
+
:c1 :availableForFutureTuning :yes .
|
|
4
|
+
:c1 :status :approvedController .
|
|
5
|
+
:c2 :inheritsRequirement :stabilityReq .
|
|
6
|
+
:c2 :inheritsRequirement :trackingReq .
|
|
7
|
+
:c2 :considers :leadCompensator .
|
|
8
|
+
:c3 :considers :integralAction .
|
|
9
|
+
:c2 :targets :overshootReq .
|
|
10
|
+
:c3 :targets :disturbanceRejectionReq .
|
|
11
|
+
:c2 :preserves :stabilityReq .
|
|
12
|
+
:c2 :integrates :leadCompensator .
|
|
13
|
+
:c2 :preserves :trackingReq .
|
|
14
|
+
:c2 :satisfies :overshootReq .
|
|
15
|
+
:c3 :satisfies :disturbanceRejectionReq .
|
|
16
|
+
:c3 :integrates :integralAction .
|
|
17
|
+
:c2 :satisfies :stabilityReq .
|
|
18
|
+
:c2 :realizes :leadCompensator .
|
|
19
|
+
:c2 :satisfies :trackingReq .
|
|
20
|
+
:c3 :realizes :integralAction .
|
|
21
|
+
:c2 :achieves :approvedController .
|
|
22
|
+
:c2 :availableForFutureTuning :yes .
|
|
23
|
+
:c3 :achieves :approvedController .
|
|
24
|
+
:c3 :availableForFutureTuning :yes .
|
|
25
|
+
:c2 :status :approvedController .
|
|
26
|
+
:c3 :status :approvedController .
|
|
27
|
+
:c3 :inheritsRequirement :overshootReq .
|
|
28
|
+
:c3 :inheritsRequirement :stabilityReq .
|
|
29
|
+
:c3 :inheritsRequirement :trackingReq .
|
|
30
|
+
:c3 :preserves :overshootReq .
|
|
31
|
+
:c3 :preserves :stabilityReq .
|
|
32
|
+
:c3 :preserves :trackingReq .
|
|
33
|
+
:c3 :satisfies :overshootReq .
|
|
34
|
+
:c3 :satisfies :stabilityReq .
|
|
35
|
+
:c3 :satisfies :trackingReq .
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
@prefix : <http://example.org/genetics#> .
|
|
2
|
+
|
|
3
|
+
:s1 :status :stableCellState .
|
|
4
|
+
:s2 :inheritsMarker :Sox2 .
|
|
5
|
+
:s2 :inheritsMarker :Pax6 .
|
|
6
|
+
:s2 :considers :proneuralProgram .
|
|
7
|
+
:s3 :considers :neuronalMaturationProgram .
|
|
8
|
+
:s2 :targetsMarker :NeuroD1 .
|
|
9
|
+
:s3 :targetsMarker :Tubb3 .
|
|
10
|
+
:s2 :preservesMarker :Sox2 .
|
|
11
|
+
:s2 :integrates :proneuralProgram .
|
|
12
|
+
:s2 :preservesMarker :Pax6 .
|
|
13
|
+
:s2 :expresses :NeuroD1 .
|
|
14
|
+
:s3 :expresses :Tubb3 .
|
|
15
|
+
:s3 :integrates :neuronalMaturationProgram .
|
|
16
|
+
:s2 :expresses :Sox2 .
|
|
17
|
+
:s2 :realizes :proneuralProgram .
|
|
18
|
+
:s2 :expresses :Pax6 .
|
|
19
|
+
:s3 :realizes :neuronalMaturationProgram .
|
|
20
|
+
:s2 :achieves :stableCellState .
|
|
21
|
+
:s2 :availableForFurtherDifferentiation :yes .
|
|
22
|
+
:s3 :achieves :stableCellState .
|
|
23
|
+
:s3 :availableForFurtherDifferentiation :yes .
|
|
24
|
+
:s2 :status :stableCellState .
|
|
25
|
+
:s3 :status :stableCellState .
|
|
26
|
+
:s3 :inheritsMarker :NeuroD1 .
|
|
27
|
+
:s3 :inheritsMarker :Sox2 .
|
|
28
|
+
:s3 :inheritsMarker :Pax6 .
|
|
29
|
+
:s3 :preservesMarker :NeuroD1 .
|
|
30
|
+
:s3 :preservesMarker :Pax6 .
|
|
31
|
+
:s3 :expresses :NeuroD1 .
|
|
32
|
+
:s3 :expresses :Pax6 .
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
@prefix : <http://example.org/engineering#> .
|
|
2
|
+
|
|
3
|
+
:r1 :availableForFutureIteration :yes .
|
|
4
|
+
:r1 :status :approvedBaseline .
|
|
5
|
+
:r2 :inheritsRequirement :stiffnessReq .
|
|
6
|
+
:r2 :inheritsRequirement :assemblyReq .
|
|
7
|
+
:r2 :considers :carbonFrame .
|
|
8
|
+
:r3 :considers :ribbedHousing .
|
|
9
|
+
:r2 :preserves :stiffnessReq .
|
|
10
|
+
:r2 :integrates :carbonFrame .
|
|
11
|
+
:r2 :preserves :assemblyReq .
|
|
12
|
+
:r2 :satisfies :stiffnessReq .
|
|
13
|
+
:r2 :realizes :carbonFrame .
|
|
14
|
+
:r2 :satisfies :assemblyReq .
|
|
15
|
+
:r2 :achieves :approvedBaseline .
|
|
16
|
+
:r2 :availableForFutureIteration :yes .
|
|
17
|
+
:r2 :status :approvedBaseline .
|
|
18
|
+
:r3 :inheritsRequirement :stiffnessReq .
|
|
19
|
+
:r3 :inheritsRequirement :assemblyReq .
|
|
20
|
+
:r3 :preserves :assemblyReq .
|
|
21
|
+
:r3 :integrates :ribbedHousing .
|
|
22
|
+
:r3 :satisfies :assemblyReq .
|
|
23
|
+
:r3 :realizes :ribbedHousing .
|
|
24
|
+
:r3 :achieves :approvedBaseline .
|
|
25
|
+
:r3 :availableForFutureIteration :yes .
|
|
26
|
+
:r3 :status :approvedBaseline .
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
@prefix : <http://example.org/whitehead#> .
|
|
2
|
+
|
|
3
|
+
:o1 :status :objectivelyAvailable .
|
|
4
|
+
:o1 :availableForFuturePrehension :yes .
|
|
5
|
+
:o2 :becomesFrom :o1 .
|
|
6
|
+
:o3 :becomesFrom :o2 .
|
|
7
|
+
:o2 :inherits :red .
|
|
8
|
+
:o2 :inherits :warm .
|
|
9
|
+
:o2 :mayRealize :bright .
|
|
10
|
+
:o3 :mayRealize :dark .
|
|
11
|
+
:o2 :integrates :red .
|
|
12
|
+
:o2 :integrates :bright .
|
|
13
|
+
:o2 :achieves :satisfaction .
|
|
14
|
+
:o2 :integrates :warm .
|
|
15
|
+
:o2 :realizes :red .
|
|
16
|
+
:o2 :realizes :bright .
|
|
17
|
+
:o2 :realizes :warm .
|
|
18
|
+
:o1 :ingresses :red .
|
|
19
|
+
:o1 :ingresses :warm .
|
|
20
|
+
:o2 :ingresses :red .
|
|
21
|
+
:o2 :ingresses :bright .
|
|
22
|
+
:o2 :ingresses :warm .
|
|
23
|
+
:o2 :status :objectivelyAvailable .
|
|
24
|
+
:o2 :availableForFuturePrehension :yes .
|
|
25
|
+
:o3 :inherits :red .
|
|
26
|
+
:o3 :inherits :bright .
|
|
27
|
+
:o3 :inherits :warm .
|
|
28
|
+
:o3 :integrates :red .
|
|
29
|
+
:o3 :integrates :dark .
|
|
30
|
+
:o3 :achieves :satisfaction .
|
|
31
|
+
:o3 :integrates :bright .
|
|
32
|
+
:o3 :integrates :warm .
|
|
33
|
+
:o3 :realizes :red .
|
|
34
|
+
:o3 :realizes :dark .
|
|
35
|
+
:o3 :realizes :bright .
|
|
36
|
+
:o3 :realizes :warm .
|
|
37
|
+
:o3 :ingresses :red .
|
|
38
|
+
:o3 :ingresses :dark .
|
|
39
|
+
:o3 :ingresses :bright .
|
|
40
|
+
:o3 :ingresses :warm .
|
|
41
|
+
:o3 :status :objectivelyAvailable .
|
|
42
|
+
:o3 :availableForFuturePrehension :yes .
|