rgen 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (145) hide show
  1. data/CHANGELOG +20 -1
  2. data/MIT-LICENSE +1 -1
  3. data/README +12 -9
  4. data/lib/instantiators/ea_instantiator.rb +36 -0
  5. data/lib/metamodels/uml13_metamodel.rb +559 -0
  6. data/lib/metamodels/uml13_metamodel_ext.rb +26 -0
  7. data/lib/mmgen/metamodel_generator.rb +5 -5
  8. data/lib/mmgen/mm_ext/ecore_ext.rb +95 -0
  9. data/lib/mmgen/mmgen.rb +6 -4
  10. data/lib/mmgen/templates/annotations.tpl +37 -0
  11. data/lib/mmgen/templates/metamodel_generator.tpl +171 -0
  12. data/lib/rgen/ecore/ecore.rb +190 -0
  13. data/lib/rgen/ecore/ecore_instantiator.rb +25 -0
  14. data/lib/rgen/ecore/ecore_transformer.rb +85 -0
  15. data/lib/rgen/environment.rb +9 -24
  16. data/lib/rgen/find_helper.rb +68 -0
  17. data/lib/rgen/{instantiator.rb → instantiator/abstract_instantiator.rb} +6 -2
  18. data/lib/rgen/instantiator/abstract_xml_instantiator.rb +59 -0
  19. data/lib/rgen/instantiator/default_xml_instantiator.rb +117 -0
  20. data/lib/rgen/instantiator/ecore_xml_instantiator.rb +144 -0
  21. data/lib/rgen/instantiator/nodebased_xml_instantiator.rb +157 -0
  22. data/lib/rgen/instantiator/xmi11_instantiator.rb +164 -0
  23. data/lib/rgen/metamodel_builder.rb +103 -9
  24. data/lib/rgen/metamodel_builder/build_helper.rb +26 -4
  25. data/lib/rgen/metamodel_builder/builder_extensions.rb +285 -88
  26. data/lib/rgen/metamodel_builder/builder_runtime.rb +7 -1
  27. data/lib/rgen/metamodel_builder/data_types.rb +67 -0
  28. data/lib/rgen/metamodel_builder/intermediate/annotation.rb +30 -0
  29. data/lib/rgen/metamodel_builder/metamodel_description.rb +232 -0
  30. data/lib/rgen/metamodel_builder/mm_multiple.rb +23 -0
  31. data/lib/rgen/metamodel_builder/module_extension.rb +33 -0
  32. data/lib/rgen/model_comparator.rb +56 -0
  33. data/lib/rgen/model_dumper.rb +5 -5
  34. data/lib/rgen/name_helper.rb +17 -1
  35. data/lib/rgen/template_language.rb +148 -28
  36. data/lib/rgen/template_language/directory_template_container.rb +56 -38
  37. data/lib/rgen/template_language/output_handler.rb +93 -77
  38. data/lib/rgen/template_language/template_container.rb +186 -143
  39. data/lib/rgen/transformer.rb +19 -14
  40. data/lib/transformers/uml13_to_ecore.rb +75 -0
  41. data/redist/xmlscan/ChangeLog +1301 -0
  42. data/redist/xmlscan/README +34 -0
  43. data/redist/xmlscan/THANKS +11 -0
  44. data/redist/xmlscan/doc/changes.html +74 -0
  45. data/redist/xmlscan/doc/changes.rd +80 -0
  46. data/redist/xmlscan/doc/en/conformance.html +136 -0
  47. data/redist/xmlscan/doc/en/conformance.rd +152 -0
  48. data/redist/xmlscan/doc/en/manual.html +356 -0
  49. data/redist/xmlscan/doc/en/manual.rd +402 -0
  50. data/redist/xmlscan/doc/ja/conformance.ja.html +118 -0
  51. data/redist/xmlscan/doc/ja/conformance.ja.rd +134 -0
  52. data/redist/xmlscan/doc/ja/manual.ja.html +325 -0
  53. data/redist/xmlscan/doc/ja/manual.ja.rd +370 -0
  54. data/redist/xmlscan/doc/src/Makefile +41 -0
  55. data/redist/xmlscan/doc/src/conformance.rd.src +256 -0
  56. data/redist/xmlscan/doc/src/langsplit.rb +110 -0
  57. data/redist/xmlscan/doc/src/manual.rd.src +614 -0
  58. data/redist/xmlscan/install.rb +41 -0
  59. data/redist/xmlscan/lib/xmlscan/encoding.rb +311 -0
  60. data/redist/xmlscan/lib/xmlscan/htmlscan.rb +289 -0
  61. data/redist/xmlscan/lib/xmlscan/namespace.rb +352 -0
  62. data/redist/xmlscan/lib/xmlscan/parser.rb +299 -0
  63. data/redist/xmlscan/lib/xmlscan/scanner.rb +1109 -0
  64. data/redist/xmlscan/lib/xmlscan/version.rb +22 -0
  65. data/redist/xmlscan/lib/xmlscan/visitor.rb +158 -0
  66. data/redist/xmlscan/lib/xmlscan/xmlchar.rb +441 -0
  67. data/redist/xmlscan/memo/CONFORMANCE +1249 -0
  68. data/redist/xmlscan/memo/PRODUCTIONS +195 -0
  69. data/redist/xmlscan/memo/contentspec.ry +335 -0
  70. data/redist/xmlscan/samples/chibixml.rb +105 -0
  71. data/redist/xmlscan/samples/getxmlchar.rb +122 -0
  72. data/redist/xmlscan/samples/rexml.rb +159 -0
  73. data/redist/xmlscan/samples/xmlbench.rb +88 -0
  74. data/redist/xmlscan/samples/xmlbench/parser/chibixml.rb +22 -0
  75. data/redist/xmlscan/samples/xmlbench/parser/nqxml.rb +29 -0
  76. data/redist/xmlscan/samples/xmlbench/parser/rexml.rb +62 -0
  77. data/redist/xmlscan/samples/xmlbench/parser/xmlparser.rb +22 -0
  78. data/redist/xmlscan/samples/xmlbench/parser/xmlscan-0.0.10.rb +62 -0
  79. data/redist/xmlscan/samples/xmlbench/parser/xmlscan-chibixml.rb +22 -0
  80. data/redist/xmlscan/samples/xmlbench/parser/xmlscan-rexml.rb +22 -0
  81. data/redist/xmlscan/samples/xmlbench/parser/xmlscan.rb +99 -0
  82. data/redist/xmlscan/samples/xmlbench/xmlbench-lib.rb +116 -0
  83. data/redist/xmlscan/samples/xmlconftest.rb +200 -0
  84. data/redist/xmlscan/test.rb +7 -0
  85. data/redist/xmlscan/tests/deftestcase.rb +73 -0
  86. data/redist/xmlscan/tests/runtest.rb +47 -0
  87. data/redist/xmlscan/tests/testall.rb +14 -0
  88. data/redist/xmlscan/tests/testencoding.rb +438 -0
  89. data/redist/xmlscan/tests/testhtmlscan.rb +752 -0
  90. data/redist/xmlscan/tests/testnamespace.rb +457 -0
  91. data/redist/xmlscan/tests/testparser.rb +591 -0
  92. data/redist/xmlscan/tests/testscanner.rb +1749 -0
  93. data/redist/xmlscan/tests/testxmlchar.rb +143 -0
  94. data/redist/xmlscan/tests/visitor.rb +34 -0
  95. data/test/array_extensions_test.rb +2 -2
  96. data/test/ea_instantiator_test.rb +41 -0
  97. data/test/ecore_self_test.rb +53 -0
  98. data/test/environment_test.rb +11 -6
  99. data/test/metamodel_builder_test.rb +404 -245
  100. data/test/metamodel_roundtrip_test.rb +52 -0
  101. data/test/metamodel_roundtrip_test/TestModel.rb +65 -0
  102. data/test/metamodel_roundtrip_test/TestModel_Regenerated.rb +64 -0
  103. data/test/metamodel_roundtrip_test/houseMetamodel.ecore +32 -0
  104. data/test/metamodel_roundtrip_test/houseMetamodel_from_ecore.rb +39 -0
  105. data/test/rgen_test.rb +3 -3
  106. data/test/template_language_test.rb +65 -39
  107. data/test/template_language_test/expected_result.txt +24 -3
  108. data/test/template_language_test/templates/code/array.tpl +11 -0
  109. data/test/template_language_test/templates/content/author.tpl +7 -0
  110. data/test/template_language_test/templates/content/chapter.tpl +1 -1
  111. data/test/template_language_test/templates/root.tpl +17 -8
  112. data/test/template_language_test/testout.txt +24 -3
  113. data/test/testmodel/class_model_checker.rb +119 -0
  114. data/test/{xmi_instantiator_test/testmodel.eap → testmodel/ea_testmodel.eap} +0 -0
  115. data/test/{xmi_instantiator_test/testmodel.xml → testmodel/ea_testmodel.xml} +81 -14
  116. data/test/testmodel/ea_testmodel_partial.xml +317 -0
  117. data/test/testmodel/ecore_model_checker.rb +101 -0
  118. data/test/testmodel/manual_testmodel.xml +22 -0
  119. data/test/testmodel/object_model_checker.rb +67 -0
  120. data/test/transformer_test.rb +18 -10
  121. data/test/xml_instantiator_test.rb +81 -8
  122. data/test/xml_instantiator_test/simple_ecore_model_checker.rb +94 -0
  123. data/test/xml_instantiator_test/simple_xmi_ecore_instantiator.rb +53 -0
  124. data/test/xml_instantiator_test/simple_xmi_metamodel.rb +49 -0
  125. data/test/xml_instantiator_test/simple_xmi_to_ecore.rb +75 -0
  126. metadata +126 -28
  127. data/lib/ea/xmi_class_instantiator.rb +0 -46
  128. data/lib/ea/xmi_helper.rb +0 -26
  129. data/lib/ea/xmi_metamodel.rb +0 -34
  130. data/lib/ea/xmi_object_instantiator.rb +0 -46
  131. data/lib/ea/xmi_to_classmodel.rb +0 -78
  132. data/lib/ea/xmi_to_objectmodel.rb +0 -92
  133. data/lib/mmgen/mm_ext/uml_classmodel_ext.rb +0 -71
  134. data/lib/mmgen/templates/uml_classmodel.tpl +0 -63
  135. data/lib/rgen/xml_instantiator.rb +0 -132
  136. data/lib/uml/objectmodel_instantiator.rb +0 -53
  137. data/lib/uml/uml_classmodel.rb +0 -92
  138. data/lib/uml/uml_objectmodel.rb +0 -65
  139. data/test/metamodel_generator_test.rb +0 -44
  140. data/test/metamodel_generator_test/TestModel.rb +0 -40
  141. data/test/metamodel_generator_test/expected_result.txt +0 -40
  142. data/test/xmi_class_instantiator_test.rb +0 -24
  143. data/test/xmi_instantiator_test/class_model_checker.rb +0 -97
  144. data/test/xmi_object_instantiator_test.rb +0 -65
  145. data/test/xml_instantiator_test/testmodel.xml +0 -7
