expressir 0.2.7-x86-linux

Sign up to get free protection for your applications and to get access to all the features.
Files changed (183) hide show
  1. checksums.yaml +7 -0
  2. data/.cross_rubies +30 -0
  3. data/.github/workflows/rake.yml +45 -0
  4. data/.github/workflows/release.yml +84 -0
  5. data/.gitignore +17 -0
  6. data/.gitmodules +3 -0
  7. data/.rspec +2 -0
  8. data/.rubocop.yml +508 -0
  9. data/Gemfile +4 -0
  10. data/README.adoc +147 -0
  11. data/Rakefile +11 -0
  12. data/bin/console +12 -0
  13. data/bin/rspec +29 -0
  14. data/bin/setup +8 -0
  15. data/demo.rb +18 -0
  16. data/docs/development.md +90 -0
  17. data/exe/expressir +20 -0
  18. data/exe/generate-parser +48 -0
  19. data/expressir.gemspec +43 -0
  20. data/lib/expressir/cli/ui.rb +36 -0
  21. data/lib/expressir/cli.rb +27 -0
  22. data/lib/expressir/config.rb +23 -0
  23. data/lib/expressir/express/aggregate_dimension.rb +38 -0
  24. data/lib/expressir/express/attribute.rb +15 -0
  25. data/lib/expressir/express/comment.rb +7 -0
  26. data/lib/expressir/express/defined_type.rb +36 -0
  27. data/lib/expressir/express/derived.rb +65 -0
  28. data/lib/expressir/express/derived_aggregate.rb +43 -0
  29. data/lib/expressir/express/entity.rb +137 -0
  30. data/lib/expressir/express/explicit.rb +70 -0
  31. data/lib/expressir/express/explicit_aggregate.rb +46 -0
  32. data/lib/expressir/express/explicit_or_derived.rb +16 -0
  33. data/lib/expressir/express/global_rule.rb +44 -0
  34. data/lib/expressir/express/interface_specification.rb +51 -0
  35. data/lib/expressir/express/interfaced_item.rb +38 -0
  36. data/lib/expressir/express/inverse.rb +46 -0
  37. data/lib/expressir/express/inverse_aggregate.rb +37 -0
  38. data/lib/expressir/express/model_element.rb +7 -0
  39. data/lib/expressir/express/named_type.rb +19 -0
  40. data/lib/expressir/express/remark.rb +8 -0
  41. data/lib/expressir/express/repository.rb +306 -0
  42. data/lib/expressir/express/schema_definition.rb +96 -0
  43. data/lib/expressir/express/subtype_constraint.rb +14 -0
  44. data/lib/expressir/express/type.rb +26 -0
  45. data/lib/expressir/express/type_aggregate.rb +42 -0
  46. data/lib/expressir/express/type_enum.rb +29 -0
  47. data/lib/expressir/express/type_parser.rb +45 -0
  48. data/lib/expressir/express/type_select.rb +82 -0
  49. data/lib/expressir/express/unique_rule.rb +35 -0
  50. data/lib/expressir/express/where_rule.rb +32 -0
  51. data/lib/expressir/express.rb +11 -0
  52. data/lib/expressir/express_exp/2.4/express_parser.so +0 -0
  53. data/lib/expressir/express_exp/2.5/express_parser.so +0 -0
  54. data/lib/expressir/express_exp/2.6/express_parser.so +0 -0
  55. data/lib/expressir/express_exp/2.7/express_parser.so +0 -0
  56. data/lib/expressir/express_exp/3.0/express_parser.so +0 -0
  57. data/lib/expressir/express_exp/formatter.rb +1450 -0
  58. data/lib/expressir/express_exp/parser.rb +41 -0
  59. data/lib/expressir/express_exp/visitor.rb +2464 -0
  60. data/lib/expressir/express_parser.rb +30 -0
  61. data/lib/expressir/model/attribute.rb +27 -0
  62. data/lib/expressir/model/constant.rb +17 -0
  63. data/lib/expressir/model/entity.rb +46 -0
  64. data/lib/expressir/model/enumeration_item.rb +11 -0
  65. data/lib/expressir/model/expressions/aggregate_initializer.rb +13 -0
  66. data/lib/expressir/model/expressions/aggregate_item.rb +15 -0
  67. data/lib/expressir/model/expressions/attribute_reference.rb +15 -0
  68. data/lib/expressir/model/expressions/binary_expression.rb +40 -0
  69. data/lib/expressir/model/expressions/call.rb +15 -0
  70. data/lib/expressir/model/expressions/entity_constructor.rb +15 -0
  71. data/lib/expressir/model/expressions/group_reference.rb +15 -0
  72. data/lib/expressir/model/expressions/index_reference.rb +17 -0
  73. data/lib/expressir/model/expressions/interval.rb +21 -0
  74. data/lib/expressir/model/expressions/query_expression.rb +26 -0
  75. data/lib/expressir/model/expressions/simple_reference.rb +13 -0
  76. data/lib/expressir/model/expressions/unary_expression.rb +19 -0
  77. data/lib/expressir/model/function.rb +62 -0
  78. data/lib/expressir/model/identifier.rb +10 -0
  79. data/lib/expressir/model/interface.rb +18 -0
  80. data/lib/expressir/model/literals/binary.rb +13 -0
  81. data/lib/expressir/model/literals/integer.rb +13 -0
  82. data/lib/expressir/model/literals/logical.rb +17 -0
  83. data/lib/expressir/model/literals/real.rb +13 -0
  84. data/lib/expressir/model/literals/string.rb +15 -0
  85. data/lib/expressir/model/parameter.rb +17 -0
  86. data/lib/expressir/model/procedure.rb +60 -0
  87. data/lib/expressir/model/renamed_ref.rb +13 -0
  88. data/lib/expressir/model/repository.rb +19 -0
  89. data/lib/expressir/model/rule.rb +62 -0
  90. data/lib/expressir/model/schema.rb +67 -0
  91. data/lib/expressir/model/scope.rb +17 -0
  92. data/lib/expressir/model/statements/alias.rb +26 -0
  93. data/lib/expressir/model/statements/assignment.rb +15 -0
  94. data/lib/expressir/model/statements/call.rb +15 -0
  95. data/lib/expressir/model/statements/case.rb +17 -0
  96. data/lib/expressir/model/statements/case_action.rb +15 -0
  97. data/lib/expressir/model/statements/compound.rb +13 -0
  98. data/lib/expressir/model/statements/escape.rb +8 -0
  99. data/lib/expressir/model/statements/if.rb +17 -0
  100. data/lib/expressir/model/statements/null.rb +8 -0
  101. data/lib/expressir/model/statements/repeat.rb +34 -0
  102. data/lib/expressir/model/statements/return.rb +13 -0
  103. data/lib/expressir/model/statements/skip.rb +8 -0
  104. data/lib/expressir/model/subtype_constraint.rb +27 -0
  105. data/lib/expressir/model/type.rb +24 -0
  106. data/lib/expressir/model/types/aggregate.rb +17 -0
  107. data/lib/expressir/model/types/array.rb +21 -0
  108. data/lib/expressir/model/types/bag.rb +17 -0
  109. data/lib/expressir/model/types/binary.rb +15 -0
  110. data/lib/expressir/model/types/boolean.rb +8 -0
  111. data/lib/expressir/model/types/enumeration.rb +19 -0
  112. data/lib/expressir/model/types/generic.rb +13 -0
  113. data/lib/expressir/model/types/generic_entity.rb +13 -0
  114. data/lib/expressir/model/types/integer.rb +8 -0
  115. data/lib/expressir/model/types/list.rb +19 -0
  116. data/lib/expressir/model/types/logical.rb +8 -0
  117. data/lib/expressir/model/types/number.rb +8 -0
  118. data/lib/expressir/model/types/real.rb +13 -0
  119. data/lib/expressir/model/types/select.rb +21 -0
  120. data/lib/expressir/model/types/set.rb +17 -0
  121. data/lib/expressir/model/types/string.rb +15 -0
  122. data/lib/expressir/model/unique.rb +15 -0
  123. data/lib/expressir/model/variable.rb +17 -0
  124. data/lib/expressir/model/where.rb +15 -0
  125. data/lib/expressir/model.rb +65 -0
  126. data/lib/expressir/parser/owl_parser.rb +8 -0
  127. data/lib/expressir/parser.rb +6 -0
  128. data/lib/expressir/version.rb +3 -0
  129. data/lib/expressir.rb +21 -0
  130. data/original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.exp +9589 -0
  131. data/original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.owl +36619 -0
  132. data/original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.xml +13294 -0
  133. data/original/examples/employment/eclipse/.project +17 -0
  134. data/original/examples/employment/eclipse/Export/Employment.png +0 -0
  135. data/original/examples/employment/eclipse/Express/employment_schema.exp +33 -0
  136. data/original/examples/employment/eclipse/Express/employment_schema.xmi +77 -0
  137. data/original/examples/employment/eclipse/Express/employment_schema.xml +93 -0
  138. data/original/examples/employment/eclipse/Models/Employment.uml +4 -0
  139. data/original/examples/employment/eclipse/Models/Employment.umldi +240 -0
  140. data/original/examples/employment/eclipse/readme.txt +7 -0
  141. data/original/examples/employment/employment_schema.exp +33 -0
  142. data/original/examples/employment/employment_schema.rb +232 -0
  143. data/original/examples/employment/employment_schema.xml +93 -0
  144. data/original/examples/employment/employment_schema___module.rb +46 -0
  145. data/original/examples/employment/employment_schema___p28attr.rb +126 -0
  146. data/original/examples/employment/employment_schema___p28inst.rb +26 -0
  147. data/original/examples/employment/example_employment_data.xml +1 -0
  148. data/original/examples/employment/example_employment_data_copy.xml +1 -0
  149. data/original/examples/employment/example_employment_reader.rb +30 -0
  150. data/original/examples/employment/example_employment_writer.rb +51 -0
  151. data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.exp +3710 -0
  152. data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.owl +35880 -0
  153. data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.xmi +15357 -0
  154. data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.xml +9468 -0
  155. data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.exp +8404 -0
  156. data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.owl +43147 -0
  157. data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.xmi +18341 -0
  158. data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.xml +11632 -0
  159. data/original/examples/syntax/remark.exp +146 -0
  160. data/original/examples/syntax/remark_formatted.exp +175 -0
  161. data/original/examples/syntax/syntax.exp +311 -0
  162. data/original/examples/syntax/syntax_formatted.exp +1191 -0
  163. data/original/exp2ruby.rb +525 -0
  164. data/original/expsm.rb +34 -0
  165. data/original/mapping_owl.rb +1018 -0
  166. data/original/mapping_sysml.rb +2281 -0
  167. data/original/mapping_uml2.rb +599 -0
  168. data/original/mapping_uml2_eclipse.rb +433 -0
  169. data/original/reeper.rb +134 -0
  170. data/rakelib/cross-ruby.rake +308 -0
  171. data/spec/acceptance/express_to_owl_spec.rb +18 -0
  172. data/spec/acceptance/version_spec.rb +12 -0
  173. data/spec/expressir/express/repository_spec.rb +25 -0
  174. data/spec/expressir/express_exp/ap233_spec.rb +22 -0
  175. data/spec/expressir/express_exp/format_remark_spec.rb +28 -0
  176. data/spec/expressir/express_exp/format_syntax_spec.rb +28 -0
  177. data/spec/expressir/express_exp/parse_remark_spec.rb +346 -0
  178. data/spec/expressir/express_exp/parse_syntax_spec.rb +3003 -0
  179. data/spec/expressir/model/find_spec.rb +110 -0
  180. data/spec/expressr_spec.rb +5 -0
  181. data/spec/spec_helper.rb +17 -0
  182. data/spec/support/console_helper.rb +29 -0
  183. metadata +357 -0
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <projectDescription>
3
+ <name>Employment</name>
4
+ <comment></comment>
5
+ <projects>
6
+ </projects>
7
+ <buildSpec>
8
+ <buildCommand>
9
+ <name>org.topcased.modeler.org.topcased.modeler.builders.todoNoteBuilder</name>
10
+ <arguments>
11
+ </arguments>
12
+ </buildCommand>
13
+ </buildSpec>
14
+ <natures>
15
+ <nature>org.topcased.core.topcasednature</nature>
16
+ </natures>
17
+ </projectDescription>
@@ -0,0 +1,33 @@
1
+ SCHEMA employment_schema;
2
+
3
+ TYPE date = STRING;
4
+ END_TYPE;
5
+
6
+ TYPE po = SELECT ( Person, Organization );
7
+ END_TYPE;
8
+
9
+ TYPE contract_type = ENUMERATION OF ( contract, atwill, contractor );
10
+ END_TYPE;
11
+
12
+ ENTITY Person;
13
+ names : LIST OF STRING;
14
+ END_ENTITY;
15
+
16
+ ENTITY Organization;
17
+ name : STRING;
18
+ END_ENTITY;
19
+
20
+ ENTITY PersonOrganizationRelationship;
21
+ the_person : Person;
22
+ the_organization : Organization;
23
+ start_date : date;
24
+ end_date : date;
25
+ END_ENTITY;
26
+
27
+ ENTITY Employment SUBTYPE OF ( PersonOrganizationRelationship );
28
+ job_title : STRING;
29
+ ended_by : po;
30
+ employment_type : contract_type;
31
+ END_ENTITY;
32
+
33
+ END_SCHEMA;
@@ -0,0 +1,77 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <uml:Model xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:uml="http://www.eclipse.org/uml2/3.0.0/UML" xmi:id="_0" name="UMLfromEXPRESS">
3
+ <packagedElement xsi:type="uml:PrimitiveType" xmi:id="REAL" name="Real"/>
4
+ <packagedElement xsi:type="uml:PrimitiveType" xmi:id="NUMBER" name="Number"/>
5
+ <packagedElement xsi:type="uml:PrimitiveType" xmi:id="BINARY" name="Binary"/>
6
+ <packagedElement xsi:type="uml:PrimitiveType" xmi:id="LOGICAL" name="Logical"/>
7
+ <packagedElement xsi:type="uml:PrimitiveType" xmi:id="STRING" name="String"/>
8
+ <packagedElement xsi:type="uml:PrimitiveType" xmi:id="INTEGER" name="Integer"/>
9
+ <packagedElement xsi:type="uml:PrimitiveType" xmi:id="BOOLEAN" name="Boolean"/>
10
+ <packagedElement xsi:type="uml:Package" xmi:id="_1_employment_schema" name="employment_schema">
11
+ <packagedElement xsi:type="uml:PrimitiveType" xmi:id="_employment_schema-date" name="date">
12
+ <generalization xmi:id="_supertype_employment_schema-date" general="STRING"/>
13
+ </packagedElement>
14
+ <packagedElement xsi:type="uml:Enumeration" xmi:id="_employment_schema-contract_type" name="contract_type">
15
+ <ownedLiteral xmi:id="_1_enumitem_employment_schema-contract_type-contract" name="contract" classifier="_employment_schema-contract_type">
16
+ <specification xsi:type="uml:LiteralInteger" xmi:id="_1_enumitem_employment_schema-contract_type-contract_specification "/>
17
+ </ownedLiteral>
18
+ <ownedLiteral xmi:id="_1_enumitem_employment_schema-contract_type-atwill" name="atwill" classifier="_employment_schema-contract_type">
19
+ <specification xsi:type="uml:LiteralInteger" xmi:id="_1_enumitem_employment_schema-contract_type-atwill_specification "/>
20
+ </ownedLiteral>
21
+ <ownedLiteral xmi:id="_1_enumitem_employment_schema-contract_type-contractor" name="contractor" classifier="_employment_schema-contract_type">
22
+ <specification xsi:type="uml:LiteralInteger" xmi:id="_1_enumitem_employment_schema-contract_type-contractor_specification "/>
23
+ </ownedLiteral>
24
+ </packagedElement>
25
+ <packagedElement xsi:type="uml:Interface" xmi:id="_employment_schema-po" name="po" isAbstract="true"/>
26
+ <packagedElement xsi:type="uml:Association" xmi:id="_1_association_employment_schema-PersonOrganizationRelationship-the_person" name="" memberEnd="_employment_schema-Person-the_person-end _2_attr_employment_schema-PersonOrganizationRelationship-the_person-end" navigableOwnedEnd="_employment_schema-Person-the_person-end">
27
+ <ownedEnd xmi:id="_employment_schema-Person-the_person-end" name="the_person" visibility="public" type="_employment_schema-Person" association="_1_association_employment_schema-PersonOrganizationRelationship-the_person">
28
+ <upperValue xsi:type="uml:LiteralUnlimitedNatural" xmi:id="_employment_schema-Person-the_person-end-upperValue" value="1"/>
29
+ <lowerValue xsi:type="uml:LiteralInteger" xmi:id="_employment_schema-Person-the_person-end-lowerValue" value="1"/>
30
+ </ownedEnd>
31
+ <ownedEnd xmi:id="_2_attr_employment_schema-PersonOrganizationRelationship-the_person-end" name="" visibility="public" type="_employment_schema-PersonOrganizationRelationship" association="_1_association_employment_schema-PersonOrganizationRelationship-the_person">
32
+ <upperValue xsi:type="uml:LiteralUnlimitedNatural" xmi:id="_2_attr_employment_schema-PersonOrganizationRelationship-the_person-end-upperValue" value="1"/>
33
+ <lowerValue xsi:type="uml:LiteralInteger" xmi:id="_2_attr_employment_schema-PersonOrganizationRelationship-the_person-end-lowerValue" value="1"/>
34
+ </ownedEnd>
35
+ </packagedElement>
36
+ <packagedElement xsi:type="uml:Association" xmi:id="_1_association_employment_schema-PersonOrganizationRelationship-the_organization" name="" memberEnd="_employment_schema-Organization-the_organization-end _2_attr_employment_schema-PersonOrganizationRelationship-the_organization-end" navigableOwnedEnd="_employment_schema-Organization-the_organization-end">
37
+ <ownedEnd xmi:id="_employment_schema-Organization-the_organization-end" name="the_organization" visibility="public" type="_employment_schema-Organization" association="_1_association_employment_schema-PersonOrganizationRelationship-the_organization">
38
+ <upperValue xsi:type="uml:LiteralUnlimitedNatural" xmi:id="_employment_schema-Organization-the_organization-end-upperValue" value="1"/>
39
+ <lowerValue xsi:type="uml:LiteralInteger" xmi:id="_employment_schema-Organization-the_organization-end-lowerValue" value="1"/>
40
+ </ownedEnd>
41
+ <ownedEnd xmi:id="_2_attr_employment_schema-PersonOrganizationRelationship-the_organization-end" name="" visibility="public" type="_employment_schema-PersonOrganizationRelationship" association="_1_association_employment_schema-PersonOrganizationRelationship-the_organization">
42
+ <upperValue xsi:type="uml:LiteralUnlimitedNatural" xmi:id="_2_attr_employment_schema-PersonOrganizationRelationship-the_organization-end-upperValue" value="1"/>
43
+ <lowerValue xsi:type="uml:LiteralInteger" xmi:id="_2_attr_employment_schema-PersonOrganizationRelationship-the_organization-end-lowerValue" value="1"/>
44
+ </ownedEnd>
45
+ </packagedElement>
46
+ <packagedElement xsi:type="uml:Association" xmi:id="_1_association_employment_schema-Employment-ended_by" name="" memberEnd="_employment_schema-po-ended_by-end _2_attr_employment_schema-Employment-ended_by-end" navigableOwnedEnd="_employment_schema-po-ended_by-end">
47
+ <ownedEnd xmi:id="_employment_schema-po-ended_by-end" name="ended_by" visibility="public" type="_employment_schema-po" association="_1_association_employment_schema-Employment-ended_by">
48
+ <upperValue xsi:type="uml:LiteralUnlimitedNatural" xmi:id="_employment_schema-po-ended_by-end-upperValue" value="1"/>
49
+ <lowerValue xsi:type="uml:LiteralInteger" xmi:id="_employment_schema-po-ended_by-end-lowerValue" value="1"/>
50
+ </ownedEnd>
51
+ <ownedEnd xmi:id="_2_attr_employment_schema-Employment-ended_by-end" name="" visibility="public" type="_employment_schema-Employment" association="_1_association_employment_schema-Employment-ended_by">
52
+ <upperValue xsi:type="uml:LiteralUnlimitedNatural" xmi:id="_2_attr_employment_schema-Employment-ended_by-end-upperValue" value="1"/>
53
+ <lowerValue xsi:type="uml:LiteralInteger" xmi:id="_2_attr_employment_schema-Employment-ended_by-end-lowerValue" value="1"/>
54
+ </ownedEnd>
55
+ </packagedElement>
56
+ <packagedElement xsi:type="uml:Class" xmi:id="_employment_schema-Person" name="Person" clientDependency="_2_selectitem_employment_schema-Person-po">
57
+ <ownedAttribute xmi:id="_2_attr_employment_schema-Person-names" name="names" visibility="public" type="STRING">
58
+ <upperValue xsi:type="uml:LiteralUnlimitedNatural" xmi:id="_2_attr_employment_schema-Person-names-upperValue" value="*"/>
59
+ <lowerValue xsi:type="uml:LiteralInteger" xmi:id="_2_attr_employment_schema-Person-names-lowerValue"/>
60
+ </ownedAttribute>
61
+ <interfaceRealization xmi:id="_2_selectitem_employment_schema-Person-po" supplier="_employment_schema-po" client="_employment_schema-Person" contract="_employment_schema-po"/>
62
+ </packagedElement>
63
+ <packagedElement xsi:type="uml:Class" xmi:id="_employment_schema-Organization" name="Organization" clientDependency="_2_selectitem_employment_schema-Organization-po">
64
+ <ownedAttribute xmi:id="_2_attr_employment_schema-Organization-name" name="name" visibility="public" type="STRING"/>
65
+ <interfaceRealization xmi:id="_2_selectitem_employment_schema-Organization-po" supplier="_employment_schema-po" client="_employment_schema-Organization" contract="_employment_schema-po"/>
66
+ </packagedElement>
67
+ <packagedElement xsi:type="uml:Class" xmi:id="_employment_schema-PersonOrganizationRelationship" name="PersonOrganizationRelationship">
68
+ <ownedAttribute xmi:id="__2_attr_employment_schema-PersonOrganizationRelationship-start_date" name="start_date" visibility="public" type="_employment_schema-date"/>
69
+ <ownedAttribute xmi:id="__2_attr_employment_schema-PersonOrganizationRelationship-end_date" name="end_date" visibility="public" type="_employment_schema-date"/>
70
+ </packagedElement>
71
+ <packagedElement xsi:type="uml:Class" xmi:id="_employment_schema-Employment" name="Employment">
72
+ <generalization xmi:id="_2_supertype_employment_schema-Employment-PersonOrganizationRelationship" general="_employment_schema-PersonOrganizationRelationship"/>
73
+ <ownedAttribute xmi:id="_2_attr_employment_schema-Employment-job_title" name="job_title" visibility="public" type="STRING"/>
74
+ <ownedAttribute xmi:id="__2_attr_employment_schema-Employment-employment_type" name="employment_type" visibility="public" type="_employment_schema-contract_type"/>
75
+ </packagedElement>
76
+ </packagedElement>
77
+ </uml:Model>
@@ -0,0 +1,93 @@
1
+ <?xml version="1.0"?>
2
+
3
+ <express
4
+ language_version="2"
5
+ rcs.date="$Date: $"
6
+ rcs.revision="$Revision: $">
7
+
8
+ <application
9
+ name=" Eurostep EXPRESS Parser (Eep!)"
10
+ owner="Eurostep Limited"
11
+ url="www.eurostep.com"
12
+ version="1, 3, 34, 40"
13
+ source="employment_schema.exp"/>
14
+
15
+ <schema name="employment_schema">
16
+ <type name="date">
17
+ <builtintype type="STRING"
18
+ />
19
+ </type>
20
+
21
+ <type name="po">
22
+ <select
23
+ selectitems="Person Organization"
24
+ />
25
+ </type>
26
+
27
+ <type name="contract_type">
28
+ <enumeration
29
+ items="contract atwill contractor"
30
+ />
31
+ </type>
32
+
33
+ <entity name="Person"
34
+ >
35
+ <explicit
36
+ name="names">
37
+ <aggregate type="LIST"
38
+ />
39
+ <builtintype type="STRING"
40
+ />
41
+ </explicit>
42
+ </entity>
43
+
44
+ <entity name="Organization"
45
+ >
46
+ <explicit
47
+ name="name">
48
+ <builtintype type="STRING"
49
+ />
50
+ </explicit>
51
+ </entity>
52
+
53
+ <entity name="PersonOrganizationRelationship"
54
+ >
55
+ <explicit
56
+ name="the_person">
57
+ <typename name="Person"/>
58
+ </explicit>
59
+ <explicit
60
+ name="the_organization">
61
+ <typename name="Organization"/>
62
+ </explicit>
63
+ <explicit
64
+ name="start_date">
65
+ <typename name="date"/>
66
+ </explicit>
67
+ <explicit
68
+ name="end_date">
69
+ <typename name="date"/>
70
+ </explicit>
71
+ </entity>
72
+
73
+ <entity name="Employment"
74
+ supertypes="PersonOrganizationRelationship"
75
+ >
76
+ <explicit
77
+ name="job_title">
78
+ <builtintype type="STRING"
79
+ />
80
+ </explicit>
81
+ <explicit
82
+ name="ended_by">
83
+ <typename name="po"/>
84
+ </explicit>
85
+ <explicit
86
+ name="employment_type">
87
+ <typename name="contract_type"/>
88
+ </explicit>
89
+ </entity>
90
+
91
+ </schema>
92
+
93
+ </express>
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <uml:Model xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:uml="http://www.eclipse.org/uml2/3.0.0/UML" xmi:id="_qb8akM37EdqwVrslYOdUDA">
3
+ <packagedElement xmi:type="uml:Package" xmi:id="_w8IxIM37EdqwVrslYOdUDA" name="Employment"/>
4
+ </uml:Model>
@@ -0,0 +1,240 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <diagrams:Diagrams xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.topcased.org/DI/1.0" xmlns:diagrams="http://www.topcased.org/Diagrams/1.0" xmi:id="_A578oFbnEeCXeKoxJ0Vc8g" activeDiagram="_A578oVbnEeCXeKoxJ0Vc8g">
3
+ <model href="Employment.uml#_w8IxIM37EdqwVrslYOdUDA"/>
4
+ <diagrams xmi:id="_A578oVbnEeCXeKoxJ0Vc8g" position="0,0" size="100,100" name="Employment" viewport="0,0">
5
+ <property xmi:id="_A6JYAFbnEeCXeKoxJ0Vc8g" key="pageFormatName" value="A3"/>
6
+ <property xmi:id="_A6JYAVbnEeCXeKoxJ0Vc8g" key="diagramWidth" value="1188"/>
7
+ <property xmi:id="_A6JYAlbnEeCXeKoxJ0Vc8g" key="diagramHeight" value="1680"/>
8
+ <property xmi:id="_A6JYA1bnEeCXeKoxJ0Vc8g" key="pageMarginName" value="Small Margin"/>
9
+ <property xmi:id="_A6JYBFbnEeCXeKoxJ0Vc8g" key="diagramTopMargin" value="20"/>
10
+ <property xmi:id="_A6JYBVbnEeCXeKoxJ0Vc8g" key="diagramBottomMargin" value="20"/>
11
+ <property xmi:id="_A6JYBlbnEeCXeKoxJ0Vc8g" key="diagramLeftMargin" value="20"/>
12
+ <property xmi:id="_A6JYB1bnEeCXeKoxJ0Vc8g" key="diagramRightMargin" value="20"/>
13
+ <property xmi:id="_A6JYCFbnEeCXeKoxJ0Vc8g" key="orientation" value="landscape"/>
14
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_A578olbnEeCXeKoxJ0Vc8g" presentation="org.topcased.modeler.uml.classdiagram">
15
+ <element href="Employment.uml#_w8IxIM37EdqwVrslYOdUDA"/>
16
+ </semanticModel>
17
+ <contained xsi:type="di:GraphNode" xmi:id="_kQIOIFbnEeCXeKoxJ0Vc8g" position="130,42" size="180,-1">
18
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_kQIOIVbnEeCXeKoxJ0Vc8g" presentation="default">
19
+ <element href="../Express/employment_schema.xmi#_employment_schema-date"/>
20
+ </semanticModel>
21
+ <contained xsi:type="di:GraphNode" xmi:id="_kQIOIlbnEeCXeKoxJ0Vc8g">
22
+ <property xmi:id="_kQIOI1bnEeCXeKoxJ0Vc8g" key="eStructuralFeatureID" value="37"/>
23
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_kQIOJFbnEeCXeKoxJ0Vc8g" presentation="default">
24
+ <element href="../Express/employment_schema.xmi#_employment_schema-date"/>
25
+ </semanticModel>
26
+ </contained>
27
+ <contained xsi:type="di:GraphNode" xmi:id="_kQIOJVbnEeCXeKoxJ0Vc8g">
28
+ <property xmi:id="_kQIOJlbnEeCXeKoxJ0Vc8g" key="eStructuralFeatureID" value="38"/>
29
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_kQIOJ1bnEeCXeKoxJ0Vc8g" presentation="default">
30
+ <element href="../Express/employment_schema.xmi#_employment_schema-date"/>
31
+ </semanticModel>
32
+ </contained>
33
+ </contained>
34
+ <contained xsi:type="di:GraphNode" xmi:id="_kQUbYFbnEeCXeKoxJ0Vc8g" position="453,27" size="180,-1">
35
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_kQUbYVbnEeCXeKoxJ0Vc8g" presentation="default">
36
+ <element href="../Express/employment_schema.xmi#_employment_schema-contract_type"/>
37
+ </semanticModel>
38
+ <contained xsi:type="di:GraphNode" xmi:id="_kQUbYlbnEeCXeKoxJ0Vc8g">
39
+ <property xmi:id="_kQUbY1bnEeCXeKoxJ0Vc8g" key="eStructuralFeatureID" value="39"/>
40
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_kQUbZFbnEeCXeKoxJ0Vc8g" presentation="default">
41
+ <element href="../Express/employment_schema.xmi#_employment_schema-contract_type"/>
42
+ </semanticModel>
43
+ <contained xsi:type="di:GraphNode" xmi:id="_kQxuYFbnEeCXeKoxJ0Vc8g" position="0,0" size="-1,-1">
44
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_kQxuYVbnEeCXeKoxJ0Vc8g" presentation="default">
45
+ <element href="../Express/employment_schema.xmi#_1_enumitem_employment_schema-contract_type-contract"/>
46
+ </semanticModel>
47
+ </contained>
48
+ <contained xsi:type="di:GraphNode" xmi:id="_kQ3N8FbnEeCXeKoxJ0Vc8g" position="0,0" size="-1,-1">
49
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_kQ3N8VbnEeCXeKoxJ0Vc8g" presentation="default">
50
+ <element href="../Express/employment_schema.xmi#_1_enumitem_employment_schema-contract_type-atwill"/>
51
+ </semanticModel>
52
+ </contained>
53
+ <contained xsi:type="di:GraphNode" xmi:id="_kQ31AFbnEeCXeKoxJ0Vc8g" position="0,0" size="-1,-1">
54
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_kQ31AVbnEeCXeKoxJ0Vc8g" presentation="default">
55
+ <element href="../Express/employment_schema.xmi#_1_enumitem_employment_schema-contract_type-contractor"/>
56
+ </semanticModel>
57
+ </contained>
58
+ </contained>
59
+ </contained>
60
+ <contained xsi:type="di:GraphNode" xmi:id="_kQbJEFbnEeCXeKoxJ0Vc8g" position="469,407" size="147,-1">
61
+ <anchorage xmi:id="_kRNMMFbnEeCXeKoxJ0Vc8g" graphEdge="_kROaUFbnEeCXeKoxJ0Vc8g _kRTS0FbnEeCXeKoxJ0Vc8g _kRW9MFbnEeCXeKoxJ0Vc8g"/>
62
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_kQbJEVbnEeCXeKoxJ0Vc8g" presentation="default">
63
+ <element href="../Express/employment_schema.xmi#_employment_schema-po"/>
64
+ </semanticModel>
65
+ <contained xsi:type="di:GraphNode" xmi:id="_kQbJElbnEeCXeKoxJ0Vc8g">
66
+ <property xmi:id="_kQbJE1bnEeCXeKoxJ0Vc8g" key="eStructuralFeatureID" value="37"/>
67
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_kQbJFFbnEeCXeKoxJ0Vc8g" presentation="default">
68
+ <element href="../Express/employment_schema.xmi#_employment_schema-po"/>
69
+ </semanticModel>
70
+ </contained>
71
+ <contained xsi:type="di:GraphNode" xmi:id="_kQbJFVbnEeCXeKoxJ0Vc8g">
72
+ <property xmi:id="_kQbJFlbnEeCXeKoxJ0Vc8g" key="eStructuralFeatureID" value="38 41 "/>
73
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_kQbJF1bnEeCXeKoxJ0Vc8g" presentation="default">
74
+ <element href="../Express/employment_schema.xmi#_employment_schema-po"/>
75
+ </semanticModel>
76
+ </contained>
77
+ </contained>
78
+ <contained xsi:type="di:GraphNode" xmi:id="_kQid0FbnEeCXeKoxJ0Vc8g" position="127,365" size="190,-1">
79
+ <anchorage xmi:id="_kRRdoFbnEeCXeKoxJ0Vc8g" graphEdge="_kRTS0FbnEeCXeKoxJ0Vc8g _kRb1sFbnEeCXeKoxJ0Vc8g"/>
80
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_kQid0VbnEeCXeKoxJ0Vc8g" presentation="default">
81
+ <element href="../Express/employment_schema.xmi#_employment_schema-Person"/>
82
+ </semanticModel>
83
+ <contained xsi:type="di:GraphNode" xmi:id="_kQid0lbnEeCXeKoxJ0Vc8g">
84
+ <property xmi:id="_kQid01bnEeCXeKoxJ0Vc8g" key="eStructuralFeatureID" value="37"/>
85
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_kQid1FbnEeCXeKoxJ0Vc8g" presentation="default">
86
+ <element href="../Express/employment_schema.xmi#_employment_schema-Person"/>
87
+ </semanticModel>
88
+ <contained xsi:type="di:GraphNode" xmi:id="_kQ31AlbnEeCXeKoxJ0Vc8g" position="0,0" size="-1,-1">
89
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_kQ31A1bnEeCXeKoxJ0Vc8g" presentation="default">
90
+ <element href="../Express/employment_schema.xmi#_2_attr_employment_schema-Person-names"/>
91
+ </semanticModel>
92
+ </contained>
93
+ </contained>
94
+ <contained xsi:type="di:GraphNode" xmi:id="_kQid1VbnEeCXeKoxJ0Vc8g">
95
+ <property xmi:id="_kQid1lbnEeCXeKoxJ0Vc8g" key="eStructuralFeatureID" value="47 50 "/>
96
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_kQid11bnEeCXeKoxJ0Vc8g" presentation="default">
97
+ <element href="../Express/employment_schema.xmi#_employment_schema-Person"/>
98
+ </semanticModel>
99
+ </contained>
100
+ </contained>
101
+ <contained xsi:type="di:GraphNode" xmi:id="_kQmIMFbnEeCXeKoxJ0Vc8g" position="129,464" size="190,-1">
102
+ <anchorage xmi:id="_kRWWIFbnEeCXeKoxJ0Vc8g" graphEdge="_kRW9MFbnEeCXeKoxJ0Vc8g _kRguMFbnEeCXeKoxJ0Vc8g"/>
103
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_kQmIMVbnEeCXeKoxJ0Vc8g" presentation="default">
104
+ <element href="../Express/employment_schema.xmi#_employment_schema-Organization"/>
105
+ </semanticModel>
106
+ <contained xsi:type="di:GraphNode" xmi:id="_kQmIMlbnEeCXeKoxJ0Vc8g">
107
+ <property xmi:id="_kQmIM1bnEeCXeKoxJ0Vc8g" key="eStructuralFeatureID" value="37"/>
108
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_kQmINFbnEeCXeKoxJ0Vc8g" presentation="default">
109
+ <element href="../Express/employment_schema.xmi#_employment_schema-Organization"/>
110
+ </semanticModel>
111
+ <contained xsi:type="di:GraphNode" xmi:id="_kQ4cEFbnEeCXeKoxJ0Vc8g" position="0,0" size="-1,-1">
112
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_kQ4cEVbnEeCXeKoxJ0Vc8g" presentation="default">
113
+ <element href="../Express/employment_schema.xmi#_2_attr_employment_schema-Organization-name"/>
114
+ </semanticModel>
115
+ </contained>
116
+ </contained>
117
+ <contained xsi:type="di:GraphNode" xmi:id="_kQmINVbnEeCXeKoxJ0Vc8g">
118
+ <property xmi:id="_kQmINlbnEeCXeKoxJ0Vc8g" key="eStructuralFeatureID" value="47 50 "/>
119
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_kQmIN1bnEeCXeKoxJ0Vc8g" presentation="default">
120
+ <element href="../Express/employment_schema.xmi#_employment_schema-Organization"/>
121
+ </semanticModel>
122
+ </contained>
123
+ </contained>
124
+ <contained xsi:type="di:GraphNode" xmi:id="_kQpykFbnEeCXeKoxJ0Vc8g" position="111,166" size="219,-1">
125
+ <anchorage xmi:id="_kRankFbnEeCXeKoxJ0Vc8g" graphEdge="_kRb1sFbnEeCXeKoxJ0Vc8g _kRguMFbnEeCXeKoxJ0Vc8g _kRkYkFbnEeCXeKoxJ0Vc8g"/>
126
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_kQpykVbnEeCXeKoxJ0Vc8g" presentation="default">
127
+ <element href="../Express/employment_schema.xmi#_employment_schema-PersonOrganizationRelationship"/>
128
+ </semanticModel>
129
+ <contained xsi:type="di:GraphNode" xmi:id="_kQpyklbnEeCXeKoxJ0Vc8g">
130
+ <property xmi:id="_kQqZoFbnEeCXeKoxJ0Vc8g" key="eStructuralFeatureID" value="37"/>
131
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_kQqZoVbnEeCXeKoxJ0Vc8g" presentation="default">
132
+ <element href="../Express/employment_schema.xmi#_employment_schema-PersonOrganizationRelationship"/>
133
+ </semanticModel>
134
+ <contained xsi:type="di:GraphNode" xmi:id="_kQ5DIFbnEeCXeKoxJ0Vc8g" position="0,0" size="-1,-1">
135
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_kQ5DIVbnEeCXeKoxJ0Vc8g" presentation="default">
136
+ <element href="../Express/employment_schema.xmi#__2_attr_employment_schema-PersonOrganizationRelationship-start_date"/>
137
+ </semanticModel>
138
+ </contained>
139
+ <contained xsi:type="di:GraphNode" xmi:id="_kQ5DIlbnEeCXeKoxJ0Vc8g" position="0,0" size="-1,-1">
140
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_kQ5DI1bnEeCXeKoxJ0Vc8g" presentation="default">
141
+ <element href="../Express/employment_schema.xmi#__2_attr_employment_schema-PersonOrganizationRelationship-end_date"/>
142
+ </semanticModel>
143
+ </contained>
144
+ </contained>
145
+ <contained xsi:type="di:GraphNode" xmi:id="_kQqZolbnEeCXeKoxJ0Vc8g">
146
+ <property xmi:id="_kQqZo1bnEeCXeKoxJ0Vc8g" key="eStructuralFeatureID" value="47 50 "/>
147
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_kQqZpFbnEeCXeKoxJ0Vc8g" presentation="default">
148
+ <element href="../Express/employment_schema.xmi#_employment_schema-PersonOrganizationRelationship"/>
149
+ </semanticModel>
150
+ </contained>
151
+ </contained>
152
+ <contained xsi:type="di:GraphNode" xmi:id="_kQuEAFbnEeCXeKoxJ0Vc8g" position="433,162" size="224,-1">
153
+ <anchorage xmi:id="_kRNMMVbnEeCXeKoxJ0Vc8g" graphEdge="_kROaUFbnEeCXeKoxJ0Vc8g _kRkYkFbnEeCXeKoxJ0Vc8g"/>
154
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_kQuEAVbnEeCXeKoxJ0Vc8g" presentation="default">
155
+ <element href="../Express/employment_schema.xmi#_employment_schema-Employment"/>
156
+ </semanticModel>
157
+ <contained xsi:type="di:GraphNode" xmi:id="_kQuEAlbnEeCXeKoxJ0Vc8g">
158
+ <property xmi:id="_kQuEA1bnEeCXeKoxJ0Vc8g" key="eStructuralFeatureID" value="37"/>
159
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_kQuEBFbnEeCXeKoxJ0Vc8g" presentation="default">
160
+ <element href="../Express/employment_schema.xmi#_employment_schema-Employment"/>
161
+ </semanticModel>
162
+ <contained xsi:type="di:GraphNode" xmi:id="_kQ5qMFbnEeCXeKoxJ0Vc8g" position="0,0" size="-1,-1">
163
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_kQ5qMVbnEeCXeKoxJ0Vc8g" presentation="default">
164
+ <element href="../Express/employment_schema.xmi#_2_attr_employment_schema-Employment-job_title"/>
165
+ </semanticModel>
166
+ </contained>
167
+ <contained xsi:type="di:GraphNode" xmi:id="_kQ5qMlbnEeCXeKoxJ0Vc8g" position="0,0" size="-1,-1">
168
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_kQ5qM1bnEeCXeKoxJ0Vc8g" presentation="default">
169
+ <element href="../Express/employment_schema.xmi#__2_attr_employment_schema-Employment-employment_type"/>
170
+ </semanticModel>
171
+ </contained>
172
+ </contained>
173
+ <contained xsi:type="di:GraphNode" xmi:id="_kQuEBVbnEeCXeKoxJ0Vc8g">
174
+ <property xmi:id="_kQuEBlbnEeCXeKoxJ0Vc8g" key="eStructuralFeatureID" value="47 50 "/>
175
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_kQuEB1bnEeCXeKoxJ0Vc8g" presentation="default">
176
+ <element href="../Express/employment_schema.xmi#_employment_schema-Employment"/>
177
+ </semanticModel>
178
+ </contained>
179
+ </contained>
180
+ <contained xsi:type="di:GraphEdge" xmi:id="_kROaUFbnEeCXeKoxJ0Vc8g" anchor="_kRNMMFbnEeCXeKoxJ0Vc8g _kRNMMVbnEeCXeKoxJ0Vc8g">
181
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_kROaUVbnEeCXeKoxJ0Vc8g" presentation="default">
182
+ <element href="../Express/employment_schema.xmi#_1_association_employment_schema-Employment-ended_by"/>
183
+ </semanticModel>
184
+ <contained xsi:type="di:EdgeObjectUV" xmi:id="_kROaUlbnEeCXeKoxJ0Vc8g" id="srcNameEdgeObject" uDistance="10" vDistance="10"/>
185
+ <contained xsi:type="di:EdgeObjectUV" xmi:id="_kROaU1bnEeCXeKoxJ0Vc8g" id="srcPropertiesEdgeObject" uDistance="25" vDistance="10"/>
186
+ <contained xsi:type="di:EdgeObjectUV" xmi:id="_kROaVFbnEeCXeKoxJ0Vc8g" id="srcCountEdgeObject" uDistance="10" vDistance="-10"/>
187
+ <contained xsi:type="di:EdgeObjectUV" xmi:id="_kROaVVbnEeCXeKoxJ0Vc8g" id="targetNameEdgeObject" uDistance="10" vDistance="10"/>
188
+ <contained xsi:type="di:EdgeObjectUV" xmi:id="_kROaVlbnEeCXeKoxJ0Vc8g" id="targetPropertiesEdgeObject" uDistance="25" vDistance="10"/>
189
+ <contained xsi:type="di:EdgeObjectUV" xmi:id="_kROaV1bnEeCXeKoxJ0Vc8g" id="targetCountEdgeObject" uDistance="10" vDistance="-10"/>
190
+ <contained xsi:type="di:EdgeObjectOffset" xmi:id="_kROaWFbnEeCXeKoxJ0Vc8g" visible="false" id="middleNameEdgeObject" offset="0,10"/>
191
+ <contained xsi:type="di:EdgeObjectOffset" xmi:id="_kROaWVbnEeCXeKoxJ0Vc8g" id="stereotypeEdgeObject" offset="0,-10"/>
192
+ </contained>
193
+ <contained xsi:type="di:GraphEdge" xmi:id="_kRTS0FbnEeCXeKoxJ0Vc8g" anchor="_kRRdoFbnEeCXeKoxJ0Vc8g _kRNMMFbnEeCXeKoxJ0Vc8g">
194
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_kRTS0VbnEeCXeKoxJ0Vc8g" presentation="default">
195
+ <element href="../Express/employment_schema.xmi#_2_selectitem_employment_schema-Person-po"/>
196
+ </semanticModel>
197
+ <contained xsi:type="di:EdgeObjectOffset" xmi:id="_kRTS0lbnEeCXeKoxJ0Vc8g" id="stereotypeEdgeObject"/>
198
+ </contained>
199
+ <contained xsi:type="di:GraphEdge" xmi:id="_kRW9MFbnEeCXeKoxJ0Vc8g" anchor="_kRWWIFbnEeCXeKoxJ0Vc8g _kRNMMFbnEeCXeKoxJ0Vc8g">
200
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_kRW9MVbnEeCXeKoxJ0Vc8g" presentation="default">
201
+ <element href="../Express/employment_schema.xmi#_2_selectitem_employment_schema-Organization-po"/>
202
+ </semanticModel>
203
+ <contained xsi:type="di:EdgeObjectOffset" xmi:id="_kRW9MlbnEeCXeKoxJ0Vc8g" id="stereotypeEdgeObject"/>
204
+ </contained>
205
+ <contained xsi:type="di:GraphEdge" xmi:id="_kRb1sFbnEeCXeKoxJ0Vc8g" anchor="_kRRdoFbnEeCXeKoxJ0Vc8g _kRankFbnEeCXeKoxJ0Vc8g">
206
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_kRb1sVbnEeCXeKoxJ0Vc8g" presentation="default">
207
+ <element href="../Express/employment_schema.xmi#_1_association_employment_schema-PersonOrganizationRelationship-the_person"/>
208
+ </semanticModel>
209
+ <contained xsi:type="di:EdgeObjectUV" xmi:id="_kRb1slbnEeCXeKoxJ0Vc8g" id="srcNameEdgeObject" uDistance="10" vDistance="10"/>
210
+ <contained xsi:type="di:EdgeObjectUV" xmi:id="_kRb1s1bnEeCXeKoxJ0Vc8g" id="srcPropertiesEdgeObject" uDistance="25" vDistance="10"/>
211
+ <contained xsi:type="di:EdgeObjectUV" xmi:id="_kRb1tFbnEeCXeKoxJ0Vc8g" id="srcCountEdgeObject" uDistance="10" vDistance="-10"/>
212
+ <contained xsi:type="di:EdgeObjectUV" xmi:id="_kRb1tVbnEeCXeKoxJ0Vc8g" id="targetNameEdgeObject" uDistance="10" vDistance="10"/>
213
+ <contained xsi:type="di:EdgeObjectUV" xmi:id="_kRb1tlbnEeCXeKoxJ0Vc8g" id="targetPropertiesEdgeObject" uDistance="25" vDistance="10"/>
214
+ <contained xsi:type="di:EdgeObjectUV" xmi:id="_kRb1t1bnEeCXeKoxJ0Vc8g" id="targetCountEdgeObject" uDistance="10" vDistance="-10"/>
215
+ <contained xsi:type="di:EdgeObjectOffset" xmi:id="_kRb1uFbnEeCXeKoxJ0Vc8g" visible="false" id="middleNameEdgeObject" offset="0,10"/>
216
+ <contained xsi:type="di:EdgeObjectOffset" xmi:id="_kRb1uVbnEeCXeKoxJ0Vc8g" id="stereotypeEdgeObject" offset="0,-10"/>
217
+ </contained>
218
+ <contained xsi:type="di:GraphEdge" xmi:id="_kRguMFbnEeCXeKoxJ0Vc8g" anchor="_kRWWIFbnEeCXeKoxJ0Vc8g _kRankFbnEeCXeKoxJ0Vc8g">
219
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_kRguMVbnEeCXeKoxJ0Vc8g" presentation="default">
220
+ <element href="../Express/employment_schema.xmi#_1_association_employment_schema-PersonOrganizationRelationship-the_organization"/>
221
+ </semanticModel>
222
+ <contained xsi:type="di:EdgeObjectUV" xmi:id="_kRguMlbnEeCXeKoxJ0Vc8g" id="srcNameEdgeObject" uDistance="10" vDistance="10"/>
223
+ <contained xsi:type="di:EdgeObjectUV" xmi:id="_kRguM1bnEeCXeKoxJ0Vc8g" id="srcPropertiesEdgeObject" uDistance="25" vDistance="10"/>
224
+ <contained xsi:type="di:EdgeObjectUV" xmi:id="_kRguNFbnEeCXeKoxJ0Vc8g" id="srcCountEdgeObject" uDistance="10" vDistance="-10"/>
225
+ <contained xsi:type="di:EdgeObjectUV" xmi:id="_kRguNVbnEeCXeKoxJ0Vc8g" id="targetNameEdgeObject" uDistance="10" vDistance="10"/>
226
+ <contained xsi:type="di:EdgeObjectUV" xmi:id="_kRguNlbnEeCXeKoxJ0Vc8g" id="targetPropertiesEdgeObject" uDistance="25" vDistance="10"/>
227
+ <contained xsi:type="di:EdgeObjectUV" xmi:id="_kRguN1bnEeCXeKoxJ0Vc8g" id="targetCountEdgeObject" uDistance="10" vDistance="-10"/>
228
+ <contained xsi:type="di:EdgeObjectOffset" xmi:id="_kRguOFbnEeCXeKoxJ0Vc8g" visible="false" id="middleNameEdgeObject" offset="0,10"/>
229
+ <contained xsi:type="di:EdgeObjectOffset" xmi:id="_kRguOVbnEeCXeKoxJ0Vc8g" id="stereotypeEdgeObject" offset="0,-10"/>
230
+ <waypoints>[-203, 0, -197, 273]</waypoints>
231
+ <waypoints>[-203, -280, -197, -7]</waypoints>
232
+ </contained>
233
+ <contained xsi:type="di:GraphEdge" xmi:id="_kRkYkFbnEeCXeKoxJ0Vc8g" anchor="_kRNMMVbnEeCXeKoxJ0Vc8g _kRankFbnEeCXeKoxJ0Vc8g">
234
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_kRkYkVbnEeCXeKoxJ0Vc8g" presentation="default">
235
+ <element href="../Express/employment_schema.xmi#_2_supertype_employment_schema-Employment-PersonOrganizationRelationship"/>
236
+ </semanticModel>
237
+ <contained xsi:type="di:EdgeObjectOffset" xmi:id="_kRkYklbnEeCXeKoxJ0Vc8g" id="stereotypeEdgeObject"/>
238
+ </contained>
239
+ </diagrams>
240
+ </diagrams:Diagrams>
@@ -0,0 +1,7 @@
1
+ Topcased 4 Employment example - Roch Bertucat
2
+
3
+ This Eclipse project can be imported directly into Topcased:
4
+ - /Models/ contains the Topcased files,
5
+ - /Express/ contains the EXPRESS file, the generated XML, and the Eclipse UML2
6
+ compatible XMI file that can be read directly within Eclipse
7
+ - /Export/ contains the UML2 diagram exported from Topcased, based on the XMI file.
@@ -0,0 +1,33 @@
1
+ SCHEMA employment_schema;
2
+
3
+ TYPE date = STRING;
4
+ END_TYPE;
5
+
6
+ TYPE po = SELECT ( Person, Organization );
7
+ END_TYPE;
8
+
9
+ TYPE contract_type = ENUMERATION OF ( contract, atwill, contractor );
10
+ END_TYPE;
11
+
12
+ ENTITY Person;
13
+ names : LIST OF STRING;
14
+ END_ENTITY;
15
+
16
+ ENTITY Organization;
17
+ name : STRING;
18
+ END_ENTITY;
19
+
20
+ ENTITY PersonOrganizationRelationship;
21
+ the_person : Person;
22
+ the_organization : Organization;
23
+ start_date : date;
24
+ end_date : date;
25
+ END_ENTITY;
26
+
27
+ ENTITY Employment SUBTYPE OF ( PersonOrganizationRelationship );
28
+ job_title : STRING;
29
+ ended_by : po;
30
+ employment_type : contract_type;
31
+ END_ENTITY;
32
+
33
+ END_SCHEMA;