rgen 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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>