@@ -1,22 +1,31 @@
1
1
  <% define 'Root' do %>
2
2
  <% file 'testout.txt' do %>
3
3
  Document: <%= title %>
4
-
4
+ <%nl%>
5
+ <%iinc%>
6
+ by <% expand 'content/author::Author', :foreach => authors, :separator => ' and ' %>
7
+ <%idec%>
8
+ <%nl%>
5
9
  Index:<%iinc%>
6
10
  <% for c in chapters %>
7
11
  <% nr = (nr || 0); nr += 1 %>
8
12
  <% expand 'index/chapter::Root', nr, this, :for => c %>
9
13
  <% end %><%idec%>
10
-
11
- by <%= author %>
12
-
14
+ <%nl%>
13
15
  ----------------
14
-
15
- <% expand 'content/chapter::Root', :foreach => chapters %>
16
-
16
+ <%nl%>
17
+ Chapters in one line:
18
+ <% expand 'content/chapter::Root', :foreach => chapters, :separator => ", " %><%nl%>
19
+ <%nl%>
20
+ Chapters each in one line:
21
+ <% expand 'content/chapter::Root', :foreach => chapters, :separator => ",\n" %><%nl%>
22
+ <%nl%>
23
+ Here are some code examples:
24
+ <% expand 'code/array::ArrayDefinition', :for => sampleArray %>
17
25
  <% end %>
18
26
  <% end %>
19
27
 
20
- <% def MyNewMethod(arg1, arg2, arg3) %>
28
+ <% define 'TextFromRoot' do %>
29
+ Text from Root
21
30
  <% end %>
22
31
 
@@ -1,10 +1,31 @@
1
1
  Document: SomeDocument
2
+
3
+ by Martin, EMail: martin(at)somewhe.re and Otherguy, EMail: other(at)somewhereel.se
4
+
2
5
  Index:
3
6
  1 Intro in SomeDocument
4
7
  2 MainPart in SomeDocument
5
8
  3 Summary in SomeDocument
6
- by MyName
9
+
7
10
  ----------------
8
- *** Intro ***
9
- *** MainPart ***
11
+
12
+ Chapters in one line:
13
+ *** Intro ***, *** MainPart ***, *** Summary ***
14
+
15
+ Chapters each in one line:
16
+ *** Intro ***,
17
+ *** MainPart ***,
10
18
  *** Summary ***
