activefacts 0.8.13 → 0.8.15

Sign up to get free protection for your applications and to get access to all the features.
data/.gemtest DELETED
File without changes
@@ -1,477 +0,0 @@
1
- vocabulary Metamodel;
2
-
3
- /*
4
- * Value Types
5
- */
6
- Adjective is written as String(64);
7
- Agent Name is written as String;
8
- Assimilation is written as String restricted to {'absorbed', 'partitioned', 'separate'};
9
- Context Note Kind is written as String restricted to {'as_opposed_to', 'because', 'so_that', 'to_avoid'};
10
- Date is written as Date;
11
- Denominator is written as Unsigned Integer(32);
12
- Discussion is written as String;
13
- Display Role Names Setting is written as String restricted to {'false', 'true'};
14
- Enforcement Code is written as String(16);
15
- Ephemera URL is written as String;
16
- Exponent is written as Signed Integer(16);
17
- Frequency is written as Unsigned Integer(32);
18
- GUID is written as String;
19
- Language Code is written as Char(3);
20
- Length is written as Unsigned Integer(32);
21
- Literal is written as String;
22
- Name is written as String(64);
23
- Numerator is written as Decimal;
24
- Offset is written as Decimal;
25
- Position is written as Unsigned Integer(16);
26
- Pronoun is written as String(20) restricted to {'feminine', 'masculine', 'neuter', 'personal'};
27
- Ring Type is written as String;
28
- Rotation Setting is written as String restricted to {'left', 'right'};
29
- SID is written as GUID;
30
- Scale is written as Unsigned Integer(32);
31
- Subscript is written as Unsigned Integer(16);
32
- Text is written as String(256);
33
- Transaction Timing is written as String restricted to {'assert', 'commit'};
34
- Unit Code is written as Char;
35
- X is written as Signed Integer(32);
36
- Y is written as Signed Integer(32);
37
-
38
- /*
39
- * Entity Types
40
- */
41
- Agent is identified by its Name;
42
-
43
- Alternatives is identified by GUID where
44
- Alternatives has one GUID,
45
- GUID is of at most one Alternatives;
46
- Alternatives are exclusive;
47
-
48
- Coefficient is identified by Numerator and Denominator and Coefficient is precise where
49
- Coefficient has one Numerator,
50
- Coefficient has one Denominator,
51
- Coefficient is precise;
52
-
53
- Concept is identified by SID where
54
- Concept has one SID,
55
- SID is of at most one Concept;
56
- Concept has at most one model-Name;
57
-
58
- Constraint is a kind of Concept [separate];
59
- Name is of Constraint,
60
- Constraint is called at most one Name;
61
-
62
- Context Note is identified by SID where
63
- Context Note has one SID,
64
- SID is of at most one Context Note;
65
- Concept has Context Note,
66
- Context Note applies to at most one Concept;
67
- Context Note has one Context Note Kind,
68
- Context Note Kind is of Context Note;
69
- Context Note has one Discussion,
70
- Discussion is for Context Note;
71
-
72
- Enforcement is identified by Constraint where
73
- Constraint requires at most one Enforcement,
74
- Enforcement applies to one Constraint;
75
- Enforcement notifies at most one Agent;
76
- Enforcement has one Enforcement Code,
77
- Enforcement Code is of Enforcement;
78
-
79
- Fact is a kind of Concept [separate];
80
-
81
- Fact Type is a kind of Concept [separate];
82
- Fact is of one Fact Type;
83
-
84
- Implicit Fact Type is a kind of Fact Type;
85
-
86
- Instance is a kind of Concept;
87
- Instance objectifies at most one Fact,
88
- Fact is objectified as at most one Instance;
89
-
90
- Language is identified by its Code;
91
-
92
- Location is identified by X and Y where
93
- Location is at one X,
94
- Location is at one Y;
95
-
96
- ObjectType is a kind of Concept;
97
- Instance is of one ObjectType;
98
- ObjectType is independent;
99
-
100
- Presence Constraint is a kind of Constraint [partitioned];
101
- Presence Constraint has at most one max-Frequency restricted to {1..};
102
- Presence Constraint has at most one min-Frequency restricted to {2..};
103
- Presence Constraint is mandatory;
104
- Presence Constraint is preferred identifier;
105
-
106
- Query is independent identified by GUID where
107
- Query has one GUID,
108
- GUID is of at most one Query;
109
-
110
- Reading is identified by Fact Type and Position where
111
- Fact Type has Reading,
112
- Reading is for one Fact Type,
113
- Reading is in one Position,
114
- Position is of Reading;
115
- Reading has one leading-Text;
116
-
117
- Ring Constraint is a kind of Constraint [partitioned];
118
- Ring Constraint is of one Ring Type;
119
-
120
- Role is a kind of Concept identified by Fact Type and Position [separate] where
121
- Fact Type includes role of at least one ObjectType,
122
- ObjectType plays role in Fact Type,
123
- Role is in at most one Position,
124
- Position is occupied by at least one Role;
125
- Implicit Fact Type is implied by one Role (as Implying Role),
126
- Implying Role implies at most one Implicit Fact Type;
127
- Ring Constraint has at most one other-Role,
128
- other-Role is of Ring Constraint;
129
- Role is of Ring Constraint; // Avoid ambiguity; this is a new fact type
130
- Role is of Ring Constraint,
131
- Ring Constraint has at most one Role;
132
-
133
- Role Sequence is identified by GUID where
134
- Role Sequence has one GUID,
135
- GUID is of at most one Role Sequence;
136
- Presence Constraint covers one Role Sequence;
137
- Role Sequence has unused dependency to force table in norma;
138
-
139
- Role Value is identified by Instance and Fact where
140
- Instance plays Role Value,
141
- Role Value is of one Instance,
142
- Role Value fulfils one Fact,
143
- Fact includes Role Value;
144
- Role Value is of one Role;
145
-
146
- Set Constraint is a kind of Constraint [partitioned];
147
-
148
- Shape is identified by SID where
149
- Shape has one SID,
150
- SID is of at most one Shape;
151
- Shape is at at most one Location;
152
- Shape is expanded;
153
-
154
- Subset Constraint is a kind of Set Constraint;
155
- Subset Constraint covers one subset-Role Sequence;
156
- Subset Constraint covers one superset-Role Sequence;
157
-
158
- Topic is identified by Name where
159
- Topic has one Name,
160
- Name is of at most one Topic;
161
-
162
- Unit is identified by its Code;
163
- Ephemera URL provides Unit coefficient,
164
- Unit uses coefficient from at most one Ephemera URL;
165
- Name is of Unit,
166
- Unit is called one Name;
167
- Unit has at most one Coefficient;
168
- Unit has at most one Offset;
169
- Unit has at most one plural-Name;
170
- Unit is fundamental;
171
-
172
- Value is identified by Literal and Value is a string and Unit where
173
- Value is represented by one Literal,
174
- Literal represents Value,
175
- Value is a string,
176
- Value is in at most one Unit,
177
- Unit is of Value;
178
- Instance has at most one Value,
179
- Value is of Instance;
180
-
181
- Value Constraint is a kind of Constraint [partitioned];
182
- Role has at most one role-Value Constraint,
183
- Value Constraint applies to at most one Role;
184
-
185
- Variable is identified by Query and Position where
186
- Query includes Variable,
187
- Variable is in one Query,
188
- Variable occupies one Position,
189
- Position is occupied by Variable;
190
- Variable references one ObjectType,
191
- ObjectType is referenced in Variable;
192
- Variable projects at most one Role;
193
- Variable has at most one Subscript,
194
- Subscript is of Variable;
195
- Variable is bound to at most one Value;
196
- Variable has at most one role-Name,
197
- Name is of Variable;
198
-
199
- Vocabulary is identified by Topic and Language where
200
- Topic is described in Vocabulary,
201
- Vocabulary describes one Topic,
202
- Language provides Vocabulary,
203
- Vocabulary uses at most one Language;
204
- Reading is for at most one Vocabulary,
205
- Vocabulary contains Reading;
206
- Vocabulary contains Constraint,
207
- Constraint belongs to at most one Vocabulary;
208
- Vocabulary includes Unit,
209
- Unit is in one Vocabulary;
210
-
211
- Agreement is identified by Context Note where
212
- Context Note was added by at most one Agreement,
213
- Agreement covers one Context Note;
214
- Agreement was on at most one Date,
215
- Date is of Agreement;
216
-
217
- Bound is identified by Value and Bound is inclusive where
218
- Bound has one Value,
219
- Value is of at least one Bound,
220
- Bound is inclusive;
221
-
222
- Constraint Shape is a kind of Shape;
223
- Constraint Shape is for one Constraint;
224
-
225
- Context According To is where
226
- Context Note is according to Agent,
227
- Agent claims Context Note;
228
- Context According To was lodged on at most one Date;
229
-
230
- Context Agreed By is where
231
- Agreement was reached by Agent,
232
- Agent agreed on Agreement;
233
-
234
- Data Type is a kind of ObjectType;
235
-
236
- Derivation is where
237
- Unit (as Derived Unit) is derived from base-Unit (as Base Unit) [acyclic, intransitive];
238
- Derivation has at most one Exponent;
239
-
240
- Diagram is identified by Vocabulary and Name where
241
- Diagram is for one Vocabulary,
242
- Vocabulary contains Diagram,
243
- Diagram is called one Name,
244
- Name is of Diagram;
245
- Shape is in one Diagram,
246
- Diagram includes Shape;
247
-
248
- Domain Object Type is a kind of ObjectType;
249
- Domain Object Type uses at most one Pronoun;
250
-
251
- Entity Type is a kind of Domain Object Type;
252
- Entity Type objectifies at most one Fact Type,
253
- Fact Type is objectified as at most one Entity Type;
254
- Entity Type results from implicit objectification;
255
-
256
- Fact Type Shape is a kind of Shape;
257
- Fact Type Shape has at most one Display Role Names Setting;
258
- Fact Type Shape is for one Fact Type,
259
- Fact Type has Fact Type Shape;
260
- Fact Type Shape has at most one Rotation Setting;
261
-
262
- Model Note Shape is a kind of Shape;
263
- Model Note Shape is for one Context Note;
264
-
265
- Object Type Shape is a kind of Shape;
266
- Object Type Shape is for one Domain Object Type,
267
- Domain Object Type has Object Type Shape;
268
- Object Type Shape has expanded reference mode;
269
-
270
- Objectified Fact Type Name Shape is a kind of Shape identified by Fact Type Shape where
271
- Objectified Fact Type Name Shape is for one Fact Type Shape,
272
- Fact Type Shape has at most one Objectified Fact Type Name Shape;
273
-
274
- Population is identified by Topic and Name where
275
- Topic includes Population,
276
- Population belongs to at most one Topic,
277
- Population has one Name,
278
- Name is of Population;
279
- Population includes Fact,
280
- Fact belongs to one Population;
281
- Population includes Instance,
282
- Instance belongs to one Population;
283
- Population includes Role Value,
284
- Role Value belongs to one Population;
285
-
286
- ReadingRole is where
287
- Role has Position in Reading;
288
- ReadingRole has at most one following-Text;
289
- ReadingRole has at most one leading-Adjective;
290
- ReadingRole has at most one trailing-Adjective;
291
-
292
- Reading Shape is a kind of Shape identified by Fact Type Shape where
293
- Fact Type Shape has at most one Reading Shape,
294
- Reading Shape is for one Fact Type Shape;
295
- Reading Shape is for one Reading,
296
- Reading has Reading Shape;
297
-
298
- Ring Constraint Shape is a kind of Constraint Shape;
299
- Ring Constraint Shape is attached to one Fact Type;
300
-
301
- Role Display is where
302
- Fact Type Shape displays Role in Position,
303
- Fact Type Shape fills Position with one Role;
304
-
305
- Role Name Shape is a kind of Shape;
306
- Role Name Shape is for one Role Display,
307
- Role Display has at most one Role Name Shape;
308
-
309
- Role Ref is where
310
- Role Sequence fills Position with one Role,
311
- Role Sequence places Role in one Position,
312
- Role occupies Position in Role Sequence;
313
-
314
- Set Comparison Constraint is a kind of Set Constraint;
315
-
316
- Set Comparison Roles is where
317
- Set Comparison Constraint fills Position with one Role Sequence,
318
- Role Sequence occupies Position in Set Comparison Constraint,
319
- Position in Set Comparison Constraint is occupied by Role Sequence,
320
- Set Comparison Constraint places Role Sequence in one Position;
321
-
322
- Set Equality Constraint is a kind of Set Comparison Constraint;
323
-
324
- Set Exclusion Constraint is a kind of Set Comparison Constraint;
325
- Set Exclusion Constraint is mandatory;
326
-
327
- Span is independent where
328
- Variable allows players of at least one Role,
329
- Role populates Variable;
330
-
331
- Step is identified by input-Span and output-Span where
332
- Step has one input-Span,
333
- Step has one output-Span;
334
- Alternatives include at least one Step,
335
- Step has at most one Alternatives;
336
- Step traverses one Fact Type,
337
- Fact Type directs Step;
338
- Step involves incidental-Span,
339
- Span is incidentally involved in at most one Step;
340
- Step is disallowed;
341
- Step is optional;
342
-
343
- Term is where
344
- Vocabulary uses Name,
345
- Name applies in Vocabulary;
346
- Term applies to at most one Domain Object Type;
347
- Term applies to at most one Instance;
348
- Term (as Role Name) is name of Role,
349
- Role has at most one Role Name;
350
- Term is preferred;
351
-
352
- Type Inheritance is where
353
- Entity Type (as Subtype) is subtype of super-Entity Type (as Supertype) [acyclic, intransitive],
354
- Supertype is supertype of Subtype;
355
- Assimilation applies to Type Inheritance,
356
- Type Inheritance uses at most one Assimilation;
357
- Type Inheritance implies one Fact Type,
358
- Fact Type is implied by at most one Type Inheritance;
359
- Type Inheritance provides identification;
360
-
361
- Value Constraint Shape is a kind of Constraint Shape;
362
- Role Display has at most one Value Constraint Shape,
363
- Value Constraint Shape is for at most one Role Display;
364
- Value Constraint Shape is for at most one Object Type Shape,
365
- Object Type Shape has Value Constraint Shape;
366
-
367
- Value Range is identified by minimum-Bound and maximum-Bound where
368
- Value Range has at most one minimum-Bound,
369
- Value Range has at most one maximum-Bound;
370
-
371
- Value Type is a kind of Domain Object Type;
372
- Value Type maps to at most one Data Type;
373
- Value Type has at most one Length,
374
- Length is of Value Type;
375
- Value Type has at most one Scale,
376
- Scale is of Value Type;
377
- Value Type is of at most one Unit;
378
- Value Type has at most one Value Constraint,
379
- Value Constraint constrains at most one Value Type;
380
- Value Type is at most one auto-- assigned at Transaction Timing;
381
- Value Type is subtype of at most one super-Value Type (as Supertype) [acyclic, intransitive],
382
- Supertype is supertype of Value Type;
383
-
384
- Allowed Range is where
385
- Value Constraint allows at least one Value Range;
386
-
387
- Facet is where
388
- Value Type has facet called Name,
389
- Name is a facet of Value Type;
390
- Facet has values of at most one facet-Value Type;
391
-
392
- Facet Value is where
393
- Value Type defines Facet as having one Value,
394
- Value for Facet applies to Value Type;
395
-
396
- Implicit Boolean Value Type is a kind of Value Type;
397
-
398
- /*
399
- * Constraints:
400
- */
401
- for each Concept exactly one of these holds:
402
- Concept is a Fact Type,
403
- Concept is a Constraint,
404
- Concept is a Role,
405
- Concept is a Fact,
406
- Concept is an Instance,
407
- Concept is an ObjectType;
408
- for each Constraint exactly one of these holds:
409
- Constraint is a Presence Constraint,
410
- Constraint is a Set Constraint,
411
- Constraint is a Ring Constraint,
412
- Constraint is a Value Constraint;
413
- either Domain Object Type is an Entity Type or Domain Object Type is a Value Type but not both;
414
- for each Role Sequence exactly one of these holds:
415
- Presence Constraint covers Role Sequence,
416
- Subset Constraint (1) covers subset-Role Sequence,
417
- Subset Constraint (2) covers superset-Role Sequence,
418
- Role Sequence occupies Position in Set Comparison Constraint;
419
- either Set Comparison Constraint is a Set Exclusion Constraint or Set Comparison Constraint is a Set Equality Constraint but not both;
420
- either Set Constraint is a Set Comparison Constraint or Set Constraint is a Subset Constraint but not both;
421
- either Unit uses coefficient from Ephemera URL or Unit has Coefficient but not both;
422
- either Unit is fundamental or Unit is derived from base-Unit but not both;
423
- either Value Constraint Shape is for Object Type Shape or Value Constraint Shape is for Role Display but not both;
424
- either Value Constraint constrains Value Type or Value Constraint applies to Role but not both;
425
- for each Instance at most one of these holds:
426
- Instance has Value,
427
- Instance objectifies Fact;
428
- for each Span at most one of these holds:
429
- Step (1) has input-Span,
430
- Span is incidentally involved in Step;
431
- for each Span at most one of these holds:
432
- Step (1) has output-Span,
433
- Span is incidentally involved in Step;
434
- for each Term at most one of these holds:
435
- Term applies to Domain Object Type,
436
- Term is name of Role;
437
- Entity Type results from implicit objectification
438
- only if Entity Type objectifies Fact Type;
439
- Presence Constraint is preferred identifier
440
- only if Presence Constraint has max Frequency;
441
- Value Type has Scale
442
- only if Value Type has Length;
443
- either Agreement was reached by Agent or Agreement was on Date;
444
- each combination Diagram, Location occurs at most one time in
445
- Shape is in Diagram,
446
- Shape is at Location;
447
- each combination Entity Type(1), Type Inheritance occurs at most one time in
448
- Entity Type(1) is subtype of super Entity Type(2),
449
- Type Inheritance provides identification;
450
- each Presence Constraint occurs at least one time in
451
- Presence Constraint has min Frequency(2),
452
- Presence Constraint has max Frequency(1),
453
- Presence Constraint is mandatory;
454
- each combination Reading, Position occurs one time in
455
- Role has Position in Reading;
456
- each combination Reading, Role occurs one time in
457
- Role has Position in Reading;
458
- each Role Sequence occurs at least one time in
459
- Role Sequence fills Position with Role;
460
- each Role occurs at most one time in
461
- Variable projects Role;
462
- each Set Comparison Constraint occurs at least 2 times in
463
- Set Comparison Constraint fills Position with Role Sequence;
464
- either Value Range has minimum Bound(2) or Value Range has maximum Bound(1);
465
- either Value Type(1) maps to Data Type or Value Type(1) is subtype of super Value Type(2);
466
- each combination Vocabulary, Name occurs at most one time in
467
- Constraint belongs to Vocabulary,
468
- Constraint is called Name;
469
- each combination Vocabulary, Name occurs at most one time in
470
- Unit is in Vocabulary,
471
- Unit is called Name;
472
- /*
473
- each combination Vocabulary, Term, Domain Object Type occurs at most one time in
474
- Vocabulary uses Name,
475
- Term is preferred,
476
- Term applies to Domain Object Type;
477
- */