eyeling 1.22.14 → 1.22.16
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 +21 -0
- package/dist/browser/eyeling.browser.js +184 -158
- package/examples/barley-seed-becoming.n3 +497 -0
- package/examples/constructor-theory-becoming.n3 +177 -0
- 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/barley-seed-becoming.txt +25 -0
- package/examples/output/constructor-theory-becoming.n3 +18 -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/tunnel-junction-wake-switch-becoming.txt +21 -0
- package/examples/output/whitehead-becoming.n3 +42 -0
- package/examples/tunnel-junction-wake-switch-becoming.n3 +216 -0
- package/examples/whitehead-becoming.n3 +155 -0
- package/eyeling.js +184 -159
- package/lib/builtins.js +164 -151
- package/lib/engine.js +20 -7
- package/package.json +1 -1
|
@@ -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,25 @@
|
|
|
1
|
+
Barley seed lineage — becoming
|
|
2
|
+
|
|
3
|
+
Answer
|
|
4
|
+
YES for the viable barley lineage.
|
|
5
|
+
NO for the contrast lineages when digital heredity, repair, protected dormancy, or heritable variation are missing.
|
|
6
|
+
|
|
7
|
+
Reason Why
|
|
8
|
+
The main lineage can be read as a becoming: a protected dormant seed can germinate, an adult plant can become a next seed stage, and the lineage can therefore become a self-renewing cycle. Because its hereditary information is digitally instantiated and repair is available, it can also become an accurately reproduced next generation under no-design laws. And because heritable variation is present under a matching selection environment, it can become an adaptively persistent lineage. The contrast lineages mark blocked becomings: non-digital heredity blocks accurate copying, lack of repair blocks reliable renewal, lack of dormancy protection blocks closure through the seed phase, and lack of heritable variation blocks adaptive becoming.
|
|
9
|
+
|
|
10
|
+
Check
|
|
11
|
+
B1 OK - no-design laws are assumed
|
|
12
|
+
B2 OK - the viable genome can become accurately copied
|
|
13
|
+
B3 OK - the viable seed can become a protected dormant phase
|
|
14
|
+
B4 OK - the viable seed can become a germinating stage
|
|
15
|
+
B5 OK - the viable adult can become a next dormant seed stage
|
|
16
|
+
B6 OK - the viable lineage can become an accurately reproduced next generation
|
|
17
|
+
B7 OK - the viable lineage can become a closed life cycle
|
|
18
|
+
B8 OK - the viable lineage can become a novel variant lineage
|
|
19
|
+
B9 OK - the viable lineage can become adaptively persistent
|
|
20
|
+
B10 OK - the viable lineage is an evolvable becoming
|
|
21
|
+
B11 OK - the non-digital lineage cannot become an accurately reproduced next generation
|
|
22
|
+
B12 OK - the repair-deficient lineage cannot become an accurately reproduced next generation
|
|
23
|
+
B13 OK - the coatless lineage cannot become a closed life cycle
|
|
24
|
+
B14 OK - the static lineage cannot become an adaptive lineage
|
|
25
|
+
B15 OK - the static lineage cannot become an evolvable becoming
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
@prefix : <http://example.org/constructor#> .
|
|
2
|
+
|
|
3
|
+
:perfectRestoreTask :status :impossibleTask .
|
|
4
|
+
:writeTask :status :possibleTask .
|
|
5
|
+
:writer :retainsCapacityFor :writeTask .
|
|
6
|
+
:stabilizeTask :status :possibleTask .
|
|
7
|
+
:stabilizer :retainsCapacityFor :stabilizeTask .
|
|
8
|
+
:v1 :availableForFurtherTask :yes .
|
|
9
|
+
:damaged1 :availableForFurtherTask :yes .
|
|
10
|
+
:v2 :canUndergo :writeTask .
|
|
11
|
+
:v2 :becomesFrom :v1 .
|
|
12
|
+
:v2 :hasAttribute :encodedMemory .
|
|
13
|
+
:vBad :status :blockedTransition .
|
|
14
|
+
:v2 :availableForFurtherTask :yes .
|
|
15
|
+
:v3 :canUndergo :stabilizeTask .
|
|
16
|
+
:v3 :becomesFrom :v2 .
|
|
17
|
+
:v3 :hasAttribute :stabilizedMemory .
|
|
18
|
+
:v3 :availableForFurtherTask :yes .
|
|
@@ -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 .
|