19
+
20
+ Here are some code examples:
21
+ Text from Root
22
+ Text from Root
23
+ int myArray[5] = {
24
+ 1,
25
+ 2,
26
+ 3,
27
+ 4,
28
+ 5
29
+ };
30
+ Text from Root
31
+ Text from Root
@@ -0,0 +1,119 @@
1
+ require 'metamodels/uml13_metamodel'
2
+ require 'metamodels/uml13_metamodel_ext'
3
+
4
+ module Testmodel
5
+
6
+ # Checks the UML Class model elements from the example model
7
+ #
8
+ module ClassModelChecker
9
+
10
+ def checkClassModel(envUML)
11
+
12
+ # check main package
13
+ mainPackage = envUML.find(:class => UML13::Package, :name => "HouseMetamodel").first
14
+ assert_not_nil mainPackage
15
+
16
+ # check Rooms package
17
+ subs = mainPackage.ownedElement.select{|e| e.is_a?(UML13::Package)}
18
+ assert_equal 1, subs.size
19
+ roomsPackage = subs.first
20
+ assert_equal "Rooms", roomsPackage.name
21
+
22
+ # check main package classes
23
+ classes = mainPackage.ownedElement.select{|e| e.is_a?(UML13::Class)}
24
+ assert_equal 3, classes.size
25
+ houseClass = classes.find{|c| c.name == "House"}
26
+ personClass = classes.find{|c| c.name == "Person"}
27
+ meetingPlaceClass = classes.find{|c| c.name == "MeetingPlace"}
28
+ cookingPlaceInterface = mainPackage.ownedElement.find{|e| e.is_a?(UML13::Interface) && e.name == "CookingPlace"}
29
+ assert_not_nil houseClass
30
+ assert_not_nil personClass
31
+ assert_not_nil meetingPlaceClass
32
+ assert_not_nil cookingPlaceInterface
33
+
34
+ # check Rooms package classes
35
+ classes = roomsPackage.ownedElement.select{|e| e.is_a?(UML13::Class)}
36
+ assert_equal 3, classes.size
37
+ roomClass = classes.find{|c| c.name == "Room"}
38
+ kitchenClass = classes.find{|c| c.name == "Kitchen"}
39
+ bathroomClass = classes.find{|c| c.name == "Bathroom"}
40
+ assert_not_nil roomClass
41
+ assert_not_nil kitchenClass
42
+ assert_not_nil bathroomClass
43
+
44
+ # check Room inheritance
45
+ assert_equal 2, roomClass.specialization.child.size
46
+ assert_not_nil roomClass.specialization.child.find{|c| c.name == "Kitchen"}
47
+ assert_not_nil roomClass.specialization.child.find{|c| c.name == "Bathroom"}
48
+ assert_equal 2, kitchenClass.generalization.parent.size
49
+ assert_equal roomClass.object_id, kitchenClass.generalization.parent.find{|c| c.name == "Room"}.object_id
50
+ assert_equal meetingPlaceClass.object_id, kitchenClass.generalization.parent.find{|c| c.name == "MeetingPlace"}.object_id
51
+ assert_equal 1, bathroomClass.generalization.parent.size
52
+ assert_equal roomClass.object_id, bathroomClass.generalization.parent.first.object_id
53
+ assert_not_nil kitchenClass.clientDependency.find{|d| d.stereotype.name == "implements"}
54
+ assert_equal cookingPlaceInterface.object_id, kitchenClass.clientDependency.supplier.find{|c| c.name == "CookingPlace"}.object_id
55
+ assert_equal kitchenClass.object_id, cookingPlaceInterface.supplierDependency.client.find{|c| c.name == "Kitchen"}.object_id
56
+
57
+ # check House-Room "part of" association
58
+ assert_equal 1, houseClass.localCompositeEnd.size
59
+ roomEnd = houseClass.localCompositeEnd.first.otherEnd
60
+ assert_equal UML13::Association, roomEnd.association.class
61
+ assert_equal roomClass.object_id, roomEnd.type.object_id
62
+ assert_equal "room", roomEnd.name
63
+ assert_equal UML13::Multiplicity, roomEnd.multiplicity.class
64
+ assert_equal "1", roomEnd.multiplicity.range.first.lower
65
+ assert_equal "*", roomEnd.multiplicity.range.first.upper
66
+
67
+ assert_equal 1, roomClass.remoteCompositeEnd.size
68
+ assert_equal houseClass.object_id, roomClass.remoteCompositeEnd.first.type.object_id
69
+ assert_equal "house", roomClass.remoteCompositeEnd.first.name
70
+
71
+ # check House OUT associations
72
+ assert_equal 2, houseClass.remoteNavigableEnd.size
73
+ bathEnd = houseClass.remoteNavigableEnd.find{|e| e.name == "bathroom"}
74
+ kitchenEnd = houseClass.remoteNavigableEnd.find{|e| e.name== "kitchen"}
75
+ assert_not_nil bathEnd
76
+ assert_not_nil kitchenEnd
77
+ assert_equal UML13::Association, bathEnd.association.class
78
+ assert_equal UML13::Association, kitchenEnd.association.class
79
+ assert_equal "1", kitchenEnd.multiplicity.range.first.lower
80
+ assert_equal "1", kitchenEnd.multiplicity.range.first.upper
81
+
82
+ # check House IN associations
83
+ assert_equal 3, houseClass.localNavigableEnd.size
84
+ homeEnd = houseClass.localNavigableEnd.find{|e| e.name == "home"}
85
+ assert_not_nil homeEnd
86
+ assert_equal UML13::Association, homeEnd.association.class
87
+ assert_equal "0", homeEnd.multiplicity.range.first.lower
88
+ assert_equal "*", homeEnd.multiplicity.range.first.upper
89
+
90
+ # check House all associations
91
+ assert_equal 4, houseClass.associationEnd.size
92
+ end
93
+
94
+ def checkClassModelPartial(envUML)
95
+ # HouseMetamodel package is not part of the partial export
96
+ mainPackage = envUML.find(:class => UML13::Package, :name => "HouseMetamodel").first
97
+ assert_nil mainPackage
98
+
99
+ roomsPackage = envUML.find(:class => UML13::Package, :name => "Rooms").first
100
+ assert_not_nil roomsPackage
101
+
102
+ roomClass = envUML.find(:class => UML13::Class, :name => "Room").first
103
+ assert_not_nil roomClass
104
+
105
+ # House is created from an EAStub
106
+ houseClass = roomClass.remoteCompositeEnd.first.type
107
+ assert_not_nil houseClass
108
+ assert_equal "House", houseClass.name
109
+ # House is not in a package since it's just a stub
110
+ assert houseClass.namespace.nil?
111
+
112
+ # in the partial model, House has only 3 (not 4) associations
113
+ # since the fourth class (Person) is not in Rooms package
114
+ assert_equal 3, houseClass.associationEnd.size
115
+ end
116
+
117
+ end
118
+
119
+ end
@@ -1,5 +1,5 @@
1
1
  <?xml version="1.0" encoding="windows-1252"?>
2
- <XMI xmi.version="1.1" xmlns:UML="omg.org/UML1.3" timestamp="2006-07-21 19:37:37">
2
+ <XMI xmi.version="1.1" xmlns:UML="omg.org/UML1.3" timestamp="2007-06-14 08:25:40">
3
3
  <XMI.header>
4
4
  <XMI.documentation>
5
5
  <XMI.exporter>Enterprise Architect</XMI.exporter>
@@ -157,7 +157,7 @@
157
157
  <UML:TaggedValue tag="seqno" value="0"/>
158
158
  <UML:TaggedValue tag="headStyle" value="0"/>
159
159
  <UML:TaggedValue tag="lineStyle" value="0"/>
160
- <UML:TaggedValue tag="privatedata5" value="SX=-39;SY=-10;EX=-43;EY=-10;EDGE=1;"/>
160
+ <UML:TaggedValue tag="privatedata5" value="SX=6;SY=-12;EX=-44;EY=-9;EDGE=1;"/>
161
161
  <UML:TaggedValue tag="virtualInheritance" value="0"/>
162
162
  </UML:ModelElement.taggedValue>
163
163
  <UML:Association.connection>
@@ -293,7 +293,7 @@
293
293
  <UML:TaggedValue tag="version" value="1.0"/>
294
294
  <UML:TaggedValue tag="package" value="EAPK_A1B83D59_CAE1_422c_BA5F_D3624D7156AD"/>
295
295
  <UML:TaggedValue tag="date_created" value="2006-07-12 08:40:46"/>
296
- <UML:TaggedValue tag="date_modified" value="2006-07-12 08:44:02"/>
296
+ <UML:TaggedValue tag="date_modified" value="2007-06-14 08:22:21"/>
297
297
  <UML:TaggedValue tag="gentype" value="Java"/>
298
298
  <UML:TaggedValue tag="tagged" value="0"/>
299
299
  <UML:TaggedValue tag="package_name" value="HouseMetamodel"/>
@@ -322,6 +322,56 @@
322
322
  <UML:TaggedValue tag="privatedata5" value="SX=-24;SY=-16;"/>
323
323
  </UML:ModelElement.taggedValue>
324
324
  </UML:Generalization>
325
+ <UML:Interface name="CookingPlace" xmi.id="EAID_E21E535F_E300_4405_A917_28FFB4B2DB6E" visibility="public" namespace="EAPK_A1B83D59_CAE1_422c_BA5F_D3624D7156AD" isRoot="false" isLeaf="false" isAbstract="true">
326
+ <UML:ModelElement.stereotype>
327
+ <UML:Stereotype name="interface"/>
328
+ </UML:ModelElement.stereotype>
329
+ <UML:ModelElement.taggedValue>
330
+ <UML:TaggedValue tag="isSpecification" value="false"/>
331
+ <UML:TaggedValue tag="ea_stype" value="Interface"/>
332
+ <UML:TaggedValue tag="ea_ntype" value="0"/>
333
+ <UML:TaggedValue tag="version" value="1.0"/>
334
+ <UML:TaggedValue tag="package" value="EAPK_A1B83D59_CAE1_422c_BA5F_D3624D7156AD"/>
335
+ <UML:TaggedValue tag="date_created" value="2007-06-14 08:22:21"/>
336
+ <UML:TaggedValue tag="date_modified" value="2007-06-14 08:23:36"/>
337
+ <UML:TaggedValue tag="gentype" value="Java"/>
338
+ <UML:TaggedValue tag="tagged" value="0"/>
339
+ <UML:TaggedValue tag="package_name" value="HouseMetamodel"/>
340
+ <UML:TaggedValue tag="phase" value="1.0"/>
341
+ <UML:TaggedValue tag="complexity" value="1"/>
342
+ <UML:TaggedValue tag="status" value="Proposed"/>
343
+ <UML:TaggedValue tag="stereotype" value="interface"/>
344
+ <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
345
+ </UML:ModelElement.taggedValue>
346
+ </UML:Interface>
347
+ <UML:Dependency client="EAID_9CE44C59_37E4_4117_8C05_F87C4DC33529" supplier="EAID_E21E535F_E300_4405_A917_28FFB4B2DB6E" xmi.id="EAID_9613E9DD_8709_4e9e_92D8_2F6CA9835851" visibility="public">
348
+ <UML:ModelElement.stereotype>
349
+ <UML:Stereotype name="implements"/>
350
+ </UML:ModelElement.stereotype>
351
+ <UML:ModelElement.taggedValue>
352
+ <UML:TaggedValue tag="style" value="3"/>
353
+ <UML:TaggedValue tag="ea_type" value="Dependency"/>
354
+ <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
355
+ <UML:TaggedValue tag="linemode" value="3"/>
356
+ <UML:TaggedValue tag="seqno" value="0"/>
357
+ <UML:TaggedValue tag="stereotype" value="implements"/>
358
+ <UML:TaggedValue tag="headStyle" value="0"/>
359
+ <UML:TaggedValue tag="lineStyle" value="0"/>
360
+ <UML:TaggedValue tag="conditional" value="�implements�"/>
361
+ <UML:TaggedValue tag="src_visibility" value="Public"/>
362
+ <UML:TaggedValue tag="src_aggregation" value="0"/>
363
+ <UML:TaggedValue tag="src_isOrdered" value="false"/>
364
+ <UML:TaggedValue tag="src_isNavigable" value="false"/>
365
+ <UML:TaggedValue tag="src_containment" value="Unspecified"/>
366
+ <UML:TaggedValue tag="dst_visibility" value="Public"/>
367
+ <UML:TaggedValue tag="dst_aggregation" value="0"/>
368
+ <UML:TaggedValue tag="dst_isOrdered" value="false"/>
369
+ <UML:TaggedValue tag="dst_isNavigable" value="true"/>
370
+ <UML:TaggedValue tag="dst_containment" value="Unspecified"/>
371
+ <UML:TaggedValue tag="virtualInheritance" value="0"/>
372
+ <UML:TaggedValue tag="mb" value="�implements�"/>
373
+ </UML:ModelElement.taggedValue>
374
+ </UML:Dependency>
325
375
  <UML:Package name="Rooms" xmi.id="EAPK_F9D8C6E3_4DAD_4aa2_AD47_D0ABA4E93E08" isRoot="true" isLeaf="false" isAbstract="false" visibility="public">
