activefacts 1.6.0 → 1.7.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +14 -0
- data/.rspec +2 -0
- data/.travis.yml +4 -0
- data/Gemfile +14 -0
- data/LICENSE.txt +21 -0
- data/README.md +60 -0
- data/Rakefile +3 -80
- data/activefacts.gemspec +36 -0
- data/bin/afgen +4 -2
- data/bin/cql +5 -1
- data/lib/activefacts.rb +3 -12
- data/lib/activefacts/{vocabulary/query_evaluator.rb → query/evaluator.rb} +0 -0
- data/lib/activefacts/version.rb +2 -2
- metadata +48 -296
- data/History.txt +0 -4
- data/LICENSE +0 -19
- data/Manifest.txt +0 -165
- data/README.rdoc +0 -81
- data/css/offline.css +0 -3
- data/css/orm2.css +0 -124
- data/css/print.css +0 -8
- data/css/style-print.css +0 -357
- data/css/style.css +0 -387
- data/download.html +0 -110
- data/examples/CQL/Address.cql +0 -44
- data/examples/CQL/Blog.cql +0 -54
- data/examples/CQL/CompanyDirectorEmployee.cql +0 -56
- data/examples/CQL/Death.cql +0 -17
- data/examples/CQL/Diplomacy.cql +0 -48
- data/examples/CQL/Genealogy.cql +0 -98
- data/examples/CQL/Insurance.cql +0 -320
- data/examples/CQL/Marriage.cql +0 -18
- data/examples/CQL/Metamodel.cql +0 -493
- data/examples/CQL/Monogamy.cql +0 -24
- data/examples/CQL/MultiInheritance.cql +0 -22
- data/examples/CQL/NonRoleId.cql +0 -14
- data/examples/CQL/OddIdentifier.cql +0 -18
- data/examples/CQL/OilSupply.cql +0 -53
- data/examples/CQL/OneToOnes.cql +0 -17
- data/examples/CQL/Orienteering.cql +0 -111
- data/examples/CQL/PersonPlaysGame.cql +0 -18
- data/examples/CQL/RedundantDependency.cql +0 -34
- data/examples/CQL/SchoolActivities.cql +0 -33
- data/examples/CQL/SeparateSubtype.cql +0 -30
- data/examples/CQL/ServiceDirector.cql +0 -276
- data/examples/CQL/SimplestUnary.cql +0 -12
- data/examples/CQL/Supervision.cql +0 -34
- data/examples/CQL/WaiterTips.cql +0 -33
- data/examples/CQL/Warehousing.cql +0 -101
- data/examples/CQL/WindowInRoomInBldg.cql +0 -28
- data/examples/CQL/unit.cql +0 -474
- data/examples/index.html +0 -420
- data/examples/intro.html +0 -327
- data/examples/local.css +0 -24
- data/index.html +0 -111
- data/lib/activefacts/cql.rb +0 -35
- data/lib/activefacts/cql/CQLParser.treetop +0 -158
- data/lib/activefacts/cql/Context.treetop +0 -48
- data/lib/activefacts/cql/Expressions.treetop +0 -67
- data/lib/activefacts/cql/FactTypes.treetop +0 -358
- data/lib/activefacts/cql/Language/English.treetop +0 -315
- data/lib/activefacts/cql/LexicalRules.treetop +0 -253
- data/lib/activefacts/cql/ObjectTypes.treetop +0 -210
- data/lib/activefacts/cql/Rakefile +0 -14
- data/lib/activefacts/cql/Terms.treetop +0 -183
- data/lib/activefacts/cql/ValueTypes.treetop +0 -202
- data/lib/activefacts/cql/compiler.rb +0 -156
- data/lib/activefacts/cql/compiler/clause.rb +0 -1137
- data/lib/activefacts/cql/compiler/constraint.rb +0 -581
- data/lib/activefacts/cql/compiler/entity_type.rb +0 -457
- data/lib/activefacts/cql/compiler/expression.rb +0 -443
- data/lib/activefacts/cql/compiler/fact.rb +0 -390
- data/lib/activefacts/cql/compiler/fact_type.rb +0 -421
- data/lib/activefacts/cql/compiler/query.rb +0 -106
- data/lib/activefacts/cql/compiler/shared.rb +0 -161
- data/lib/activefacts/cql/compiler/value_type.rb +0 -174
- data/lib/activefacts/cql/nodes.rb +0 -49
- data/lib/activefacts/cql/parser.rb +0 -241
- data/lib/activefacts/dependency_analyser.rb +0 -182
- data/lib/activefacts/generate/absorption.rb +0 -70
- data/lib/activefacts/generate/composition.rb +0 -118
- data/lib/activefacts/generate/cql.rb +0 -714
- data/lib/activefacts/generate/dm.rb +0 -279
- data/lib/activefacts/generate/help.rb +0 -64
- data/lib/activefacts/generate/helpers/inject.rb +0 -16
- data/lib/activefacts/generate/helpers/oo.rb +0 -162
- data/lib/activefacts/generate/helpers/ordered.rb +0 -605
- data/lib/activefacts/generate/helpers/rails.rb +0 -57
- data/lib/activefacts/generate/html/glossary.rb +0 -461
- data/lib/activefacts/generate/json.rb +0 -337
- data/lib/activefacts/generate/null.rb +0 -32
- data/lib/activefacts/generate/rails/models.rb +0 -246
- data/lib/activefacts/generate/rails/schema.rb +0 -216
- data/lib/activefacts/generate/records.rb +0 -46
- data/lib/activefacts/generate/ruby.rb +0 -133
- data/lib/activefacts/generate/sql/mysql.rb +0 -280
- data/lib/activefacts/generate/sql/server.rb +0 -273
- data/lib/activefacts/generate/stats.rb +0 -69
- data/lib/activefacts/generate/text.rb +0 -27
- data/lib/activefacts/generate/topics.rb +0 -265
- data/lib/activefacts/generate/traits/datavault.rb +0 -241
- data/lib/activefacts/generate/traits/oo.rb +0 -73
- data/lib/activefacts/generate/traits/ordered.rb +0 -33
- data/lib/activefacts/generate/traits/ruby.rb +0 -210
- data/lib/activefacts/generate/transform/datavault.rb +0 -266
- data/lib/activefacts/generate/transform/surrogate.rb +0 -214
- data/lib/activefacts/generate/version.rb +0 -26
- data/lib/activefacts/input/cql.rb +0 -43
- data/lib/activefacts/input/orm.rb +0 -1636
- data/lib/activefacts/mapping/rails.rb +0 -132
- data/lib/activefacts/persistence.rb +0 -15
- data/lib/activefacts/persistence/columns.rb +0 -446
- data/lib/activefacts/persistence/foreignkey.rb +0 -187
- data/lib/activefacts/persistence/index.rb +0 -240
- data/lib/activefacts/persistence/object_type.rb +0 -198
- data/lib/activefacts/persistence/reference.rb +0 -434
- data/lib/activefacts/persistence/tables.rb +0 -380
- data/lib/activefacts/registry.rb +0 -11
- data/lib/activefacts/support.rb +0 -132
- data/lib/activefacts/vocabulary.rb +0 -9
- data/lib/activefacts/vocabulary/extensions.rb +0 -1348
- data/lib/activefacts/vocabulary/metamodel.rb +0 -570
- data/lib/activefacts/vocabulary/verbaliser.rb +0 -804
- data/script/txt2html +0 -71
- data/spec/absorption_spec.rb +0 -95
- data/spec/cql/comparison_spec.rb +0 -89
- data/spec/cql/context_spec.rb +0 -94
- data/spec/cql/contractions_spec.rb +0 -224
- data/spec/cql/deontic_spec.rb +0 -88
- data/spec/cql/entity_type_spec.rb +0 -320
- data/spec/cql/expressions_spec.rb +0 -66
- data/spec/cql/fact_type_matching_spec.rb +0 -338
- data/spec/cql/french_spec.rb +0 -21
- data/spec/cql/parser/bad_literals_spec.rb +0 -86
- data/spec/cql/parser/constraints_spec.rb +0 -19
- data/spec/cql/parser/entity_types_spec.rb +0 -106
- data/spec/cql/parser/expressions_spec.rb +0 -199
- data/spec/cql/parser/fact_types_spec.rb +0 -44
- data/spec/cql/parser/literals_spec.rb +0 -312
- data/spec/cql/parser/pragmas_spec.rb +0 -89
- data/spec/cql/parser/value_types_spec.rb +0 -42
- data/spec/cql/role_matching_spec.rb +0 -148
- data/spec/cql/samples_spec.rb +0 -244
- data/spec/cql_cql_spec.rb +0 -73
- data/spec/cql_dm_spec.rb +0 -136
- data/spec/cql_mysql_spec.rb +0 -69
- data/spec/cql_parse_spec.rb +0 -34
- data/spec/cql_ruby_spec.rb +0 -73
- data/spec/cql_sql_spec.rb +0 -72
- data/spec/cql_symbol_tables_spec.rb +0 -261
- data/spec/cqldump_spec.rb +0 -170
- data/spec/helpers/array_matcher.rb +0 -23
- data/spec/helpers/ctrl_c_support.rb +0 -52
- data/spec/helpers/diff_matcher.rb +0 -39
- data/spec/helpers/file_matcher.rb +0 -34
- data/spec/helpers/parse_to_ast_matcher.rb +0 -80
- data/spec/helpers/string_matcher.rb +0 -30
- data/spec/helpers/test_parser.rb +0 -15
- data/spec/norma_cql_spec.rb +0 -66
- data/spec/norma_ruby_spec.rb +0 -62
- data/spec/norma_ruby_sql_spec.rb +0 -107
- data/spec/norma_sql_spec.rb +0 -57
- data/spec/norma_tables_spec.rb +0 -95
- data/spec/ruby_api_spec.rb +0 -23
- data/spec/spec_helper.rb +0 -35
- data/spec/transform_surrogate_spec.rb +0 -59
- data/status.html +0 -138
- data/why.html +0 -60
data/examples/CQL/Monogamy.cql
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
vocabulary Monogamy;
|
2
|
-
|
3
|
-
/*
|
4
|
-
* Value Types
|
5
|
-
*/
|
6
|
-
Name is written as String;
|
7
|
-
Person ID is written as Auto Counter;
|
8
|
-
|
9
|
-
/*
|
10
|
-
* Entity Types
|
11
|
-
*/
|
12
|
-
Person is identified by its ID;
|
13
|
-
Person is called one Name;
|
14
|
-
|
15
|
-
Boy is a kind of Person;
|
16
|
-
|
17
|
-
Girl is a kind of Person;
|
18
|
-
Girl (as Girlfriend) is going out with at most one Boy (as Boyfriend) [symmetric],
|
19
|
-
Boyfriend is going out with at most one Girlfriend;
|
20
|
-
|
21
|
-
/*
|
22
|
-
* Constraints:
|
23
|
-
*/
|
24
|
-
either Person is a Girl or Person is a Boy but not both;
|
@@ -1,22 +0,0 @@
|
|
1
|
-
vocabulary MultiInheritance;
|
2
|
-
|
3
|
-
/*
|
4
|
-
* Value Types
|
5
|
-
*/
|
6
|
-
Employee ID is written as Auto Counter;
|
7
|
-
Person Name is written as String;
|
8
|
-
TFN is written as Char(9);
|
9
|
-
|
10
|
-
/*
|
11
|
-
* Entity Types
|
12
|
-
*/
|
13
|
-
Person is identified by its Name;
|
14
|
-
|
15
|
-
Australian is a kind of Person;
|
16
|
-
Australian has at most one TFN,
|
17
|
-
TFN is of one Australian;
|
18
|
-
|
19
|
-
Employee is a kind of Person identified by its ID;
|
20
|
-
|
21
|
-
Australian Employee is a kind of Employee, Australian;
|
22
|
-
|
data/examples/CQL/NonRoleId.cql
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
vocabulary OddIdentifier;
|
2
|
-
|
3
|
-
/*
|
4
|
-
* Value Types
|
5
|
-
*/
|
6
|
-
Ordinal is written as Signed Integer(32);
|
7
|
-
Text is written as String;
|
8
|
-
Thing ID is written as Auto Counter;
|
9
|
-
|
10
|
-
/*
|
11
|
-
* Entity Types
|
12
|
-
*/
|
13
|
-
Thing is identified by its ID;
|
14
|
-
|
15
|
-
Thing Sequence is identified by Thing and Text where
|
16
|
-
Thing has Ordinal occurrence,
|
17
|
-
Thing Sequence has one Text;
|
18
|
-
|
data/examples/CQL/OilSupply.cql
DELETED
@@ -1,53 +0,0 @@
|
|
1
|
-
vocabulary OilSupply;
|
2
|
-
|
3
|
-
/*
|
4
|
-
* Value Types
|
5
|
-
*/
|
6
|
-
Cost is written as Money;
|
7
|
-
Month Nr is written as Signed Integer(32);
|
8
|
-
Product Name is written as String;
|
9
|
-
Quantity is written as Unsigned Integer(32);
|
10
|
-
Refinery Name is written as String(80);
|
11
|
-
Region Name is written as String;
|
12
|
-
Season is written as String(6) restricted to {'Autumn', 'Spring', 'Summer', 'Winter'};
|
13
|
-
Transport Method is written as String restricted to {'Rail', 'Road', 'Sea'};
|
14
|
-
Year Nr is written as Signed Integer(32);
|
15
|
-
|
16
|
-
/*
|
17
|
-
* Entity Types
|
18
|
-
*/
|
19
|
-
Month [static] is identified by its Nr restricted to {1..12};
|
20
|
-
Month is in one Season;
|
21
|
-
|
22
|
-
Product is independent identified by its Name;
|
23
|
-
|
24
|
-
Refinery is independent identified by its Name;
|
25
|
-
|
26
|
-
Region is independent identified by its Name;
|
27
|
-
|
28
|
-
Transport Route is where
|
29
|
-
Transport Method transportation is available from Refinery to Region,
|
30
|
-
Transport Method transportation is available to Region from Refinery;
|
31
|
-
Transport Route incurs at most one Cost per kl;
|
32
|
-
|
33
|
-
Year is identified by its Nr;
|
34
|
-
|
35
|
-
Acceptable Substitution is where
|
36
|
-
Product may be substituted by alternate-Product in Season [acyclic, intransitive],
|
37
|
-
alternate-Product is an acceptable substitute for Product in Season;
|
38
|
-
|
39
|
-
Supply Period [separate, static] is identified by Year and Month where
|
40
|
-
Supply Period is in one Year,
|
41
|
-
Supply Period is in one Month;
|
42
|
-
|
43
|
-
Production Forecast is where
|
44
|
-
Refinery in Supply Period will make Product in one Quantity,
|
45
|
-
Refinery will make Product in Supply Period in Quantity,
|
46
|
-
Refinery will make Quantity of Product in Supply Period;
|
47
|
-
Production Forecast predicts at most one Cost;
|
48
|
-
|
49
|
-
Regional Demand is where
|
50
|
-
Region in Supply Period will need Product in one Quantity,
|
51
|
-
Region will need Product in Supply Period in Quantity,
|
52
|
-
Region will need Quantity of Product in Supply Period;
|
53
|
-
|
data/examples/CQL/OneToOnes.cql
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
vocabulary OneToOnes;
|
2
|
-
|
3
|
-
/*
|
4
|
-
* Value Types
|
5
|
-
*/
|
6
|
-
Boy ID is written as Auto Counter;
|
7
|
-
Girl ID is written as Auto Counter;
|
8
|
-
|
9
|
-
/*
|
10
|
-
* Entity Types
|
11
|
-
*/
|
12
|
-
Boy is independent identified by its ID;
|
13
|
-
|
14
|
-
Girl is independent identified by its ID;
|
15
|
-
Girl is going out with at most one Boy,
|
16
|
-
Boy is going out with at most one Girl;
|
17
|
-
|
@@ -1,111 +0,0 @@
|
|
1
|
-
vocabulary Orienteering;
|
2
|
-
|
3
|
-
/*
|
4
|
-
* Value Types
|
5
|
-
*/
|
6
|
-
Accessibility is written as Char(1) restricted to {'A'..'D'};
|
7
|
-
Club Code is written as String(6);
|
8
|
-
Club Name is written as String(32);
|
9
|
-
Control Number is written as Unsigned Integer(32) restricted to {1..1000};
|
10
|
-
Course is written as String(16) restricted to {'A'..'E', 'PW'};
|
11
|
-
Entry ID is written as Auto Counter;
|
12
|
-
Event ID is written as Auto Counter;
|
13
|
-
Event Name is written as String(50);
|
14
|
-
Family Name is written as String(48);
|
15
|
-
Gender is written as Char(1) restricted to {'F', 'M'};
|
16
|
-
Given Name is written as String(48);
|
17
|
-
Location is written as String(200);
|
18
|
-
Map ID is written as Auto Counter;
|
19
|
-
Map Name is written as String(80);
|
20
|
-
Number is written as Unsigned Integer(32) restricted to {1..100};
|
21
|
-
Person ID is written as Auto Counter;
|
22
|
-
Placing is written as Unsigned Integer(32);
|
23
|
-
Point Value is written as Unsigned Integer(32);
|
24
|
-
Post Code is written as Unsigned Integer(32);
|
25
|
-
Punch ID is written as Auto Counter;
|
26
|
-
Score is written as Signed Integer(32);
|
27
|
-
Scoring Method is written as String(32) restricted to {'Scatter', 'Score', 'Special'};
|
28
|
-
Series ID is written as Auto Counter;
|
29
|
-
Series Name is written as String(40);
|
30
|
-
Start Time is written as Date Time;
|
31
|
-
Time is written as Date Time;
|
32
|
-
Year is written as Unsigned Integer(32) restricted to {1900..3000};
|
33
|
-
|
34
|
-
/*
|
35
|
-
* Entity Types
|
36
|
-
*/
|
37
|
-
Club is identified by its Code;
|
38
|
-
Club Name is name of at most one Club,
|
39
|
-
Club is called one Club Name;
|
40
|
-
|
41
|
-
Event is identified by its ID;
|
42
|
-
Club runs Event,
|
43
|
-
Event is run by one Club;
|
44
|
-
Event is called at most one Event Name,
|
45
|
-
Event Name is name of at most one Event;
|
46
|
-
Event has at most one Number;
|
47
|
-
Event is held on one Start Time;
|
48
|
-
Event starts at one start-Location,
|
49
|
-
Location is place Event starts;
|
50
|
-
|
51
|
-
Event Control is where
|
52
|
-
Event includes at least one Control Number;
|
53
|
-
Event Control has at most one Point Value;
|
54
|
-
|
55
|
-
Event Scoring Method is where
|
56
|
-
Scoring Method is used for Course of Event,
|
57
|
-
Course of Event uses one Scoring Method;
|
58
|
-
|
59
|
-
Map is identified by its ID;
|
60
|
-
Club (as Owner) owns Map,
|
61
|
-
Map is owned by one Owner;
|
62
|
-
Map has at most one Accessibility;
|
63
|
-
Map is map for Event,
|
64
|
-
Event uses one Map;
|
65
|
-
Map has one Map Name,
|
66
|
-
Map Name is of at most one Map;
|
67
|
-
|
68
|
-
Person is identified by its ID;
|
69
|
-
Person is member of at most one Club;
|
70
|
-
Person has one Family Name,
|
71
|
-
Family Name is of Person;
|
72
|
-
Person is of at most one Gender;
|
73
|
-
Person has one Given Name,
|
74
|
-
Given Name is name of Person;
|
75
|
-
Person has at most one Post Code;
|
76
|
-
Person was born in at most one birth-Year;
|
77
|
-
|
78
|
-
Punch is identified by its ID;
|
79
|
-
|
80
|
-
Punch Placement is where
|
81
|
-
Punch is placed at Event Control;
|
82
|
-
|
83
|
-
Series is identified by its ID;
|
84
|
-
Event is in at most one Series;
|
85
|
-
Series has one Series Name (as Name),
|
86
|
-
Name is of at most one Series;
|
87
|
-
|
88
|
-
Entry is identified by its ID where
|
89
|
-
Person entered Course of Event,
|
90
|
-
Person entered Event in one Course;
|
91
|
-
Entry received at most one Score;
|
92
|
-
Entry finished in at most one finish-Placing;
|
93
|
-
|
94
|
-
Visit is where
|
95
|
-
Punch was visited by Entry at Time;
|
96
|
-
|
97
|
-
/*
|
98
|
-
* Constraints:
|
99
|
-
*/
|
100
|
-
Event is in Series
|
101
|
-
if and only if
|
102
|
-
Event has Number;
|
103
|
-
each Event Control occurs at least one time in
|
104
|
-
Punch is placed at Event Control;
|
105
|
-
either Event is called Event Name or Event is in Series;
|
106
|
-
each combination Given Name, Family Name occurs at most one time in
|
107
|
-
Person has Given Name,
|
108
|
-
Person has Family Name;
|
109
|
-
each combination Series, Number occurs at most one time in
|
110
|
-
Event is in Series,
|
111
|
-
Event has Number;
|
@@ -1,18 +0,0 @@
|
|
1
|
-
vocabulary PersonPlaysGame;
|
2
|
-
|
3
|
-
/*
|
4
|
-
* Value Types
|
5
|
-
*/
|
6
|
-
Game Code is written as Char;
|
7
|
-
Person Name is written as String;
|
8
|
-
|
9
|
-
/*
|
10
|
-
* Entity Types
|
11
|
-
*/
|
12
|
-
Game is identified by its Code;
|
13
|
-
|
14
|
-
Person is identified by its Name;
|
15
|
-
|
16
|
-
Playing is where
|
17
|
-
Person plays Game;
|
18
|
-
|
@@ -1,34 +0,0 @@
|
|
1
|
-
vocabulary RedundantDependency;
|
2
|
-
|
3
|
-
/*
|
4
|
-
* Value Types
|
5
|
-
*/
|
6
|
-
Address Id is written as Auto Counter;
|
7
|
-
District Number is written as Signed Integer(32);
|
8
|
-
Politician Id is written as Auto Counter;
|
9
|
-
Postal Code is written as Signed Integer(32);
|
10
|
-
State Or Province Id is written as Auto Counter;
|
11
|
-
|
12
|
-
/*
|
13
|
-
* Entity Types
|
14
|
-
*/
|
15
|
-
Address is identified by its Id;
|
16
|
-
Address is assigned at most one Postal Code;
|
17
|
-
|
18
|
-
Politician is identified by its Id;
|
19
|
-
|
20
|
-
State Or Province is identified by its Id;
|
21
|
-
Address is in at most one State Or Province;
|
22
|
-
|
23
|
-
Legislative District is identified by District Number and State Or Province where
|
24
|
-
Legislative District has one District Number,
|
25
|
-
Legislative District is for one State Or Province;
|
26
|
-
Address is in at most one Legislative District;
|
27
|
-
Politician represents at most one Legislative District,
|
28
|
-
Legislative District is represented by one Politician;
|
29
|
-
|
30
|
-
/*
|
31
|
-
* Constraints:
|
32
|
-
*/
|
33
|
-
Address is in Legislative District
|
34
|
-
only if Address is in State Or Province and Legislative District is for State Or Province;
|
@@ -1,33 +0,0 @@
|
|
1
|
-
vocabulary SchoolActivities;
|
2
|
-
|
3
|
-
/*
|
4
|
-
* Value Types
|
5
|
-
*/
|
6
|
-
Activity Name is written as String(32);
|
7
|
-
School Name is written as String;
|
8
|
-
Student Name is written as String;
|
9
|
-
|
10
|
-
/*
|
11
|
-
* Entity Types
|
12
|
-
*/
|
13
|
-
Activity is identified by its Name;
|
14
|
-
|
15
|
-
School is identified by its Name;
|
16
|
-
|
17
|
-
School Activity is where
|
18
|
-
School sanctions Activity;
|
19
|
-
|
20
|
-
Student is identified by its Name;
|
21
|
-
Student is enrolled in one School;
|
22
|
-
|
23
|
-
Student Participation is where
|
24
|
-
Student represents School in Activity,
|
25
|
-
Student participates in Activity as representative of one School;
|
26
|
-
|
27
|
-
/*
|
28
|
-
* Constraints:
|
29
|
-
*/
|
30
|
-
Student represents School in Activity
|
31
|
-
only if School sanctions Activity;
|
32
|
-
Student represents School in Activity
|
33
|
-
only if Student is enrolled in School;
|
@@ -1,30 +0,0 @@
|
|
1
|
-
vocabulary SeparateSubtype;
|
2
|
-
|
3
|
-
/*
|
4
|
-
* Value Types
|
5
|
-
*/
|
6
|
-
Claim ID is written as Auto Counter;
|
7
|
-
Date Time is written as Date Time;
|
8
|
-
Person Name is written as String;
|
9
|
-
|
10
|
-
/*
|
11
|
-
* Entity Types
|
12
|
-
*/
|
13
|
-
Claim is identified by its ID;
|
14
|
-
|
15
|
-
Incident is identified by Claim where
|
16
|
-
Claim concerns at most one Incident,
|
17
|
-
Incident resulted in one Claim;
|
18
|
-
Incident occurred on at most one Date Time;
|
19
|
-
|
20
|
-
Person is identified by its Name;
|
21
|
-
|
22
|
-
Vehicle Incident is a kind of Incident [separate];
|
23
|
-
|
24
|
-
Witness is a kind of Person;
|
25
|
-
Witness saw Incident,
|
26
|
-
Incident was independently witnessed by at most one Witness;
|
27
|
-
|
28
|
-
Driver is a kind of Person;
|
29
|
-
Vehicle Incident occurred while at most one Driver was in charge;
|
30
|
-
|
@@ -1,276 +0,0 @@
|
|
1
|
-
vocabulary ServiceDirector;
|
2
|
-
|
3
|
-
/*
|
4
|
-
* Value Types
|
5
|
-
*/
|
6
|
-
Company Code is written as Char(5);
|
7
|
-
Credential Nr is written as Signed Integer(32);
|
8
|
-
Data Store Name is written as String(15);
|
9
|
-
Date is written as String;
|
10
|
-
Date Time is written as String;
|
11
|
-
Email Address is written as String(50);
|
12
|
-
Host System Name is written as String(15);
|
13
|
-
IP is written as String(16);
|
14
|
-
Message Data is written as Blob(8000);
|
15
|
-
Message Header is written as String(30);
|
16
|
-
Monitor Id is written as Auto Counter;
|
17
|
-
Monitoring Application Name is written as String(10);
|
18
|
-
Name is written as String(15);
|
19
|
-
Netmask is written as String(16);
|
20
|
-
Network Nr is written as Signed Integer(32);
|
21
|
-
Notification Level Nr is written as Signed Integer(32);
|
22
|
-
Notification Type Name is written as String(20);
|
23
|
-
Password is written as String;
|
24
|
-
Path is written as String(20);
|
25
|
-
Port is written as Signed Integer(32);
|
26
|
-
Provider Type Id is written as Signed Integer(20);
|
27
|
-
Recurring Schedule Id is written as Auto Counter;
|
28
|
-
Satellite Message Id is written as Unsigned Integer(32);
|
29
|
-
Seconds is written as Unsigned Integer(32);
|
30
|
-
Serial Number is written as String(20);
|
31
|
-
Service Type [independent] is written as String(15);
|
32
|
-
Subscription Nr is written as Signed Integer(32);
|
33
|
-
Switch Id is written as Auto Counter;
|
34
|
-
Time is written as String;
|
35
|
-
Transaction Nr is written as Unsigned Integer(32);
|
36
|
-
Truck PCID is written as Unsigned Integer(32);
|
37
|
-
User Name is written as String(20);
|
38
|
-
Version is written as Char(5);
|
39
|
-
|
40
|
-
/*
|
41
|
-
* Entity Types
|
42
|
-
*/
|
43
|
-
Company is identified by its Code;
|
44
|
-
Company has one Operating-Name;
|
45
|
-
Company is client;
|
46
|
-
Company is vendor;
|
47
|
-
|
48
|
-
Credential is identified by its Nr;
|
49
|
-
Credential has at most one Expiration-Date;
|
50
|
-
Credential has one Password;
|
51
|
-
Credential has one User Name;
|
52
|
-
|
53
|
-
Data Store is identified by its Name;
|
54
|
-
Data Store requires at least one Credential;
|
55
|
-
Data Store has one Friendly-Name;
|
56
|
-
Data Store has at most one HeartBeat-Truck PCID;
|
57
|
-
Data Store has one Internal-Credential;
|
58
|
-
Data Store is one Major-Version;
|
59
|
-
Data Store is one Minor-Version;
|
60
|
-
Data Store is one Revision-Version;
|
61
|
-
|
62
|
-
Duration is identified by Seconds where
|
63
|
-
Duration has one Seconds,
|
64
|
-
Seconds is of at most one Duration;
|
65
|
-
|
66
|
-
Geocode File is identified by Path where
|
67
|
-
Geocode File has one Path,
|
68
|
-
Path is of at most one Geocode File;
|
69
|
-
Data Store uses at most one Geocode File;
|
70
|
-
|
71
|
-
Host System is identified by its Name;
|
72
|
-
Data Store is on one Primary-Host System;
|
73
|
-
Data Store is on one Secondary-Host System;
|
74
|
-
|
75
|
-
Monitor is identified by its Id;
|
76
|
-
Monitor monitors one Data Store;
|
77
|
-
Monitor is disabled;
|
78
|
-
|
79
|
-
Monitoring Application is independent identified by its Name;
|
80
|
-
Monitor is owned by one Monitoring Application;
|
81
|
-
|
82
|
-
Network is identified by its Nr;
|
83
|
-
Company has at least one Origin-Network;
|
84
|
-
Data Store has TcpProxy-Network,
|
85
|
-
TcpProxy-Network is in at most one Data Store;
|
86
|
-
Host System uses at least one Network,
|
87
|
-
Network is used by at most one Host System;
|
88
|
-
Network uses at most one Domain-Name;
|
89
|
-
Network has at most one Ending-IP;
|
90
|
-
Network has one Initial-IP;
|
91
|
-
Network uses at most one Netmask;
|
92
|
-
Network is ip_range;
|
93
|
-
Network is ip_single;
|
94
|
-
Network is ip_subnet;
|
95
|
-
|
96
|
-
Notification Level is identified by its Nr;
|
97
|
-
Notification Level has one InitialDelay-Duration;
|
98
|
-
Notification Level has one Repeat-Duration;
|
99
|
-
|
100
|
-
Notification Type is independent identified by its Name;
|
101
|
-
|
102
|
-
Provider Type is identified by its Id;
|
103
|
-
|
104
|
-
Recurring Schedule is identified by its Id;
|
105
|
-
Monitor has AllExclusion-Recurring Schedule,
|
106
|
-
AllExclusion-Recurring Schedule applies to at most one Monitor;
|
107
|
-
Monitor (as IntegratingMonitor) has IntegrationExclusion-Recurring Schedule; // Avoid ambiguity; this is a new fact type
|
108
|
-
Monitor (as IntegratingMonitor) has IntegrationExclusion-Recurring Schedule,
|
109
|
-
IntegrationExclusion-Recurring Schedule applies to at most one IntegratingMonitor;
|
110
|
-
Recurring Schedule has one Duration;
|
111
|
-
Recurring Schedule has one Start-Time;
|
112
|
-
Recurring Schedule friday;
|
113
|
-
Recurring Schedule monday;
|
114
|
-
Recurring Schedule saturday;
|
115
|
-
Recurring Schedule sunday;
|
116
|
-
Recurring Schedule thursday;
|
117
|
-
Recurring Schedule tuesday;
|
118
|
-
Recurring Schedule wednesday;
|
119
|
-
|
120
|
-
Satellite Message is identified by its Id;
|
121
|
-
Satellite Message is designated for one Data Store;
|
122
|
-
Satellite Message has at most one Message Data;
|
123
|
-
Satellite Message has at most one Message Header;
|
124
|
-
Satellite Message is of at most one Provider Type;
|
125
|
-
Satellite Message has one Serial Number;
|
126
|
-
Satellite Message has one insertion-Date Time;
|
127
|
-
|
128
|
-
Subscription is identified by its Nr;
|
129
|
-
Company has one DriverTech-Subscription;
|
130
|
-
Subscription has one Beginning-Date;
|
131
|
-
Subscription has at most one Ending-Date;
|
132
|
-
Subscription is enabled;
|
133
|
-
|
134
|
-
Switch is identified by its Id;
|
135
|
-
Data Store has at most one Legacy-Switch;
|
136
|
-
Switch is one Major-Version;
|
137
|
-
Switch is one Minor-Version;
|
138
|
-
Switch has one Operating-Port;
|
139
|
-
Switch is one Revision-Version;
|
140
|
-
Switch has one monitoring-Port;
|
141
|
-
Switch (as Private Interface Switch) is on private-Network,
|
142
|
-
private-Network connects to at most one Private Interface Switch;
|
143
|
-
Switch (as Public Interface Switch) is on public-Network; // Avoid ambiguity; this is a new fact type
|
144
|
-
Switch (as Public Interface Switch) is on at least one public-Network,
|
145
|
-
Network connects to at most one Public Interface Switch;
|
146
|
-
Switch is backup messages;
|
147
|
-
Switch is backup updates;
|
148
|
-
Switch is send disabled;
|
149
|
-
Switch is test vectors enabled;
|
150
|
-
|
151
|
-
Transaction is identified by its Nr;
|
152
|
-
Satellite Message has at most one Group-Transaction;
|
153
|
-
|
154
|
-
User is identified by its Name;
|
155
|
-
User has one Primary-Email Address;
|
156
|
-
User has at most one Secondary-Email Address;
|
157
|
-
User is monitor notification disabled;
|
158
|
-
|
159
|
-
Vendor is a kind of Company [separate];
|
160
|
-
Vendor requires at least one Credential;
|
161
|
-
|
162
|
-
Client is a kind of Company [separate];
|
163
|
-
Client has at most one default-Data Store;
|
164
|
-
Data Store belongs to one Client,
|
165
|
-
Client uses Data Store;
|
166
|
-
|
167
|
-
File Host System is a kind of Host System;
|
168
|
-
File Host System has one Port;
|
169
|
-
|
170
|
-
Host System Runs Switch is where
|
171
|
-
Host System runs Switch;
|
172
|
-
|
173
|
-
Monitor Notification Type is where
|
174
|
-
Monitor has at least one Notification Type;
|
175
|
-
Monitor Notification Type is excluded;
|
176
|
-
|
177
|
-
Monitor Notification User is where
|
178
|
-
Monitor Notification Type has notification-User;
|
179
|
-
Monitor Notification User has one Notification Level;
|
180
|
-
|
181
|
-
Service is identified by Vendor and Service Type where
|
182
|
-
Vendor provides Service,
|
183
|
-
Service is of one Service Type;
|
184
|
-
|
185
|
-
Data Store File Host System is where
|
186
|
-
Data Store has one File Host System;
|
187
|
-
Data Store File Host System has one Internal-Credential;
|
188
|
-
|
189
|
-
Data Store Service is where
|
190
|
-
Service is from at least one Data Store,
|
191
|
-
Data Store has Service;
|
192
|
-
Data Store Service belongs to one Client;
|
193
|
-
Data Store Service requires at least one Credential;
|
194
|
-
Data Store Service has one Subscription;
|
195
|
-
|
196
|
-
/*
|
197
|
-
* Constraints:
|
198
|
-
*/
|
199
|
-
either Company is client or Company is vendor but not both;
|
200
|
-
for each Credential exactly one of these holds:
|
201
|
-
Data Store (2) requires Credential,
|
202
|
-
Data Store Service requires Credential,
|
203
|
-
Vendor requires Credential,
|
204
|
-
Data Store File Host System has Internal-Credential,
|
205
|
-
Data Store (1) has Internal-Credential;
|
206
|
-
for each Network exactly one of these holds:
|
207
|
-
Network is used by Host System,
|
208
|
-
Company has Origin-Network,
|
209
|
-
TcpProxy-Network is in Data Store;
|
210
|
-
for each Network exactly one of these holds:
|
211
|
-
Network is ip_single,
|
212
|
-
Network is ip_subnet,
|
213
|
-
Network is ip_range;
|
214
|
-
either Host System runs Switch or Data Store has Legacy-Switch but not both;
|
215
|
-
for each Network at most one of these holds:
|
216
|
-
Network is ip_single,
|
217
|
-
Network has Ending-IP;
|
218
|
-
Data Store Service (in which Service is from Data Store) belongs to Client
|
219
|
-
if and only if
|
220
|
-
Client has default Data Store;
|
221
|
-
Network has Ending IP
|
222
|
-
if and only if
|
223
|
-
Network is ip_range;
|
224
|
-
Network is ip_subnet
|
225
|
-
if and only if
|
226
|
-
Network uses Netmask;
|
227
|
-
Switch is on private Network
|
228
|
-
if and only if
|
229
|
-
Data Store has Legacy Switch;
|
230
|
-
Client has default Data Store
|
231
|
-
only if Client uses Data Store;
|
232
|
-
TcpProxy Network is in Data Store
|
233
|
-
only if Network is ip_single;
|
234
|
-
Network uses Domain Name
|
235
|
-
only if Network is ip_single;
|
236
|
-
each Credential occurs at most one time in
|
237
|
-
Data Store File Host System has Internal Credential;
|
238
|
-
each Credential occurs at most one time in
|
239
|
-
Data Store Service requires Credential;
|
240
|
-
each Credential occurs at most one time in
|
241
|
-
Data Store has Internal Credential;
|
242
|
-
each Credential occurs at most one time in
|
243
|
-
Data Store requires Credential;
|
244
|
-
each Credential occurs at most one time in
|
245
|
-
Vendor requires Credential;
|
246
|
-
each IP occurs at most one time in
|
247
|
-
Network has Ending IP;
|
248
|
-
each IP occurs at most one time in
|
249
|
-
Network has Initial IP;
|
250
|
-
each Name occurs at most one time in
|
251
|
-
Data Store has Friendly Name;
|
252
|
-
each Network occurs at most one time in
|
253
|
-
Company has Origin Network;
|
254
|
-
each Port occurs at most one time in
|
255
|
-
Switch has monitoring Port;
|
256
|
-
each Recurring Schedule occurs at least one time in
|
257
|
-
Recurring Schedule monday,
|
258
|
-
Recurring Schedule tuesday,
|
259
|
-
Recurring Schedule wednesday,
|
260
|
-
Recurring Schedule thursday,
|
261
|
-
Recurring Schedule friday,
|
262
|
-
Recurring Schedule saturday,
|
263
|
-
Recurring Schedule sunday;
|
264
|
-
each Service occurs one time in
|
265
|
-
Vendor provides Service;
|
266
|
-
each Subscription occurs at most one time in
|
267
|
-
Company has DriverTech Subscription;
|
268
|
-
each Subscription occurs at most one time in
|
269
|
-
Data Store Service has Subscription;
|
270
|
-
each Switch occurs at most one time in
|
271
|
-
Data Store has Legacy Switch;
|
272
|
-
each combination User Name, Vendor, Data Store Service, Data Store occurs at most one time in
|
273
|
-
Credential has User Name,
|
274
|
-
Vendor requires Credential,
|
275
|
-
Data Store Service requires Credential,
|
276
|
-
Data Store requires Credential;
|