326
376
  <UML:ModelElement.name>Rooms</UML:ModelElement.name>
327
377
  <UML:ModelElement.taggedValue>
@@ -747,37 +797,42 @@
747
797
  <UML:DataType xmi.id="eaxmiid1" name="void" visibility="private" isRoot="false" isLeaf="false" isAbstract="false"/>
748
798
  </UML:Namespace.ownedElement>
749
799
  </UML:Model>
750
- <UML:DiagramElement geometry="Left=260;Top=103;Right=359;Bottom=173;" subject="EAID_436D81AD_A9B0_44d8_8AD1_86BB0808DA32" seqno="6" style="DUID=CDDEF3BC;LBL=;">
800
+ <UML:DiagramElement geometry="Left=260;Top=103;Right=359;Bottom=173;" subject="EAID_436D81AD_A9B0_44d8_8AD1_86BB0808DA32" seqno="7" style="DUID=CDDEF3BC;LBL=;">
751
801
  <UML:ModelElement.taggedValue>
752
802
  <UML:TaggedValue tag="diagram_guid" value="EAID_2FBE7B3F_756C_46a0_90EE_93429FDA065D"/>
753
803
  </UML:ModelElement.taggedValue>
754
804
  </UML:DiagramElement>
755
- <UML:DiagramElement geometry="Left=472;Top=163;Right=562;Bottom=233;" subject="EAID_2F1D9CC6_F38F_4a34_B3C4_B92915108384" seqno="2" style="DUID=12DDDFF9;LBL=;">
805
+ <UML:DiagramElement geometry="Left=472;Top=163;Right=562;Bottom=233;" subject="EAID_2F1D9CC6_F38F_4a34_B3C4_B92915108384" seqno="3" style="DUID=12DDDFF9;LBL=;">
756
806
  <UML:ModelElement.taggedValue>
757
807
  <UML:TaggedValue tag="diagram_guid" value="EAID_2FBE7B3F_756C_46a0_90EE_93429FDA065D"/>
758
808
  </UML:ModelElement.taggedValue>
759
809
  </UML:DiagramElement>
760
- <UML:DiagramElement geometry="Left=415;Top=252;Right=530;Bottom=323;" subject="EAID_9D7C072D_2F74_4348_B1D9_BA3CFA72FC6F" seqno="7" style="DUID=FAD2A1B5;LBL=;">
810
+ <UML:DiagramElement geometry="Left=415;Top=252;Right=530;Bottom=323;" subject="EAID_9D7C072D_2F74_4348_B1D9_BA3CFA72FC6F" seqno="8" style="DUID=FAD2A1B5;LBL=;">
761
811
  <UML:ModelElement.taggedValue>
762
812
  <UML:TaggedValue tag="diagram_guid" value="EAID_2FBE7B3F_756C_46a0_90EE_93429FDA065D"/>
763
813
  </UML:ModelElement.taggedValue>
764
814
  </UML:DiagramElement>
765
- <UML:DiagramElement geometry="Left=39;Top=206;Right=129;Bottom=276;" subject="EAID_CB9E84D4_9064_49d0_BF1E_EE53C05853EF" seqno="1" style="DUID=E58486A8;LBL=;">
815
+ <UML:DiagramElement geometry="Left=21;Top=241;Right=111;Bottom=311;" subject="EAID_CB9E84D4_9064_49d0_BF1E_EE53C05853EF" seqno="2" style="DUID=E58486A8;LBL=;">
766
816
  <UML:ModelElement.taggedValue>
767
817
  <UML:TaggedValue tag="diagram_guid" value="EAID_2FBE7B3F_756C_46a0_90EE_93429FDA065D"/>
768
818
  </UML:ModelElement.taggedValue>
769
819
  </UML:DiagramElement>
770
- <UML:DiagramElement geometry="Left=265;Top=280;Right=355;Bottom=350;" subject="EAID_14DB5E54_CD7B_4c84_998C_44960049D7E0" seqno="5" style="DUID=BFDAC143;LBL=;">
820
+ <UML:DiagramElement geometry="Left=108;Top=132;Right=198;Bottom=222;" subject="EAID_E21E535F_E300_4405_A917_28FFB4B2DB6E" seqno="1" style="DUID=1CE36E20;">
771
821
  <UML:ModelElement.taggedValue>
772
822
  <UML:TaggedValue tag="diagram_guid" value="EAID_2FBE7B3F_756C_46a0_90EE_93429FDA065D"/>
773
823
  </UML:ModelElement.taggedValue>
774
824
  </UML:DiagramElement>
775
- <UML:DiagramElement geometry="Left=145;Top=402;Right=235;Bottom=472;" subject="EAID_9CE44C59_37E4_4117_8C05_F87C4DC33529" seqno="4" style="DUID=BDEA24A9;LBL=;">
825
+ <UML:DiagramElement geometry="Left=265;Top=280;Right=355;Bottom=350;" subject="EAID_14DB5E54_CD7B_4c84_998C_44960049D7E0" seqno="6" style="DUID=BFDAC143;LBL=;">
776
826
  <UML:ModelElement.taggedValue>
777
827
  <UML:TaggedValue tag="diagram_guid" value="EAID_2FBE7B3F_756C_46a0_90EE_93429FDA065D"/>
778
828
  </UML:ModelElement.taggedValue>
779
829
  </UML:DiagramElement>
780
- <UML:DiagramElement geometry="Left=394;Top=412;Right=484;Bottom=482;" subject="EAID_244CC9E5_1F81_4164_9215_C048EC679543" seqno="3" style="DUID=5DECEEC9;LBL=;">
830
+ <UML:DiagramElement geometry="Left=145;Top=402;Right=235;Bottom=472;" subject="EAID_9CE44C59_37E4_4117_8C05_F87C4DC33529" seqno="5" style="DUID=BDEA24A9;LBL=;">
831
+ <UML:ModelElement.taggedValue>
832
+ <UML:TaggedValue tag="diagram_guid" value="EAID_2FBE7B3F_756C_46a0_90EE_93429FDA065D"/>
833
+ </UML:ModelElement.taggedValue>
834
+ </UML:DiagramElement>
835
+ <UML:DiagramElement geometry="Left=394;Top=412;Right=484;Bottom=482;" subject="EAID_244CC9E5_1F81_4164_9215_C048EC679543" seqno="4" style="DUID=5DECEEC9;LBL=;">
781
836
  <UML:ModelElement.taggedValue>
782
837
  <UML:TaggedValue tag="diagram_guid" value="EAID_2FBE7B3F_756C_46a0_90EE_93429FDA065D"/>
783
838
  </UML:ModelElement.taggedValue>
@@ -818,7 +873,7 @@
818
873
  <UML:TaggedValue tag="hidden" value="0"/>
819
874
  </UML:ModelElement.taggedValue>
820
875
  </UML:DiagramElement>
821
- <UML:DiagramElement geometry="SX=-44;SY=-9;EX=-44;EY=-9;EDGE=1;$LLB=CX=16:CY=15:OX=13:OY=-3:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:;LLT=CX=49:CY=15:OX=0:OY=-14:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:;LMT=;LMB=;LRT=CX=44:CY=15:OX=-10:OY=-1:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:;LRB=CX=16:CY=15:OX=-23:OY=-4:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:;" subject="EAID_9F0FF178_300F_45f4_B31F_9633AF770E44" style="Mode=3;EOID=CDDEF3BC;SOID=BDEA24A9;">
876
+ <UML:DiagramElement geometry="SX=6;SY=-12;EX=-44;EY=-9;EDGE=1;$LLB=CX=16:CY=15:OX=13:OY=-3:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:;LLT=CX=49:CY=15:OX=0:OY=-14:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:;LMT=;LMB=;LRT=CX=44:CY=15:OX=-10:OY=-1:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:;LRB=CX=16:CY=15:OX=-23:OY=-4:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:;" subject="EAID_9F0FF178_300F_45f4_B31F_9633AF770E44" style="Mode=3;EOID=CDDEF3BC;SOID=BDEA24A9;">
822
877
  <UML:ModelElement.taggedValue>
823
878
  <UML:TaggedValue tag="diagram_guid" value="EAID_2FBE7B3F_756C_46a0_90EE_93429FDA065D"/>
824
879
  <UML:TaggedValue tag="hidden" value="0"/>
@@ -842,7 +897,13 @@
842
897
  <UML:TaggedValue tag="hidden" value="0"/>
843
898
  </UML:ModelElement.taggedValue>
844
899
  </UML:DiagramElement>
845
- <UML:DiagramElement geometry="SX=-24;SY=-16;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;" subject="EAID_E824691D_2AE7_4c9c_8408_881A2B85516F" style="Mode=3;EOID=E58486A8;SOID=BDEA24A9;">
900
+ <UML:DiagramElement geometry="SX=-24;SY=-16;EDGE=4;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;" subject="EAID_E824691D_2AE7_4c9c_8408_881A2B85516F" style="Mode=3;EOID=E58486A8;SOID=BDEA24A9;">
901
+ <UML:ModelElement.taggedValue>
902
+ <UML:TaggedValue tag="diagram_guid" value="EAID_2FBE7B3F_756C_46a0_90EE_93429FDA065D"/>
903
+ <UML:TaggedValue tag="hidden" value="0"/>
904
+ </UML:ModelElement.taggedValue>
905
+ </UML:DiagramElement>
906
+ <UML:DiagramElement geometry="EDGE=1;$LLB=;LLT=;LMT=;LMB=CX=77:CY=15:OX=0:OY=0:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:;LRT=;LRB=;" subject="EAID_9613E9DD_8709_4e9e_92D8_2F6CA9835851" style="Mode=3;EOID=1CE36E20;SOID=BDEA24A9;">
846
907
  <UML:ModelElement.taggedValue>
847
908
  <UML:TaggedValue tag="diagram_guid" value="EAID_2FBE7B3F_756C_46a0_90EE_93429FDA065D"/>
848
909
  <UML:TaggedValue tag="hidden" value="0"/>
@@ -866,7 +927,13 @@
866
927
  <UML:TaggedValue tag="hidden" value="0"/>
867
928
  </UML:ModelElement.taggedValue>
868
929
  </UML:DiagramElement>
869
- <UML:DiagramElement geometry="SX=-44;SY=-9;EX=-44;EY=-9;EDGE=1;$LLB=CX=16:CY=15:OX=13:OY=-3:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:;LLT=CX=49:CY=15:OX=0:OY=-14:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:;LMT=;LMB=;LRT=CX=44:CY=15:OX=-10:OY=-1:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:;LRB=CX=16:CY=15:OX=-23:OY=-4:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:;" subject="EAID_9F0FF178_300F_45f4_B31F_9633AF770E44" style="Mode=3;EOID=CDDEF3BC;SOID=BDEA24A9;">
930
+ <UML:DiagramElement geometry="EDGE=1;$LLB=;LLT=;LMT=;LMB=CX=77:CY=15:OX=0:OY=0:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:;LRT=;LRB=;" subject="EAID_9613E9DD_8709_4e9e_92D8_2F6CA9835851" style="Mode=3;EOID=1CE36E20;SOID=BDEA24A9;">
931
+ <UML:ModelElement.taggedValue>
932
+ <UML:TaggedValue tag="diagram_guid" value="EAID_2FBE7B3F_756C_46a0_90EE_93429FDA065D"/>
933
+ <UML:TaggedValue tag="hidden" value="0"/>
934
+ </UML:ModelElement.taggedValue>
935
+ </UML:DiagramElement>
936
+ <UML:DiagramElement geometry="SX=6;SY=-12;EX=-44;EY=-9;EDGE=1;$LLB=CX=16:CY=15:OX=13:OY=-3:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:;LLT=CX=49:CY=15:OX=0:OY=-14:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:;LMT=;LMB=;LRT=CX=44:CY=15:OX=-10:OY=-1:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:;LRB=CX=16:CY=15:OX=-23:OY=-4:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:;" subject="EAID_9F0FF178_300F_45f4_B31F_9633AF770E44" style="Mode=3;EOID=CDDEF3BC;SOID=BDEA24A9;">
870
937
  <UML:ModelElement.taggedValue>
871
938
  <UML:TaggedValue tag="diagram_guid" value="EAID_2FBE7B3F_756C_46a0_90EE_93429FDA065D"/>
872
939
  <UML:TaggedValue tag="hidden" value="0"/>
@@ -878,7 +945,7 @@
878
945
  <UML:TaggedValue tag="hidden" value="0"/>
879
946
  </UML:ModelElement.taggedValue>
880
947
  </UML:DiagramElement>
881
- <UML:DiagramElement geometry="SX=-24;SY=-16;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;" subject="EAID_E824691D_2AE7_4c9c_8408_881A2B85516F" style="Mode=3;EOID=E58486A8;SOID=BDEA24A9;">
948
+ <UML:DiagramElement geometry="SX=-24;SY=-16;EDGE=4;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;" subject="EAID_E824691D_2AE7_4c9c_8408_881A2B85516F" style="Mode=3;EOID=E58486A8;SOID=BDEA24A9;">
882
949
  <UML:ModelElement.taggedValue>
883
950
  <UML:TaggedValue tag="diagram_guid" value="EAID_2FBE7B3F_756C_46a0_90EE_93429FDA065D"/>
884
951
  <UML:TaggedValue tag="hidden" value="0"/>
@@ -0,0 +1,317 @@
1
+ <?xml version="1.0" encoding="windows-1252"?>
2
+ <XMI xmi.version="1.1" xmlns:UML="omg.org/UML1.3" timestamp="2007-06-10 12:35:22">
3
+ <XMI.header>
4
+ <XMI.documentation>
5
+ <XMI.exporter>Enterprise Architect</XMI.exporter>
6
+ <XMI.exporterVersion>2.5</XMI.exporterVersion>
7
+ </XMI.documentation>
8
+ </XMI.header>
9
+ <XMI.content>
10
+ <UML:Model name="EA Model" xmi.id="MX_EAID_F9D8C6E3_4DAD_4aa2_AD47_D0ABA4E93E08">
11
+ <UML:Namespace.ownedElement>
12
+ <UML:Class name="EARootClass" xmi.id="EAID_11111111_5487_4080_A7F4_41526CB0AA00" isRoot="true" isLeaf="false" isAbstract="false"/>
13
+ <UML:Package name="Rooms" xmi.id="EAPK_F9D8C6E3_4DAD_4aa2_AD47_D0ABA4E93E08" isRoot="true" isLeaf="false" isAbstract="false" visibility="public">
14
+ <UML:ModelElement.taggedValue>
15
+ <UML:TaggedValue tag="created" value="2006-06-23 00:00:00"/>
16
+ <UML:TaggedValue tag="modified" value="2006-06-23 00:00:00"/>
17
+ <UML:TaggedValue tag="iscontrolled" value="FALSE"/>
18
+ <UML:TaggedValue tag="isprotected" value="FALSE"/>
19
+ <UML:TaggedValue tag="usedtd" value="FALSE"/>
20
+ <UML:TaggedValue tag="logxml" value="FALSE"/>
21
+ <UML:TaggedValue tag="phase" value="1.0"/>
22
+ <UML:TaggedValue tag="status" value="Proposed"/>
23
+ <UML:TaggedValue tag="complexity" value="1"/>
24
+ <UML:TaggedValue tag="ea_stype" value="Public"/>
25
+ </UML:ModelElement.taggedValue>
26
+ <UML:Namespace.ownedElement>
27
+ <UML:Class name="Room" xmi.id="EAID_14DB5E54_CD7B_4c84_998C_44960049D7E0" visibility="public" namespace="EAPK_F9D8C6E3_4DAD_4aa2_AD47_D0ABA4E93E08" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
28
+ <UML:ModelElement.taggedValue>
29
+ <UML:TaggedValue tag="isSpecification" value="false"/>
30
+ <UML:TaggedValue tag="ea_stype" value="Class"/>
31
+ <UML:TaggedValue tag="ea_ntype" value="0"/>
32
+ <UML:TaggedValue tag="version" value="1.0"/>
33
+ <UML:TaggedValue tag="package" value="EAPK_F9D8C6E3_4DAD_4aa2_AD47_D0ABA4E93E08"/>
34
+ <UML:TaggedValue tag="date_created" value="2005-09-16 19:52:28"/>
35
+ <UML:TaggedValue tag="date_modified" value="2006-06-22 21:15:25"/>
36
+ <UML:TaggedValue tag="gentype" value="Java"/>
37
+ <UML:TaggedValue tag="tagged" value="0"/>
38
+ <UML:TaggedValue tag="package_name" value="Rooms"/>
39
+ <UML:TaggedValue tag="phase" value="1.0"/>
40
+ <UML:TaggedValue tag="complexity" value="1"/>
41
+ <UML:TaggedValue tag="status" value="Proposed"/>
42
+ <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
43
+ </UML:ModelElement.taggedValue>
44
+ <UML:Classifier.feature>
45
+ <UML:Operation name="enter" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
46
+ <UML:ModelElement.taggedValue>
47
+ <UML:TaggedValue tag="type" value="void"/>
48
+ <UML:TaggedValue tag="const" value="false"/>
49
+ <UML:TaggedValue tag="synchronised" value="0"/>
50
+ <UML:TaggedValue tag="concurrency" value="Sequential"/>
51
+ <UML:TaggedValue tag="position" value="0"/>
52
+ <UML:TaggedValue tag="returnarray" value="0"/>
53
+ <UML:TaggedValue tag="pure" value="0"/>
54
+ <UML:TaggedValue tag="ea_guid" value="{A8C01177-4523-44c4-87F7-F2B8F9F3C915}"/>
55
+ </UML:ModelElement.taggedValue>
56
+ <UML:BehavioralFeature.parameter>
57
+ <UML:Parameter kind="return" visibility="public">
58
+ <UML:Parameter.type>
59
+ <UML:Classifier xmi.idref="eaxmiid0"/>
60
+ </UML:Parameter.type>
61
+ <UML:ModelElement.taggedValue>
62
+ <UML:TaggedValue tag="pos" value="0"/>
63
+ <UML:TaggedValue tag="type" value="void"/>
64
+ <UML:TaggedValue tag="const" value="0"/>
65
+ <UML:TaggedValue tag="ea_guid" value="{A8C01177-4523-44c4-87F7-F2B8F9F3C915}"/>
66
+ </UML:ModelElement.taggedValue>
67
+ <UML:Parameter.defaultValue>
68
+ <UML:Expression/>
69
+ </UML:Parameter.defaultValue>
70
+ </UML:Parameter>
71
+ </UML:BehavioralFeature.parameter>
72
+ </UML:Operation>
73
+ </UML:Classifier.feature>
74
+ </UML:Class>
75
+ <UML:Association xmi.id="EAID_F15A2B25_0DA9_4203_8FC9_25645610B5E5" visibility="public" isRoot="false" isLeaf="false" isAbstract="false">
76
+ <UML:ModelElement.taggedValue>
77
+ <UML:TaggedValue tag="style" value="3"/>
78
+ <UML:TaggedValue tag="ea_type" value="Aggregation"/>
79
+ <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
80
+ <UML:TaggedValue tag="linemode" value="3"/>
81
+ <UML:TaggedValue tag="seqno" value="0"/>
82
+ <UML:TaggedValue tag="subtype" value="Strong"/>
83
+ <UML:TaggedValue tag="headStyle" value="0"/>
84
+ <UML:TaggedValue tag="lineStyle" value="0"/>
85
+ <UML:TaggedValue tag="privatedata5" value="SX=-2;SY=-1;EX=-2;EY=-1;"/>
86
+ <UML:TaggedValue tag="virtualInheritance" value="0"/>
87
+ </UML:ModelElement.taggedValue>
88
+ <UML:Association.connection>
89
+ <UML:AssociationEnd visibility="public" multiplicity="1..*" name="room" aggregation="none" isOrdered="false" isNavigable="false" type="EAID_14DB5E54_CD7B_4c84_998C_44960049D7E0">
90
+ <UML:ModelElement.taggedValue>
91
+ <UML:TaggedValue tag="containment" value="Unspecified"/>
92
+ </UML:ModelElement.taggedValue>
93
+ </UML:AssociationEnd>
94
+ <UML:AssociationEnd visibility="public" multiplicity="1" name="house" aggregation="composite" isOrdered="false" isNavigable="true" type="EAID_436D81AD_A9B0_44d8_8AD1_86BB0808DA32">
95
+ <UML:ModelElement.taggedValue>
96
+ <UML:TaggedValue tag="containment" value="Unspecified"/>
97
+ </UML:ModelElement.taggedValue>
98
+ </UML:AssociationEnd>
99
+ </UML:Association.connection>
100
+ </UML:Association>
101
+ <UML:Generalization subtype="EAID_244CC9E5_1F81_4164_9215_C048EC679543" supertype="EAID_14DB5E54_CD7B_4c84_998C_44960049D7E0" xmi.id="EAID_03052911_3625_4472_8C6B_5E1742FED753" visibility="public">
102
+ <UML:ModelElement.taggedValue>
103
+ <UML:TaggedValue tag="style" value="3"/>
104
+ <UML:TaggedValue tag="ea_type" value="Generalization"/>
105
+ <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
106
+ <UML:TaggedValue tag="linemode" value="3"/>
107
+ <UML:TaggedValue tag="seqno" value="0"/>
108
+ <UML:TaggedValue tag="headStyle" value="0"/>
109
+ <UML:TaggedValue tag="lineStyle" value="0"/>
110
+ <UML:TaggedValue tag="src_visibility" value="Public"/>
111
+ <UML:TaggedValue tag="src_isOrdered" value="false"/>
112
+ <UML:TaggedValue tag="src_isNavigable" value="false"/>
113
+ <UML:TaggedValue tag="dst_visibility" value="Public"/>
114
+ <UML:TaggedValue tag="dst_isOrdered" value="false"/>
115
+ <UML:TaggedValue tag="dst_isNavigable" value="true"/>
116
+ <UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={DF243A69-1029-4c4c-A1A0-C821A1DF9623}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={03052911-3625-4472-8C6B-5E1742FED753}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
117
+ </UML:ModelElement.taggedValue>
118
+ </UML:Generalization>
119
+ <UML:Generalization subtype="EAID_9CE44C59_37E4_4117_8C05_F87C4DC33529" supertype="EAID_14DB5E54_CD7B_4c84_998C_44960049D7E0" xmi.id="EAID_C3D18D92_3A5C_4112_9958_926A259BAE24" visibility="public">
120
+ <UML:ModelElement.taggedValue>
121
+ <UML:TaggedValue tag="style" value="3"/>
122
+ <UML:TaggedValue tag="ea_type" value="Generalization"/>
123
+ <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
124
+ <UML:TaggedValue tag="linemode" value="3"/>
125
+ <UML:TaggedValue tag="seqno" value="0"/>
126
+ <UML:TaggedValue tag="headStyle" value="0"/>
127
+ <UML:TaggedValue tag="lineStyle" value="0"/>
128
+ <UML:TaggedValue tag="src_visibility" value="Public"/>
129
+ <UML:TaggedValue tag="src_isOrdered" value="false"/>
130
+ <UML:TaggedValue tag="src_isNavigable" value="false"/>
131
+ <UML:TaggedValue tag="dst_visibility" value="Public"/>
132
+ <UML:TaggedValue tag="dst_isOrdered" value="false"/>
133
+ <UML:TaggedValue tag="dst_isNavigable" value="true"/>
134
+ <UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={DB1C706A-470A-45ed-89DA-601821419545}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={C3D18D92-3A5C-4112-9958-926A259BAE24}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
135
+ <UML:TaggedValue tag="privatedata5" value="EX=37;EY=3;"/>
136
+ </UML:ModelElement.taggedValue>
137
+ </UML:Generalization>
138
+ <UML:Class name="Kitchen" xmi.id="EAID_9CE44C59_37E4_4117_8C05_F87C4DC33529" visibility="public" namespace="EAPK_F9D8C6E3_4DAD_4aa2_AD47_D0ABA4E93E08" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
139
+ <UML:ModelElement.taggedValue>
140
+ <UML:TaggedValue tag="isSpecification" value="false"/>
141
+ <UML:TaggedValue tag="ea_stype" value="Class"/>
142
+ <UML:TaggedValue tag="ea_ntype" value="0"/>
143
+ <UML:TaggedValue tag="version" value="1.0"/>
144
+ <UML:TaggedValue tag="package" value="EAPK_F9D8C6E3_4DAD_4aa2_AD47_D0ABA4E93E08"/>
145
+ <UML:TaggedValue tag="date_created" value="2005-11-30 19:26:13"/>
146
+ <UML:TaggedValue tag="date_modified" value="2006-06-22 21:15:34"/>
147
+ <UML:TaggedValue tag="gentype" value="Java"/>
148
+ <UML:TaggedValue tag="tagged" value="0"/>
149
+ <UML:TaggedValue tag="package_name" value="Rooms"/>
150
+ <UML:TaggedValue tag="phase" value="1.0"/>
151
+ <UML:TaggedValue tag="complexity" value="1"/>
152
+ <UML:TaggedValue tag="status" value="Proposed"/>
153
+ <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
154
+ </UML:ModelElement.taggedValue>
155
+ </UML:Class>
156
+ <UML:Association xmi.id="EAID_9F0FF178_300F_45f4_B31F_9633AF770E44" visibility="public" isRoot="false" isLeaf="false" isAbstract="false">
157
+ <UML:ModelElement.taggedValue>
158
+ <UML:TaggedValue tag="style" value="3"/>
159
+ <UML:TaggedValue tag="ea_type" value="Association"/>
160
+ <UML:TaggedValue tag="direction" value="Bi-Directional"/>
161
+ <UML:TaggedValue tag="linemode" value="3"/>
162
+ <UML:TaggedValue tag="seqno" value="0"/>
163
+ <UML:TaggedValue tag="headStyle" value="0"/>
164
+ <UML:TaggedValue tag="lineStyle" value="0"/>
165
+ <UML:TaggedValue tag="privatedata5" value="SX=-39;SY=-10;EX=-43;EY=-10;EDGE=1;"/>
166
+ <UML:TaggedValue tag="virtualInheritance" value="0"/>
167
+ </UML:ModelElement.taggedValue>
168
+ <UML:Association.connection>
169
+ <UML:AssociationEnd visibility="public" multiplicity="1" name="kitchen" aggregation="none" isOrdered="false" isNavigable="true" type="EAID_9CE44C59_37E4_4117_8C05_F87C4DC33529">
170
+ <UML:ModelElement.taggedValue>
171
+ <UML:TaggedValue tag="containment" value="Unspecified"/>
172
+ </UML:ModelElement.taggedValue>
173
+ </UML:AssociationEnd>
174
+ <UML:AssociationEnd visibility="public" multiplicity="1" name="house" aggregation="none" isOrdered="false" isNavigable="true" type="EAID_436D81AD_A9B0_44d8_8AD1_86BB0808DA32">
175
+ <UML:ModelElement.taggedValue>
176
+ <UML:TaggedValue tag="containment" value="Unspecified"/>
177
+ </UML:ModelElement.taggedValue>
178
+ </UML:AssociationEnd>
179
+ </UML:Association.connection>
180
+ </UML:Association>
181
+ <UML:Generalization subtype="EAID_9CE44C59_37E4_4117_8C05_F87C4DC33529" supertype="EAID_CB9E84D4_9064_49d0_BF1E_EE53C05853EF" xmi.id="EAID_E824691D_2AE7_4c9c_8408_881A2B85516F" visibility="public">
182
+ <UML:ModelElement.taggedValue>
183
+ <UML:TaggedValue tag="style" value="3"/>
184
+ <UML:TaggedValue tag="ea_type" value="Generalization"/>
185
+ <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
186
+ <UML:TaggedValue tag="linemode" value="3"/>
187
+ <UML:TaggedValue tag="seqno" value="0"/>
188
+ <UML:TaggedValue tag="headStyle" value="0"/>
189
+ <UML:TaggedValue tag="lineStyle" value="0"/>
190
+ <UML:TaggedValue tag="src_visibility" value="Public"/>
191
+ <UML:TaggedValue tag="src_isOrdered" value="false"/>
192
+ <UML:TaggedValue tag="src_isNavigable" value="false"/>
193
+ <UML:TaggedValue tag="dst_visibility" value="Public"/>
194
+ <UML:TaggedValue tag="dst_isOrdered" value="false"/>
195
+ <UML:TaggedValue tag="dst_isNavigable" value="true"/>
196
+ <UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={8AAF19F7-EC93-4dda-ADD1-69A07CC671D7}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={E824691D-2AE7-4c9c-8408-881A2B85516F}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
197
+ <UML:TaggedValue tag="privatedata5" value="SX=-24;SY=-16;"/>
198
+ </UML:ModelElement.taggedValue>
199
+ </UML:Generalization>
200
+ <UML:Class name="Bathroom" xmi.id="EAID_244CC9E5_1F81_4164_9215_C048EC679543" visibility="public" namespace="EAPK_F9D8C6E3_4DAD_4aa2_AD47_D0ABA4E93E08" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
201
+ <UML:ModelElement.taggedValue>
202
+ <UML:TaggedValue tag="isSpecification" value="false"/>
203
+ <UML:TaggedValue tag="ea_stype" value="Class"/>
204
+ <UML:TaggedValue tag="ea_ntype" value="0"/>
205
+ <UML:TaggedValue tag="version" value="1.0"/>
206
+ <UML:TaggedValue tag="package" value="EAPK_F9D8C6E3_4DAD_4aa2_AD47_D0ABA4E93E08"/>
207
+ <UML:TaggedValue tag="date_created" value="2006-06-27 08:32:25"/>
208
+ <UML:TaggedValue tag="date_modified" value="2006-06-27 08:34:23"/>
209
+ <UML:TaggedValue tag="gentype" value="Java"/>
210
+ <UML:TaggedValue tag="tagged" value="0"/>
211
+ <UML:TaggedValue tag="package_name" value="Rooms"/>
212
+ <UML:TaggedValue tag="phase" value="1.0"/>
213
+ <UML:TaggedValue tag="complexity" value="1"/>
214
+ <UML:TaggedValue tag="status" value="Proposed"/>
215
+ <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
216
+ </UML:ModelElement.taggedValue>
217
+ </UML:Class>
218
+ <UML:Association xmi.id="EAID_161BF4FA_8F48_441f_AF1F_D36014D57A1F" visibility="public" isRoot="false" isLeaf="false" isAbstract="false">
219
+ <UML:ModelElement.taggedValue>
220
+ <UML:TaggedValue tag="style" value="3"/>
221
+ <UML:TaggedValue tag="ea_type" value="Association"/>
222
+ <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
223
+ <UML:TaggedValue tag="linemode" value="3"/>
224
+ <UML:TaggedValue tag="seqno" value="0"/>
225
+ <UML:TaggedValue tag="headStyle" value="0"/>
226
+ <UML:TaggedValue tag="lineStyle" value="0"/>
227
+ <UML:TaggedValue tag="privatedata5" value="SX=8;SY=5;EX=8;EY=5;"/>
228
+ <UML:TaggedValue tag="virtualInheritance" value="0"/>
229
+ </UML:ModelElement.taggedValue>
230
+ <UML:Association.connection>
231
+ <UML:AssociationEnd visibility="public" aggregation="none" isOrdered="false" isNavigable="false" type="EAID_436D81AD_A9B0_44d8_8AD1_86BB0808DA32">
232
+ <UML:ModelElement.taggedValue>
233
+ <UML:TaggedValue tag="containment" value="Unspecified"/>
234
+ </UML:ModelElement.taggedValue>
235
+ </UML:AssociationEnd>
236
+ <UML:AssociationEnd visibility="public" multiplicity="1" name="bathroom" aggregation="none" isOrdered="false" isNavigable="true" type="EAID_244CC9E5_1F81_4164_9215_C048EC679543">
237
+ <UML:ModelElement.taggedValue>
238
+ <UML:TaggedValue tag="containment" value="Unspecified"/>
239
+ </UML:ModelElement.taggedValue>
240
+ </UML:AssociationEnd>
241
+ </UML:Association.connection>
242
+ </UML:Association>
243
+ </UML:Namespace.ownedElement>
244
+ </UML:Package>
245
+ <UML:DataType xmi.id="eaxmiid0" name="void" visibility="private" isRoot="false" isLeaf="false" isAbstract="false"/>
246
+ </UML:Namespace.ownedElement>
247
+ </UML:Model>
248
+ <UML:DiagramElement geometry="Left=265;Top=280;Right=355;Bottom=350;" subject="EAID_14DB5E54_CD7B_4c84_998C_44960049D7E0" seqno="5" style="DUID=BFDAC143;LBL=;">
249
+ <UML:ModelElement.taggedValue>
250
+ <UML:TaggedValue tag="diagram_guid" value="EAID_2FBE7B3F_756C_46a0_90EE_93429FDA065D"/>
251
+ </UML:ModelElement.taggedValue>
252
+ </UML:DiagramElement>
253
+ <UML:DiagramElement geometry="Left=145;Top=402;Right=235;Bottom=472;" subject="EAID_9CE44C59_37E4_4117_8C05_F87C4DC33529" seqno="4" style="DUID=BDEA24A9;LBL=;">
254
+ <UML:ModelElement.taggedValue>
255
+ <UML:TaggedValue tag="diagram_guid" value="EAID_2FBE7B3F_756C_46a0_90EE_93429FDA065D"/>
256
+ </UML:ModelElement.taggedValue>
257
+ </UML:DiagramElement>
258
+ <UML:DiagramElement geometry="Left=394;Top=412;Right=484;Bottom=482;" subject="EAID_244CC9E5_1F81_4164_9215_C048EC679543" seqno="3" style="DUID=5DECEEC9;LBL=;">
259
+ <UML:ModelElement.taggedValue>
260
+ <UML:TaggedValue tag="diagram_guid" value="EAID_2FBE7B3F_756C_46a0_90EE_93429FDA065D"/>
261
+ </UML:ModelElement.taggedValue>
262
+ </UML:DiagramElement>
263
+ <UML:DiagramElement geometry="SX=-2;SY=-1;EX=-2;EY=-1;EDGE=1;$LLB=CX=26:CY=15:OX=0:OY=0:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:;LLT=CX=40:CY=15:OX=-12:OY=-3:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:;LMT=;LMB=;LRT=CX=44:CY=15:OX=-6:OY=-11:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:;LRB=CX=16:CY=15:OX=-6:OY=-6:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:;" subject="EAID_F15A2B25_0DA9_4203_8FC9_25645610B5E5" style="Mode=3;EOID=CDDEF3BC;SOID=BFDAC143;">
264
+ <UML:ModelElement.taggedValue>
265
+ <UML:TaggedValue tag="diagram_guid" value="EAID_2FBE7B3F_756C_46a0_90EE_93429FDA065D"/>
266
+ <UML:TaggedValue tag="hidden" value="0"/>
267
+ </UML:ModelElement.taggedValue>
268
+ </UML:DiagramElement>
269
+ <UML:DiagramElement geometry="EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;" subject="EAID_03052911_3625_4472_8C6B_5E1742FED753" style="Mode=3;EOID=BFDAC143;SOID=5DECEEC9;">
270
+ <UML:ModelElement.taggedValue>
271
+ <UML:TaggedValue tag="diagram_guid" value="EAID_2FBE7B3F_756C_46a0_90EE_93429FDA065D"/>
272
+ <UML:TaggedValue tag="hidden" value="0"/>
273
+ </UML:ModelElement.taggedValue>
274
+ </UML:DiagramElement>
275
+ <UML:DiagramElement geometry="EX=37;EY=3;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;" subject="EAID_C3D18D92_3A5C_4112_9958_926A259BAE24" style="Mode=3;EOID=BFDAC143;SOID=BDEA24A9;">
276
+ <UML:ModelElement.taggedValue>
277
+ <UML:TaggedValue tag="diagram_guid" value="EAID_2FBE7B3F_756C_46a0_90EE_93429FDA065D"/>
278
+ <UML:TaggedValue tag="hidden" value="0"/>
279
+ </UML:ModelElement.taggedValue>
280
+ </UML:DiagramElement>
281
+ <UML:DiagramElement geometry="SX=-44;SY=-9;EX=-44;EY=-9;EDGE=1;$LLB=CX=16:CY=15:OX=13:OY=-3:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:;LLT=CX=49:CY=15:OX=0:OY=-14:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:;LMT=;LMB=;LRT=CX=44:CY=15:OX=-10:OY=-1:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:;LRB=CX=16:CY=15:OX=-23:OY=-4:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:;" subject="EAID_9F0FF178_300F_45f4_B31F_9633AF770E44" style="Mode=3;EOID=CDDEF3BC;SOID=BDEA24A9;">
282
+ <UML:ModelElement.taggedValue>
283
+ <UML:TaggedValue tag="diagram_guid" value="EAID_2FBE7B3F_756C_46a0_90EE_93429FDA065D"/>
284
+ <UML:TaggedValue tag="hidden" value="0"/>
285
+ </UML:ModelElement.taggedValue>
286
+ </UML:DiagramElement>
287
+ <UML:DiagramElement geometry="EX=37;EY=3;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;" subject="EAID_C3D18D92_3A5C_4112_9958_926A259BAE24" style="Mode=3;EOID=BFDAC143;SOID=BDEA24A9;">
288
+ <UML:ModelElement.taggedValue>
289
+ <UML:TaggedValue tag="diagram_guid" value="EAID_2FBE7B3F_756C_46a0_90EE_93429FDA065D"/>
290
+ <UML:TaggedValue tag="hidden" value="0"/>
291
+ </UML:ModelElement.taggedValue>
292
+ </UML:DiagramElement>
293
+ <UML:DiagramElement geometry="SX=-24;SY=-16;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;" subject="EAID_E824691D_2AE7_4c9c_8408_881A2B85516F" style="Mode=3;EOID=E58486A8;SOID=BDEA24A9;">
294
+ <UML:ModelElement.taggedValue>
295
+ <UML:TaggedValue tag="diagram_guid" value="EAID_2FBE7B3F_756C_46a0_90EE_93429FDA065D"/>
296
+ <UML:TaggedValue tag="hidden" value="0"/>
297
+ </UML:ModelElement.taggedValue>
298
+ </UML:DiagramElement>
299
+ <UML:DiagramElement geometry="EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;" subject="EAID_03052911_3625_4472_8C6B_5E1742FED753" style="Mode=3;EOID=BFDAC143;SOID=5DECEEC9;">
300
+ <UML:ModelElement.taggedValue>
301
+ <UML:TaggedValue tag="diagram_guid" value="EAID_2FBE7B3F_756C_46a0_90EE_93429FDA065D"/>
302
+ <UML:TaggedValue tag="hidden" value="0"/>
303
+ </UML:ModelElement.taggedValue>
304
+ </UML:DiagramElement>
305
+ <UML:DiagramElement geometry="SX=8;SY=5;EX=8;EY=5;EDGE=3;$LLB=;LLT=;LMT=;LMB=;LRT=CX=61:CY=15:OX=0:OY=0:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:;LRB=CX=16:CY=15:OX=0:OY=0:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:;" subject="EAID_161BF4FA_8F48_441f_AF1F_D36014D57A1F" style="Mode=3;EOID=5DECEEC9;SOID=CDDEF3BC;">
306
+ <UML:ModelElement.taggedValue>
307
+ <UML:TaggedValue tag="diagram_guid" value="EAID_2FBE7B3F_756C_46a0_90EE_93429FDA065D"/>
308
+ <UML:TaggedValue tag="hidden" value="0"/>
309
+ </UML:ModelElement.taggedValue>
310
+ </UML:DiagramElement>
311
+ </XMI.content>
312
+ <XMI.difference/>
313
+ <XMI.extensions xmi.extender="Enterprise Architect 2.5">
314
+ <EAStub xmi.id="EAID_436D81AD_A9B0_44d8_8AD1_86BB0808DA32" name="House" UMLType="Class"/>
315
+ <EAStub xmi.id="EAID_CB9E84D4_9064_49d0_BF1E_EE53C05853EF" name="MeetingPlace" UMLType="Class"/>
316
+ </XMI.extensions>
317
+ </XMI>