avr: Fix documentation for Bus
[avr-sim.git] / docs / avr-sim.xmi
blob8921268c521c6d7124ff3014f7f18d15abb5b4eb
1 <?xml version="1.0" encoding="UTF-8"?>
2 <XMI xmlns:UML="http://schema.omg.org/spec/UML/1.3" verified="false" timestamp="2008-05-27T16:24:44" xmi.version="1.2" >
3 <XMI.header>
4 <XMI.documentation>
5 <XMI.exporter>umbrello uml modeller http://uml.sf.net</XMI.exporter>
6 <XMI.exporterVersion>1.5.5</XMI.exporterVersion>
7 <XMI.exporterEncoding>UnicodeUTF8</XMI.exporterEncoding>
8 </XMI.documentation>
9 <XMI.metamodel xmi.name="UML" href="UML.xml" xmi.version="1.3" />
10 </XMI.header>
11 <XMI.content>
12 <UML:Model isSpecification="false" isLeaf="false" isRoot="false" xmi.id="m1" isAbstract="false" name="UML Model" >
13 <UML:Namespace.ownedElement>
14 <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="2" isRoot="false" isAbstract="false" name="folder" />
15 <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="11" isRoot="false" isAbstract="false" name="datatype" />
16 <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="2" isRoot="false" isAbstract="false" name="folder" />
17 <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="11" isRoot="false" isAbstract="false" name="datatype" />
18 <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="27" isRoot="false" isAbstract="false" name="constructor" />
19 <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="2" isRoot="false" isAbstract="false" name="folder" />
20 <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="11" isRoot="false" isAbstract="false" name="datatype" />
21 <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="24" isRoot="false" isAbstract="false" name="typedef" />
22 <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="31" isRoot="false" isAbstract="false" name="enum" />
23 <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="2" isRoot="false" isAbstract="false" name="folder" />
24 <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="11" isRoot="false" isAbstract="false" name="datatype" />
25 <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="2" isRoot="false" isAbstract="false" name="folder" />
26 <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="11" isRoot="false" isAbstract="false" name="datatype" />
27 <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="27" isRoot="false" isAbstract="false" name="constructor" />
28 <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="2" isRoot="false" isAbstract="false" name="folder" />
29 <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="11" isRoot="false" isAbstract="false" name="datatype" />
30 <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="24" isRoot="false" isAbstract="false" name="typedef" />
31 <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="31" isRoot="false" isAbstract="false" name="enum" />
32 <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="2" isRoot="false" isAbstract="false" name="folder" />
33 <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="11" isRoot="false" isAbstract="false" name="datatype" />
34 <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="2" isRoot="false" isAbstract="false" name="folder" />
35 <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="11" isRoot="false" isAbstract="false" name="datatype" />
36 <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="27" isRoot="false" isAbstract="false" name="constructor" />
37 <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="2" isRoot="false" isAbstract="false" name="folder" />
38 <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="11" isRoot="false" isAbstract="false" name="datatype" />
39 <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="24" isRoot="false" isAbstract="false" name="typedef" />
40 <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="31" isRoot="false" isAbstract="false" name="enum" />
41 <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="13164" isRoot="false" isAbstract="false" name="friend" />
42 <UML:Model stereotype="2" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="1" isRoot="false" isAbstract="false" name="Logical View" >
43 <UML:Namespace.ownedElement>
44 <UML:Package stereotype="2" isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="8" isRoot="false" isAbstract="false" name="Datatypes" >
45 <UML:Namespace.ownedElement>
46 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="10" isRoot="false" isAbstract="false" name="int" />
47 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="12" isRoot="false" isAbstract="false" name="char" />
48 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="13" isRoot="false" isAbstract="false" name="bool" />
49 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="14" isRoot="false" isAbstract="false" name="float" />
50 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="15" isRoot="false" isAbstract="false" name="double" />
51 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="16" isRoot="false" isAbstract="false" name="short" />
52 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="17" isRoot="false" isAbstract="false" name="long" />
53 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="18" isRoot="false" isAbstract="false" name="unsigned int" />
54 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="19" isRoot="false" isAbstract="false" name="unsigned short" />
55 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="20" isRoot="false" isAbstract="false" name="unsigned long" />
56 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="21" isRoot="false" isAbstract="false" name="string" />
57 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="47" isRoot="false" isAbstract="false" name="Type*" elementReference="46" />
58 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="92" isRoot="false" isAbstract="false" name="SimulationClock&amp;" elementReference="78" />
59 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="134" isRoot="false" isAbstract="false" name="Clock&lt; Hardware >" elementReference="79" />
60 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="142" isRoot="false" isAbstract="false" name="Hardware*" elementReference="132" />
61 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="145" isRoot="false" isAbstract="false" name="const unsigned int" elementReference="18" />
62 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="160" isRoot="false" isAbstract="false" name="const char*" elementReference="12" />
63 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="167" isRoot="false" isAbstract="false" name="std::list&lt; Hardware * >" elementReference="166" />
64 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="174" isRoot="false" isAbstract="false" name="const std::string&amp;" elementReference="173" />
65 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="187" isRoot="false" isAbstract="false" name="Instruction&amp;" elementReference="182" />
66 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="192" isRoot="false" isAbstract="false" name="Instruction*" elementReference="182" />
67 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="194" isRoot="false" isAbstract="false" name="std::vector&lt; Instruction * >" elementReference="193" />
68 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="198" isRoot="false" isAbstract="false" name="Bus&amp;" elementReference="133" />
69 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="203" isRoot="false" isAbstract="false" name="IORegister*" elementReference="196" />
70 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="225" isRoot="false" isAbstract="false" name="const unsigned char*" elementReference="224" />
71 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="232" isRoot="false" isAbstract="false" name="unsigned char*" elementReference="224" />
72 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="294" isRoot="false" isAbstract="false" name="const Register&amp;" elementReference="281" />
73 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="339" isRoot="false" isAbstract="false" name="IORegister&amp;" elementReference="196" />
74 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="343" isRoot="false" isAbstract="false" name="std::vector&lt; IORegister * >" elementReference="193" />
75 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="362" isRoot="false" isAbstract="false" name="ERam*" elementReference="357" />
76 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="373" isRoot="false" isAbstract="false" name="Register&amp;" elementReference="281" />
77 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="381" isRoot="false" isAbstract="false" name="const IORegister&amp;" elementReference="196" />
78 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="416" isRoot="false" isAbstract="false" name="MMU&amp;" elementReference="358" />
79 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="440" isRoot="false" isAbstract="false" name="Register*" elementReference="281" />
80 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="465" isRoot="false" isAbstract="false" name="DebugInterface*" elementReference="444" />
81 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="472" isRoot="false" isAbstract="false" name="Analyzer*" elementReference="443" />
82 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="539" isRoot="false" isAbstract="false" name="std::list&lt; Analyzer * >" elementReference="166" />
83 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="573" isRoot="false" isAbstract="false" name="Program&amp;" elementReference="560" />
84 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="576" isRoot="false" isAbstract="false" name="ScriptEngine*" elementReference="559" />
85 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="588" isRoot="false" isAbstract="false" name="Pin*" elementReference="556" />
86 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="602" isRoot="false" isAbstract="false" name="HardwareSettings&amp;" elementReference="561" />
87 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="616" isRoot="false" isAbstract="false" name="const ClockFrequency" elementReference="555" />
88 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="619" isRoot="false" isAbstract="false" name="Core*" elementReference="445" />
89 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="622" isRoot="false" isAbstract="false" name="Eeprom*" elementReference="557" />
90 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="624" isRoot="false" isAbstract="false" name="std::vector&lt; Pin * >" elementReference="193" />
91 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="627" isRoot="false" isAbstract="false" name="std::map&lt; std :: string, Pin * >" elementReference="626" />
92 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="3741" isRoot="false" isAbstract="false" name="VM*" elementReference="3738" />
93 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="3744" isRoot="false" isAbstract="false" name="const Table&amp;" elementReference="3739" />
94 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="3749" isRoot="false" isAbstract="false" name="Table&amp;" elementReference="3739" />
95 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="3774" isRoot="false" isAbstract="false" name="void*" elementReference="3773" />
96 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="3819" isRoot="false" isAbstract="false" name="lua_State*" elementReference="3818" />
97 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="3855" isRoot="false" isAbstract="false" name="const int*" elementReference="10" />
98 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="3914" isRoot="false" isAbstract="false" name="const Scriptable&amp;" elementReference="3823" />
99 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="3918" isRoot="false" isAbstract="false" name="Scriptable&amp;" elementReference="3823" />
100 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="80" isRoot="false" isAbstract="false" name="Clock&lt; SimulationObject >" elementReference="79" />
101 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="72" isRoot="false" isAbstract="false" name="std::pair&lt; ClockOffset, Type * >" elementReference="71" />
102 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="12986" isRoot="false" isAbstract="false" name="const LowLevelException&amp;" elementReference="12983" />
103 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="12993" isRoot="false" isAbstract="false" name="std::ostream&amp;" elementReference="12992" />
104 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="13094" isRoot="false" isAbstract="false" name="std::ios&amp;" elementReference="13093" />
105 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="13103" isRoot="false" isAbstract="false" name="const std::ios&amp;" elementReference="13093" />
106 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="13131" isRoot="false" isAbstract="false" name="const format&amp;" elementReference="13082" />
107 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="13135" isRoot="false" isAbstract="false" name="format&amp;" elementReference="13082" />
108 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="13138" isRoot="false" isAbstract="false" name="const T&amp;" elementReference="13099" />
109 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="13184" isRoot="false" isAbstract="false" name="std::vector&lt; format_item >" elementReference="193" />
110 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="13187" isRoot="false" isAbstract="false" name="std::vector&lt; bool >" elementReference="193" />
111 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="13195" isRoot="false" isAbstract="false" name="const format::format_item&amp;" elementReference="13105" />
112 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="13197" isRoot="false" isAbstract="false" name="std::string&amp;" elementReference="173" />
113 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="13199" isRoot="false" isAbstract="false" name="std::ostringstream&amp;" elementReference="13189" />
114 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="13204" isRoot="false" isAbstract="false" name="std::string::size_type*" elementReference="13203" />
115 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="13206" isRoot="false" isAbstract="false" name="format::format_item*" elementReference="13105" />
116 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="8" xmi.id="17615" isRoot="false" isAbstract="false" name="Section&amp;" elementReference="17587" />
117 </UML:Namespace.ownedElement>
118 </UML:Package>
119 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="46" isRoot="false" isAbstract="false" name="Type" />
120 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="79" isRoot="false" isAbstract="false" name="Clock" />
121 <UML:Package isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="165" isRoot="false" isAbstract="false" name="std" >
122 <UML:Namespace.ownedElement>
123 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="165" xmi.id="166" isRoot="false" isAbstract="false" name="list" />
124 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="165" xmi.id="173" isRoot="false" isAbstract="false" name="string" />
125 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="165" xmi.id="193" isRoot="false" isAbstract="false" name="vector" />
126 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="165" xmi.id="626" isRoot="false" isAbstract="false" name="map" />
127 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="165" xmi.id="12992" isRoot="false" isAbstract="false" name="ostream" />
128 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="165" xmi.id="13010" isRoot="false" isAbstract="false" name="exception" />
129 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="165" xmi.id="13084" isRoot="false" isAbstract="false" name="streamsize" />
130 <UML:Package isSpecification="false" isLeaf="false" visibility="public" namespace="165" xmi.id="13088" isRoot="false" isAbstract="false" name="ios_base" >
131 <UML:Namespace.ownedElement>
132 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="13088" xmi.id="13089" isRoot="false" isAbstract="false" name="fmtflags" />
133 </UML:Namespace.ownedElement>
134 </UML:Package>
135 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="165" xmi.id="13093" isRoot="false" isAbstract="false" name="ios" />
136 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="165" xmi.id="13189" isRoot="false" isAbstract="false" name="ostringstream" />
137 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="165" xmi.id="17647" isRoot="false" isAbstract="false" name="ifstream" />
138 </UML:Namespace.ownedElement>
139 </UML:Package>
140 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="224" isRoot="false" isAbstract="false" name="unsigned char" />
141 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="564" isRoot="false" isAbstract="false" name="SimulationObject" />
142 <UML:Package isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="1109" isRoot="false" isAbstract="false" name="avr::" >
143 <UML:Namespace.ownedElement/>
144 </UML:Package>
145 <UML:Package isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="2020" isRoot="false" isAbstract="false" name="avr::::" >
146 <UML:Namespace.ownedElement/>
147 </UML:Package>
148 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="3736" isRoot="false" isAbstract="false" name="struct lua_State" />
149 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="3773" isRoot="false" isAbstract="false" name="void" />
150 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="3818" isRoot="false" isAbstract="false" name="lua_State" />
151 <UML:Package isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="3737" isRoot="false" isAbstract="false" name="script" >
152 <UML:Namespace.ownedElement>
153 <UML:Class comment="\class Table
154 \author Tom Haber
155 \brief Lua Table
156 Wrapper for a lua table." isSpecification="false" isLeaf="false" visibility="public" namespace="3737" xmi.id="3739" isRoot="false" isAbstract="false" name="Table" >
157 <UML:Classifier.feature>
158 <UML:Attribute isSpecification="false" visibility="private" xmi.id="3820" type="3819" name="lua" />
159 <UML:Attribute isSpecification="false" visibility="private" xmi.id="3821" type="10" name="ref" />
160 <UML:Operation stereotype="27" comment="Creates a table to specified script VM." isSpecification="false" isLeaf="false" visibility="public" xmi.id="3740" isRoot="false" isAbstract="false" isQuery="false" name="Table" >
161 <UML:BehavioralFeature.parameter>
162 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3742" value="" type="3741" name="vm" />
163 </UML:BehavioralFeature.parameter>
164 </UML:Operation>
165 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="3743" isRoot="false" isAbstract="false" isQuery="false" name="Table" >
166 <UML:BehavioralFeature.parameter>
167 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3745" value="" type="3744" name="other" />
168 </UML:BehavioralFeature.parameter>
169 </UML:Operation>
170 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3746" isRoot="false" isAbstract="false" isQuery="false" name="~ Table" />
171 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3747" isRoot="false" isAbstract="false" isQuery="false" name="operator =" >
172 <UML:BehavioralFeature.parameter>
173 <UML:Parameter kind="return" xmi.id="45789" type="3749" />
174 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3748" value="" type="3744" name="other" />
175 </UML:BehavioralFeature.parameter>
176 </UML:Operation>
177 <UML:Operation comment="//* Remove a specific table entry." isSpecification="false" isLeaf="false" visibility="public" xmi.id="3750" isRoot="false" isAbstract="false" isQuery="false" name="remove" >
178 <UML:BehavioralFeature.parameter>
179 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3751" value="" type="10" name="index" />
180 </UML:BehavioralFeature.parameter>
181 </UML:Operation>
182 <UML:Operation comment="//* Remove a specific table entry." isSpecification="false" isLeaf="false" visibility="public" xmi.id="3752" isRoot="false" isAbstract="false" isQuery="false" name="remove" >
183 <UML:BehavioralFeature.parameter>
184 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3753" value="" type="160" name="name" />
185 </UML:BehavioralFeature.parameter>
186 </UML:Operation>
187 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3754" isRoot="false" isAbstract="false" isQuery="false" name="remove" >
188 <UML:BehavioralFeature.parameter>
189 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3755" value="" type="174" name="name" />
190 </UML:BehavioralFeature.parameter>
191 </UML:Operation>
192 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3756" isRoot="false" isAbstract="false" isQuery="false" name="setString" >
193 <UML:BehavioralFeature.parameter>
194 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3757" value="" type="10" name="index" />
195 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3758" value="" type="160" name="v" />
196 </UML:BehavioralFeature.parameter>
197 </UML:Operation>
198 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3759" isRoot="false" isAbstract="false" isQuery="false" name="setString" >
199 <UML:BehavioralFeature.parameter>
200 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3760" value="" type="10" name="index" />
201 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3761" value="" type="174" name="v" />
202 </UML:BehavioralFeature.parameter>
203 </UML:Operation>
204 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3762" isRoot="false" isAbstract="false" isQuery="false" name="setNumber" >
205 <UML:BehavioralFeature.parameter>
206 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3763" value="" type="10" name="index" />
207 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3764" value="" type="14" name="v" />
208 </UML:BehavioralFeature.parameter>
209 </UML:Operation>
210 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3765" isRoot="false" isAbstract="false" isQuery="false" name="setTable" >
211 <UML:BehavioralFeature.parameter>
212 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3766" value="" type="10" name="index" />
213 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3767" value="" type="3744" name="v" />
214 </UML:BehavioralFeature.parameter>
215 </UML:Operation>
216 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3768" isRoot="false" isAbstract="false" isQuery="false" name="setBoolean" >
217 <UML:BehavioralFeature.parameter>
218 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3769" value="" type="10" name="index" />
219 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3770" value="" type="13" name="v" />
220 </UML:BehavioralFeature.parameter>
221 </UML:Operation>
222 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3771" isRoot="false" isAbstract="false" isQuery="false" name="setLightUserData" >
223 <UML:BehavioralFeature.parameter>
224 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3772" value="" type="10" name="index" />
225 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3775" value="" type="3774" name="ud" />
226 </UML:BehavioralFeature.parameter>
227 </UML:Operation>
228 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3776" isRoot="false" isAbstract="false" isQuery="false" name="setString" >
229 <UML:BehavioralFeature.parameter>
230 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3777" value="" type="160" name="name" />
231 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3778" value="" type="174" name="v" />
232 </UML:BehavioralFeature.parameter>
233 </UML:Operation>
234 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3779" isRoot="false" isAbstract="false" isQuery="false" name="setNumber" >
235 <UML:BehavioralFeature.parameter>
236 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3780" value="" type="160" name="name" />
237 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3781" value="" type="14" name="v" />
238 </UML:BehavioralFeature.parameter>
239 </UML:Operation>
240 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3782" isRoot="false" isAbstract="false" isQuery="false" name="setTable" >
241 <UML:BehavioralFeature.parameter>
242 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3783" value="" type="160" name="name" />
243 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3784" value="" type="3744" name="v" />
244 </UML:BehavioralFeature.parameter>
245 </UML:Operation>
246 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3785" isRoot="false" isAbstract="false" isQuery="false" name="setBoolean" >
247 <UML:BehavioralFeature.parameter>
248 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3786" value="" type="160" name="name" />
249 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3787" value="" type="13" name="v" />
250 </UML:BehavioralFeature.parameter>
251 </UML:Operation>
252 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3788" isRoot="false" isAbstract="false" isQuery="false" name="setLightUserData" >
253 <UML:BehavioralFeature.parameter>
254 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3789" value="" type="160" name="name" />
255 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3790" value="" type="3774" name="ud" />
256 </UML:BehavioralFeature.parameter>
257 </UML:Operation>
258 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3791" isRoot="false" isAbstract="false" isQuery="false" name="getString" >
259 <UML:BehavioralFeature.parameter>
260 <UML:Parameter kind="return" xmi.id="45790" type="160" />
261 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3792" value="" type="160" name="name" />
262 </UML:BehavioralFeature.parameter>
263 </UML:Operation>
264 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3793" isRoot="false" isAbstract="false" isQuery="false" name="getString" >
265 <UML:BehavioralFeature.parameter>
266 <UML:Parameter kind="return" xmi.id="45791" type="160" />
267 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3794" value="" type="10" name="index" />
268 </UML:BehavioralFeature.parameter>
269 </UML:Operation>
270 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3795" isRoot="false" isAbstract="false" isQuery="false" name="getNumber" >
271 <UML:BehavioralFeature.parameter>
272 <UML:Parameter kind="return" xmi.id="45792" type="14" />
273 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3796" value="" type="160" name="name" />
274 </UML:BehavioralFeature.parameter>
275 </UML:Operation>
276 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3797" isRoot="false" isAbstract="false" isQuery="false" name="getNumber" >
277 <UML:BehavioralFeature.parameter>
278 <UML:Parameter kind="return" xmi.id="45793" type="14" />
279 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3798" value="" type="10" name="index" />
280 </UML:BehavioralFeature.parameter>
281 </UML:Operation>
282 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3799" isRoot="false" isAbstract="false" isQuery="false" name="getTable" >
283 <UML:BehavioralFeature.parameter>
284 <UML:Parameter kind="return" xmi.id="45794" type="3739" />
285 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3800" value="" type="160" name="name" />
286 </UML:BehavioralFeature.parameter>
287 </UML:Operation>
288 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3801" isRoot="false" isAbstract="false" isQuery="false" name="getTable" >
289 <UML:BehavioralFeature.parameter>
290 <UML:Parameter kind="return" xmi.id="45795" type="3739" />
291 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3802" value="" type="10" name="index" />
292 </UML:BehavioralFeature.parameter>
293 </UML:Operation>
294 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3803" isRoot="false" isAbstract="false" isQuery="false" name="getBoolean" >
295 <UML:BehavioralFeature.parameter>
296 <UML:Parameter kind="return" xmi.id="45796" type="13" />
297 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3804" value="" type="160" name="name" />
298 </UML:BehavioralFeature.parameter>
299 </UML:Operation>
300 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3805" isRoot="false" isAbstract="false" isQuery="false" name="getBoolean" >
301 <UML:BehavioralFeature.parameter>
302 <UML:Parameter kind="return" xmi.id="45797" type="13" />
303 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3806" value="" type="10" name="index" />
304 </UML:BehavioralFeature.parameter>
305 </UML:Operation>
306 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3807" isRoot="false" isAbstract="false" isQuery="false" name="isNil" >
307 <UML:BehavioralFeature.parameter>
308 <UML:Parameter kind="return" xmi.id="45798" type="13" />
309 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3808" value="" type="160" name="name" />
310 </UML:BehavioralFeature.parameter>
311 </UML:Operation>
312 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3809" isRoot="false" isAbstract="false" isQuery="false" name="isNil" >
313 <UML:BehavioralFeature.parameter>
314 <UML:Parameter kind="return" xmi.id="45799" type="13" />
315 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3810" value="" type="10" name="index" />
316 </UML:BehavioralFeature.parameter>
317 </UML:Operation>
318 <UML:Operation comment="Pushes member by name to script VM stack." isSpecification="false" isLeaf="false" visibility="public" xmi.id="3811" isRoot="false" isAbstract="false" isQuery="false" name="pushMember" >
319 <UML:BehavioralFeature.parameter>
320 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3812" value="" type="10" name="index" />
321 </UML:BehavioralFeature.parameter>
322 </UML:Operation>
323 <UML:Operation comment="Pushes member by index to script VM stack." isSpecification="false" isLeaf="false" visibility="public" xmi.id="3813" isRoot="false" isAbstract="false" isQuery="false" name="pushMember" >
324 <UML:BehavioralFeature.parameter>
325 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3814" value="" type="160" name="name" />
326 </UML:BehavioralFeature.parameter>
327 </UML:Operation>
328 <UML:Operation comment="Returns number of elements in the table.
329 This number is either value of 'n' or largest
330 numerical index with non-nil value." isSpecification="false" isLeaf="false" visibility="public" xmi.id="3815" isRoot="false" isAbstract="false" isQuery="false" name="size" >
331 <UML:BehavioralFeature.parameter>
332 <UML:Parameter kind="return" xmi.id="45800" type="10" />
333 </UML:BehavioralFeature.parameter>
334 </UML:Operation>
335 <UML:Operation comment="Return Lua table reference." isSpecification="false" isLeaf="false" visibility="public" xmi.id="3816" isRoot="false" isAbstract="false" isQuery="false" name="luaRef" >
336 <UML:BehavioralFeature.parameter>
337 <UML:Parameter kind="return" xmi.id="45801" type="10" />
338 </UML:BehavioralFeature.parameter>
339 </UML:Operation>
340 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="private" xmi.id="3817" isRoot="false" isAbstract="false" isQuery="false" name="Table" />
341 </UML:Classifier.feature>
342 </UML:Class>
343 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="3737" xmi.id="3822" isRoot="false" isAbstract="false" name="VM" />
344 <UML:Class comment="@author Tom Haber
345 @brief Scriptable object base
346 Base class for C++ objects which can interact with scripts.
347 For each C++ Scriptable object there is a Lua entity, table.
348 Both Lua and C++ methods can be added to the table so that
349 C++ methods can call Lua methods and vice versa." isSpecification="false" isLeaf="false" visibility="public" namespace="3737" xmi.id="3823" isRoot="false" isAbstract="false" name="Scriptable" >
350 <UML:Classifier.feature>
351 <UML:Attribute isSpecification="false" visibility="protected" xmi.id="3910" type="3741" name="vm" />
352 <UML:Attribute isSpecification="false" visibility="private" xmi.id="3911" type="10" name="methods" />
353 <UML:Attribute isSpecification="false" visibility="private" xmi.id="3912" type="3739" name="table" />
354 <UML:Operation stereotype="27" comment="Initializes scriptable object in specified environment.
355 @param vm Script execution environment." isSpecification="false" isLeaf="false" visibility="public" xmi.id="3824" isRoot="false" isAbstract="false" isQuery="false" name="Scriptable" >
356 <UML:BehavioralFeature.parameter>
357 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3825" value="" type="3741" name="vm" />
358 </UML:BehavioralFeature.parameter>
359 </UML:Operation>
360 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3826" isRoot="false" isAbstract="false" isQuery="false" name="~ Scriptable" />
361 <UML:Operation comment="Compiles script from ASCII-text file to executable code.
362 @exception ScriptException" isSpecification="false" isLeaf="false" visibility="public" xmi.id="3827" isRoot="false" isAbstract="false" isQuery="false" name="compileFile" >
363 <UML:BehavioralFeature.parameter>
364 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3828" value="" type="160" name="name" />
365 </UML:BehavioralFeature.parameter>
366 </UML:Operation>
367 <UML:Operation comment="Compiles script from zero-terminated string to executable code.
368 @exception ScriptException" isSpecification="false" isLeaf="false" visibility="public" xmi.id="3829" isRoot="false" isAbstract="false" isQuery="false" name="compileSource" >
369 <UML:BehavioralFeature.parameter>
370 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3830" value="" type="174" name="src" />
371 </UML:BehavioralFeature.parameter>
372 </UML:Operation>
373 <UML:Operation comment="Compiles script from buffer to executable code.
374 @exception ScriptException" isSpecification="false" isLeaf="false" visibility="public" xmi.id="3831" isRoot="false" isAbstract="false" isQuery="false" name="compileSource" >
375 <UML:BehavioralFeature.parameter>
376 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3832" value="" type="160" name="buffer" />
377 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3833" value="" type="10" name="size" />
378 </UML:BehavioralFeature.parameter>
379 </UML:Operation>
380 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3834" isRoot="false" isAbstract="false" isQuery="false" name="registerClass" >
381 <UML:BehavioralFeature.parameter>
382 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3835" value="" type="160" name="name" />
383 </UML:BehavioralFeature.parameter>
384 </UML:Operation>
385 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3836" isRoot="false" isAbstract="false" isQuery="false" name="unregisterClass" >
386 <UML:BehavioralFeature.parameter>
387 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3837" value="" type="160" name="name" />
388 </UML:BehavioralFeature.parameter>
389 </UML:Operation>
390 <UML:Operation comment="Adds a (C++) member function to be usable from scripts.
391 When the function is called from a script, virtual methodCall()
392 is executed and unique function identifier is passed as parameter.
393 @return Unique function identifier (index).
394 @see methodCall" isSpecification="false" isLeaf="false" visibility="public" xmi.id="3838" isRoot="false" isAbstract="false" isQuery="false" name="addMethod" >
395 <UML:BehavioralFeature.parameter>
396 <UML:Parameter kind="return" xmi.id="45802" type="10" />
397 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3839" value="" type="174" name="name" />
398 </UML:BehavioralFeature.parameter>
399 </UML:Operation>
400 <UML:Operation comment="Pushes a script object member function followed by
401 script object table to the script stack.
402 To call a script function, first push the function
403 with this (pushMethod), then push arguments (pushParam)
404 and finally call(nargs, nresults) method.
405 @exception ScriptException
406 @see call
407 @see pushParam" isSpecification="false" isLeaf="false" visibility="public" xmi.id="3840" isRoot="false" isAbstract="false" isQuery="false" name="pushMethod" >
408 <UML:BehavioralFeature.parameter>
409 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3841" value="" type="160" name="name" />
410 </UML:BehavioralFeature.parameter>
411 </UML:Operation>
412 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3842" isRoot="false" isAbstract="false" isQuery="false" name="pushMethod" >
413 <UML:BehavioralFeature.parameter>
414 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3843" value="" type="174" name="name" />
415 </UML:BehavioralFeature.parameter>
416 </UML:Operation>
417 <UML:Operation comment="Pushes the script object table to the script stack." isSpecification="false" isLeaf="false" visibility="public" xmi.id="3844" isRoot="false" isAbstract="false" isQuery="false" name="pushTable" />
418 <UML:Operation comment="Calls a script function using this object as global environment.
419 Method and parameters must be pushed to script stack before the call.
420 Specified number of results is left to the stack after execution.
421 @exception ScriptException
422 @see pushMethod
423 @see pushParam" isSpecification="false" isLeaf="false" visibility="public" xmi.id="3845" isRoot="false" isAbstract="false" isQuery="false" name="call" >
424 <UML:BehavioralFeature.parameter>
425 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3846" value="" type="10" name="nargs" />
426 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3847" value="" type="10" name="nresults" />
427 </UML:BehavioralFeature.parameter>
428 </UML:Operation>
429 <UML:Operation comment="When a (C++) member function is called from a script,
430 this function is executed and unique function identifier
431 is passed as parameter. Derived classes must override
432 this if they add new scriptable functions.
433 @param vm Script virtual machine executing the method.
434 @param i Unique function identifier (index).
435 @return Number of arguments returned in the script stack.
436 @exception ScriptException
437 @see addMethod" isSpecification="false" isLeaf="false" visibility="public" xmi.id="3848" isRoot="false" isAbstract="false" isQuery="false" name="methodCall" >
438 <UML:BehavioralFeature.parameter>
439 <UML:Parameter kind="return" xmi.id="45803" type="10" />
440 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3849" value="" type="10" name="i" />
441 </UML:BehavioralFeature.parameter>
442 </UML:Operation>
443 <UML:Operation comment="Returns true if the object has a script function with
444 specified name." isSpecification="false" isLeaf="false" visibility="public" xmi.id="3850" isRoot="false" isAbstract="false" isQuery="false" name="hasMethod" >
445 <UML:BehavioralFeature.parameter>
446 <UML:Parameter kind="return" xmi.id="45804" type="13" />
447 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3851" value="" type="174" name="name" />
448 </UML:BehavioralFeature.parameter>
449 </UML:Operation>
450 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3852" isRoot="false" isAbstract="false" isQuery="false" name="hasMethod" >
451 <UML:BehavioralFeature.parameter>
452 <UML:Parameter kind="return" xmi.id="45805" type="13" />
453 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3853" value="" type="160" name="name" />
454 </UML:BehavioralFeature.parameter>
455 </UML:Operation>
456 <UML:Operation comment="Checks from script stack that the tags of the parameters passed
457 to the (C++) method match specified sequence of tags.
458 @param tags Array of type tags to check.
459 @param n Maximum number of parameters.
460 @param opt Number of optional parameters (at the end).
461 @return true if the parameter tags match, false otherwise." isSpecification="false" isLeaf="false" visibility="public" xmi.id="3854" isRoot="false" isAbstract="false" isQuery="false" name="hasParams" >
462 <UML:BehavioralFeature.parameter>
463 <UML:Parameter kind="return" xmi.id="45806" type="13" />
464 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3856" value="" type="3855" name="tags" />
465 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3857" value="" type="10" name="n" />
466 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3858" value="" type="10" name="opt" />
467 </UML:BehavioralFeature.parameter>
468 </UML:Operation>
469 <UML:Operation comment="Returns script execution environment of the object." isSpecification="false" isLeaf="false" visibility="public" xmi.id="3859" isRoot="false" isAbstract="false" isQuery="false" name="vmPtr" >
470 <UML:BehavioralFeature.parameter>
471 <UML:Parameter kind="return" xmi.id="45807" type="3741" />
472 </UML:BehavioralFeature.parameter>
473 </UML:Operation>
474 <UML:Operation comment="Returns number of (C++) member functions there is in the
475 script object." isSpecification="false" isLeaf="false" visibility="public" xmi.id="3860" isRoot="false" isAbstract="false" isQuery="false" name="nrMethods" >
476 <UML:BehavioralFeature.parameter>
477 <UML:Parameter kind="return" xmi.id="45808" type="10" />
478 </UML:BehavioralFeature.parameter>
479 </UML:Operation>
480 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3861" isRoot="false" isAbstract="false" isQuery="false" name="setString" >
481 <UML:BehavioralFeature.parameter>
482 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3862" value="" type="10" name="index" />
483 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3863" value="" type="160" name="v" />
484 </UML:BehavioralFeature.parameter>
485 </UML:Operation>
486 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3864" isRoot="false" isAbstract="false" isQuery="false" name="setString" >
487 <UML:BehavioralFeature.parameter>
488 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3865" value="" type="10" name="index" />
489 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3866" value="" type="174" name="v" />
490 </UML:BehavioralFeature.parameter>
491 </UML:Operation>
492 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3867" isRoot="false" isAbstract="false" isQuery="false" name="setNumber" >
493 <UML:BehavioralFeature.parameter>
494 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3868" value="" type="10" name="index" />
495 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3869" value="" type="14" name="v" />
496 </UML:BehavioralFeature.parameter>
497 </UML:Operation>
498 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3870" isRoot="false" isAbstract="false" isQuery="false" name="setTable" >
499 <UML:BehavioralFeature.parameter>
500 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3871" value="" type="10" name="index" />
501 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3872" value="" type="3744" name="v" />
502 </UML:BehavioralFeature.parameter>
503 </UML:Operation>
504 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3873" isRoot="false" isAbstract="false" isQuery="false" name="setBoolean" >
505 <UML:BehavioralFeature.parameter>
506 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3874" value="" type="10" name="index" />
507 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3875" value="" type="13" name="v" />
508 </UML:BehavioralFeature.parameter>
509 </UML:Operation>
510 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3876" isRoot="false" isAbstract="false" isQuery="false" name="setString" >
511 <UML:BehavioralFeature.parameter>
512 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3877" value="" type="160" name="name" />
513 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3878" value="" type="174" name="v" />
514 </UML:BehavioralFeature.parameter>
515 </UML:Operation>
516 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3879" isRoot="false" isAbstract="false" isQuery="false" name="setNumber" >
517 <UML:BehavioralFeature.parameter>
518 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3880" value="" type="160" name="name" />
519 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3881" value="" type="14" name="v" />
520 </UML:BehavioralFeature.parameter>
521 </UML:Operation>
522 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3882" isRoot="false" isAbstract="false" isQuery="false" name="setTable" >
523 <UML:BehavioralFeature.parameter>
524 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3883" value="" type="160" name="name" />
525 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3884" value="" type="3744" name="v" />
526 </UML:BehavioralFeature.parameter>
527 </UML:Operation>
528 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3885" isRoot="false" isAbstract="false" isQuery="false" name="setBoolean" >
529 <UML:BehavioralFeature.parameter>
530 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3886" value="" type="160" name="name" />
531 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3887" value="" type="13" name="v" />
532 </UML:BehavioralFeature.parameter>
533 </UML:Operation>
534 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3888" isRoot="false" isAbstract="false" isQuery="false" name="setLightUserData" >
535 <UML:BehavioralFeature.parameter>
536 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3889" value="" type="10" name="index" />
537 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3890" value="" type="3774" name="ud" />
538 </UML:BehavioralFeature.parameter>
539 </UML:Operation>
540 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3891" isRoot="false" isAbstract="false" isQuery="false" name="setLightUserData" >
541 <UML:BehavioralFeature.parameter>
542 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3892" value="" type="160" name="name" />
543 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3893" value="" type="3774" name="ud" />
544 </UML:BehavioralFeature.parameter>
545 </UML:Operation>
546 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3894" isRoot="false" isAbstract="false" isQuery="false" name="getString" >
547 <UML:BehavioralFeature.parameter>
548 <UML:Parameter kind="return" xmi.id="45809" type="160" />
549 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3895" value="" type="160" name="name" />
550 </UML:BehavioralFeature.parameter>
551 </UML:Operation>
552 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3896" isRoot="false" isAbstract="false" isQuery="false" name="getString" >
553 <UML:BehavioralFeature.parameter>
554 <UML:Parameter kind="return" xmi.id="45810" type="160" />
555 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3897" value="" type="10" name="index" />
556 </UML:BehavioralFeature.parameter>
557 </UML:Operation>
558 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3898" isRoot="false" isAbstract="false" isQuery="false" name="getNumber" >
559 <UML:BehavioralFeature.parameter>
560 <UML:Parameter kind="return" xmi.id="45811" type="14" />
561 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3899" value="" type="160" name="name" />
562 </UML:BehavioralFeature.parameter>
563 </UML:Operation>
564 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3900" isRoot="false" isAbstract="false" isQuery="false" name="getNumber" >
565 <UML:BehavioralFeature.parameter>
566 <UML:Parameter kind="return" xmi.id="45812" type="14" />
567 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3901" value="" type="10" name="index" />
568 </UML:BehavioralFeature.parameter>
569 </UML:Operation>
570 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3902" isRoot="false" isAbstract="false" isQuery="false" name="getTable" >
571 <UML:BehavioralFeature.parameter>
572 <UML:Parameter kind="return" xmi.id="45813" type="3739" />
573 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3903" value="" type="160" name="name" />
574 </UML:BehavioralFeature.parameter>
575 </UML:Operation>
576 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3904" isRoot="false" isAbstract="false" isQuery="false" name="getTable" >
577 <UML:BehavioralFeature.parameter>
578 <UML:Parameter kind="return" xmi.id="45814" type="3739" />
579 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3905" value="" type="10" name="index" />
580 </UML:BehavioralFeature.parameter>
581 </UML:Operation>
582 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3906" isRoot="false" isAbstract="false" isQuery="false" name="getBoolean" >
583 <UML:BehavioralFeature.parameter>
584 <UML:Parameter kind="return" xmi.id="45815" type="13" />
585 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3907" value="" type="160" name="name" />
586 </UML:BehavioralFeature.parameter>
587 </UML:Operation>
588 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3908" isRoot="false" isAbstract="false" isQuery="false" name="getBoolean" >
589 <UML:BehavioralFeature.parameter>
590 <UML:Parameter kind="return" xmi.id="45816" type="13" />
591 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3909" value="" type="10" name="index" />
592 </UML:BehavioralFeature.parameter>
593 </UML:Operation>
594 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="private" xmi.id="3913" isRoot="false" isAbstract="false" isQuery="false" name="Scriptable" >
595 <UML:BehavioralFeature.parameter>
596 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3915" value="" type="3914" name="" />
597 </UML:BehavioralFeature.parameter>
598 </UML:Operation>
599 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="3916" isRoot="false" isAbstract="false" isQuery="false" name="operator =" >
600 <UML:BehavioralFeature.parameter>
601 <UML:Parameter kind="return" xmi.id="45817" type="3918" />
602 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3917" value="" type="3914" name="" />
603 </UML:BehavioralFeature.parameter>
604 </UML:Operation>
605 </UML:Classifier.feature>
606 </UML:Class>
607 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="3737" xmi.id="3738" isRoot="false" isAbstract="false" name="VM" />
608 </UML:Namespace.ownedElement>
609 </UML:Package>
610 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="3920" isRoot="false" isAbstract="false" name="Analyzer" />
611 <UML:Class stereotype="24" isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="74" isRoot="false" isAbstract="false" name="ClockList" />
612 <UML:Class stereotype="24" isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="75" isRoot="false" isAbstract="false" name="ClockListIt" />
613 <UML:DataType stereotype="11" isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="73" isRoot="false" isAbstract="false" name="Break" elementReference="72" />
614 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="13000" isRoot="false" isAbstract="false" name="LowLevelException" />
615 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="13017" isRoot="false" isAbstract="false" name="format_error" />
616 <UML:Package isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="12982" isRoot="false" isAbstract="false" name="util" >
617 <UML:Namespace.ownedElement>
618 <UML:Class comment="\author Tom Haber
619 $Author: thaber $
620 $Revision: 1602 $
621 $Date: 2007-03-23 11:31:02 +0100 (Fri, 23 Mar 2007) $
622 \brief General Exception class
623 The class LowLevelException and its subclasses indicate
624 conditions that a reasonable application might want to catch.
625 Direct subclasses of LowLevelException (instead of Exception)
626 indicate severe error conditions such as segmentation violations,
627 bad memory accesses, ... It makes sense to only catch LowLevelException
628 in the main() and catch Exception elsewhere.
629 Don't forget to specify -rdynamic for stacktraces in linux
630 In windows you need a program database" isSpecification="false" isLeaf="false" visibility="public" namespace="12982" xmi.id="12983" isRoot="false" isAbstract="false" name="LowLevelException" >
631 <UML:Classifier.feature>
632 <UML:Attribute isSpecification="false" visibility="protected" xmi.id="12996" type="173" name="msg" />
633 <UML:Attribute isSpecification="false" visibility="protected" xmi.id="12997" type="3774" name="callersAddr" />
634 <UML:Attribute isSpecification="false" visibility="protected" xmi.id="12998" type="19" name="trace" />
635 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="12984" isRoot="false" isAbstract="false" isQuery="false" name="LowLevelException" />
636 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="12985" isRoot="false" isAbstract="false" isQuery="false" name="LowLevelException" >
637 <UML:BehavioralFeature.parameter>
638 <UML:Parameter isSpecification="false" visibility="private" xmi.id="12987" value="" type="12986" name="ex" />
639 </UML:BehavioralFeature.parameter>
640 </UML:Operation>
641 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="12988" isRoot="false" isAbstract="false" isQuery="false" name="~ LowLevelException" />
642 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="12989" isRoot="false" isAbstract="false" isQuery="false" name="message" >
643 <UML:BehavioralFeature.parameter>
644 <UML:Parameter kind="return" xmi.id="45818" type="174" />
645 </UML:BehavioralFeature.parameter>
646 </UML:Operation>
647 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="12990" isRoot="false" isAbstract="false" isQuery="false" name="printStackTrace" />
648 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="12991" isRoot="false" isAbstract="false" isQuery="false" name="printStackTrace" >
649 <UML:BehavioralFeature.parameter>
650 <UML:Parameter isSpecification="false" visibility="private" xmi.id="12994" value="" type="12993" name="str" />
651 </UML:BehavioralFeature.parameter>
652 </UML:Operation>
653 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="12995" isRoot="false" isAbstract="false" isQuery="false" name="fillInStackTrace" />
654 </UML:Classifier.feature>
655 </UML:Class>
656 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="12982" xmi.id="13009" isRoot="false" isAbstract="false" name="format_error" >
657 <UML:GeneralizableElement.generalization>
658 <UML:Generalization xmi.idref="13011" />
659 </UML:GeneralizableElement.generalization>
660 <UML:Classifier.feature>
661 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="13014" isRoot="false" isAbstract="false" isQuery="false" name="format_error" />
662 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="13015" isRoot="false" isAbstract="false" isQuery="false" name="what" >
663 <UML:BehavioralFeature.parameter>
664 <UML:Parameter kind="return" xmi.id="45819" type="160" />
665 </UML:BehavioralFeature.parameter>
666 </UML:Operation>
667 </UML:Classifier.feature>
668 </UML:Class>
669 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="12982" xmi.id="13016" isRoot="false" isAbstract="false" name="bad_format_string" >
670 <UML:GeneralizableElement.generalization>
671 <UML:Generalization xmi.idref="13018" />
672 </UML:GeneralizableElement.generalization>
673 <UML:Classifier.feature>
674 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="13021" isRoot="false" isAbstract="false" isQuery="false" name="bad_format_string" />
675 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="13022" isRoot="false" isAbstract="false" isQuery="false" name="what" >
676 <UML:BehavioralFeature.parameter>
677 <UML:Parameter kind="return" xmi.id="45820" type="160" />
678 </UML:BehavioralFeature.parameter>
679 </UML:Operation>
680 </UML:Classifier.feature>
681 </UML:Class>
682 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="12982" xmi.id="13023" isRoot="false" isAbstract="false" name="too_few_args" >
683 <UML:GeneralizableElement.generalization>
684 <UML:Generalization xmi.idref="13024" />
685 </UML:GeneralizableElement.generalization>
686 <UML:Classifier.feature>
687 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="13027" isRoot="false" isAbstract="false" isQuery="false" name="too_few_args" />
688 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="13028" isRoot="false" isAbstract="false" isQuery="false" name="what" >
689 <UML:BehavioralFeature.parameter>
690 <UML:Parameter kind="return" xmi.id="45821" type="160" />
691 </UML:BehavioralFeature.parameter>
692 </UML:Operation>
693 </UML:Classifier.feature>
694 </UML:Class>
695 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="12982" xmi.id="13029" isRoot="false" isAbstract="false" name="too_many_args" >
696 <UML:GeneralizableElement.generalization>
697 <UML:Generalization xmi.idref="13030" />
698 </UML:GeneralizableElement.generalization>
699 <UML:Classifier.feature>
700 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="13033" isRoot="false" isAbstract="false" isQuery="false" name="too_many_args" />
701 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="13034" isRoot="false" isAbstract="false" isQuery="false" name="what" >
702 <UML:BehavioralFeature.parameter>
703 <UML:Parameter kind="return" xmi.id="45822" type="160" />
704 </UML:BehavioralFeature.parameter>
705 </UML:Operation>
706 </UML:Classifier.feature>
707 </UML:Class>
708 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="12982" xmi.id="13035" isRoot="false" isAbstract="false" name="out_of_range" >
709 <UML:GeneralizableElement.generalization>
710 <UML:Generalization xmi.idref="13036" />
711 </UML:GeneralizableElement.generalization>
712 <UML:Classifier.feature>
713 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="13039" isRoot="false" isAbstract="false" isQuery="false" name="out_of_range" />
714 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="13040" isRoot="false" isAbstract="false" isQuery="false" name="what" >
715 <UML:BehavioralFeature.parameter>
716 <UML:Parameter kind="return" xmi.id="45823" type="160" />
717 </UML:BehavioralFeature.parameter>
718 </UML:Operation>
719 </UML:Classifier.feature>
720 </UML:Class>
721 <UML:Package isSpecification="false" isLeaf="false" visibility="public" namespace="12982" xmi.id="13041" isRoot="false" isAbstract="false" name="format_interal" >
722 <UML:Namespace.ownedElement>
723 <UML:Class comment="// empty group, but useful even though." isSpecification="false" isLeaf="false" visibility="public" namespace="13041" xmi.id="13042" isRoot="false" isAbstract="false" name="group0" >
724 <UML:Classifier.feature>
725 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="13043" isRoot="false" isAbstract="false" isQuery="false" name="group0" />
726 </UML:Classifier.feature>
727 </UML:Class>
728 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="13041" xmi.id="13044" isRoot="false" isAbstract="false" name="group1" >
729 <UML:ModelElement.templateParameter>
730 <UML:TemplateParameter isSpecification="false" isLeaf="false" visibility="public" namespace="13044" xmi.id="13045" isRoot="false" isAbstract="false" name="T1" />
731 </UML:ModelElement.templateParameter>
732 <UML:Classifier.feature>
733 <UML:Attribute isSpecification="false" visibility="public" xmi.id="13046" type="13045" name="a1_" />
734 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="13047" isRoot="false" isAbstract="false" isQuery="false" name="group1" >
735 <UML:BehavioralFeature.parameter>
736 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13048" value="" type="13045" name="a1" />
737 </UML:BehavioralFeature.parameter>
738 </UML:Operation>
739 </UML:Classifier.feature>
740 </UML:Class>
741 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="13041" xmi.id="13049" isRoot="false" isAbstract="false" name="group2" >
742 <UML:ModelElement.templateParameter>
743 <UML:TemplateParameter isSpecification="false" isLeaf="false" visibility="public" namespace="13049" xmi.id="13050" isRoot="false" isAbstract="false" name="T1" />
744 <UML:TemplateParameter isSpecification="false" isLeaf="false" visibility="public" namespace="13049" xmi.id="13051" isRoot="false" isAbstract="false" name="T2" />
745 </UML:ModelElement.templateParameter>
746 <UML:Classifier.feature>
747 <UML:Attribute isSpecification="false" visibility="public" xmi.id="13052" type="13050" name="a1_" />
748 <UML:Attribute isSpecification="false" visibility="public" xmi.id="13053" type="13051" name="a2_" />
749 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="13054" isRoot="false" isAbstract="false" isQuery="false" name="group2" >
750 <UML:BehavioralFeature.parameter>
751 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13055" value="" type="13050" name="a1" />
752 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13056" value="" type="13051" name="a2" />
753 </UML:BehavioralFeature.parameter>
754 </UML:Operation>
755 </UML:Classifier.feature>
756 </UML:Class>
757 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="13041" xmi.id="13057" isRoot="false" isAbstract="false" name="group3" >
758 <UML:ModelElement.templateParameter>
759 <UML:TemplateParameter isSpecification="false" isLeaf="false" visibility="public" namespace="13057" xmi.id="13058" isRoot="false" isAbstract="false" name="T1" />
760 <UML:TemplateParameter isSpecification="false" isLeaf="false" visibility="public" namespace="13057" xmi.id="13059" isRoot="false" isAbstract="false" name="T2" />
761 <UML:TemplateParameter isSpecification="false" isLeaf="false" visibility="public" namespace="13057" xmi.id="13060" isRoot="false" isAbstract="false" name="T3" />
762 </UML:ModelElement.templateParameter>
763 <UML:Classifier.feature>
764 <UML:Attribute isSpecification="false" visibility="public" xmi.id="13061" type="13058" name="a1_" />
765 <UML:Attribute isSpecification="false" visibility="public" xmi.id="13062" type="13059" name="a2_" />
766 <UML:Attribute isSpecification="false" visibility="public" xmi.id="13063" type="13060" name="a3_" />
767 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="13064" isRoot="false" isAbstract="false" isQuery="false" name="group3" >
768 <UML:BehavioralFeature.parameter>
769 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13065" value="" type="13058" name="a1" />
770 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13066" value="" type="13059" name="a2" />
771 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13067" value="" type="13060" name="a3" />
772 </UML:BehavioralFeature.parameter>
773 </UML:Operation>
774 </UML:Classifier.feature>
775 </UML:Class>
776 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="13041" xmi.id="13068" isRoot="false" isAbstract="false" name="group4" >
777 <UML:ModelElement.templateParameter>
778 <UML:TemplateParameter isSpecification="false" isLeaf="false" visibility="public" namespace="13068" xmi.id="13069" isRoot="false" isAbstract="false" name="T1" />
779 <UML:TemplateParameter isSpecification="false" isLeaf="false" visibility="public" namespace="13068" xmi.id="13070" isRoot="false" isAbstract="false" name="T2" />
780 <UML:TemplateParameter isSpecification="false" isLeaf="false" visibility="public" namespace="13068" xmi.id="13071" isRoot="false" isAbstract="false" name="T3" />
781 <UML:TemplateParameter isSpecification="false" isLeaf="false" visibility="public" namespace="13068" xmi.id="13072" isRoot="false" isAbstract="false" name="T4" />
782 </UML:ModelElement.templateParameter>
783 <UML:Classifier.feature>
784 <UML:Attribute isSpecification="false" visibility="public" xmi.id="13073" type="13069" name="a1_" />
785 <UML:Attribute isSpecification="false" visibility="public" xmi.id="13074" type="13070" name="a2_" />
786 <UML:Attribute isSpecification="false" visibility="public" xmi.id="13075" type="13071" name="a3_" />
787 <UML:Attribute isSpecification="false" visibility="public" xmi.id="13076" type="13072" name="a4_" />
788 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="13077" isRoot="false" isAbstract="false" isQuery="false" name="group4" >
789 <UML:BehavioralFeature.parameter>
790 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13078" value="" type="13069" name="a1" />
791 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13079" value="" type="13070" name="a2" />
792 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13080" value="" type="13071" name="a3" />
793 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13081" value="" type="13072" name="a4" />
794 </UML:BehavioralFeature.parameter>
795 </UML:Operation>
796 </UML:Classifier.feature>
797 </UML:Class>
798 </UML:Namespace.ownedElement>
799 </UML:Package>
800 <UML:Class comment="@author Tom Haber
801 @brief C++ formatting
802 How it works
803 When you call format(s), where s is the format-string,
804 it constructs an object, which parses the format string
805 and looks for all directives in it and prepares internal
806 structures for the next step.
807 Then, either immediately, as in
808 cout &lt;&lt; format(&quot;%2% %1%&quot;) % 36 % 77 )
809 or later on, as in
810 format fmter(&quot;%2% %1%&quot;);
811 fmter % 36; fmter % 77;
812 you feed variables into the formatter. Those variables
813 are dumped into an internal stream, which state is set
814 according to the given formatting options in the format-string,
815 and the format object stores the string results for the last step.
816 Once all arguments have been fed you can dump the format object
817 to a stream, or get its string value by using the str() member
818 function. The result string stays accessible in the format object
819 until another argument is passed, at which time it is reinitialized.
820 // fmter was previously created and fed arguments, it can print the result :
821 cout &lt;&lt; fmter ;
822 // You can take the string result :
823 string s = fmter.str();
824 // possibly several times :
825 s = fmter.str( );
826 // You can also do all steps at once :
827 cout &lt;&lt; boost::format(&quot;%2% %1%&quot;) % 36 % 77;
828 Optionally, after step 3, you can re-use a format object and
829 restart at step2 : fmter % 18 % 39; to format new variables
830 with the same format-string, saving the expensive processing
831 involved at step 1. All in all, the format class translates a
832 format-string (with eventually printf-like directives) into
833 operations on an internal stream, and finally returns the result
834 of the formatting, as a string, or directly into an output stream." isSpecification="false" isLeaf="false" visibility="public" namespace="12982" xmi.id="13082" isRoot="false" isAbstract="false" name="format" >
835 <UML:Classifier.feature>
836 <UML:Attribute comment="// style of format-string : positional or not, etc" isSpecification="false" visibility="private" xmi.id="13180" type="10" name="style" />
837 <UML:Attribute comment="// keep track of which argument will come" isSpecification="false" visibility="private" xmi.id="13181" type="10" name="cur_arg" />
838 <UML:Attribute comment="// number of expected arguments" isSpecification="false" visibility="private" xmi.id="13182" type="10" name="num_args" />
839 <UML:Attribute comment="// true only after call to str() or &lt;&lt;" isSpecification="false" visibility="private" xmi.id="13183" type="13" name="dumped" />
840 <UML:Attribute comment="// vector of directives (aka items)" isSpecification="false" visibility="private" xmi.id="13185" type="13184" name="items" />
841 <UML:Attribute comment="// piece of string to insert before first item" isSpecification="false" visibility="private" xmi.id="13186" type="173" name="prefix" />
842 <UML:Attribute comment="// stores which arguments were bound" isSpecification="false" visibility="private" xmi.id="13188" type="13187" name="bound" />
843 <UML:Attribute comment="// size = num_args OR zero// the internal stream." isSpecification="false" visibility="private" xmi.id="13190" type="13189" name="oss" />
844 <UML:Attribute comment="// reference state for oss_" isSpecification="false" visibility="private" xmi.id="13191" type="13083" name="state0" />
845 <UML:Attribute isSpecification="false" visibility="private" xmi.id="13192" type="224" name="exceptions_flag" />
846 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="13126" isRoot="false" isAbstract="false" isQuery="false" name="format" >
847 <UML:BehavioralFeature.parameter>
848 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13127" value="" type="160" name="str" />
849 </UML:BehavioralFeature.parameter>
850 </UML:Operation>
851 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="13128" isRoot="false" isAbstract="false" isQuery="false" name="format" >
852 <UML:BehavioralFeature.parameter>
853 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13129" value="" type="174" name="s" />
854 </UML:BehavioralFeature.parameter>
855 </UML:Operation>
856 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="13130" isRoot="false" isAbstract="false" isQuery="false" name="format" >
857 <UML:BehavioralFeature.parameter>
858 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13132" value="" type="13131" name="x" />
859 </UML:BehavioralFeature.parameter>
860 </UML:Operation>
861 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="13133" isRoot="false" isAbstract="false" isQuery="false" name="operator =" >
862 <UML:BehavioralFeature.parameter>
863 <UML:Parameter kind="return" xmi.id="45824" type="13135" />
864 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13134" value="" type="13131" name="x" />
865 </UML:BehavioralFeature.parameter>
866 </UML:Operation>
867 <UML:Operation comment="// empty the string buffers (except bound arguments, see clear_binds() )" isSpecification="false" isLeaf="false" visibility="public" xmi.id="13136" isRoot="false" isAbstract="false" isQuery="false" name="clear" >
868 <UML:BehavioralFeature.parameter>
869 <UML:Parameter kind="return" xmi.id="45825" type="13135" />
870 </UML:BehavioralFeature.parameter>
871 </UML:Operation>
872 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="13137" isRoot="false" isAbstract="false" isQuery="false" name="operator %" >
873 <UML:BehavioralFeature.parameter>
874 <UML:Parameter kind="return" xmi.id="45826" type="13135" />
875 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13139" value="" type="13138" name="x" />
876 </UML:BehavioralFeature.parameter>
877 </UML:Operation>
878 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="13140" isRoot="false" isAbstract="false" isQuery="false" name="bind_arg" >
879 <UML:BehavioralFeature.parameter>
880 <UML:Parameter kind="return" xmi.id="45827" type="13135" />
881 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13141" value="" type="10" name="argN" />
882 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13142" value="" type="13138" name="val" />
883 </UML:BehavioralFeature.parameter>
884 </UML:Operation>
885 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="13143" isRoot="false" isAbstract="false" isQuery="false" name="clear_bind" >
886 <UML:BehavioralFeature.parameter>
887 <UML:Parameter kind="return" xmi.id="45828" type="13135" />
888 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13144" value="" type="10" name="argN" />
889 </UML:BehavioralFeature.parameter>
890 </UML:Operation>
891 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="13145" isRoot="false" isAbstract="false" isQuery="false" name="clear_binds" >
892 <UML:BehavioralFeature.parameter>
893 <UML:Parameter kind="return" xmi.id="45829" type="13135" />
894 </UML:BehavioralFeature.parameter>
895 </UML:Operation>
896 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="13146" isRoot="false" isAbstract="false" isQuery="false" name="modify_item" >
897 <UML:BehavioralFeature.parameter>
898 <UML:Parameter kind="return" xmi.id="45830" type="13135" />
899 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13147" value="" type="10" name="itemN" />
900 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13148" value="" type="13138" name="manipulator" />
901 </UML:BehavioralFeature.parameter>
902 </UML:Operation>
903 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="13156" isRoot="false" isAbstract="false" isQuery="false" name="exceptions" >
904 <UML:BehavioralFeature.parameter>
905 <UML:Parameter kind="return" xmi.id="45831" type="224" />
906 </UML:BehavioralFeature.parameter>
907 </UML:Operation>
908 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="13157" isRoot="false" isAbstract="false" isQuery="false" name="exceptions" >
909 <UML:BehavioralFeature.parameter>
910 <UML:Parameter kind="return" xmi.id="45832" type="224" />
911 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13158" value="" type="224" name="newexcept" />
912 </UML:BehavioralFeature.parameter>
913 </UML:Operation>
914 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="13159" isRoot="false" isAbstract="false" isQuery="false" name="str" >
915 <UML:BehavioralFeature.parameter>
916 <UML:Parameter kind="return" xmi.id="45833" type="173" />
917 </UML:BehavioralFeature.parameter>
918 </UML:Operation>
919 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="13160" isRoot="false" isAbstract="false" isQuery="false" name="operator std :: string" />
920 <UML:Operation stereotype="13164" isSpecification="false" isLeaf="false" visibility="public" xmi.id="13161" isRoot="false" isAbstract="false" isQuery="false" name="operator &lt;&lt;" >
921 <UML:BehavioralFeature.parameter>
922 <UML:Parameter kind="return" xmi.id="45834" type="12993" />
923 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13162" value="" type="12993" name="ostr" />
924 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13163" value="" type="13131" name="f" />
925 </UML:BehavioralFeature.parameter>
926 </UML:Operation>
927 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="13165" isRoot="false" isAbstract="false" isQuery="false" name="feed" >
928 <UML:BehavioralFeature.parameter>
929 <UML:Parameter kind="return" xmi.id="45835" type="13135" />
930 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13166" value="" type="13099" name="" />
931 </UML:BehavioralFeature.parameter>
932 </UML:Operation>
933 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="13167" isRoot="false" isAbstract="false" isQuery="false" name="distribute" >
934 <UML:BehavioralFeature.parameter>
935 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13168" value="" type="13099" name="" />
936 </UML:BehavioralFeature.parameter>
937 </UML:Operation>
938 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="13169" isRoot="false" isAbstract="false" isQuery="false" name="modify_item_body" >
939 <UML:BehavioralFeature.parameter>
940 <UML:Parameter kind="return" xmi.id="45836" type="13135" />
941 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13170" value="" type="10" name="" />
942 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13171" value="" type="13138" name="" />
943 </UML:BehavioralFeature.parameter>
944 </UML:Operation>
945 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="13172" isRoot="false" isAbstract="false" isQuery="false" name="bind_arg_body" >
946 <UML:BehavioralFeature.parameter>
947 <UML:Parameter kind="return" xmi.id="45837" type="13135" />
948 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13173" value="" type="10" name="" />
949 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13174" value="" type="13138" name="" />
950 </UML:BehavioralFeature.parameter>
951 </UML:Operation>
952 <UML:Operation comment="// parse the format string :" isSpecification="false" isLeaf="false" visibility="private" xmi.id="13178" isRoot="false" isAbstract="false" isQuery="false" name="parse" >
953 <UML:BehavioralFeature.parameter>
954 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13179" value="" type="174" name="" />
955 </UML:BehavioralFeature.parameter>
956 </UML:Operation>
957 <UML:Operation stereotype="13164" isSpecification="false" isLeaf="false" visibility="private" xmi.id="13193" isRoot="false" isAbstract="false" isQuery="false" name="put" >
958 <UML:BehavioralFeature.parameter>
959 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13194" value="" type="13099" name="x" />
960 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13196" value="" type="13195" name="specs" />
961 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13198" value="" type="13197" name="res" />
962 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13200" value="" type="13199" name="oss" />
963 </UML:BehavioralFeature.parameter>
964 </UML:Operation>
965 <UML:Operation stereotype="13164" isSpecification="false" isLeaf="false" visibility="private" xmi.id="13201" isRoot="false" isAbstract="false" isQuery="false" name="parse_printf_directive" >
966 <UML:BehavioralFeature.parameter>
967 <UML:Parameter kind="return" xmi.id="45838" type="13" />
968 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13202" value="" type="174" name="buf" />
969 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13205" value="" type="13204" name="pos_p" />
970 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13207" value="" type="13206" name="fpar" />
971 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13208" value="" type="13094" name="os" />
972 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13209" value="" type="224" name="exceptions" />
973 </UML:BehavioralFeature.parameter>
974 </UML:Operation>
975 </UML:Classifier.feature>
976 <UML:Namespace.ownedElement>
977 <UML:Class comment="// set of params that define the format state of a stream" isSpecification="false" isLeaf="false" visibility="public" namespace="13082" xmi.id="13083" isRoot="false" isAbstract="false" name="stream_format_state" >
978 <UML:Classifier.feature>
979 <UML:Attribute isSpecification="false" visibility="public" xmi.id="13085" type="13084" name="width" />
980 <UML:Attribute isSpecification="false" visibility="public" xmi.id="13086" type="13084" name="precision" />
981 <UML:Attribute isSpecification="false" visibility="public" xmi.id="13087" type="12" name="fill" />
982 <UML:Attribute isSpecification="false" visibility="public" xmi.id="13090" type="13089" name="flags" />
983 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="13091" isRoot="false" isAbstract="false" isQuery="false" name="stream_format_state" />
984 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="13092" isRoot="false" isAbstract="false" isQuery="false" name="stream_format_state" >
985 <UML:BehavioralFeature.parameter>
986 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13095" value="" type="13094" name="os" />
987 </UML:BehavioralFeature.parameter>
988 </UML:Operation>
989 <UML:Operation comment="//- applies format_state to the stream" isSpecification="false" isLeaf="false" visibility="public" xmi.id="13096" isRoot="false" isAbstract="false" isQuery="false" name="apply_on" >
990 <UML:BehavioralFeature.parameter>
991 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13097" value="" type="13094" name="os" />
992 </UML:BehavioralFeature.parameter>
993 </UML:Operation>
994 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="13098" isRoot="false" isAbstract="false" isQuery="false" name="apply_manip" >
995 <UML:BehavioralFeature.parameter>
996 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13100" value="" type="13099" name="manipulator" />
997 </UML:BehavioralFeature.parameter>
998 </UML:Operation>
999 <UML:Operation comment="//- sets to default state." isSpecification="false" isLeaf="false" visibility="public" xmi.id="13101" isRoot="false" isAbstract="false" isQuery="false" name="reset" />
1000 <UML:Operation comment="//- sets to os's state." isSpecification="false" isLeaf="false" visibility="public" xmi.id="13102" isRoot="false" isAbstract="false" isQuery="false" name="set_by_stream" >
1001 <UML:BehavioralFeature.parameter>
1002 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13104" value="" type="13103" name="os" />
1003 </UML:BehavioralFeature.parameter>
1004 </UML:Operation>
1005 </UML:Classifier.feature>
1006 </UML:Class>
1007 <UML:Class comment="// format_item : stores all parameters that can be defined by directives in the format-string" isSpecification="false" isLeaf="false" visibility="public" namespace="13082" xmi.id="13105" isRoot="false" isAbstract="false" name="format_item" >
1008 <UML:ModelElement.templateParameter>
1009 <UML:TemplateParameter isSpecification="false" isLeaf="false" visibility="public" namespace="13105" xmi.id="13106" isRoot="false" isAbstract="false" name="T" />
1010 </UML:ModelElement.templateParameter>
1011 <UML:Classifier.feature>
1012 <UML:Attribute comment="//- argument number (starts at 0, eg : %1 => argN=0)" isSpecification="false" visibility="public" xmi.id="13116" type="10" name="argN" />
1013 <UML:Attribute comment="// negative values are used for items that don't process an argument//- result of the formatting of this item" isSpecification="false" visibility="public" xmi.id="13117" type="173" name="res" />
1014 <UML:Attribute comment="//- piece of string between this item and the next" isSpecification="false" visibility="public" xmi.id="13118" type="173" name="appendix" />
1015 <UML:Attribute comment="// set by parsing the format_string, is only affected by modify_item" isSpecification="false" visibility="public" xmi.id="13119" type="13083" name="ref_state" />
1016 <UML:Attribute comment="// always same as ref_state, _unless_ modified by manipulators 'group(..)'" isSpecification="false" visibility="public" xmi.id="13120" type="13083" name="state" />
1017 <UML:Attribute comment="// non-stream format-state parameters//- is >=0 for directives like %.5s (take 5 chars from the string)" isSpecification="false" visibility="public" xmi.id="13122" type="13121" name="truncate" />
1018 <UML:Attribute comment="//- several possible padding schemes can mix. see pad_values" isSpecification="false" visibility="public" xmi.id="13123" type="18" name="pad_scheme" />
1019 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="13124" isRoot="false" isAbstract="false" isQuery="false" name="format_item" />
1020 <UML:Operation comment="// sets states according to truncate and pad_scheme." isSpecification="false" isLeaf="false" visibility="public" xmi.id="13125" isRoot="false" isAbstract="false" isQuery="false" name="compute_states" />
1021 </UML:Classifier.feature>
1022 <UML:Namespace.ownedElement>
1023 <UML:Enumeration stereotype="31" isSpecification="false" isLeaf="false" visibility="public" namespace="13105" xmi.id="13107" isRoot="false" isAbstract="false" name="pad_values" >
1024 <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="13107" xmi.id="13108" isRoot="false" isAbstract="false" name="zeropad" />
1025 <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="13107" xmi.id="13109" isRoot="false" isAbstract="false" name="spacepad" />
1026 <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="13107" xmi.id="13110" isRoot="false" isAbstract="false" name="centered" />
1027 <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="13107" xmi.id="13111" isRoot="false" isAbstract="false" name="tabulation" />
1028 </UML:Enumeration>
1029 <UML:Enumeration stereotype="31" isSpecification="false" isLeaf="false" visibility="public" namespace="13105" xmi.id="13112" isRoot="false" isAbstract="false" name="arg_values" >
1030 <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="13112" xmi.id="13113" isRoot="false" isAbstract="false" name="argN_no_posit" />
1031 <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="13112" xmi.id="13114" isRoot="false" isAbstract="false" name="argN_tabulation" />
1032 <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="13112" xmi.id="13115" isRoot="false" isAbstract="false" name="argN_ignored" />
1033 </UML:Enumeration>
1034 </UML:Namespace.ownedElement>
1035 </UML:Class>
1036 <UML:Enumeration stereotype="31" isSpecification="false" isLeaf="false" visibility="public" namespace="13082" xmi.id="13149" isRoot="false" isAbstract="false" name="format_error_bits" >
1037 <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="13149" xmi.id="13150" isRoot="false" isAbstract="false" name="bad_format_string_bit" />
1038 <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="13149" xmi.id="13151" isRoot="false" isAbstract="false" name="too_few_args_bit" />
1039 <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="13149" xmi.id="13152" isRoot="false" isAbstract="false" name="too_many_args_bit" />
1040 <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="13149" xmi.id="13153" isRoot="false" isAbstract="false" name="out_of_range_bit" />
1041 <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="13149" xmi.id="13154" isRoot="false" isAbstract="false" name="all_error_bits" />
1042 <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="13149" xmi.id="13155" isRoot="false" isAbstract="false" name="no_error_bits" />
1043 </UML:Enumeration>
1044 <UML:Enumeration stereotype="31" comment="// flag bits, used for style_" isSpecification="false" isLeaf="false" visibility="public" namespace="13082" xmi.id="13175" isRoot="false" isAbstract="false" name="style_values" >
1045 <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="13175" xmi.id="13176" isRoot="false" isAbstract="false" name="ordered" />
1046 <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="13175" xmi.id="13177" isRoot="false" isAbstract="false" name="special_needs" />
1047 </UML:Enumeration>
1048 </UML:Namespace.ownedElement>
1049 </UML:Class>
1050 </UML:Namespace.ownedElement>
1051 </UML:Package>
1052 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="13099" isRoot="false" isAbstract="false" name="T" />
1053 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="13121" isRoot="false" isAbstract="false" name="signed int" />
1054 <UML:Class comment="\author Tom Haber
1055 $Author: thaber $
1056 $Revision: 1602 $
1057 $Date: 2007-03-23 11:31:02 +0100 (Fri, 23 Mar 2007) $
1058 \brief General Exception class
1059 The class Exception and its subclasses indicate conditions
1060 that a reasonable application might want to catch.
1061 Direct subclasses of LowLevelException (instead of Exception)
1062 indicate severe error conditions such as segmentation violations,
1063 bad memory accesses, ... It makes sense to only catch LowLevelException
1064 in the main() and catch Exception elsewhere." isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="12999" isRoot="false" isAbstract="false" name="Exception" >
1065 <UML:GeneralizableElement.generalization>
1066 <UML:Generalization xmi.idref="13001" />
1067 </UML:GeneralizableElement.generalization>
1068 <UML:Classifier.feature>
1069 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="13004" isRoot="false" isAbstract="false" isQuery="false" name="Exception" />
1070 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="13005" isRoot="false" isAbstract="false" isQuery="false" name="Exception" >
1071 <UML:BehavioralFeature.parameter>
1072 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13006" value="" type="160" name="msg" />
1073 </UML:BehavioralFeature.parameter>
1074 </UML:Operation>
1075 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="13007" isRoot="false" isAbstract="false" isQuery="false" name="Exception" >
1076 <UML:BehavioralFeature.parameter>
1077 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13008" value="" type="174" name="msg" />
1078 </UML:BehavioralFeature.parameter>
1079 </UML:Operation>
1080 </UML:Classifier.feature>
1081 </UML:Class>
1082 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="17634" isRoot="false" isAbstract="false" name="Program" />
1083 <UML:Class stereotype="24" isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="23" isRoot="false" isAbstract="false" name="byte" />
1084 <UML:Class stereotype="24" isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="25" isRoot="false" isAbstract="false" name="sbyte" />
1085 <UML:Class stereotype="24" isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="26" isRoot="false" isAbstract="false" name="word" />
1086 <UML:Class stereotype="24" isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="27" isRoot="false" isAbstract="false" name="sword" />
1087 <UML:Class stereotype="24" isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="28" isRoot="false" isAbstract="false" name="dword" />
1088 <UML:Class stereotype="24" isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="29" isRoot="false" isAbstract="false" name="lword" />
1089 <UML:Enumeration stereotype="31" comment="Define all of the different types of reset conditions:" isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="30" isRoot="false" isAbstract="false" name="RESET_TYPE" >
1090 <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="30" xmi.id="32" isRoot="false" isAbstract="false" name="POR_RESET" />
1091 <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="30" xmi.id="33" isRoot="false" isAbstract="false" name="WDT_RESET" />
1092 <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="30" xmi.id="34" isRoot="false" isAbstract="false" name="JTAG_RESET" />
1093 <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="30" xmi.id="35" isRoot="false" isAbstract="false" name="EXT_RESET" />
1094 <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="30" xmi.id="36" isRoot="false" isAbstract="false" name="SOFT_RESET" />
1095 <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="30" xmi.id="37" isRoot="false" isAbstract="false" name="BOD_RESET" />
1096 <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="30" xmi.id="38" isRoot="false" isAbstract="false" name="SIM_RESET" />
1097 <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="30" xmi.id="39" isRoot="false" isAbstract="false" name="OTHER_RESET" />
1098 </UML:Enumeration>
1099 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="19322" isRoot="false" isAbstract="false" name="new_class" />
1100 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="19391" isRoot="false" isAbstract="false" name="unsigned" />
1101 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="19393" isRoot="false" isAbstract="false" name="new_class_1" />
1102 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="247" isRoot="false" isAbstract="false" name="Memory" />
1103 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="304" isRoot="false" isAbstract="false" name="Register" />
1104 <UML:Class comment="@author Tom Haber
1105 @date Apr 26, 2008
1106 @brief Abstraction of all internal devices
1108 This is an abstraction of all the internal devices inside
1109 an AVR chip. These encompass timers, usart, spi, etc
1111 Hardware can negotiate its timing with the Bus,
1112 \e step is called based on this timing." isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="132" isRoot="false" isAbstract="false" name="Hardware" >
1113 <UML:Classifier.feature>
1114 <UML:Attribute isSpecification="false" visibility="protected" xmi.id="215" type="198" name="bus" />
1115 <UML:Attribute isSpecification="false" visibility="protected" xmi.id="216" type="18" name="holdCycles" />
1116 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="197" isRoot="false" isAbstract="false" isQuery="false" name="Hardware" >
1117 <UML:BehavioralFeature.parameter>
1118 <UML:Parameter isSpecification="false" visibility="private" xmi.id="199" value="" type="198" name="bus" />
1119 </UML:BehavioralFeature.parameter>
1120 </UML:Operation>
1121 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="200" isRoot="false" isAbstract="false" isQuery="false" name="~ Hardware" />
1122 <UML:Operation comment="Attach a register with name \e name to the hardware." isSpecification="false" isLeaf="false" visibility="public" xmi.id="201" isRoot="false" isAbstract="true" isQuery="false" name="attachReg" >
1123 <UML:BehavioralFeature.parameter>
1124 <UML:Parameter kind="return" xmi.id="45839" type="13" />
1125 <UML:Parameter isSpecification="false" visibility="private" xmi.id="202" value="" type="160" name="name" />
1126 <UML:Parameter isSpecification="false" visibility="private" xmi.id="204" value="" type="203" name="reg" />
1127 </UML:BehavioralFeature.parameter>
1128 </UML:Operation>
1129 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="205" isRoot="false" isAbstract="false" isQuery="false" name="finishBuild" >
1130 <UML:BehavioralFeature.parameter>
1131 <UML:Parameter kind="return" xmi.id="45840" type="13" />
1132 </UML:BehavioralFeature.parameter>
1133 </UML:Operation>
1134 <UML:Operation comment="An attached register changed state." isSpecification="false" isLeaf="false" visibility="public" xmi.id="206" isRoot="false" isAbstract="true" isQuery="false" name="regChanged" >
1135 <UML:BehavioralFeature.parameter>
1136 <UML:Parameter isSpecification="false" visibility="private" xmi.id="207" value="" type="203" name="reg" />
1137 </UML:BehavioralFeature.parameter>
1138 </UML:Operation>
1139 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="208" isRoot="false" isAbstract="false" isQuery="false" name="step" />
1140 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="209" isRoot="false" isAbstract="false" isQuery="false" name="reset" />
1141 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="210" isRoot="false" isAbstract="false" isQuery="false" name="beforeInvokeInterrupt" >
1142 <UML:BehavioralFeature.parameter>
1143 <UML:Parameter isSpecification="false" visibility="private" xmi.id="211" value="" type="18" name="vector" />
1144 </UML:BehavioralFeature.parameter>
1145 </UML:Operation>
1146 <UML:Operation comment="Are we holding the CPU?
1147 @warning only call this once per CPU cycle." isSpecification="false" isLeaf="false" visibility="public" xmi.id="212" isRoot="false" isAbstract="false" isQuery="false" name="isHoldingCPU" >
1148 <UML:BehavioralFeature.parameter>
1149 <UML:Parameter kind="return" xmi.id="45841" type="13" />
1150 </UML:BehavioralFeature.parameter>
1151 </UML:Operation>
1152 <UML:Operation comment="Set the number of cycles to hold the CPU." isSpecification="false" isLeaf="false" visibility="protected" xmi.id="213" isRoot="false" isAbstract="false" isQuery="false" name="setHoldCycles" >
1153 <UML:BehavioralFeature.parameter>
1154 <UML:Parameter isSpecification="false" visibility="private" xmi.id="214" value="" type="18" name="cycles" />
1155 </UML:BehavioralFeature.parameter>
1156 </UML:Operation>
1157 </UML:Classifier.feature>
1158 </UML:Class>
1159 <UML:Package isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="22" isRoot="false" isAbstract="false" name="avr" >
1160 <UML:Namespace.ownedElement>
1161 <UML:Class stereotype="24" isSpecification="false" isLeaf="false" visibility="public" namespace="22" xmi.id="40" isRoot="false" isAbstract="false" name="ClockOffset" />
1162 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="22" xmi.id="41" isRoot="false" isAbstract="false" name="Clock" >
1163 <UML:ModelElement.templateParameter>
1164 <UML:TemplateParameter isSpecification="false" isLeaf="false" visibility="public" namespace="41" xmi.id="42" isRoot="false" isAbstract="false" name="Type" />
1165 </UML:ModelElement.templateParameter>
1166 <UML:Classifier.feature>
1167 <UML:Attribute isSpecification="false" visibility="private" xmi.id="69" type="40" name="value" />
1168 <UML:Attribute isSpecification="false" visibility="private" xmi.id="76" type="74" name="objects" />
1169 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="43" isRoot="false" isAbstract="false" isQuery="false" name="Clock" />
1170 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="44" isRoot="false" isAbstract="false" isQuery="false" name="setBreak" >
1171 <UML:BehavioralFeature.parameter>
1172 <UML:Parameter isSpecification="false" visibility="private" xmi.id="45" value="" type="40" name="cycle" />
1173 <UML:Parameter isSpecification="false" visibility="private" xmi.id="48" value="" type="47" name="obj" />
1174 </UML:BehavioralFeature.parameter>
1175 </UML:Operation>
1176 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="49" isRoot="false" isAbstract="false" isQuery="false" name="setBreakDelta" >
1177 <UML:BehavioralFeature.parameter>
1178 <UML:Parameter isSpecification="false" visibility="private" xmi.id="50" value="" type="40" name="delta" />
1179 <UML:Parameter isSpecification="false" visibility="private" xmi.id="51" value="" type="47" name="obj" />
1180 </UML:BehavioralFeature.parameter>
1181 </UML:Operation>
1182 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="52" isRoot="false" isAbstract="false" isQuery="false" name="clearBreak" >
1183 <UML:BehavioralFeature.parameter>
1184 <UML:Parameter isSpecification="false" visibility="private" xmi.id="53" value="" type="47" name="obj" />
1185 </UML:BehavioralFeature.parameter>
1186 </UML:Operation>
1187 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="54" isRoot="false" isAbstract="false" isQuery="false" name="clearBreak" >
1188 <UML:BehavioralFeature.parameter>
1189 <UML:Parameter isSpecification="false" visibility="private" xmi.id="55" value="" type="40" name="cycle" />
1190 </UML:BehavioralFeature.parameter>
1191 </UML:Operation>
1192 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="56" isRoot="false" isAbstract="false" isQuery="false" name="reassignBreak" >
1193 <UML:BehavioralFeature.parameter>
1194 <UML:Parameter isSpecification="false" visibility="private" xmi.id="57" value="" type="40" name="oldCycle" />
1195 <UML:Parameter isSpecification="false" visibility="private" xmi.id="58" value="" type="40" name="newCycle" />
1196 <UML:Parameter isSpecification="false" visibility="private" xmi.id="59" value="" type="47" name="obj" />
1197 </UML:BehavioralFeature.parameter>
1198 </UML:Operation>
1199 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="60" isRoot="false" isAbstract="false" isQuery="false" name="reassignBreak" >
1200 <UML:BehavioralFeature.parameter>
1201 <UML:Parameter isSpecification="false" visibility="private" xmi.id="61" value="" type="47" name="obj" />
1202 <UML:Parameter isSpecification="false" visibility="private" xmi.id="62" value="" type="40" name="newCycle" />
1203 </UML:BehavioralFeature.parameter>
1204 </UML:Operation>
1205 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="63" isRoot="false" isAbstract="false" isQuery="false" name="reassignBreakDelta" >
1206 <UML:BehavioralFeature.parameter>
1207 <UML:Parameter isSpecification="false" visibility="private" xmi.id="64" value="" type="40" name="delta" />
1208 <UML:Parameter isSpecification="false" visibility="private" xmi.id="65" value="" type="47" name="obj" />
1209 </UML:BehavioralFeature.parameter>
1210 </UML:Operation>
1211 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="66" isRoot="false" isAbstract="false" isQuery="false" name="step" />
1212 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="67" isRoot="false" isAbstract="false" isQuery="false" name="clearAll" />
1213 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="68" isRoot="false" isAbstract="false" isQuery="false" name="ticks" >
1214 <UML:BehavioralFeature.parameter>
1215 <UML:Parameter kind="return" xmi.id="45842" type="40" />
1216 </UML:BehavioralFeature.parameter>
1217 </UML:Operation>
1218 </UML:Classifier.feature>
1219 <UML:Namespace.ownedElement>
1220 <UML:TemplateParameter isSpecification="false" isLeaf="false" visibility="public" namespace="41" xmi.id="42" isRoot="false" isAbstract="false" name="Type" />
1221 <UML:TemplateParameter isSpecification="false" isLeaf="false" visibility="public" namespace="41" xmi.id="42" isRoot="false" isAbstract="false" name="Type" />
1222 <UML:Package isSpecification="false" isLeaf="false" visibility="public" namespace="41" xmi.id="70" isRoot="false" isAbstract="false" name="std" >
1223 <UML:Namespace.ownedElement>
1224 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="70" xmi.id="71" isRoot="false" isAbstract="false" name="pair" />
1225 </UML:Namespace.ownedElement>
1226 </UML:Package>
1227 </UML:Namespace.ownedElement>
1228 </UML:Class>
1229 <UML:Class comment="@author Tom Haber
1230 @date Apr 23, 2008
1231 @brief Instruction Decoder
1233 The decoder can decode instruction opcodes and returns
1234 Instruction classes capable of executing the instruction.
1236 For performance reasons, it contains a big table with all
1237 possible opcodes and accompanying Instruction instance." isSpecification="false" isLeaf="false" visibility="public" namespace="22" xmi.id="183" isRoot="false" isAbstract="false" name="Decoder" >
1238 <UML:Classifier.feature>
1239 <UML:Attribute isSpecification="false" visibility="private" xmi.id="195" type="194" name="lut" ownerScope="classifier" />
1240 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="184" isRoot="false" isAbstract="false" isQuery="false" name="Decoder" />
1241 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="185" isRoot="false" isAbstract="false" isQuery="false" name="decode" >
1242 <UML:BehavioralFeature.parameter>
1243 <UML:Parameter kind="return" xmi.id="45843" type="187" />
1244 <UML:Parameter isSpecification="false" visibility="private" xmi.id="186" value="" type="26" name="opcode" />
1245 </UML:BehavioralFeature.parameter>
1246 </UML:Operation>
1247 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="188" isRoot="false" isAbstract="false" isQuery="false" name="is2WordInstruction" >
1248 <UML:BehavioralFeature.parameter>
1249 <UML:Parameter kind="return" xmi.id="45844" type="13" />
1250 <UML:Parameter isSpecification="false" visibility="private" xmi.id="189" value="" type="26" name="opcode" />
1251 </UML:BehavioralFeature.parameter>
1252 </UML:Operation>
1253 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="190" isRoot="false" isAbstract="false" isQuery="false" name="lookupOpcode" >
1254 <UML:BehavioralFeature.parameter>
1255 <UML:Parameter kind="return" xmi.id="45845" type="192" />
1256 <UML:Parameter isSpecification="false" visibility="private" xmi.id="191" value="" type="26" name="opcode" />
1257 </UML:BehavioralFeature.parameter>
1258 </UML:Operation>
1259 </UML:Classifier.feature>
1260 </UML:Class>
1261 <UML:Class comment="@author Tom Haber
1262 @date Apr 27, 2008
1263 @brief Coordinates the timing between the components of the simulation.
1265 The SimulationClock class is used to coordinate the timing
1266 between the different peripherals within a processor and
1267 in some cases, the timing between several simulated
1268 processors and modules.
1270 Simulation objects can be notified at a specific
1271 instance in time by setting a break point." isSpecification="false" isLeaf="false" visibility="public" namespace="22" xmi.id="78" isRoot="false" isAbstract="false" name="SimulationClock" >
1272 <UML:GeneralizableElement.generalization>
1273 <UML:Generalization xmi.idref="81" />
1274 <UML:Generalization xmi.idref="543" />
1275 <UML:Generalization xmi.idref="81" />
1276 <UML:Generalization xmi.idref="543" />
1277 <UML:Generalization xmi.idref="81" />
1278 <UML:Generalization xmi.idref="543" />
1279 </UML:GeneralizableElement.generalization>
1280 <UML:Classifier.feature>
1281 <UML:Attribute isSpecification="false" visibility="private" xmi.id="89" type="13" name="finished" />
1282 <UML:Attribute isSpecification="false" visibility="private" xmi.id="90" type="40" name="maxTicks" />
1283 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="84" isRoot="false" isAbstract="false" isQuery="false" name="SimulationClock" />
1284 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="85" isRoot="false" isAbstract="false" isQuery="false" name="exec" />
1285 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="86" isRoot="false" isAbstract="false" isQuery="false" name="finish" />
1286 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="87" isRoot="false" isAbstract="false" isQuery="false" name="setMaxTicks" >
1287 <UML:BehavioralFeature.parameter>
1288 <UML:Parameter isSpecification="false" visibility="private" xmi.id="88" value="" type="40" name="ticks" />
1289 </UML:BehavioralFeature.parameter>
1290 </UML:Operation>
1291 </UML:Classifier.feature>
1292 </UML:Class>
1293 <UML:Class comment="@author Tom Haber
1294 @date Apr 27, 2008
1295 @brief An object in the simulation
1297 Represents a member of the simulation, this can be
1298 either a peripheral or an AVR chip. It contains a
1299 stepping function and can negotiate with the clock
1300 for a specific timing." isSpecification="false" isLeaf="false" visibility="public" namespace="22" xmi.id="77" isRoot="false" isAbstract="false" name="SimulationObject" >
1301 <UML:Classifier.feature>
1302 <UML:Attribute isSpecification="false" visibility="protected" xmi.id="96" type="92" name="clock" />
1303 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="91" isRoot="false" isAbstract="false" isQuery="false" name="SimulationObject" >
1304 <UML:BehavioralFeature.parameter>
1305 <UML:Parameter isSpecification="false" visibility="private" xmi.id="93" value="" type="92" name="clock" />
1306 </UML:BehavioralFeature.parameter>
1307 </UML:Operation>
1308 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="94" isRoot="false" isAbstract="false" isQuery="false" name="~ SimulationObject" />
1309 <UML:Operation comment="Perform a single simulation step." isSpecification="false" isLeaf="false" visibility="public" xmi.id="95" isRoot="false" isAbstract="true" isQuery="false" name="step" />
1310 </UML:Classifier.feature>
1311 </UML:Class>
1312 <UML:Class stereotype="24" isSpecification="false" isLeaf="false" visibility="public" namespace="22" xmi.id="555" isRoot="false" isAbstract="false" name="ClockFrequency" />
1313 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="22" xmi.id="556" isRoot="false" isAbstract="false" name="Pin" />
1314 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="22" xmi.id="558" isRoot="false" isAbstract="false" name="DebugInterface" />
1315 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="22" xmi.id="561" isRoot="false" isAbstract="false" name="HardwareSettings" />
1316 <UML:Class comment="@author Tom Haber
1317 @date Apr 21, 2008
1318 @brief A facade to the complete Atmel AVR chip.
1320 This class represents a complete Atmel AVR chip and
1321 forms a facade for the outside &quot;world&quot;.
1322 The class contains some useful construction methods
1323 used by the DeviceSettings class." isSpecification="false" isLeaf="false" visibility="public" namespace="22" xmi.id="563" isRoot="false" isAbstract="false" name="Device" >
1324 <UML:GeneralizableElement.generalization>
1325 <UML:Generalization xmi.idref="565" />
1326 <UML:Generalization xmi.idref="1350" />
1327 <UML:Generalization xmi.idref="565" />
1328 <UML:Generalization xmi.idref="1350" />
1329 <UML:Generalization xmi.idref="565" />
1330 <UML:Generalization xmi.idref="1350" />
1331 </UML:GeneralizableElement.generalization>
1332 <UML:Classifier.feature>
1333 <UML:Attribute isSpecification="false" visibility="private" xmi.id="617" type="616" name="defaultFrequency" ownerScope="classifier" />
1334 <UML:Attribute isSpecification="false" visibility="private" xmi.id="618" type="40" name="frq" />
1335 <UML:Attribute isSpecification="false" visibility="private" xmi.id="620" type="619" name="core" />
1336 <UML:Attribute isSpecification="false" visibility="private" xmi.id="621" type="133" name="bus" />
1337 <UML:Attribute isSpecification="false" visibility="private" xmi.id="623" type="622" name="eeprom" />
1338 <UML:Attribute isSpecification="false" visibility="private" xmi.id="625" type="624" name="pins" />
1339 <UML:Attribute isSpecification="false" visibility="private" xmi.id="628" type="627" name="name2pin" />
1340 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="568" isRoot="false" isAbstract="false" isQuery="false" name="Device" >
1341 <UML:BehavioralFeature.parameter>
1342 <UML:Parameter isSpecification="false" visibility="private" xmi.id="569" value="" type="92" name="clock" />
1343 <UML:Parameter isSpecification="false" visibility="private" xmi.id="570" value="" type="160" name="devicename" />
1344 </UML:BehavioralFeature.parameter>
1345 </UML:Operation>
1346 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="571" isRoot="false" isAbstract="false" isQuery="false" name="~ Device" />
1347 <UML:Operation comment="Loads the useful sections from the program file
1348 into eeprom, sram and flash." isSpecification="false" isLeaf="false" visibility="public" xmi.id="572" isRoot="false" isAbstract="false" isQuery="false" name="load" >
1349 <UML:BehavioralFeature.parameter>
1350 <UML:Parameter isSpecification="false" visibility="private" xmi.id="574" value="" type="573" name="program" />
1351 </UML:BehavioralFeature.parameter>
1352 </UML:Operation>
1353 <UML:Operation comment="Instantiates and adds an analyzer to the core." isSpecification="false" isLeaf="false" visibility="public" xmi.id="575" isRoot="false" isAbstract="false" isQuery="false" name="addAnalyzer" >
1354 <UML:BehavioralFeature.parameter>
1355 <UML:Parameter isSpecification="false" visibility="private" xmi.id="577" value="" type="576" name="vm" />
1356 <UML:Parameter isSpecification="false" visibility="private" xmi.id="578" value="" type="160" name="name" />
1357 </UML:BehavioralFeature.parameter>
1358 </UML:Operation>
1359 <UML:Operation comment="Adds a trace analyzer to the core
1360 which outputs to the specified file." isSpecification="false" isLeaf="false" visibility="public" xmi.id="579" isRoot="false" isAbstract="false" isQuery="false" name="trace" >
1361 <UML:BehavioralFeature.parameter>
1362 <UML:Parameter isSpecification="false" visibility="private" xmi.id="580" value="" type="160" name="tracefile" />
1363 </UML:BehavioralFeature.parameter>
1364 </UML:Operation>
1365 <UML:Operation comment="Performs a single cpu cycle." isSpecification="false" isLeaf="false" visibility="public" xmi.id="581" isRoot="false" isAbstract="false" isQuery="false" name="step" />
1366 <UML:Operation comment="Change the clock frequency of the device." isSpecification="false" isLeaf="false" visibility="public" xmi.id="582" isRoot="false" isAbstract="false" isQuery="false" name="setClockFrequency" >
1367 <UML:BehavioralFeature.parameter>
1368 <UML:Parameter isSpecification="false" visibility="private" xmi.id="583" value="" type="555" name="frq" />
1369 </UML:BehavioralFeature.parameter>
1370 </UML:Operation>
1371 <UML:Operation comment="Reset the chip." isSpecification="false" isLeaf="false" visibility="public" xmi.id="584" isRoot="false" isAbstract="false" isQuery="false" name="reset" >
1372 <UML:BehavioralFeature.parameter>
1373 <UML:Parameter isSpecification="false" visibility="private" xmi.id="585" value="" type="18" name="type" />
1374 </UML:BehavioralFeature.parameter>
1375 </UML:Operation>
1376 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="586" isRoot="false" isAbstract="false" isQuery="false" name="getPin" >
1377 <UML:BehavioralFeature.parameter>
1378 <UML:Parameter kind="return" xmi.id="45846" type="588" />
1379 <UML:Parameter isSpecification="false" visibility="private" xmi.id="587" value="" type="10" name="id" />
1380 </UML:BehavioralFeature.parameter>
1381 </UML:Operation>
1382 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="589" isRoot="false" isAbstract="false" isQuery="false" name="getPin" >
1383 <UML:BehavioralFeature.parameter>
1384 <UML:Parameter kind="return" xmi.id="45847" type="588" />
1385 <UML:Parameter isSpecification="false" visibility="private" xmi.id="590" value="" type="174" name="name" />
1386 </UML:BehavioralFeature.parameter>
1387 </UML:Operation>
1388 <UML:Operation comment="Returns an interface for debugging, this interface
1389 has access to some protected parts of the core." isSpecification="false" isLeaf="false" visibility="public" xmi.id="591" isRoot="false" isAbstract="false" isQuery="false" name="debugInterface" >
1390 <UML:BehavioralFeature.parameter>
1391 <UML:Parameter kind="return" xmi.id="45848" type="465" />
1392 </UML:BehavioralFeature.parameter>
1393 </UML:Operation>
1394 </UML:Classifier.feature>
1395 </UML:Class>
1396 <UML:Class comment="@author Tom Haber
1397 @date May 17, 2008
1398 @brief Abstraction for analyzers
1400 Analyzers can be inserted into the core and all
1401 changes in the state of the core are reported to it." isSpecification="false" isLeaf="false" visibility="public" namespace="22" xmi.id="443" isRoot="false" isAbstract="false" name="Analyzer" >
1402 <UML:Classifier.feature>
1403 <UML:Attribute isSpecification="false" visibility="protected" xmi.id="3723" type="619" name="core" />
1404 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="3676" isRoot="false" isAbstract="false" isQuery="false" name="Analyzer" >
1405 <UML:BehavioralFeature.parameter>
1406 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3677" value="" type="619" name="core" />
1407 </UML:BehavioralFeature.parameter>
1408 </UML:Operation>
1409 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3678" isRoot="false" isAbstract="false" isQuery="false" name="~ Analyzer" />
1410 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3679" isRoot="false" isAbstract="false" isQuery="false" name="reset" >
1411 <UML:BehavioralFeature.parameter>
1412 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3680" value="" type="18" name="type" />
1413 </UML:BehavioralFeature.parameter>
1414 </UML:Operation>
1415 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3681" isRoot="false" isAbstract="false" isQuery="false" name="trace" >
1416 <UML:BehavioralFeature.parameter>
1417 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3682" value="" type="28" name="address" />
1418 </UML:BehavioralFeature.parameter>
1419 </UML:Operation>
1420 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3683" isRoot="false" isAbstract="false" isQuery="false" name="step" >
1421 <UML:BehavioralFeature.parameter>
1422 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3684" value="" type="29" name="ticks" />
1423 </UML:BehavioralFeature.parameter>
1424 </UML:Operation>
1425 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3685" isRoot="false" isAbstract="false" isQuery="false" name="readRegister" >
1426 <UML:BehavioralFeature.parameter>
1427 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3686" value="" type="18" name="r" />
1428 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3687" value="" type="23" name="val" />
1429 </UML:BehavioralFeature.parameter>
1430 </UML:Operation>
1431 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3688" isRoot="false" isAbstract="false" isQuery="false" name="writeRegister" >
1432 <UML:BehavioralFeature.parameter>
1433 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3689" value="" type="18" name="r" />
1434 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3690" value="" type="23" name="val" />
1435 </UML:BehavioralFeature.parameter>
1436 </UML:Operation>
1437 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3691" isRoot="false" isAbstract="false" isQuery="false" name="readByte" >
1438 <UML:BehavioralFeature.parameter>
1439 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3692" value="" type="18" name="addr" />
1440 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3693" value="" type="23" name="val" />
1441 </UML:BehavioralFeature.parameter>
1442 </UML:Operation>
1443 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3694" isRoot="false" isAbstract="false" isQuery="false" name="writeByte" >
1444 <UML:BehavioralFeature.parameter>
1445 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3695" value="" type="18" name="addr" />
1446 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3696" value="" type="23" name="val" />
1447 </UML:BehavioralFeature.parameter>
1448 </UML:Operation>
1449 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3697" isRoot="false" isAbstract="false" isQuery="false" name="readFlash" >
1450 <UML:BehavioralFeature.parameter>
1451 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3698" value="" type="18" name="addr" />
1452 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3699" value="" type="23" name="val" />
1453 </UML:BehavioralFeature.parameter>
1454 </UML:Operation>
1455 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3700" isRoot="false" isAbstract="false" isQuery="false" name="writeFlash" >
1456 <UML:BehavioralFeature.parameter>
1457 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3701" value="" type="18" name="addr" />
1458 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3702" value="" type="26" name="data" />
1459 </UML:BehavioralFeature.parameter>
1460 </UML:Operation>
1461 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3703" isRoot="false" isAbstract="false" isQuery="false" name="fetchOperand" >
1462 <UML:BehavioralFeature.parameter>
1463 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3704" value="" type="26" name="val" />
1464 </UML:BehavioralFeature.parameter>
1465 </UML:Operation>
1466 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3705" isRoot="false" isAbstract="false" isQuery="false" name="push" >
1467 <UML:BehavioralFeature.parameter>
1468 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3706" value="" type="23" name="val" />
1469 </UML:BehavioralFeature.parameter>
1470 </UML:Operation>
1471 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3707" isRoot="false" isAbstract="false" isQuery="false" name="pop" >
1472 <UML:BehavioralFeature.parameter>
1473 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3708" value="" type="23" name="val" />
1474 </UML:BehavioralFeature.parameter>
1475 </UML:Operation>
1476 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3709" isRoot="false" isAbstract="false" isQuery="false" name="jump" >
1477 <UML:BehavioralFeature.parameter>
1478 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3710" value="" type="28" name="address" />
1479 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3711" value="" type="13" name="push" />
1480 </UML:BehavioralFeature.parameter>
1481 </UML:Operation>
1482 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3712" isRoot="false" isAbstract="false" isQuery="false" name="skip" />
1483 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3713" isRoot="false" isAbstract="false" isQuery="false" name="call" >
1484 <UML:BehavioralFeature.parameter>
1485 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3714" value="" type="28" name="address" />
1486 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3715" value="" type="13" name="push" />
1487 </UML:BehavioralFeature.parameter>
1488 </UML:Operation>
1489 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3716" isRoot="false" isAbstract="false" isQuery="false" name="ret" >
1490 <UML:BehavioralFeature.parameter>
1491 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3717" value="" type="13" name="interrupt" />
1492 </UML:BehavioralFeature.parameter>
1493 </UML:Operation>
1494 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3718" isRoot="false" isAbstract="false" isQuery="false" name="sleep" >
1495 <UML:BehavioralFeature.parameter>
1496 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3719" value="" type="18" name="mode" />
1497 </UML:BehavioralFeature.parameter>
1498 </UML:Operation>
1499 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3720" isRoot="false" isAbstract="false" isQuery="false" name="interrupt" >
1500 <UML:BehavioralFeature.parameter>
1501 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3721" value="" type="18" name="vector" />
1502 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3722" value="" type="18" name="addr" />
1503 </UML:BehavioralFeature.parameter>
1504 </UML:Operation>
1505 </UML:Classifier.feature>
1506 </UML:Class>
1507 <UML:Class comment="@author Tom Haber
1508 @date May 23, 2008
1509 @brief Factory for analyzers
1511 A factory for creating analyzers based on their name." isSpecification="false" isLeaf="false" visibility="public" namespace="22" xmi.id="3731" isRoot="false" isAbstract="false" name="AnalyzerFactory" >
1512 <UML:Classifier.feature>
1513 <UML:Operation comment="Build a new analyzer with name \e name" isSpecification="false" isLeaf="false" visibility="public" xmi.id="3732" isRoot="false" isAbstract="false" isQuery="false" name="newAnalyzer" >
1514 <UML:BehavioralFeature.parameter>
1515 <UML:Parameter kind="return" xmi.id="45849" type="472" />
1516 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3733" value="" type="619" name="core" />
1517 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3734" value="" type="576" name="vm" />
1518 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3735" value="" type="160" name="name" />
1519 </UML:BehavioralFeature.parameter>
1520 </UML:Operation>
1521 </UML:Classifier.feature>
1522 </UML:Class>
1523 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="22" xmi.id="559" isRoot="false" isAbstract="false" name="ScriptEngine" />
1524 <UML:Class comment="@author Tom Haber
1525 @date May 13, 2008
1526 @brief Scriptable Analyzer
1528 This class passes all core state changes to a script." isSpecification="false" isLeaf="false" visibility="public" namespace="22" xmi.id="3919" isRoot="false" isAbstract="false" name="ScriptableAnalyzer" >
1529 <UML:GeneralizableElement.generalization>
1530 <UML:Generalization xmi.idref="3921" />
1531 <UML:Generalization xmi.idref="3924" />
1532 <UML:Generalization xmi.idref="4466" />
1533 <UML:Generalization xmi.idref="3921" />
1534 <UML:Generalization xmi.idref="3924" />
1535 <UML:Generalization xmi.idref="4466" />
1536 <UML:Generalization xmi.idref="3921" />
1537 <UML:Generalization xmi.idref="3924" />
1538 <UML:Generalization xmi.idref="4466" />
1539 </UML:GeneralizableElement.generalization>
1540 <UML:Classifier.feature>
1541 <UML:Attribute isSpecification="false" visibility="private" xmi.id="3992" type="160" name="scriptname" />
1542 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="3927" isRoot="false" isAbstract="false" isQuery="false" name="ScriptableAnalyzer" >
1543 <UML:BehavioralFeature.parameter>
1544 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3928" value="" type="619" name="core" />
1545 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3929" value="" type="576" name="vm" />
1546 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3930" value="" type="160" name="scriptname" />
1547 </UML:BehavioralFeature.parameter>
1548 </UML:Operation>
1549 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3931" isRoot="false" isAbstract="false" isQuery="false" name="~ ScriptableAnalyzer" />
1550 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3932" isRoot="false" isAbstract="false" isQuery="false" name="reset" >
1551 <UML:BehavioralFeature.parameter>
1552 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3933" value="" type="18" name="type" />
1553 </UML:BehavioralFeature.parameter>
1554 </UML:Operation>
1555 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3934" isRoot="false" isAbstract="false" isQuery="false" name="trace" >
1556 <UML:BehavioralFeature.parameter>
1557 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3935" value="" type="28" name="address" />
1558 </UML:BehavioralFeature.parameter>
1559 </UML:Operation>
1560 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3936" isRoot="false" isAbstract="false" isQuery="false" name="step" >
1561 <UML:BehavioralFeature.parameter>
1562 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3937" value="" type="29" name="ticks" />
1563 </UML:BehavioralFeature.parameter>
1564 </UML:Operation>
1565 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3938" isRoot="false" isAbstract="false" isQuery="false" name="readRegister" >
1566 <UML:BehavioralFeature.parameter>
1567 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3939" value="" type="18" name="r" />
1568 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3940" value="" type="23" name="val" />
1569 </UML:BehavioralFeature.parameter>
1570 </UML:Operation>
1571 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3941" isRoot="false" isAbstract="false" isQuery="false" name="writeRegister" >
1572 <UML:BehavioralFeature.parameter>
1573 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3942" value="" type="18" name="r" />
1574 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3943" value="" type="23" name="val" />
1575 </UML:BehavioralFeature.parameter>
1576 </UML:Operation>
1577 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3944" isRoot="false" isAbstract="false" isQuery="false" name="readByte" >
1578 <UML:BehavioralFeature.parameter>
1579 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3945" value="" type="18" name="addr" />
1580 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3946" value="" type="23" name="val" />
1581 </UML:BehavioralFeature.parameter>
1582 </UML:Operation>
1583 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3947" isRoot="false" isAbstract="false" isQuery="false" name="writeByte" >
1584 <UML:BehavioralFeature.parameter>
1585 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3948" value="" type="18" name="addr" />
1586 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3949" value="" type="23" name="val" />
1587 </UML:BehavioralFeature.parameter>
1588 </UML:Operation>
1589 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3950" isRoot="false" isAbstract="false" isQuery="false" name="readFlash" >
1590 <UML:BehavioralFeature.parameter>
1591 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3951" value="" type="18" name="addr" />
1592 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3952" value="" type="23" name="val" />
1593 </UML:BehavioralFeature.parameter>
1594 </UML:Operation>
1595 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3953" isRoot="false" isAbstract="false" isQuery="false" name="writeFlash" >
1596 <UML:BehavioralFeature.parameter>
1597 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3954" value="" type="18" name="addr" />
1598 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3955" value="" type="26" name="data" />
1599 </UML:BehavioralFeature.parameter>
1600 </UML:Operation>
1601 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3956" isRoot="false" isAbstract="false" isQuery="false" name="fetchOperand" >
1602 <UML:BehavioralFeature.parameter>
1603 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3957" value="" type="26" name="val" />
1604 </UML:BehavioralFeature.parameter>
1605 </UML:Operation>
1606 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3958" isRoot="false" isAbstract="false" isQuery="false" name="push" >
1607 <UML:BehavioralFeature.parameter>
1608 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3959" value="" type="23" name="val" />
1609 </UML:BehavioralFeature.parameter>
1610 </UML:Operation>
1611 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3960" isRoot="false" isAbstract="false" isQuery="false" name="pop" >
1612 <UML:BehavioralFeature.parameter>
1613 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3961" value="" type="23" name="val" />
1614 </UML:BehavioralFeature.parameter>
1615 </UML:Operation>
1616 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3962" isRoot="false" isAbstract="false" isQuery="false" name="jump" >
1617 <UML:BehavioralFeature.parameter>
1618 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3963" value="" type="28" name="address" />
1619 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3964" value="" type="13" name="push" />
1620 </UML:BehavioralFeature.parameter>
1621 </UML:Operation>
1622 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3965" isRoot="false" isAbstract="false" isQuery="false" name="skip" />
1623 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3966" isRoot="false" isAbstract="false" isQuery="false" name="call" >
1624 <UML:BehavioralFeature.parameter>
1625 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3967" value="" type="28" name="address" />
1626 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3968" value="" type="13" name="push" />
1627 </UML:BehavioralFeature.parameter>
1628 </UML:Operation>
1629 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3969" isRoot="false" isAbstract="false" isQuery="false" name="ret" >
1630 <UML:BehavioralFeature.parameter>
1631 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3970" value="" type="13" name="interrupt" />
1632 </UML:BehavioralFeature.parameter>
1633 </UML:Operation>
1634 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3971" isRoot="false" isAbstract="false" isQuery="false" name="sleep" >
1635 <UML:BehavioralFeature.parameter>
1636 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3972" value="" type="18" name="mode" />
1637 </UML:BehavioralFeature.parameter>
1638 </UML:Operation>
1639 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3973" isRoot="false" isAbstract="false" isQuery="false" name="interrupt" >
1640 <UML:BehavioralFeature.parameter>
1641 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3974" value="" type="18" name="vector" />
1642 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3975" value="" type="18" name="addr" />
1643 </UML:BehavioralFeature.parameter>
1644 </UML:Operation>
1645 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="3976" isRoot="false" isAbstract="false" isQuery="false" name="callHelper" >
1646 <UML:BehavioralFeature.parameter>
1647 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3977" value="" type="160" name="method" />
1648 </UML:BehavioralFeature.parameter>
1649 </UML:Operation>
1650 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="3978" isRoot="false" isAbstract="false" isQuery="false" name="callHelper" >
1651 <UML:BehavioralFeature.parameter>
1652 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3979" value="" type="160" name="method" />
1653 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3980" value="" type="14" name="x" />
1654 </UML:BehavioralFeature.parameter>
1655 </UML:Operation>
1656 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="3981" isRoot="false" isAbstract="false" isQuery="false" name="callHelperb" >
1657 <UML:BehavioralFeature.parameter>
1658 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3982" value="" type="160" name="method" />
1659 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3983" value="" type="13" name="b" />
1660 </UML:BehavioralFeature.parameter>
1661 </UML:Operation>
1662 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="3984" isRoot="false" isAbstract="false" isQuery="false" name="callHelper" >
1663 <UML:BehavioralFeature.parameter>
1664 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3985" value="" type="160" name="method" />
1665 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3986" value="" type="14" name="x" />
1666 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3987" value="" type="14" name="y" />
1667 </UML:BehavioralFeature.parameter>
1668 </UML:Operation>
1669 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="3988" isRoot="false" isAbstract="false" isQuery="false" name="callHelperb" >
1670 <UML:BehavioralFeature.parameter>
1671 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3989" value="" type="160" name="method" />
1672 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3990" value="" type="14" name="x" />
1673 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3991" value="" type="13" name="val" />
1674 </UML:BehavioralFeature.parameter>
1675 </UML:Operation>
1676 </UML:Classifier.feature>
1677 </UML:Class>
1678 <UML:Class comment="@author Tom Haber
1679 @date May 17, 2008
1680 @brief Tracing Analyzer
1682 Provides a trace log with some of the Core state changes.
1683 This allows the user to review all instructions executed
1684 by the program and their effect on the registers at a later time." isSpecification="false" isLeaf="false" visibility="public" namespace="22" xmi.id="3993" isRoot="false" isAbstract="false" name="TraceAnalyzer" >
1685 <UML:GeneralizableElement.generalization>
1686 <UML:Generalization xmi.idref="3994" />
1687 <UML:Generalization xmi.idref="4649" />
1688 <UML:Generalization xmi.idref="3994" />
1689 <UML:Generalization xmi.idref="4649" />
1690 <UML:Generalization xmi.idref="3994" />
1691 <UML:Generalization xmi.idref="4649" />
1692 </UML:GeneralizableElement.generalization>
1693 <UML:Classifier.feature>
1694 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="3997" isRoot="false" isAbstract="false" isQuery="false" name="TraceAnalyzer" >
1695 <UML:BehavioralFeature.parameter>
1696 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3998" value="" type="619" name="core" />
1697 <UML:Parameter isSpecification="false" visibility="private" xmi.id="3999" value="" type="160" name="filname" />
1698 </UML:BehavioralFeature.parameter>
1699 </UML:Operation>
1700 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="4000" isRoot="false" isAbstract="false" isQuery="false" name="~ TraceAnalyzer" />
1701 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="4001" isRoot="false" isAbstract="false" isQuery="false" name="reset" >
1702 <UML:BehavioralFeature.parameter>
1703 <UML:Parameter isSpecification="false" visibility="private" xmi.id="4002" value="" type="18" name="type" />
1704 </UML:BehavioralFeature.parameter>
1705 </UML:Operation>
1706 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="4003" isRoot="false" isAbstract="false" isQuery="false" name="trace" >
1707 <UML:BehavioralFeature.parameter>
1708 <UML:Parameter isSpecification="false" visibility="private" xmi.id="4004" value="" type="28" name="address" />
1709 </UML:BehavioralFeature.parameter>
1710 </UML:Operation>
1711 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="4005" isRoot="false" isAbstract="false" isQuery="false" name="step" >
1712 <UML:BehavioralFeature.parameter>
1713 <UML:Parameter isSpecification="false" visibility="private" xmi.id="4006" value="" type="29" name="ticks" />
1714 </UML:BehavioralFeature.parameter>
1715 </UML:Operation>
1716 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="4007" isRoot="false" isAbstract="false" isQuery="false" name="readRegister" >
1717 <UML:BehavioralFeature.parameter>
1718 <UML:Parameter isSpecification="false" visibility="private" xmi.id="4008" value="" type="18" name="r" />
1719 <UML:Parameter isSpecification="false" visibility="private" xmi.id="4009" value="" type="23" name="val" />
1720 </UML:BehavioralFeature.parameter>
1721 </UML:Operation>
1722 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="4010" isRoot="false" isAbstract="false" isQuery="false" name="writeRegister" >
1723 <UML:BehavioralFeature.parameter>
1724 <UML:Parameter isSpecification="false" visibility="private" xmi.id="4011" value="" type="18" name="r" />
1725 <UML:Parameter isSpecification="false" visibility="private" xmi.id="4012" value="" type="23" name="val" />
1726 </UML:BehavioralFeature.parameter>
1727 </UML:Operation>
1728 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="4013" isRoot="false" isAbstract="false" isQuery="false" name="interrupt" >
1729 <UML:BehavioralFeature.parameter>
1730 <UML:Parameter isSpecification="false" visibility="private" xmi.id="4014" value="" type="18" name="vector" />
1731 <UML:Parameter isSpecification="false" visibility="private" xmi.id="4015" value="" type="18" name="addr" />
1732 </UML:BehavioralFeature.parameter>
1733 </UML:Operation>
1734 </UML:Classifier.feature>
1735 </UML:Class>
1736 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="22" xmi.id="444" isRoot="false" isAbstract="false" name="DebugInterface" />
1737 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="22" xmi.id="562" isRoot="false" isAbstract="false" name="DeviceSettings" />
1738 <UML:Class comment="@author Tom Haber
1739 @date Apr 23, 2008
1740 @brief The core of the AVR chip.
1742 This is the interpreter of the instructions and it contains the state." isSpecification="false" isLeaf="false" visibility="public" namespace="22" xmi.id="445" isRoot="false" isAbstract="false" name="Core" >
1743 <UML:Classifier.feature>
1744 <UML:Attribute isSpecification="false" visibility="private" xmi.id="519" type="358" name="mmu" />
1745 <UML:Attribute isSpecification="false" visibility="private" xmi.id="520" type="242" name="flash" />
1746 <UML:Attribute isSpecification="false" visibility="private" xmi.id="521" type="410" name="stack" />
1747 <UML:Attribute isSpecification="false" visibility="private" xmi.id="522" type="183" name="decoder" />
1748 <UML:Attribute isSpecification="false" visibility="private" xmi.id="523" type="198" name="bus" />
1749 <UML:Attribute isSpecification="false" visibility="private" xmi.id="524" type="224" name="SReg" />
1750 <UML:Attribute isSpecification="false" visibility="private" xmi.id="525" type="28" name="PC" />
1751 <UML:Attribute isSpecification="false" visibility="private" xmi.id="538" type="528" name="sleepMode" />
1752 <UML:Attribute isSpecification="false" visibility="private" xmi.id="540" type="539" name="analyzers" />
1753 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="457" isRoot="false" isAbstract="false" isQuery="false" name="loadFlash" >
1754 <UML:BehavioralFeature.parameter>
1755 <UML:Parameter isSpecification="false" visibility="private" xmi.id="458" value="" type="232" name="data" />
1756 <UML:Parameter isSpecification="false" visibility="private" xmi.id="459" value="" type="18" name="offset" />
1757 <UML:Parameter isSpecification="false" visibility="private" xmi.id="460" value="" type="18" name="size" />
1758 </UML:BehavioralFeature.parameter>
1759 </UML:Operation>
1760 <UML:Operation comment="Resets the core" isSpecification="false" isLeaf="false" visibility="public" xmi.id="461" isRoot="false" isAbstract="false" isQuery="false" name="reset" >
1761 <UML:BehavioralFeature.parameter>
1762 <UML:Parameter isSpecification="false" visibility="private" xmi.id="462" value="" type="18" name="type" />
1763 </UML:BehavioralFeature.parameter>
1764 </UML:Operation>
1765 <UML:Operation comment="Executes a single cpu cycle." isSpecification="false" isLeaf="false" visibility="public" xmi.id="463" isRoot="false" isAbstract="false" isQuery="false" name="step" >
1766 <UML:BehavioralFeature.parameter>
1767 <UML:Parameter kind="return" xmi.id="45850" type="13" />
1768 </UML:BehavioralFeature.parameter>
1769 </UML:Operation>
1770 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="464" isRoot="false" isAbstract="false" isQuery="false" name="setDebugInterface" >
1771 <UML:BehavioralFeature.parameter>
1772 <UML:Parameter isSpecification="false" visibility="private" xmi.id="466" value="" type="465" name="dbgi" />
1773 </UML:BehavioralFeature.parameter>
1774 </UML:Operation>
1775 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="467" isRoot="false" isAbstract="false" isQuery="false" name="addIOReg" >
1776 <UML:BehavioralFeature.parameter>
1777 <UML:Parameter isSpecification="false" visibility="private" xmi.id="468" value="" type="18" name="address" />
1778 <UML:Parameter isSpecification="false" visibility="private" xmi.id="469" value="" type="174" name="name" />
1779 <UML:Parameter isSpecification="false" visibility="private" xmi.id="470" value="" type="23" name="initial" />
1780 </UML:BehavioralFeature.parameter>
1781 </UML:Operation>
1782 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="471" isRoot="false" isAbstract="false" isQuery="false" name="addAnalyzer" >
1783 <UML:BehavioralFeature.parameter>
1784 <UML:Parameter isSpecification="false" visibility="private" xmi.id="473" value="" type="472" name="analyzer" />
1785 </UML:BehavioralFeature.parameter>
1786 </UML:Operation>
1787 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="474" isRoot="false" isAbstract="false" isQuery="false" name="getR" >
1788 <UML:BehavioralFeature.parameter>
1789 <UML:Parameter kind="return" xmi.id="45851" type="294" />
1790 <UML:Parameter isSpecification="false" visibility="private" xmi.id="475" value="" type="10" name="r" />
1791 </UML:BehavioralFeature.parameter>
1792 </UML:Operation>
1793 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="476" isRoot="false" isAbstract="false" isQuery="false" name="getIoreg" >
1794 <UML:BehavioralFeature.parameter>
1795 <UML:Parameter kind="return" xmi.id="45852" type="339" />
1796 <UML:Parameter isSpecification="false" visibility="private" xmi.id="477" value="" type="18" name="offset" />
1797 </UML:BehavioralFeature.parameter>
1798 </UML:Operation>
1799 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="478" isRoot="false" isAbstract="false" isQuery="false" name="getIoreg" >
1800 <UML:BehavioralFeature.parameter>
1801 <UML:Parameter kind="return" xmi.id="45853" type="203" />
1802 <UML:Parameter isSpecification="false" visibility="private" xmi.id="479" value="" type="174" name="name" />
1803 </UML:BehavioralFeature.parameter>
1804 </UML:Operation>
1805 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="480" isRoot="false" isAbstract="false" isQuery="false" name="readRegister" >
1806 <UML:BehavioralFeature.parameter>
1807 <UML:Parameter kind="return" xmi.id="45854" type="23" />
1808 <UML:Parameter isSpecification="false" visibility="private" xmi.id="481" value="" type="18" name="r" />
1809 </UML:BehavioralFeature.parameter>
1810 </UML:Operation>
1811 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="482" isRoot="false" isAbstract="false" isQuery="false" name="writeRegister" >
1812 <UML:BehavioralFeature.parameter>
1813 <UML:Parameter isSpecification="false" visibility="private" xmi.id="483" value="" type="18" name="r" />
1814 <UML:Parameter isSpecification="false" visibility="private" xmi.id="484" value="" type="23" name="val" />
1815 </UML:BehavioralFeature.parameter>
1816 </UML:Operation>
1817 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="485" isRoot="false" isAbstract="false" isQuery="false" name="readStatus" >
1818 <UML:BehavioralFeature.parameter>
1819 <UML:Parameter kind="return" xmi.id="45855" type="23" />
1820 </UML:BehavioralFeature.parameter>
1821 </UML:Operation>
1822 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="486" isRoot="false" isAbstract="false" isQuery="false" name="writeStatus" >
1823 <UML:BehavioralFeature.parameter>
1824 <UML:Parameter isSpecification="false" visibility="private" xmi.id="487" value="" type="23" name="val" />
1825 </UML:BehavioralFeature.parameter>
1826 </UML:Operation>
1827 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="488" isRoot="false" isAbstract="false" isQuery="false" name="readIORegister" >
1828 <UML:BehavioralFeature.parameter>
1829 <UML:Parameter kind="return" xmi.id="45856" type="23" />
1830 <UML:Parameter isSpecification="false" visibility="private" xmi.id="489" value="" type="18" name="r" />
1831 </UML:BehavioralFeature.parameter>
1832 </UML:Operation>
1833 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="490" isRoot="false" isAbstract="false" isQuery="false" name="writeIORegister" >
1834 <UML:BehavioralFeature.parameter>
1835 <UML:Parameter isSpecification="false" visibility="private" xmi.id="491" value="" type="18" name="r" />
1836 <UML:Parameter isSpecification="false" visibility="private" xmi.id="492" value="" type="23" name="val" />
1837 </UML:BehavioralFeature.parameter>
1838 </UML:Operation>
1839 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="493" isRoot="false" isAbstract="false" isQuery="false" name="readByte" >
1840 <UML:BehavioralFeature.parameter>
1841 <UML:Parameter kind="return" xmi.id="45857" type="23" />
1842 <UML:Parameter isSpecification="false" visibility="private" xmi.id="494" value="" type="18" name="addr" />
1843 </UML:BehavioralFeature.parameter>
1844 </UML:Operation>
1845 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="495" isRoot="false" isAbstract="false" isQuery="false" name="writeByte" >
1846 <UML:BehavioralFeature.parameter>
1847 <UML:Parameter isSpecification="false" visibility="private" xmi.id="496" value="" type="18" name="addr" />
1848 <UML:Parameter isSpecification="false" visibility="private" xmi.id="497" value="" type="23" name="val" />
1849 </UML:BehavioralFeature.parameter>
1850 </UML:Operation>
1851 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="498" isRoot="false" isAbstract="false" isQuery="false" name="readFlash" >
1852 <UML:BehavioralFeature.parameter>
1853 <UML:Parameter kind="return" xmi.id="45858" type="23" />
1854 <UML:Parameter isSpecification="false" visibility="private" xmi.id="499" value="" type="18" name="addr" />
1855 </UML:BehavioralFeature.parameter>
1856 </UML:Operation>
1857 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="500" isRoot="false" isAbstract="false" isQuery="false" name="writeFlash" >
1858 <UML:BehavioralFeature.parameter>
1859 <UML:Parameter kind="return" xmi.id="45859" type="10" />
1860 <UML:Parameter isSpecification="false" visibility="private" xmi.id="501" value="" type="18" name="addr" />
1861 <UML:Parameter isSpecification="false" visibility="private" xmi.id="502" value="" type="26" name="data" />
1862 </UML:BehavioralFeature.parameter>
1863 </UML:Operation>
1864 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="503" isRoot="false" isAbstract="false" isQuery="false" name="fetchOperand" >
1865 <UML:BehavioralFeature.parameter>
1866 <UML:Parameter kind="return" xmi.id="45860" type="26" />
1867 </UML:BehavioralFeature.parameter>
1868 </UML:Operation>
1869 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="504" isRoot="false" isAbstract="false" isQuery="false" name="pcBytes" >
1870 <UML:BehavioralFeature.parameter>
1871 <UML:Parameter kind="return" xmi.id="45861" type="10" />
1872 </UML:BehavioralFeature.parameter>
1873 </UML:Operation>
1874 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="505" isRoot="false" isAbstract="false" isQuery="false" name="push" >
1875 <UML:BehavioralFeature.parameter>
1876 <UML:Parameter isSpecification="false" visibility="private" xmi.id="506" value="" type="23" name="val" />
1877 </UML:BehavioralFeature.parameter>
1878 </UML:Operation>
1879 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="507" isRoot="false" isAbstract="false" isQuery="false" name="pop" >
1880 <UML:BehavioralFeature.parameter>
1881 <UML:Parameter kind="return" xmi.id="45862" type="23" />
1882 </UML:BehavioralFeature.parameter>
1883 </UML:Operation>
1884 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="508" isRoot="false" isAbstract="false" isQuery="false" name="jump" >
1885 <UML:BehavioralFeature.parameter>
1886 <UML:Parameter isSpecification="false" visibility="private" xmi.id="509" value="" type="25" name="offset" />
1887 <UML:Parameter isSpecification="false" visibility="private" xmi.id="510" value="" type="13" name="push" />
1888 </UML:BehavioralFeature.parameter>
1889 </UML:Operation>
1890 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="511" isRoot="false" isAbstract="false" isQuery="false" name="skip" >
1891 <UML:BehavioralFeature.parameter>
1892 <UML:Parameter kind="return" xmi.id="45863" type="10" />
1893 </UML:BehavioralFeature.parameter>
1894 </UML:Operation>
1895 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="512" isRoot="false" isAbstract="false" isQuery="false" name="call" >
1896 <UML:BehavioralFeature.parameter>
1897 <UML:Parameter isSpecification="false" visibility="private" xmi.id="513" value="" type="28" name="address" />
1898 <UML:Parameter isSpecification="false" visibility="private" xmi.id="514" value="" type="13" name="push" />
1899 </UML:BehavioralFeature.parameter>
1900 </UML:Operation>
1901 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="515" isRoot="false" isAbstract="false" isQuery="false" name="ret" >
1902 <UML:BehavioralFeature.parameter>
1903 <UML:Parameter isSpecification="false" visibility="private" xmi.id="516" value="" type="13" name="interrupt" />
1904 </UML:BehavioralFeature.parameter>
1905 </UML:Operation>
1906 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="517" isRoot="false" isAbstract="false" isQuery="false" name="sleep" />
1907 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="518" isRoot="false" isAbstract="false" isQuery="false" name="invokeInterrupt" >
1908 <UML:BehavioralFeature.parameter>
1909 <UML:Parameter kind="return" xmi.id="45864" type="13" />
1910 </UML:BehavioralFeature.parameter>
1911 </UML:Operation>
1912 </UML:Classifier.feature>
1913 <UML:Namespace.ownedElement>
1914 <UML:Enumeration stereotype="31" isSpecification="false" isLeaf="false" visibility="public" namespace="445" xmi.id="528" isRoot="false" isAbstract="false" name="SleepMode" >
1915 <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="528" xmi.id="529" isRoot="false" isAbstract="false" name="SLEEP_MODE_IDLE" />
1916 <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="528" xmi.id="530" isRoot="false" isAbstract="false" name="SLEEP_MODE_ADC_REDUX" />
1917 <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="528" xmi.id="531" isRoot="false" isAbstract="false" name="SLEEP_MODE_PWR_DOWN" />
1918 <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="528" xmi.id="532" isRoot="false" isAbstract="false" name="SLEEP_MODE_PWR_SAVE" />
1919 <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="528" xmi.id="533" isRoot="false" isAbstract="false" name="SLEEP_MODE_reserved1" />
1920 <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="528" xmi.id="534" isRoot="false" isAbstract="false" name="SLEEP_MODE_reserved2" />
1921 <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="528" xmi.id="535" isRoot="false" isAbstract="false" name="SLEEP_MODE_STANDBY" />
1922 <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="528" xmi.id="536" isRoot="false" isAbstract="false" name="SLEEP_MODE_EXT_STANDBY" />
1923 <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="528" xmi.id="537" isRoot="false" isAbstract="false" name="SLEEP_MODE_NONE" />
1924 </UML:Enumeration>
1925 </UML:Namespace.ownedElement>
1926 </UML:Class>
1927 <UML:Class comment="@author Tom Haber
1928 @date Apr 21, 2008
1929 @brief Thrown on illegal instructions
1931 Thrown on illegal instructions, the opcode is available." isSpecification="false" isLeaf="false" visibility="public" namespace="22" xmi.id="13210" isRoot="false" isAbstract="false" name="IllegalInstruction" >
1932 <UML:GeneralizableElement.generalization>
1933 <UML:Generalization xmi.idref="13211" />
1934 </UML:GeneralizableElement.generalization>
1935 <UML:Classifier.feature>
1936 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="13214" isRoot="false" isAbstract="false" isQuery="false" name="IllegalInstruction" >
1937 <UML:BehavioralFeature.parameter>
1938 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13215" value="" type="26" name="opcode" />
1939 </UML:BehavioralFeature.parameter>
1940 </UML:Operation>
1941 </UML:Classifier.feature>
1942 </UML:Class>
1943 <UML:Class comment="@author Tom Haber
1944 @date May 13, 2008
1945 @brief Abstraction of program file formats
1947 A single section of the program. Contains the data
1948 associated with a specific address range and location (Flash or Eeprom)" isSpecification="false" isLeaf="false" visibility="public" namespace="22" xmi.id="17587" isRoot="false" isAbstract="false" name="Section" >
1949 <UML:Classifier.feature>
1950 <UML:Attribute isSpecification="false" visibility="private" xmi.id="17607" type="46" name="type" />
1951 <UML:Attribute isSpecification="false" visibility="private" xmi.id="17608" type="18" name="addr" />
1952 <UML:Attribute isSpecification="false" visibility="private" xmi.id="17609" type="18" name="siz" />
1953 <UML:Attribute isSpecification="false" visibility="private" xmi.id="17610" type="232" name="d" />
1954 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="17591" isRoot="false" isAbstract="false" isQuery="false" name="Section" />
1955 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="17592" isRoot="false" isAbstract="false" isQuery="false" name="Section" >
1956 <UML:BehavioralFeature.parameter>
1957 <UML:Parameter isSpecification="false" visibility="private" xmi.id="17593" value="" type="46" name="type" />
1958 <UML:Parameter isSpecification="false" visibility="private" xmi.id="17594" value="" type="18" name="address" />
1959 <UML:Parameter isSpecification="false" visibility="private" xmi.id="17595" value="" type="18" name="size" />
1960 </UML:BehavioralFeature.parameter>
1961 </UML:Operation>
1962 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="17596" isRoot="false" isAbstract="false" isQuery="false" name="~ Section" />
1963 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="17597" isRoot="false" isAbstract="false" isQuery="false" name="init" >
1964 <UML:BehavioralFeature.parameter>
1965 <UML:Parameter isSpecification="false" visibility="private" xmi.id="17598" value="" type="46" name="type" />
1966 <UML:Parameter isSpecification="false" visibility="private" xmi.id="17599" value="" type="18" name="address" />
1967 <UML:Parameter isSpecification="false" visibility="private" xmi.id="17600" value="" type="18" name="size" />
1968 </UML:BehavioralFeature.parameter>
1969 </UML:Operation>
1970 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="17601" isRoot="false" isAbstract="false" isQuery="false" name="clear" />
1971 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="17602" isRoot="false" isAbstract="false" isQuery="false" name="data" >
1972 <UML:BehavioralFeature.parameter>
1973 <UML:Parameter kind="return" xmi.id="45865" type="232" />
1974 </UML:BehavioralFeature.parameter>
1975 </UML:Operation>
1976 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="17603" isRoot="false" isAbstract="false" isQuery="false" name="size" >
1977 <UML:BehavioralFeature.parameter>
1978 <UML:Parameter kind="return" xmi.id="45866" type="18" />
1979 </UML:BehavioralFeature.parameter>
1980 </UML:Operation>
1981 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="17604" isRoot="false" isAbstract="false" isQuery="false" name="address" >
1982 <UML:BehavioralFeature.parameter>
1983 <UML:Parameter kind="return" xmi.id="45867" type="18" />
1984 </UML:BehavioralFeature.parameter>
1985 </UML:Operation>
1986 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="17605" isRoot="false" isAbstract="false" isQuery="false" name="isFlash" >
1987 <UML:BehavioralFeature.parameter>
1988 <UML:Parameter kind="return" xmi.id="45868" type="13" />
1989 </UML:BehavioralFeature.parameter>
1990 </UML:Operation>
1991 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="17606" isRoot="false" isAbstract="false" isQuery="false" name="isEeprom" >
1992 <UML:BehavioralFeature.parameter>
1993 <UML:Parameter kind="return" xmi.id="45869" type="13" />
1994 </UML:BehavioralFeature.parameter>
1995 </UML:Operation>
1996 </UML:Classifier.feature>
1997 </UML:Class>
1998 <UML:Class comment="@author Tom Haber
1999 @date May 23, 2008
2000 @brief Abstraction of a Program
2002 Abstraction of a Program, contains methods for
2003 loading files and reading sections.
2004 Additionally, it stores the symbols with the program
2005 and has convenient lookup functions for flash and data
2006 symbols." isSpecification="false" isLeaf="false" visibility="public" namespace="22" xmi.id="560" isRoot="false" isAbstract="false" name="Program" >
2007 <UML:Classifier.feature>
2008 <UML:Attribute isSpecification="false" visibility="private" xmi.id="17631" type="17630" name="flashSymbols" />
2009 <UML:Attribute isSpecification="false" visibility="private" xmi.id="17632" type="17630" name="dataSymbols" />
2010 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="17611" isRoot="false" isAbstract="false" isQuery="false" name="~ Program" />
2011 <UML:Operation comment="Opens and loads a file." isSpecification="false" isLeaf="false" visibility="public" xmi.id="17612" isRoot="false" isAbstract="true" isQuery="false" name="load" >
2012 <UML:BehavioralFeature.parameter>
2013 <UML:Parameter isSpecification="false" visibility="private" xmi.id="17613" value="" type="160" name="filename" />
2014 </UML:BehavioralFeature.parameter>
2015 </UML:Operation>
2016 <UML:Operation comment="Reads the next available section from the file
2017 and returns the data in \e sec.
2019 \returns false if no further sections are available." isSpecification="false" isLeaf="false" visibility="public" xmi.id="17614" isRoot="false" isAbstract="true" isQuery="false" name="readNextSection" >
2020 <UML:BehavioralFeature.parameter>
2021 <UML:Parameter kind="return" xmi.id="45870" type="13" />
2022 <UML:Parameter isSpecification="false" visibility="private" xmi.id="17616" value="" type="17615" name="sec" />
2023 </UML:BehavioralFeature.parameter>
2024 </UML:Operation>
2025 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="17617" isRoot="false" isAbstract="false" isQuery="false" name="functionName" >
2026 <UML:BehavioralFeature.parameter>
2027 <UML:Parameter kind="return" xmi.id="45871" type="174" />
2028 <UML:Parameter isSpecification="false" visibility="private" xmi.id="17618" value="" type="10" name="addr" />
2029 </UML:BehavioralFeature.parameter>
2030 </UML:Operation>
2031 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="17619" isRoot="false" isAbstract="false" isQuery="false" name="dataName" >
2032 <UML:BehavioralFeature.parameter>
2033 <UML:Parameter kind="return" xmi.id="45872" type="174" />
2034 <UML:Parameter isSpecification="false" visibility="private" xmi.id="17620" value="" type="10" name="addr" />
2035 </UML:BehavioralFeature.parameter>
2036 </UML:Operation>
2037 <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="17621" isRoot="false" isAbstract="false" isQuery="false" name="addSymbolFlash" >
2038 <UML:BehavioralFeature.parameter>
2039 <UML:Parameter isSpecification="false" visibility="private" xmi.id="17622" value="" type="10" name="addr" />
2040 <UML:Parameter isSpecification="false" visibility="private" xmi.id="17623" value="" type="160" name="name" />
2041 </UML:BehavioralFeature.parameter>
2042 </UML:Operation>
2043 <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="17624" isRoot="false" isAbstract="false" isQuery="false" name="addSymbolEeprom" >
2044 <UML:BehavioralFeature.parameter>
2045 <UML:Parameter isSpecification="false" visibility="private" xmi.id="17625" value="" type="10" name="addr" />
2046 <UML:Parameter isSpecification="false" visibility="private" xmi.id="17626" value="" type="160" name="name" />
2047 </UML:BehavioralFeature.parameter>
2048 </UML:Operation>
2049 <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="17627" isRoot="false" isAbstract="false" isQuery="false" name="addSymbolRam" >
2050 <UML:BehavioralFeature.parameter>
2051 <UML:Parameter isSpecification="false" visibility="private" xmi.id="17628" value="" type="10" name="addr" />
2052 <UML:Parameter isSpecification="false" visibility="private" xmi.id="17629" value="" type="160" name="name" />
2053 </UML:BehavioralFeature.parameter>
2054 </UML:Operation>
2055 </UML:Classifier.feature>
2056 <UML:Namespace.ownedElement>
2057 <UML:Class stereotype="24" isSpecification="false" isLeaf="false" visibility="public" namespace="560" xmi.id="17630" isRoot="false" isAbstract="false" name="SymTable" />
2058 </UML:Namespace.ownedElement>
2059 </UML:Class>
2060 <UML:Class comment="@author Tom Haber
2061 @date May 22, 2008
2062 @brief Support for the Intel Hex file format
2064 HexProgram is an implementation of a Program that
2065 can read Intel Hex format files as generated by
2066 avra and avr studio. This is usually also the format
2067 supplied to avrdude for programming." isSpecification="false" isLeaf="false" visibility="public" namespace="22" xmi.id="17633" isRoot="false" isAbstract="false" name="HexProgram" >
2068 <UML:GeneralizableElement.generalization>
2069 <UML:Generalization xmi.idref="17635" />
2070 </UML:GeneralizableElement.generalization>
2071 <UML:Classifier.feature>
2072 <UML:Attribute isSpecification="false" visibility="private" xmi.id="17648" type="17647" name="f" />
2073 <UML:Attribute isSpecification="false" visibility="private" xmi.id="17649" type="13" name="end" />
2074 <UML:Attribute isSpecification="false" visibility="private" xmi.id="17650" type="18" name="offset" />
2075 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="17638" isRoot="false" isAbstract="false" isQuery="false" name="HexProgram" />
2076 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="17639" isRoot="false" isAbstract="false" isQuery="false" name="HexProgram" >
2077 <UML:BehavioralFeature.parameter>
2078 <UML:Parameter isSpecification="false" visibility="private" xmi.id="17640" value="" type="160" name="filename" />
2079 </UML:BehavioralFeature.parameter>
2080 </UML:Operation>
2081 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="17641" isRoot="false" isAbstract="false" isQuery="false" name="~ HexProgram" />
2082 <UML:Operation comment="Opens and loads a file." isSpecification="false" isLeaf="false" visibility="public" xmi.id="17642" isRoot="false" isAbstract="false" isQuery="false" name="load" >
2083 <UML:BehavioralFeature.parameter>
2084 <UML:Parameter isSpecification="false" visibility="private" xmi.id="17643" value="" type="160" name="filename" />
2085 </UML:BehavioralFeature.parameter>
2086 </UML:Operation>
2087 <UML:Operation comment="Reads the next available section from the file
2088 and returns the data in \e sec.
2090 \returns false if no further sections are available." isSpecification="false" isLeaf="false" visibility="public" xmi.id="17644" isRoot="false" isAbstract="false" isQuery="false" name="readNextSection" >
2091 <UML:BehavioralFeature.parameter>
2092 <UML:Parameter kind="return" xmi.id="45873" type="13" />
2093 <UML:Parameter isSpecification="false" visibility="private" xmi.id="17645" value="" type="17615" name="sec" />
2094 </UML:BehavioralFeature.parameter>
2095 </UML:Operation>
2096 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="17646" isRoot="false" isAbstract="false" isQuery="false" name="loadSymbols" />
2097 </UML:Classifier.feature>
2098 </UML:Class>
2099 <UML:Class comment="@author Tom Haber
2100 @date Apr 27, 2008
2101 @brief Manages hardware and interrupts
2103 The bus contains the list of all hardware and serves as
2104 a clock for the hardware (working on cpu ticks).
2105 Hardware can register callbacks within a number of ticks.
2107 It also encapsulates the functionality related to
2108 handling the state of interrupts." isSpecification="false" isLeaf="false" visibility="public" namespace="22" xmi.id="133" isRoot="false" isAbstract="false" name="Bus" >
2109 <UML:GeneralizableElement.generalization>
2110 <UML:Generalization xmi.idref="135" />
2111 <UML:Generalization xmi.idref="135" />
2112 <UML:Generalization xmi.idref="135" />
2113 </UML:GeneralizableElement.generalization>
2114 <UML:Classifier.feature>
2115 <UML:Attribute isSpecification="false" visibility="public" xmi.id="146" type="145" name="intVectorsSize" ownerScope="classifier" />
2116 <UML:Attribute isSpecification="false" visibility="private" xmi.id="168" type="167" name="hardware" />
2117 <UML:Attribute isSpecification="false" visibility="private" xmi.id="180" type="179" name="intVectors" />
2118 <UML:Attribute isSpecification="false" visibility="private" xmi.id="181" type="18" name="irqPending" />
2119 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="138" isRoot="false" isAbstract="false" isQuery="false" name="Bus" />
2120 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="139" isRoot="false" isAbstract="false" isQuery="false" name="~ Bus" />
2121 <UML:Operation comment="Reset the bus and all hardware on it." isSpecification="false" isLeaf="false" visibility="public" xmi.id="140" isRoot="false" isAbstract="false" isQuery="false" name="reset" />
2122 <UML:Operation comment="Adds a bit of hardware to the bus" isSpecification="false" isLeaf="false" visibility="public" xmi.id="141" isRoot="false" isAbstract="false" isQuery="false" name="addHardware" >
2123 <UML:BehavioralFeature.parameter>
2124 <UML:Parameter isSpecification="false" visibility="private" xmi.id="143" value="" type="142" name="hw" />
2125 </UML:BehavioralFeature.parameter>
2126 </UML:Operation>
2127 <UML:Operation comment="Check wether the hardware is holding the cpu.
2128 \warning call this only once per cpu tick!" isSpecification="false" isLeaf="false" visibility="public" xmi.id="144" isRoot="false" isAbstract="false" isQuery="false" name="isHoldingCPU" >
2129 <UML:BehavioralFeature.parameter>
2130 <UML:Parameter kind="return" xmi.id="45874" type="13" />
2131 </UML:BehavioralFeature.parameter>
2132 </UML:Operation>
2133 <UML:Operation comment="Post the interrupt with vector \e vector" isSpecification="false" isLeaf="false" visibility="public" xmi.id="147" isRoot="false" isAbstract="false" isQuery="false" name="raiseInterrupt" >
2134 <UML:BehavioralFeature.parameter>
2135 <UML:Parameter isSpecification="false" visibility="private" xmi.id="148" value="" type="18" name="vector" />
2136 </UML:BehavioralFeature.parameter>
2137 </UML:Operation>
2138 <UML:Operation comment="Unpost the interrupt with vector \e vector" isSpecification="false" isLeaf="false" visibility="public" xmi.id="149" isRoot="false" isAbstract="false" isQuery="false" name="clearInterrupt" >
2139 <UML:BehavioralFeature.parameter>
2140 <UML:Parameter isSpecification="false" visibility="private" xmi.id="150" value="" type="18" name="vector" />
2141 </UML:BehavioralFeature.parameter>
2142 </UML:Operation>
2143 <UML:Operation comment="Returns the pending interrupt with highest priority." isSpecification="false" isLeaf="false" visibility="public" xmi.id="151" isRoot="false" isAbstract="false" isQuery="false" name="pendingInterrupt" >
2144 <UML:BehavioralFeature.parameter>
2145 <UML:Parameter kind="return" xmi.id="45875" type="18" />
2146 </UML:BehavioralFeature.parameter>
2147 </UML:Operation>
2148 <UML:Operation comment="Checks whether an interrupt is pending." isSpecification="false" isLeaf="false" visibility="public" xmi.id="152" isRoot="false" isAbstract="false" isQuery="false" name="isInterruptPending" >
2149 <UML:BehavioralFeature.parameter>
2150 <UML:Parameter kind="return" xmi.id="45876" type="13" />
2151 </UML:BehavioralFeature.parameter>
2152 </UML:Operation>
2153 <UML:Operation comment="Returns the memory address associated with the vector." isSpecification="false" isLeaf="false" visibility="public" xmi.id="153" isRoot="false" isAbstract="false" isQuery="false" name="interruptVectorAddress" >
2154 <UML:BehavioralFeature.parameter>
2155 <UML:Parameter kind="return" xmi.id="45877" type="18" />
2156 <UML:Parameter isSpecification="false" visibility="private" xmi.id="154" value="" type="18" name="vector" />
2157 </UML:BehavioralFeature.parameter>
2158 </UML:Operation>
2159 <UML:Operation comment="Notifies the hardware associated with this interrupt
2160 that the handler is about to be invoked." isSpecification="false" isLeaf="false" visibility="public" xmi.id="155" isRoot="false" isAbstract="false" isQuery="false" name="beforeInvokeInterrupt" >
2161 <UML:BehavioralFeature.parameter>
2162 <UML:Parameter isSpecification="false" visibility="private" xmi.id="156" value="" type="18" name="vector" />
2163 </UML:BehavioralFeature.parameter>
2164 </UML:Operation>
2165 <UML:Operation comment="Add an interrupt vector." isSpecification="false" isLeaf="false" visibility="public" xmi.id="157" isRoot="false" isAbstract="false" isQuery="false" name="addInterrupt" >
2166 <UML:BehavioralFeature.parameter>
2167 <UML:Parameter isSpecification="false" visibility="private" xmi.id="158" value="" type="18" name="vector" />
2168 <UML:Parameter isSpecification="false" visibility="private" xmi.id="159" value="" type="18" name="address" />
2169 <UML:Parameter isSpecification="false" visibility="private" xmi.id="161" value="" type="160" name="name" />
2170 </UML:BehavioralFeature.parameter>
2171 </UML:Operation>
2172 <UML:Operation comment="Hardware can claim an interrupt, this means that it is
2173 responsible for raising an interrupt. It will from then
2174 on be notified before an interrupt vector is executed." isSpecification="false" isLeaf="false" visibility="public" xmi.id="162" isRoot="false" isAbstract="false" isQuery="false" name="claimInterrupt" >
2175 <UML:BehavioralFeature.parameter>
2176 <UML:Parameter isSpecification="false" visibility="private" xmi.id="163" value="" type="18" name="vector" />
2177 <UML:Parameter isSpecification="false" visibility="private" xmi.id="164" value="" type="142" name="hw" />
2178 </UML:BehavioralFeature.parameter>
2179 </UML:Operation>
2180 </UML:Classifier.feature>
2181 <UML:Namespace.ownedElement>
2182 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="133" xmi.id="169" isRoot="false" isAbstract="false" name="IntVect" >
2183 <UML:Classifier.feature>
2184 <UML:Attribute isSpecification="false" visibility="public" xmi.id="176" type="18" name="address" />
2185 <UML:Attribute isSpecification="false" visibility="public" xmi.id="177" type="173" name="name" />
2186 <UML:Attribute isSpecification="false" visibility="public" xmi.id="178" type="142" name="hw" />
2187 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="170" isRoot="false" isAbstract="false" isQuery="false" name="IntVect" />
2188 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="171" isRoot="false" isAbstract="false" isQuery="false" name="IntVect" >
2189 <UML:BehavioralFeature.parameter>
2190 <UML:Parameter isSpecification="false" visibility="private" xmi.id="172" value="" type="18" name="addr" />
2191 <UML:Parameter isSpecification="false" visibility="private" xmi.id="175" value="" type="174" name="name" />
2192 </UML:BehavioralFeature.parameter>
2193 </UML:Operation>
2194 </UML:Classifier.feature>
2195 </UML:Class>
2196 <UML:Class stereotype="24" isSpecification="false" isLeaf="false" visibility="public" namespace="133" xmi.id="179" isRoot="false" isAbstract="false" name="InterruptTable" />
2197 </UML:Namespace.ownedElement>
2198 </UML:Class>
2199 <UML:Class comment="@author Tom Haber
2200 @date 21 April 2008
2201 @brief Abstraction of all types of memory.
2203 This class is an abstraction of all types of memory
2204 available on the chip: SRAM, ERAM, Flash.
2206 It allows read and write operations and maintains
2207 the raw data associated with the memory." isSpecification="false" isLeaf="false" visibility="public" namespace="22" xmi.id="217" isRoot="false" isAbstract="false" name="Memory" >
2208 <UML:Classifier.feature>
2209 <UML:Attribute isSpecification="false" visibility="protected" xmi.id="240" type="232" name="mem" />
2210 <UML:Attribute isSpecification="false" visibility="protected" xmi.id="241" type="18" name="siz" />
2211 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="218" isRoot="false" isAbstract="false" isQuery="false" name="Memory" >
2212 <UML:BehavioralFeature.parameter>
2213 <UML:Parameter isSpecification="false" visibility="private" xmi.id="219" value="" type="18" name="size" />
2214 </UML:BehavioralFeature.parameter>
2215 </UML:Operation>
2216 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="220" isRoot="false" isAbstract="false" isQuery="false" name="~ Memory" />
2217 <UML:Operation comment="Reads \e size bytes of raw data from memory starting at
2218 offset \e offset. It returns a pointer to this data.
2220 \exception RuntimeException { When the data requested is
2221 not available, this exception is thrown }" isSpecification="false" isLeaf="false" visibility="public" xmi.id="221" isRoot="false" isAbstract="false" isQuery="false" name="read" >
2222 <UML:BehavioralFeature.parameter>
2223 <UML:Parameter kind="return" xmi.id="45878" type="225" />
2224 <UML:Parameter isSpecification="false" visibility="private" xmi.id="222" value="" type="18" name="offset" />
2225 <UML:Parameter isSpecification="false" visibility="private" xmi.id="223" value="" type="18" name="size" />
2226 </UML:BehavioralFeature.parameter>
2227 </UML:Operation>
2228 <UML:Operation comment="Reads a single bytes of raw data from memory at
2229 offset \e offset.
2231 \exception RuntimeException { When the data requested is
2232 not available, this exception is thrown }" isSpecification="false" isLeaf="false" visibility="public" xmi.id="226" isRoot="false" isAbstract="false" isQuery="false" name="readByte" >
2233 <UML:BehavioralFeature.parameter>
2234 <UML:Parameter kind="return" xmi.id="45879" type="23" />
2235 <UML:Parameter isSpecification="false" visibility="private" xmi.id="227" value="" type="18" name="offset" />
2236 </UML:BehavioralFeature.parameter>
2237 </UML:Operation>
2238 <UML:Operation comment="Reads a word of raw data from memory starting at
2239 offset \e offset.
2241 \exception RuntimeException { When the data requested is
2242 not available, this exception is thrown }" isSpecification="false" isLeaf="false" visibility="public" xmi.id="228" isRoot="false" isAbstract="false" isQuery="false" name="readWord" >
2243 <UML:BehavioralFeature.parameter>
2244 <UML:Parameter kind="return" xmi.id="45880" type="26" />
2245 <UML:Parameter isSpecification="false" visibility="private" xmi.id="229" value="" type="18" name="offset" />
2246 </UML:BehavioralFeature.parameter>
2247 </UML:Operation>
2248 <UML:Operation comment="Write \e size bytes of raw data to memory starting at
2249 offset \e offset. The data to be written is passed via
2250 the \e block variable.
2252 \exception RuntimeException { When the write exceeds
2253 amount of memory, this exception is thrown }" isSpecification="false" isLeaf="false" visibility="public" xmi.id="230" isRoot="false" isAbstract="false" isQuery="false" name="write" >
2254 <UML:BehavioralFeature.parameter>
2255 <UML:Parameter isSpecification="false" visibility="private" xmi.id="231" value="" type="18" name="offset" />
2256 <UML:Parameter isSpecification="false" visibility="private" xmi.id="233" value="" type="232" name="block" />
2257 <UML:Parameter isSpecification="false" visibility="private" xmi.id="234" value="" type="18" name="size" />
2258 </UML:BehavioralFeature.parameter>
2259 </UML:Operation>
2260 <UML:Operation comment="Fill the entire memory chunk with value \e val." isSpecification="false" isLeaf="false" visibility="public" xmi.id="235" isRoot="false" isAbstract="false" isQuery="false" name="fill" >
2261 <UML:BehavioralFeature.parameter>
2262 <UML:Parameter isSpecification="false" visibility="private" xmi.id="236" value="" type="224" name="val" />
2263 </UML:BehavioralFeature.parameter>
2264 </UML:Operation>
2265 <UML:Operation comment="\returns the size of the memory chunk." isSpecification="false" isLeaf="false" visibility="public" xmi.id="237" isRoot="false" isAbstract="false" isQuery="false" name="size" >
2266 <UML:BehavioralFeature.parameter>
2267 <UML:Parameter kind="return" xmi.id="45881" type="18" />
2268 </UML:BehavioralFeature.parameter>
2269 </UML:Operation>
2270 <UML:Operation comment="Dump the memory content to disk" isSpecification="false" isLeaf="false" visibility="public" xmi.id="238" isRoot="false" isAbstract="false" isQuery="false" name="dump" >
2271 <UML:BehavioralFeature.parameter>
2272 <UML:Parameter isSpecification="false" visibility="private" xmi.id="239" value="" type="160" name="fname" />
2273 </UML:BehavioralFeature.parameter>
2274 </UML:Operation>
2275 </UML:Classifier.feature>
2276 </UML:Class>
2277 <UML:Class comment="@author Tom Haber
2278 @date Apr 21, 2008
2279 @brief Electrically Erasable Programmable Read-Only Memory
2281 This class representes the Eeprom memory in the chip." isSpecification="false" isLeaf="false" visibility="public" namespace="1109" xmi.id="557" isRoot="false" isAbstract="false" name="Eeprom" >
2282 <UML:GeneralizableElement.generalization>
2283 <UML:Generalization xmi.idref="19295" />
2284 <UML:Generalization xmi.idref="19298" />
2285 <UML:Generalization xmi.idref="20355" />
2286 </UML:GeneralizableElement.generalization>
2287 <UML:Classifier.feature>
2288 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="19301" isRoot="false" isAbstract="false" isQuery="false" name="Eeprom" >
2289 <UML:BehavioralFeature.parameter>
2290 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19302" value="" type="198" name="bus" />
2291 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19303" value="" type="18" name="size" />
2292 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19304" value="" type="18" name="rdyVec" />
2293 </UML:BehavioralFeature.parameter>
2294 </UML:Operation>
2295 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="19305" isRoot="false" isAbstract="false" isQuery="false" name="~ Eeprom" />
2296 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="19306" isRoot="false" isAbstract="false" isQuery="false" name="writeToAddress" >
2297 <UML:BehavioralFeature.parameter>
2298 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19307" value="" type="18" name="addr" />
2299 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19308" value="" type="224" name="val" />
2300 </UML:BehavioralFeature.parameter>
2301 </UML:Operation>
2302 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="19309" isRoot="false" isAbstract="false" isQuery="false" name="readFromAddress" >
2303 <UML:BehavioralFeature.parameter>
2304 <UML:Parameter kind="return" xmi.id="45882" type="224" />
2305 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19310" value="" type="18" name="addr" />
2306 </UML:BehavioralFeature.parameter>
2307 </UML:Operation>
2308 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="19311" isRoot="false" isAbstract="false" isQuery="false" name="attachReg" >
2309 <UML:BehavioralFeature.parameter>
2310 <UML:Parameter kind="return" xmi.id="45883" type="13" />
2311 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19312" value="" type="160" name="name" />
2312 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19313" value="" type="203" name="reg" />
2313 </UML:BehavioralFeature.parameter>
2314 </UML:Operation>
2315 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="19314" isRoot="false" isAbstract="false" isQuery="false" name="regChanged" >
2316 <UML:BehavioralFeature.parameter>
2317 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19315" value="" type="203" name="reg" />
2318 </UML:BehavioralFeature.parameter>
2319 </UML:Operation>
2320 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="19316" isRoot="false" isAbstract="false" isQuery="false" name="step" />
2321 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="19317" isRoot="false" isAbstract="false" isQuery="false" name="setEECR" >
2322 <UML:BehavioralFeature.parameter>
2323 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19318" value="" type="224" name="eecr" />
2324 </UML:BehavioralFeature.parameter>
2325 </UML:Operation>
2326 </UML:Classifier.feature>
2327 </UML:Class>
2328 <UML:Class comment="\author Tom Haber
2329 \date Apr 21, 2008
2330 \brief An interface for all instructions on the chip.
2332 An interface for all instructions on the chip.
2333 It has a method for executing instructions on the Core
2334 and tracing (pretty printing) them." isSpecification="false" isLeaf="false" visibility="public" namespace="22" xmi.id="182" isRoot="false" isAbstract="false" name="Instruction" >
2335 <UML:Classifier.feature>
2336 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="13216" isRoot="false" isAbstract="false" isQuery="false" name="Instruction" />
2337 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="13217" isRoot="false" isAbstract="false" isQuery="false" name="~ Instruction" />
2338 <UML:Operation comment="Executes an instruction on the Core." isSpecification="false" isLeaf="false" visibility="public" xmi.id="13218" isRoot="false" isAbstract="true" isQuery="false" name="operator ( )" >
2339 <UML:BehavioralFeature.parameter>
2340 <UML:Parameter kind="return" xmi.id="45884" type="10" />
2341 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13219" value="" type="619" name="core" />
2342 </UML:BehavioralFeature.parameter>
2343 </UML:Operation>
2344 <UML:Operation comment="Pretty prints an instruction" isSpecification="false" isLeaf="false" visibility="public" xmi.id="13220" isRoot="false" isAbstract="true" isQuery="false" name="trace" >
2345 <UML:BehavioralFeature.parameter>
2346 <UML:Parameter kind="return" xmi.id="45885" type="10" />
2347 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13221" value="" type="619" name="core" />
2348 <UML:Parameter isSpecification="false" visibility="private" xmi.id="13222" value="" type="12993" name="ostr" />
2349 </UML:BehavioralFeature.parameter>
2350 </UML:Operation>
2351 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="13223" isRoot="false" isAbstract="false" isQuery="false" name="is2Word" >
2352 <UML:BehavioralFeature.parameter>
2353 <UML:Parameter kind="return" xmi.id="45886" type="13" />
2354 </UML:BehavioralFeature.parameter>
2355 </UML:Operation>
2356 </UML:Classifier.feature>
2357 </UML:Class>
2358 <UML:Class comment="@author Tom Haber
2359 @date Apr 21, 2008
2360 @brief Flash memory in the AVR chip
2362 This class represents the Flash memory in the chip.
2363 It allows read and write operations" isSpecification="false" isLeaf="false" visibility="public" namespace="1109" xmi.id="242" isRoot="false" isAbstract="false" name="Flash" >
2364 <UML:GeneralizableElement.generalization>
2365 <UML:Generalization xmi.idref="244" />
2366 <UML:Generalization xmi.idref="248" />
2367 <UML:Generalization xmi.idref="2645" />
2368 <UML:Generalization xmi.idref="244" />
2369 <UML:Generalization xmi.idref="248" />
2370 <UML:Generalization xmi.idref="2645" />
2371 <UML:Generalization xmi.idref="244" />
2372 <UML:Generalization xmi.idref="248" />
2373 <UML:Generalization xmi.idref="2645" />
2374 <UML:Generalization xmi.idref="19331" />
2375 <UML:Generalization xmi.idref="19334" />
2376 </UML:GeneralizableElement.generalization>
2377 <UML:Classifier.feature>
2378 <UML:Attribute isSpecification="false" visibility="private" xmi.id="275" type="10" name="pagesize" />
2379 <UML:Attribute isSpecification="false" visibility="private" xmi.id="276" type="10" name="pagemask" />
2380 <UML:Attribute isSpecification="false" visibility="private" xmi.id="277" type="232" name="buffer" />
2381 <UML:Attribute isSpecification="false" visibility="private" xmi.id="278" type="10" name="pageoffset" />
2382 <UML:Attribute isSpecification="false" visibility="private" xmi.id="279" type="10" name="pagenum" />
2383 <UML:Attribute isSpecification="false" visibility="private" xmi.id="280" type="10" name="state" />
2384 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="251" isRoot="false" isAbstract="false" isQuery="false" name="Flash" >
2385 <UML:BehavioralFeature.parameter>
2386 <UML:Parameter isSpecification="false" visibility="private" xmi.id="252" value="" type="198" name="bus" />
2387 <UML:Parameter isSpecification="false" visibility="private" xmi.id="253" value="" type="18" name="size" />
2388 <UML:Parameter isSpecification="false" visibility="private" xmi.id="254" value="" type="10" name="pagesize" />
2389 </UML:BehavioralFeature.parameter>
2390 </UML:Operation>
2391 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="255" isRoot="false" isAbstract="false" isQuery="false" name="~ Flash" />
2392 <UML:Operation comment="Fill a block of flash memory with the specified value.
2394 \exception RuntimeException { When the write exceeds
2395 amount of memory, this exception is thrown }" isSpecification="false" isLeaf="false" visibility="public" xmi.id="256" isRoot="false" isAbstract="false" isQuery="false" name="fill" >
2396 <UML:BehavioralFeature.parameter>
2397 <UML:Parameter isSpecification="false" visibility="private" xmi.id="257" value="" type="18" name="offset" />
2398 <UML:Parameter isSpecification="false" visibility="private" xmi.id="258" value="" type="23" name="val" />
2399 <UML:Parameter isSpecification="false" visibility="private" xmi.id="259" value="" type="18" name="size" />
2400 </UML:BehavioralFeature.parameter>
2401 </UML:Operation>
2402 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="260" isRoot="false" isAbstract="false" isQuery="false" name="storeProgramMemory" >
2403 <UML:BehavioralFeature.parameter>
2404 <UML:Parameter isSpecification="false" visibility="private" xmi.id="261" value="" type="28" name="Z" />
2405 <UML:Parameter isSpecification="false" visibility="private" xmi.id="262" value="" type="23" name="r0" />
2406 <UML:Parameter isSpecification="false" visibility="private" xmi.id="263" value="" type="23" name="r1" />
2407 </UML:BehavioralFeature.parameter>
2408 </UML:Operation>
2409 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="264" isRoot="false" isAbstract="false" isQuery="false" name="pageErase" />
2410 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="265" isRoot="false" isAbstract="false" isQuery="false" name="pageWrite" />
2411 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="266" isRoot="false" isAbstract="false" isQuery="false" name="resetRWW" />
2412 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="267" isRoot="false" isAbstract="false" isQuery="false" name="attachReg" >
2413 <UML:BehavioralFeature.parameter>
2414 <UML:Parameter kind="return" xmi.id="45887" type="13" />
2415 <UML:Parameter isSpecification="false" visibility="private" xmi.id="268" value="" type="160" name="name" />
2416 <UML:Parameter isSpecification="false" visibility="private" xmi.id="269" value="" type="203" name="reg" />
2417 </UML:BehavioralFeature.parameter>
2418 </UML:Operation>
2419 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="270" isRoot="false" isAbstract="false" isQuery="false" name="finishBuild" >
2420 <UML:BehavioralFeature.parameter>
2421 <UML:Parameter kind="return" xmi.id="45888" type="13" />
2422 </UML:BehavioralFeature.parameter>
2423 </UML:Operation>
2424 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="271" isRoot="false" isAbstract="false" isQuery="false" name="regChanged" >
2425 <UML:BehavioralFeature.parameter>
2426 <UML:Parameter isSpecification="false" visibility="private" xmi.id="272" value="" type="203" name="reg" />
2427 </UML:BehavioralFeature.parameter>
2428 </UML:Operation>
2429 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="273" isRoot="false" isAbstract="false" isQuery="false" name="step" />
2430 </UML:Classifier.feature>
2431 </UML:Class>
2432 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="2020" xmi.id="19360" isRoot="false" isAbstract="false" name="Spi" >
2433 <UML:GeneralizableElement.generalization>
2434 <UML:Generalization xmi.idref="19361" />
2435 </UML:GeneralizableElement.generalization>
2436 <UML:Classifier.feature>
2437 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19386" type="18" name="stcVec" />
2438 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19387" type="10" name="clkDiv" />
2439 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19388" type="10" name="bitCnt" />
2440 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19389" type="224" name="spdrWrite" />
2441 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19390" type="224" name="spdrRead" />
2442 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19392" type="19391" name="spsr_old" />
2443 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="19364" isRoot="false" isAbstract="false" isQuery="false" name="Spi" >
2444 <UML:BehavioralFeature.parameter>
2445 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19365" value="" type="198" name="bus" />
2446 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19366" value="" type="18" name="stcVec" />
2447 </UML:BehavioralFeature.parameter>
2448 </UML:Operation>
2449 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="19367" isRoot="false" isAbstract="false" isQuery="false" name="~ Spi" />
2450 <UML:Operation comment="Attach a register with name \e name to the hardware." isSpecification="false" isLeaf="false" visibility="public" xmi.id="19368" isRoot="false" isAbstract="false" isQuery="false" name="attachReg" >
2451 <UML:BehavioralFeature.parameter>
2452 <UML:Parameter kind="return" xmi.id="45889" type="13" />
2453 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19369" value="" type="160" name="name" />
2454 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19370" value="" type="203" name="reg" />
2455 </UML:BehavioralFeature.parameter>
2456 </UML:Operation>
2457 <UML:Operation comment="Finishes the construction of the hardware.
2458 This should verify the registers and parameters
2459 @returns true if build was successful." isSpecification="false" isLeaf="false" visibility="public" xmi.id="19371" isRoot="false" isAbstract="false" isQuery="false" name="finishBuild" >
2460 <UML:BehavioralFeature.parameter>
2461 <UML:Parameter kind="return" xmi.id="45890" type="13" />
2462 </UML:BehavioralFeature.parameter>
2463 </UML:Operation>
2464 <UML:Operation comment="An attached register changed state." isSpecification="false" isLeaf="false" visibility="public" xmi.id="19372" isRoot="false" isAbstract="false" isQuery="false" name="regChanged" >
2465 <UML:BehavioralFeature.parameter>
2466 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19373" value="" type="203" name="reg" />
2467 </UML:BehavioralFeature.parameter>
2468 </UML:Operation>
2469 <UML:Operation comment="Perform a single step." isSpecification="false" isLeaf="false" visibility="public" xmi.id="19374" isRoot="false" isAbstract="false" isQuery="false" name="step" />
2470 <UML:Operation comment="Reset the internal hardware." isSpecification="false" isLeaf="false" visibility="public" xmi.id="19375" isRoot="false" isAbstract="false" isQuery="false" name="reset" />
2471 <UML:Operation comment="Called just before an interrupt handler is invoked." isSpecification="false" isLeaf="false" visibility="public" xmi.id="19376" isRoot="false" isAbstract="false" isQuery="false" name="beforeInvokeInterrupt" >
2472 <UML:BehavioralFeature.parameter>
2473 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19377" value="" type="18" name="vector" />
2474 </UML:BehavioralFeature.parameter>
2475 </UML:Operation>
2476 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="19378" isRoot="false" isAbstract="false" isQuery="false" name="setSpcr" >
2477 <UML:BehavioralFeature.parameter>
2478 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19379" value="" type="224" name="val" />
2479 </UML:BehavioralFeature.parameter>
2480 </UML:Operation>
2481 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="19380" isRoot="false" isAbstract="false" isQuery="false" name="setSpdr" >
2482 <UML:BehavioralFeature.parameter>
2483 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19381" value="" type="224" name="val" />
2484 </UML:BehavioralFeature.parameter>
2485 </UML:Operation>
2486 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="19382" isRoot="false" isAbstract="false" isQuery="false" name="setClkDiv" />
2487 </UML:Classifier.feature>
2488 </UML:Class>
2489 <UML:Class comment="@author Tom Haber
2490 @date Apr 23, 2008
2491 @brief Static ram inside the AVR chip.
2493 The static ram inside the chip, provides an interface
2494 for reading and writing. This interface is used by the MMU." isSpecification="false" isLeaf="false" visibility="public" namespace="22" xmi.id="345" isRoot="false" isAbstract="false" name="SRam" >
2495 <UML:GeneralizableElement.generalization>
2496 <UML:Generalization xmi.idref="346" />
2497 <UML:Generalization xmi.idref="346" />
2498 <UML:Generalization xmi.idref="346" />
2499 <UML:Generalization xmi.idref="19395" />
2500 </UML:GeneralizableElement.generalization>
2501 <UML:Classifier.feature>
2502 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="349" isRoot="false" isAbstract="false" isQuery="false" name="SRam" >
2503 <UML:BehavioralFeature.parameter>
2504 <UML:Parameter isSpecification="false" visibility="private" xmi.id="350" value="" type="18" name="size" />
2505 </UML:BehavioralFeature.parameter>
2506 </UML:Operation>
2507 <UML:Operation comment="Reads a single bytes of raw data from memory at
2508 offset \e offset.
2510 \exception AccessViolation { When the data requested is
2511 not available, this exception is thrown }" isSpecification="false" isLeaf="false" visibility="public" xmi.id="351" isRoot="false" isAbstract="false" isQuery="false" name="writeByte" >
2512 <UML:BehavioralFeature.parameter>
2513 <UML:Parameter isSpecification="false" visibility="private" xmi.id="352" value="" type="18" name="offset" />
2514 <UML:Parameter isSpecification="false" visibility="private" xmi.id="353" value="" type="23" name="val" />
2515 </UML:BehavioralFeature.parameter>
2516 </UML:Operation>
2517 <UML:Operation comment="Reads a word of raw data from memory starting at
2518 offset \e offset.
2520 \exception AccessViolation { When the data requested is
2521 not available, this exception is thrown }" isSpecification="false" isLeaf="false" visibility="public" xmi.id="354" isRoot="false" isAbstract="false" isQuery="false" name="writeWord" >
2522 <UML:BehavioralFeature.parameter>
2523 <UML:Parameter isSpecification="false" visibility="private" xmi.id="355" value="" type="18" name="offset" />
2524 <UML:Parameter isSpecification="false" visibility="private" xmi.id="356" value="" type="26" name="val" />
2525 </UML:BehavioralFeature.parameter>
2526 </UML:Operation>
2527 </UML:Classifier.feature>
2528 </UML:Class>
2529 <UML:Class comment="@author Tom Haber
2530 @date Apr 23, 2008
2531 @brief A register
2533 Represents general purpose registers and IORegisters" isSpecification="false" isLeaf="false" visibility="public" namespace="22" xmi.id="281" isRoot="false" isAbstract="false" name="Register" >
2534 <UML:Classifier.feature>
2535 <UML:Attribute isSpecification="false" visibility="protected" xmi.id="301" type="26" name="address" />
2536 <UML:Attribute isSpecification="false" visibility="protected" xmi.id="302" type="173" name="name" />
2537 <UML:Attribute isSpecification="false" visibility="protected" xmi.id="303" type="224" name="val" />
2538 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="282" isRoot="false" isAbstract="false" isQuery="false" name="Register" />
2539 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="283" isRoot="false" isAbstract="false" isQuery="false" name="Register" >
2540 <UML:BehavioralFeature.parameter>
2541 <UML:Parameter isSpecification="false" visibility="private" xmi.id="284" value="" type="26" name="address" />
2542 <UML:Parameter isSpecification="false" visibility="private" xmi.id="285" value="" type="174" name="name" />
2543 </UML:BehavioralFeature.parameter>
2544 </UML:Operation>
2545 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="286" isRoot="false" isAbstract="false" isQuery="false" name="~ Register" />
2546 <UML:Operation comment="Initialize the register
2547 @param address the address of the register (IO address not mem)
2548 @param name the name of the register" isSpecification="false" isLeaf="false" visibility="public" xmi.id="287" isRoot="false" isAbstract="false" isQuery="false" name="init" >
2549 <UML:BehavioralFeature.parameter>
2550 <UML:Parameter isSpecification="false" visibility="private" xmi.id="288" value="" type="26" name="address" />
2551 <UML:Parameter isSpecification="false" visibility="private" xmi.id="289" value="" type="174" name="name" />
2552 </UML:BehavioralFeature.parameter>
2553 </UML:Operation>
2554 <UML:Operation comment="Changes the register value to \e val." isSpecification="false" isLeaf="false" visibility="public" xmi.id="290" isRoot="false" isAbstract="false" isQuery="false" name="operator =" >
2555 <UML:BehavioralFeature.parameter>
2556 <UML:Parameter kind="return" xmi.id="45891" type="224" />
2557 <UML:Parameter isSpecification="false" visibility="private" xmi.id="291" value="" type="224" name="val" />
2558 </UML:BehavioralFeature.parameter>
2559 </UML:Operation>
2560 <UML:Operation stereotype="27" comment="Returns the register value." isSpecification="false" isLeaf="false" visibility="public" xmi.id="292" isRoot="false" isAbstract="false" isQuery="false" name="operator unsigned char" />
2561 <UML:Operation comment="Changes the register value to the value of register \reg." isSpecification="false" isLeaf="false" visibility="public" xmi.id="293" isRoot="false" isAbstract="false" isQuery="false" name="operator =" >
2562 <UML:BehavioralFeature.parameter>
2563 <UML:Parameter isSpecification="false" visibility="private" xmi.id="295" value="" type="294" name="reg" />
2564 </UML:BehavioralFeature.parameter>
2565 </UML:Operation>
2566 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="296" isRoot="false" isAbstract="false" isQuery="false" name="set" >
2567 <UML:BehavioralFeature.parameter>
2568 <UML:Parameter isSpecification="false" visibility="private" xmi.id="297" value="" type="224" name="val" />
2569 </UML:BehavioralFeature.parameter>
2570 </UML:Operation>
2571 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="298" isRoot="false" isAbstract="false" isQuery="false" name="get" >
2572 <UML:BehavioralFeature.parameter>
2573 <UML:Parameter kind="return" xmi.id="45892" type="224" />
2574 </UML:BehavioralFeature.parameter>
2575 </UML:Operation>
2576 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="299" isRoot="false" isAbstract="false" isQuery="false" name="getAddress" >
2577 <UML:BehavioralFeature.parameter>
2578 <UML:Parameter kind="return" xmi.id="45893" type="26" />
2579 </UML:BehavioralFeature.parameter>
2580 </UML:Operation>
2581 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="300" isRoot="false" isAbstract="false" isQuery="false" name="getName" >
2582 <UML:BehavioralFeature.parameter>
2583 <UML:Parameter kind="return" xmi.id="45894" type="174" />
2584 </UML:BehavioralFeature.parameter>
2585 </UML:Operation>
2586 </UML:Classifier.feature>
2587 </UML:Class>
2588 <UML:Class comment="@author Tom Haber
2589 @date Apr 23, 2008
2590 @brief An IOregister
2592 Adds functionality to Register for IORegisters.
2593 Hardware can be bound to an IORegister and it will be
2594 notified on changes.
2596 Some registers share an I/O location with another register.
2597 When doing a write access to this I/O location, the high bit
2598 controls which one of the two registers will be written.
2600 Read access is more complex: the read access is controlled by a
2601 timed sequence. Reading the I/O location once returns the first
2602 register content. If the register location was read in the
2603 previous clock cycle, reading the register in the current cycle
2604 will return the second register content.
2606 Note that the timed sequence for reading the shared location is
2607 an atomic operation. Interrupts must therefore be controlled
2608 (e.g., by disabling interrupts globally) during the read operation.
2610 These type of locations have to be taken into account elsewhere!" isSpecification="false" isLeaf="false" visibility="public" namespace="22" xmi.id="196" isRoot="false" isAbstract="false" name="IORegister" >
2611 <UML:GeneralizableElement.generalization>
2612 <UML:Generalization xmi.idref="305" />
2613 <UML:Generalization xmi.idref="305" />
2614 <UML:Generalization xmi.idref="305" />
2615 <UML:Generalization xmi.idref="19424" />
2616 </UML:GeneralizableElement.generalization>
2617 <UML:Classifier.feature>
2618 <UML:Attribute isSpecification="false" visibility="private" xmi.id="321" type="224" name="initial" />
2619 <UML:Attribute isSpecification="false" visibility="private" xmi.id="322" type="142" name="hw" />
2620 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="308" isRoot="false" isAbstract="false" isQuery="false" name="IORegister" >
2621 <UML:BehavioralFeature.parameter>
2622 <UML:Parameter isSpecification="false" visibility="private" xmi.id="309" value="" type="26" name="address" />
2623 <UML:Parameter isSpecification="false" visibility="private" xmi.id="310" value="" type="174" name="name" />
2624 <UML:Parameter isSpecification="false" visibility="private" xmi.id="311" value="" type="224" name="initial" />
2625 </UML:BehavioralFeature.parameter>
2626 </UML:Operation>
2627 <UML:Operation comment="Reset the register to its initial value." isSpecification="false" isLeaf="false" visibility="public" xmi.id="312" isRoot="false" isAbstract="false" isQuery="false" name="reset" />
2628 <UML:Operation comment="Changes the register value to \e val" isSpecification="false" isLeaf="false" visibility="public" xmi.id="313" isRoot="false" isAbstract="false" isQuery="false" name="operator =" >
2629 <UML:BehavioralFeature.parameter>
2630 <UML:Parameter kind="return" xmi.id="45895" type="224" />
2631 <UML:Parameter isSpecification="false" visibility="private" xmi.id="314" value="" type="224" name="val" />
2632 </UML:BehavioralFeature.parameter>
2633 </UML:Operation>
2634 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="315" isRoot="false" isAbstract="false" isQuery="false" name="operator |=" >
2635 <UML:BehavioralFeature.parameter>
2636 <UML:Parameter isSpecification="false" visibility="private" xmi.id="316" value="" type="224" name="val" />
2637 </UML:BehavioralFeature.parameter>
2638 </UML:Operation>
2639 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="317" isRoot="false" isAbstract="false" isQuery="false" name="operator &amp;=" >
2640 <UML:BehavioralFeature.parameter>
2641 <UML:Parameter isSpecification="false" visibility="private" xmi.id="318" value="" type="224" name="val" />
2642 </UML:BehavioralFeature.parameter>
2643 </UML:Operation>
2644 <UML:Operation comment="Bind an internal device to this register.
2645 The hardware will be notified on register value changes." isSpecification="false" isLeaf="false" visibility="public" xmi.id="319" isRoot="false" isAbstract="false" isQuery="false" name="registerHW" >
2646 <UML:BehavioralFeature.parameter>
2647 <UML:Parameter isSpecification="false" visibility="private" xmi.id="320" value="" type="142" name="hw" />
2648 </UML:BehavioralFeature.parameter>
2649 </UML:Operation>
2650 </UML:Classifier.feature>
2651 </UML:Class>
2652 <UML:Class comment="@author Tom Haber
2653 @date Apr 23, 2008
2654 @brief All IORegisters
2656 Contains all IORegisters and provides an interface for the MMU." isSpecification="false" isLeaf="false" visibility="public" namespace="22" xmi.id="323" isRoot="false" isAbstract="false" name="IORegisters" >
2657 <UML:Classifier.feature>
2658 <UML:Attribute isSpecification="false" visibility="private" xmi.id="344" type="343" name="regs" />
2659 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="324" isRoot="false" isAbstract="false" isQuery="false" name="IORegisters" >
2660 <UML:BehavioralFeature.parameter>
2661 <UML:Parameter isSpecification="false" visibility="private" xmi.id="325" value="" type="18" name="count" />
2662 </UML:BehavioralFeature.parameter>
2663 </UML:Operation>
2664 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="326" isRoot="false" isAbstract="false" isQuery="false" name="~ IORegisters" />
2665 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="327" isRoot="false" isAbstract="false" isQuery="false" name="size" >
2666 <UML:BehavioralFeature.parameter>
2667 <UML:Parameter kind="return" xmi.id="45896" type="18" />
2668 </UML:BehavioralFeature.parameter>
2669 </UML:Operation>
2670 <UML:Operation comment="Reset all registers to their initial value." isSpecification="false" isLeaf="false" visibility="public" xmi.id="328" isRoot="false" isAbstract="false" isQuery="false" name="reset" />
2671 <UML:Operation comment="Reads a single bytes of raw data from the register memory
2672 at offset \e offset." isSpecification="false" isLeaf="false" visibility="public" xmi.id="329" isRoot="false" isAbstract="false" isQuery="false" name="readByte" >
2673 <UML:BehavioralFeature.parameter>
2674 <UML:Parameter kind="return" xmi.id="45897" type="23" />
2675 <UML:Parameter isSpecification="false" visibility="private" xmi.id="330" value="" type="18" name="offset" />
2676 </UML:BehavioralFeature.parameter>
2677 </UML:Operation>
2678 <UML:Operation comment="Writes a single bytes of raw data to the register memory
2679 at offset \e offset." isSpecification="false" isLeaf="false" visibility="public" xmi.id="331" isRoot="false" isAbstract="false" isQuery="false" name="writeByte" >
2680 <UML:BehavioralFeature.parameter>
2681 <UML:Parameter isSpecification="false" visibility="private" xmi.id="332" value="" type="18" name="offset" />
2682 <UML:Parameter isSpecification="false" visibility="private" xmi.id="333" value="" type="23" name="val" />
2683 </UML:BehavioralFeature.parameter>
2684 </UML:Operation>
2685 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="334" isRoot="false" isAbstract="false" isQuery="false" name="addReg" >
2686 <UML:BehavioralFeature.parameter>
2687 <UML:Parameter isSpecification="false" visibility="private" xmi.id="335" value="" type="26" name="addr" />
2688 <UML:Parameter isSpecification="false" visibility="private" xmi.id="336" value="" type="203" name="reg" />
2689 </UML:BehavioralFeature.parameter>
2690 </UML:Operation>
2691 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="337" isRoot="false" isAbstract="false" isQuery="false" name="getIoreg" >
2692 <UML:BehavioralFeature.parameter>
2693 <UML:Parameter kind="return" xmi.id="45898" type="339" />
2694 <UML:Parameter isSpecification="false" visibility="private" xmi.id="338" value="" type="18" name="offset" />
2695 </UML:BehavioralFeature.parameter>
2696 </UML:Operation>
2697 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="340" isRoot="false" isAbstract="false" isQuery="false" name="getIoreg" >
2698 <UML:BehavioralFeature.parameter>
2699 <UML:Parameter kind="return" xmi.id="45899" type="203" />
2700 <UML:Parameter isSpecification="false" visibility="private" xmi.id="341" value="" type="174" name="name" />
2701 <UML:Parameter isSpecification="false" visibility="private" xmi.id="342" value="" type="13" name="required" />
2702 </UML:BehavioralFeature.parameter>
2703 </UML:Operation>
2704 </UML:Classifier.feature>
2705 </UML:Class>
2706 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="22" xmi.id="357" isRoot="false" isAbstract="false" name="ERam" />
2707 <UML:Class comment="@author Tom Haber
2708 @date Apr 23, 2008
2709 @brief Memory Mapping Unit
2711 Manages address decoding for memory accesses: maps the different
2712 regions to the correct classes." isSpecification="false" isLeaf="false" visibility="public" namespace="22" xmi.id="358" isRoot="false" isAbstract="false" name="MMU" >
2713 <UML:Classifier.feature>
2714 <UML:Attribute isSpecification="false" visibility="public" xmi.id="405" type="145" name="registerSpaceSize" ownerScope="classifier" />
2715 <UML:Attribute isSpecification="false" visibility="private" xmi.id="406" type="281" name="R" />
2716 <UML:Attribute isSpecification="false" visibility="private" xmi.id="407" type="323" name="regs" />
2717 <UML:Attribute isSpecification="false" visibility="private" xmi.id="408" type="345" name="sram" />
2718 <UML:Attribute isSpecification="false" visibility="private" xmi.id="409" type="362" name="eram" />
2719 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="359" isRoot="false" isAbstract="false" isQuery="false" name="MMU" >
2720 <UML:BehavioralFeature.parameter>
2721 <UML:Parameter isSpecification="false" visibility="private" xmi.id="360" value="" type="18" name="ioSpaceSize" />
2722 <UML:Parameter isSpecification="false" visibility="private" xmi.id="361" value="" type="18" name="ramSize" />
2723 <UML:Parameter isSpecification="false" visibility="private" xmi.id="363" value="" type="362" name="eram" />
2724 </UML:BehavioralFeature.parameter>
2725 </UML:Operation>
2726 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="364" isRoot="false" isAbstract="false" isQuery="false" name="~ MMU" />
2727 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="365" isRoot="false" isAbstract="false" isQuery="false" name="addIOReg" >
2728 <UML:BehavioralFeature.parameter>
2729 <UML:Parameter isSpecification="false" visibility="private" xmi.id="366" value="" type="18" name="address" />
2730 <UML:Parameter isSpecification="false" visibility="private" xmi.id="367" value="" type="174" name="name" />
2731 <UML:Parameter isSpecification="false" visibility="private" xmi.id="368" value="" type="23" name="initial" />
2732 </UML:BehavioralFeature.parameter>
2733 </UML:Operation>
2734 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="369" isRoot="false" isAbstract="false" isQuery="false" name="getR" >
2735 <UML:BehavioralFeature.parameter>
2736 <UML:Parameter kind="return" xmi.id="45900" type="294" />
2737 <UML:Parameter isSpecification="false" visibility="private" xmi.id="370" value="" type="10" name="r" />
2738 </UML:BehavioralFeature.parameter>
2739 </UML:Operation>
2740 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="371" isRoot="false" isAbstract="false" isQuery="false" name="reg" >
2741 <UML:BehavioralFeature.parameter>
2742 <UML:Parameter kind="return" xmi.id="45901" type="373" />
2743 <UML:Parameter isSpecification="false" visibility="private" xmi.id="372" value="" type="10" name="r" />
2744 </UML:BehavioralFeature.parameter>
2745 </UML:Operation>
2746 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="376" isRoot="false" isAbstract="false" isQuery="false" name="statusReg" >
2747 <UML:BehavioralFeature.parameter>
2748 <UML:Parameter kind="return" xmi.id="45902" type="23" />
2749 </UML:BehavioralFeature.parameter>
2750 </UML:Operation>
2751 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="377" isRoot="false" isAbstract="false" isQuery="false" name="getIoreg" >
2752 <UML:BehavioralFeature.parameter>
2753 <UML:Parameter kind="return" xmi.id="45903" type="339" />
2754 <UML:Parameter isSpecification="false" visibility="private" xmi.id="378" value="" type="18" name="offset" />
2755 </UML:BehavioralFeature.parameter>
2756 </UML:Operation>
2757 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="382" isRoot="false" isAbstract="false" isQuery="false" name="getIoreg" >
2758 <UML:BehavioralFeature.parameter>
2759 <UML:Parameter kind="return" xmi.id="45904" type="203" />
2760 <UML:Parameter isSpecification="false" visibility="private" xmi.id="383" value="" type="174" name="name" />
2761 </UML:BehavioralFeature.parameter>
2762 </UML:Operation>
2763 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="384" isRoot="false" isAbstract="false" isQuery="false" name="reset" />
2764 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="385" isRoot="false" isAbstract="false" isQuery="false" name="ioregs" >
2765 <UML:BehavioralFeature.parameter>
2766 <UML:Parameter kind="return" xmi.id="45905" type="18" />
2767 </UML:BehavioralFeature.parameter>
2768 </UML:Operation>
2769 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="386" isRoot="false" isAbstract="false" isQuery="false" name="registerName" >
2770 <UML:BehavioralFeature.parameter>
2771 <UML:Parameter kind="return" xmi.id="45906" type="174" />
2772 <UML:Parameter isSpecification="false" visibility="private" xmi.id="387" value="" type="23" name="addr" />
2773 </UML:BehavioralFeature.parameter>
2774 </UML:Operation>
2775 <UML:Operation comment="Reads a single bytes of raw data from memory at
2776 offset \e offset.
2778 \exception AccessViolation { When the data requested is
2779 not available, this exception is thrown }" isSpecification="false" isLeaf="false" visibility="public" xmi.id="388" isRoot="false" isAbstract="false" isQuery="false" name="readByte" >
2780 <UML:BehavioralFeature.parameter>
2781 <UML:Parameter kind="return" xmi.id="45907" type="23" />
2782 <UML:Parameter isSpecification="false" visibility="private" xmi.id="389" value="" type="18" name="offset" />
2783 </UML:BehavioralFeature.parameter>
2784 </UML:Operation>
2785 <UML:Operation comment="Reads a word of raw data from memory starting at
2786 offset \e offset.
2788 \exception AccessViolation { When the data requested is
2789 not available, this exception is thrown }" isSpecification="false" isLeaf="false" visibility="public" xmi.id="390" isRoot="false" isAbstract="false" isQuery="false" name="readWord" >
2790 <UML:BehavioralFeature.parameter>
2791 <UML:Parameter kind="return" xmi.id="45908" type="26" />
2792 <UML:Parameter isSpecification="false" visibility="private" xmi.id="391" value="" type="18" name="offset" />
2793 </UML:BehavioralFeature.parameter>
2794 </UML:Operation>
2795 <UML:Operation comment="Reads a single bytes of raw data from memory at
2796 offset \e offset.
2798 \exception AccessViolation { When the data requested is
2799 not available, this exception is thrown }" isSpecification="false" isLeaf="false" visibility="public" xmi.id="392" isRoot="false" isAbstract="false" isQuery="false" name="writeByte" >
2800 <UML:BehavioralFeature.parameter>
2801 <UML:Parameter isSpecification="false" visibility="private" xmi.id="393" value="" type="18" name="offset" />
2802 <UML:Parameter isSpecification="false" visibility="private" xmi.id="394" value="" type="23" name="val" />
2803 </UML:BehavioralFeature.parameter>
2804 </UML:Operation>
2805 <UML:Operation comment="Reads a word of raw data from memory starting at
2806 offset \e offset.
2808 \exception AccessViolation { When the data requested is
2809 not available, this exception is thrown }" isSpecification="false" isLeaf="false" visibility="public" xmi.id="395" isRoot="false" isAbstract="false" isQuery="false" name="writeWord" >
2810 <UML:BehavioralFeature.parameter>
2811 <UML:Parameter isSpecification="false" visibility="private" xmi.id="396" value="" type="18" name="offset" />
2812 <UML:Parameter isSpecification="false" visibility="private" xmi.id="397" value="" type="26" name="val" />
2813 </UML:BehavioralFeature.parameter>
2814 </UML:Operation>
2815 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="398" isRoot="false" isAbstract="false" isQuery="false" name="readRam" >
2816 <UML:BehavioralFeature.parameter>
2817 <UML:Parameter kind="return" xmi.id="45909" type="225" />
2818 <UML:Parameter isSpecification="false" visibility="private" xmi.id="399" value="" type="18" name="offset" />
2819 <UML:Parameter isSpecification="false" visibility="private" xmi.id="400" value="" type="18" name="size" />
2820 </UML:BehavioralFeature.parameter>
2821 </UML:Operation>
2822 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="401" isRoot="false" isAbstract="false" isQuery="false" name="writeRam" >
2823 <UML:BehavioralFeature.parameter>
2824 <UML:Parameter isSpecification="false" visibility="private" xmi.id="402" value="" type="232" name="data" />
2825 <UML:Parameter isSpecification="false" visibility="private" xmi.id="403" value="" type="18" name="offset" />
2826 <UML:Parameter isSpecification="false" visibility="private" xmi.id="404" value="" type="18" name="size" />
2827 </UML:BehavioralFeature.parameter>
2828 </UML:Operation>
2829 </UML:Classifier.feature>
2830 </UML:Class>
2831 <UML:Class comment="@author Tom Haber
2832 @date Apr 23, 2008
2833 @brief Represents the stack within the chip.
2835 A software stack implementation. Provides methods
2836 for pushing and popping." isSpecification="false" isLeaf="false" visibility="public" namespace="22" xmi.id="410" isRoot="false" isAbstract="false" name="Stack" >
2837 <UML:GeneralizableElement.generalization>
2838 <UML:Generalization xmi.idref="411" />
2839 <UML:Generalization xmi.idref="2833" />
2840 <UML:Generalization xmi.idref="411" />
2841 <UML:Generalization xmi.idref="2833" />
2842 <UML:Generalization xmi.idref="411" />
2843 <UML:Generalization xmi.idref="2833" />
2844 <UML:Generalization xmi.idref="19501" />
2845 </UML:GeneralizableElement.generalization>
2846 <UML:Classifier.feature>
2847 <UML:Attribute isSpecification="false" visibility="private" xmi.id="437" type="416" name="mmu" />
2848 <UML:Attribute isSpecification="false" visibility="private" xmi.id="438" type="26" name="mask" />
2849 <UML:Attribute isSpecification="false" visibility="private" xmi.id="439" type="26" name="sp" />
2850 <UML:Attribute isSpecification="false" visibility="private" xmi.id="441" type="440" name="sph" />
2851 <UML:Attribute isSpecification="false" visibility="private" xmi.id="442" type="440" name="spl" />
2852 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="414" isRoot="false" isAbstract="false" isQuery="false" name="Stack" >
2853 <UML:BehavioralFeature.parameter>
2854 <UML:Parameter isSpecification="false" visibility="private" xmi.id="415" value="" type="198" name="bus" />
2855 <UML:Parameter isSpecification="false" visibility="private" xmi.id="417" value="" type="416" name="mmu" />
2856 <UML:Parameter isSpecification="false" visibility="private" xmi.id="418" value="" type="26" name="mask" />
2857 </UML:BehavioralFeature.parameter>
2858 </UML:Operation>
2859 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="419" isRoot="false" isAbstract="false" isQuery="false" name="getSP" >
2860 <UML:BehavioralFeature.parameter>
2861 <UML:Parameter kind="return" xmi.id="45910" type="26" />
2862 </UML:BehavioralFeature.parameter>
2863 </UML:Operation>
2864 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="420" isRoot="false" isAbstract="false" isQuery="false" name="getSPH" >
2865 <UML:BehavioralFeature.parameter>
2866 <UML:Parameter kind="return" xmi.id="45911" type="224" />
2867 </UML:BehavioralFeature.parameter>
2868 </UML:Operation>
2869 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="421" isRoot="false" isAbstract="false" isQuery="false" name="getSPL" >
2870 <UML:BehavioralFeature.parameter>
2871 <UML:Parameter kind="return" xmi.id="45912" type="224" />
2872 </UML:BehavioralFeature.parameter>
2873 </UML:Operation>
2874 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="422" isRoot="false" isAbstract="false" isQuery="false" name="setSP" >
2875 <UML:BehavioralFeature.parameter>
2876 <UML:Parameter isSpecification="false" visibility="private" xmi.id="423" value="" type="26" name="sp" />
2877 </UML:BehavioralFeature.parameter>
2878 </UML:Operation>
2879 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="424" isRoot="false" isAbstract="false" isQuery="false" name="push" >
2880 <UML:BehavioralFeature.parameter>
2881 <UML:Parameter isSpecification="false" visibility="private" xmi.id="425" value="" type="224" name="val" />
2882 </UML:BehavioralFeature.parameter>
2883 </UML:Operation>
2884 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="426" isRoot="false" isAbstract="false" isQuery="false" name="pop" >
2885 <UML:BehavioralFeature.parameter>
2886 <UML:Parameter kind="return" xmi.id="45913" type="224" />
2887 </UML:BehavioralFeature.parameter>
2888 </UML:Operation>
2889 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="427" isRoot="false" isAbstract="false" isQuery="false" name="attachReg" >
2890 <UML:BehavioralFeature.parameter>
2891 <UML:Parameter kind="return" xmi.id="45914" type="13" />
2892 <UML:Parameter isSpecification="false" visibility="private" xmi.id="428" value="" type="160" name="name" />
2893 <UML:Parameter isSpecification="false" visibility="private" xmi.id="429" value="" type="203" name="reg" />
2894 </UML:BehavioralFeature.parameter>
2895 </UML:Operation>
2896 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="430" isRoot="false" isAbstract="false" isQuery="false" name="finishBuild" >
2897 <UML:BehavioralFeature.parameter>
2898 <UML:Parameter kind="return" xmi.id="45915" type="13" />
2899 </UML:BehavioralFeature.parameter>
2900 </UML:Operation>
2901 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="431" isRoot="false" isAbstract="false" isQuery="false" name="regChanged" >
2902 <UML:BehavioralFeature.parameter>
2903 <UML:Parameter isSpecification="false" visibility="private" xmi.id="432" value="" type="203" name="reg" />
2904 </UML:BehavioralFeature.parameter>
2905 </UML:Operation>
2906 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="433" isRoot="false" isAbstract="false" isQuery="false" name="setSPH" >
2907 <UML:BehavioralFeature.parameter>
2908 <UML:Parameter isSpecification="false" visibility="private" xmi.id="434" value="" type="224" name="sph" />
2909 </UML:BehavioralFeature.parameter>
2910 </UML:Operation>
2911 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="435" isRoot="false" isAbstract="false" isQuery="false" name="setSPL" >
2912 <UML:BehavioralFeature.parameter>
2913 <UML:Parameter isSpecification="false" visibility="private" xmi.id="436" value="" type="224" name="spl" />
2914 </UML:BehavioralFeature.parameter>
2915 </UML:Operation>
2916 </UML:Classifier.feature>
2917 </UML:Class>
2918 <UML:Class comment="@author Tom Haber
2919 @date May 2, 2008
2920 @brief 16-bit timers
2922 16-bit timers" isSpecification="false" isLeaf="false" visibility="public" namespace="1109" xmi.id="19526" isRoot="false" isAbstract="false" name="Timer16" >
2923 <UML:GeneralizableElement.generalization>
2924 <UML:Generalization xmi.idref="19527" />
2925 </UML:GeneralizableElement.generalization>
2926 <UML:Classifier.feature>
2927 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19542" type="224" name="tovmask" />
2928 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19543" type="10" name="direction" />
2929 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19544" type="26" name="tcnt" />
2930 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19545" type="13" name="blockCompareMatch" />
2931 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19546" type="224" name="timerMode" />
2932 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19547" type="224" name="compareMode" />
2933 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19548" type="10" name="period" />
2934 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="19530" isRoot="false" isAbstract="false" isQuery="false" name="Timer16" >
2935 <UML:BehavioralFeature.parameter>
2936 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19531" value="" type="198" name="bus" />
2937 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19532" value="" type="224" name="tovmask" />
2938 </UML:BehavioralFeature.parameter>
2939 </UML:Operation>
2940 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="19533" isRoot="false" isAbstract="false" isQuery="false" name="attachReg" >
2941 <UML:BehavioralFeature.parameter>
2942 <UML:Parameter kind="return" xmi.id="45916" type="13" />
2943 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19534" value="" type="160" name="name" />
2944 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19535" value="" type="203" name="reg" />
2945 </UML:BehavioralFeature.parameter>
2946 </UML:Operation>
2947 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="19536" isRoot="false" isAbstract="false" isQuery="false" name="regChanged" >
2948 <UML:BehavioralFeature.parameter>
2949 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19537" value="" type="203" name="reg" />
2950 </UML:BehavioralFeature.parameter>
2951 </UML:Operation>
2952 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="19538" isRoot="false" isAbstract="false" isQuery="false" name="step" />
2953 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="19539" isRoot="false" isAbstract="false" isQuery="false" name="flushOCRn" />
2954 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="19540" isRoot="false" isAbstract="false" isQuery="false" name="setClock" >
2955 <UML:BehavioralFeature.parameter>
2956 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19541" value="" type="224" name="tccr" />
2957 </UML:BehavioralFeature.parameter>
2958 </UML:Operation>
2959 </UML:Classifier.feature>
2960 </UML:Class>
2961 <UML:Class comment="@author Tom Haber
2962 @date May 2, 2008
2963 @brief 8-bit timers
2965 8-bit timers" isSpecification="false" isLeaf="false" visibility="public" namespace="1109" xmi.id="19553" isRoot="false" isAbstract="false" name="Timer8" >
2966 <UML:GeneralizableElement.generalization>
2967 <UML:Generalization xmi.idref="19554" />
2968 </UML:GeneralizableElement.generalization>
2969 <UML:Classifier.feature>
2970 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19572" type="224" name="tovmask" />
2971 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19573" type="224" name="ocfmask" />
2972 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19574" type="10" name="direction" />
2973 <UML:Attribute comment="pg. 93 of manual. Block compareMatch for one period after
2974 TCNTn is written to." isSpecification="false" visibility="private" xmi.id="19575" type="13" name="blockCompareMatch" />
2975 <UML:Attribute comment="// For double buffering ocr register" isSpecification="false" visibility="private" xmi.id="19576" type="224" name="ocrBuf" />
2976 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19577" type="224" name="timerMode" />
2977 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19578" type="224" name="compareMode" />
2978 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19579" type="10" name="period" />
2979 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="19557" isRoot="false" isAbstract="false" isQuery="false" name="Timer8" >
2980 <UML:BehavioralFeature.parameter>
2981 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19558" value="" type="198" name="bus" />
2982 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19559" value="" type="224" name="tovmask" />
2983 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19560" value="" type="224" name="ocfmask" />
2984 </UML:BehavioralFeature.parameter>
2985 </UML:Operation>
2986 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="19561" isRoot="false" isAbstract="false" isQuery="false" name="attachReg" >
2987 <UML:BehavioralFeature.parameter>
2988 <UML:Parameter kind="return" xmi.id="45917" type="13" />
2989 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19562" value="" type="160" name="name" />
2990 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19563" value="" type="203" name="reg" />
2991 </UML:BehavioralFeature.parameter>
2992 </UML:Operation>
2993 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="19564" isRoot="false" isAbstract="false" isQuery="false" name="regChanged" >
2994 <UML:BehavioralFeature.parameter>
2995 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19565" value="" type="203" name="reg" />
2996 </UML:BehavioralFeature.parameter>
2997 </UML:Operation>
2998 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="19566" isRoot="false" isAbstract="false" isQuery="false" name="step" />
2999 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="19567" isRoot="false" isAbstract="false" isQuery="false" name="setClock" >
3000 <UML:BehavioralFeature.parameter>
3001 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19568" value="" type="224" name="tccr" />
3002 </UML:BehavioralFeature.parameter>
3003 </UML:Operation>
3004 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="19569" isRoot="false" isAbstract="false" isQuery="false" name="forceOutputCompare" />
3005 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="19570" isRoot="false" isAbstract="false" isQuery="false" name="compareMatchOutput" >
3006 <UML:BehavioralFeature.parameter>
3007 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19571" value="" type="224" name="tcnt" />
3008 </UML:BehavioralFeature.parameter>
3009 </UML:Operation>
3010 </UML:Classifier.feature>
3011 </UML:Class>
3012 <UML:Class comment="@author Tom Haber
3013 @date May 2, 2008
3014 @brief Timer interrupt hardware
3016 This class generates the interrupts for all timers." isSpecification="false" isLeaf="false" visibility="public" namespace="22" xmi.id="19584" isRoot="false" isAbstract="false" name="TimerInterrupts" >
3017 <UML:GeneralizableElement.generalization>
3018 <UML:Generalization xmi.idref="19585" />
3019 </UML:GeneralizableElement.generalization>
3020 <UML:Classifier.feature>
3021 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19608" type="224" name="mask" />
3022 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19609" type="224" name="tifrOld" />
3023 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19610" type="224" name="timskOld" />
3024 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19611" type="18" name="bit0Vec" />
3025 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19612" type="18" name="bit1Vec" />
3026 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19613" type="18" name="bit2Vec" />
3027 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19614" type="18" name="bit3Vec" />
3028 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19615" type="18" name="bit4Vec" />
3029 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19616" type="18" name="bit5Vec" />
3030 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19617" type="18" name="bit6Vec" />
3031 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19618" type="18" name="bit7Vec" />
3032 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19619" type="203" name="tifr" />
3033 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19620" type="203" name="timsk" />
3034 <UML:Operation stereotype="27" isSpecification="false" isLeaf="false" visibility="public" xmi.id="19588" isRoot="false" isAbstract="false" isQuery="false" name="TimerInterrupts" >
3035 <UML:BehavioralFeature.parameter>
3036 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19589" value="" type="198" name="bus" />
3037 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19590" value="" type="224" name="mask" />
3038 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19591" value="" type="18" name="bit0Vec" />
3039 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19592" value="" type="18" name="bit1Vec" />
3040 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19593" value="" type="18" name="bit2Vec" />
3041 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19594" value="" type="18" name="bit3Vec" />
3042 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19595" value="" type="18" name="bit4Vec" />
3043 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19596" value="" type="18" name="bit5Vec" />
3044 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19597" value="" type="18" name="bit6Vec" />
3045 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19598" value="" type="18" name="bit7Vec" />
3046 </UML:BehavioralFeature.parameter>
3047 </UML:Operation>
3048 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="19599" isRoot="false" isAbstract="false" isQuery="false" name="attachReg" >
3049 <UML:BehavioralFeature.parameter>
3050 <UML:Parameter kind="return" xmi.id="45918" type="13" />
3051 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19600" value="" type="160" name="name" />
3052 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19601" value="" type="203" name="reg" />
3053 </UML:BehavioralFeature.parameter>
3054 </UML:Operation>
3055 <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="19602" isRoot="false" isAbstract="false" isQuery="false" name="regChanged" >
3056 <UML:BehavioralFeature.parameter>
3057 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19603" value="" type="203" name="reg" />
3058 </UML:BehavioralFeature.parameter>
3059 </UML:Operation>
3060 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="19604" isRoot="false" isAbstract="false" isQuery="false" name="checkForNewSetIrq" >
3061 <UML:BehavioralFeature.parameter>
3062 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19605" value="" type="224" name="tiac" />
3063 </UML:BehavioralFeature.parameter>
3064 </UML:Operation>
3065 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="19606" isRoot="false" isAbstract="false" isQuery="false" name="checkForNewClearIrq" >
3066 <UML:BehavioralFeature.parameter>
3067 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19607" value="" type="224" name="tiac" />
3068 </UML:BehavioralFeature.parameter>
3069 </UML:Operation>
3070 </UML:Classifier.feature>
3071 </UML:Class>
3072 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="2020" xmi.id="19621" isRoot="false" isAbstract="false" name="Usart" >
3073 <UML:GeneralizableElement.generalization>
3074 <UML:Generalization xmi.idref="19622" />
3075 <UML:Generalization xmi.idref="42740" />
3076 </UML:GeneralizableElement.generalization>
3077 <UML:Classifier.feature>
3078 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19661" type="18" name="udreVec" />
3079 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19662" type="18" name="rxVec" />
3080 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19663" type="18" name="txVec" />
3081 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19664" type="224" name="udrWrite" />
3082 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19665" type="224" name="udrRead" />
3083 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19666" type="10" name="baudRate" />
3084 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19667" type="10" name="frameLength" />
3085 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19669" type="41682" name="txState" />
3086 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19670" type="10" name="txShift" />
3087 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19671" type="10" name="txBitCount" />
3088 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19672" type="10" name="txRate" />
3089 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19674" type="41815" name="rxState" />
3090 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19675" type="10" name="rxShift" />
3091 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19676" type="10" name="rxBitCount" />
3092 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19677" type="10" name="rxSample" />
3093 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19678" type="224" name="ucsra_old" />
3094 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19679" type="224" name="ucsrb_old" />
3095 <UML:Attribute isSpecification="false" visibility="private" xmi.id="19680" type="224" name="ucsrc" />
3096 <UML:Operation comment="Attach a register with name \e name to the hardware." isSpecification="false" isLeaf="false" visibility="public" xmi.id="19632" isRoot="false" isAbstract="false" isQuery="false" name="attachReg" >
3097 <UML:BehavioralFeature.parameter>
3098 <UML:Parameter kind="return" xmi.id="45919" type="13" />
3099 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19633" value="" type="160" name="name" />
3100 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19634" value="" type="203" name="reg" />
3101 </UML:BehavioralFeature.parameter>
3102 </UML:Operation>
3103 <UML:Operation comment="Finishes the construction of the hardware.
3104 This should verify the registers and parameters
3105 @returns true if build was successful." isSpecification="false" isLeaf="false" visibility="public" xmi.id="19635" isRoot="false" isAbstract="false" isQuery="false" name="finishBuild" >
3106 <UML:BehavioralFeature.parameter>
3107 <UML:Parameter kind="return" xmi.id="45920" type="13" />
3108 </UML:BehavioralFeature.parameter>
3109 </UML:Operation>
3110 <UML:Operation comment="An attached register changed state." isSpecification="false" isLeaf="false" visibility="public" xmi.id="19636" isRoot="false" isAbstract="false" isQuery="false" name="regChanged" >
3111 <UML:BehavioralFeature.parameter>
3112 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19637" value="" type="203" name="reg" />
3113 </UML:BehavioralFeature.parameter>
3114 </UML:Operation>
3115 <UML:Operation comment="Perform a single step." isSpecification="false" isLeaf="false" visibility="public" xmi.id="19638" isRoot="false" isAbstract="false" isQuery="false" name="step" />
3116 <UML:Operation comment="Reset the internal hardware." isSpecification="false" isLeaf="false" visibility="public" xmi.id="19639" isRoot="false" isAbstract="false" isQuery="false" name="reset" />
3117 <UML:Operation comment="Called just before an interrupt handler is invoked." isSpecification="false" isLeaf="false" visibility="public" xmi.id="19640" isRoot="false" isAbstract="false" isQuery="false" name="beforeInvokeInterrupt" >
3118 <UML:BehavioralFeature.parameter>
3119 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19641" value="" type="18" name="vector" />
3120 </UML:BehavioralFeature.parameter>
3121 </UML:Operation>
3122 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="19642" isRoot="false" isAbstract="false" isQuery="false" name="receiveCycle" />
3123 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="19643" isRoot="false" isAbstract="false" isQuery="false" name="transmitCycle" />
3124 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="19644" isRoot="false" isAbstract="false" isQuery="false" name="checkForNewSetIrq" >
3125 <UML:BehavioralFeature.parameter>
3126 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19645" value="" type="224" name="val" />
3127 </UML:BehavioralFeature.parameter>
3128 </UML:Operation>
3129 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="19646" isRoot="false" isAbstract="false" isQuery="false" name="checkForNewClearIrq" >
3130 <UML:BehavioralFeature.parameter>
3131 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19647" value="" type="224" name="val" />
3132 </UML:BehavioralFeature.parameter>
3133 </UML:Operation>
3134 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="19648" isRoot="false" isAbstract="false" isQuery="false" name="setUdr" >
3135 <UML:BehavioralFeature.parameter>
3136 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19649" value="" type="224" name="udr" />
3137 </UML:BehavioralFeature.parameter>
3138 </UML:Operation>
3139 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="19650" isRoot="false" isAbstract="false" isQuery="false" name="setUcsra" >
3140 <UML:BehavioralFeature.parameter>
3141 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19651" value="" type="224" name="ucsra" />
3142 </UML:BehavioralFeature.parameter>
3143 </UML:Operation>
3144 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="19652" isRoot="false" isAbstract="false" isQuery="false" name="setUcsrb" >
3145 <UML:BehavioralFeature.parameter>
3146 <UML:Parameter isSpecification="false" visibility="private" xmi.id="19653" value="" type="224" name="ucsrb" />
3147 </UML:BehavioralFeature.parameter>
3148 </UML:Operation>
3149 <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="19654" isRoot="false" isAbstract="false" isQuery="false" name="setFramelength" />
3150 </UML:Classifier.feature>
3151 </UML:Class>
3152 </UML:Namespace.ownedElement>
3153 </UML:Package>
3154 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="243" isRoot="false" isAbstract="false" name="Hardware" />
3155 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="19668" isRoot="false" isAbstract="false" name="new_class_2" />
3156 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="19673" isRoot="false" isAbstract="false" name="new_class_3" />
3157 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="41682" isRoot="false" isAbstract="false" name="TXState" />
3158 <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="1" xmi.id="41815" isRoot="false" isAbstract="false" name="RXState" />
3159 <UML:Generalization isSpecification="false" child="78" visibility="public" namespace="1" xmi.id="81" parent="80" discriminator="" name="" />
3160 <UML:Generalization isSpecification="false" child="133" visibility="public" namespace="1" xmi.id="135" parent="134" discriminator="" name="" />
3161 <UML:Generalization isSpecification="false" child="242" visibility="public" namespace="1" xmi.id="244" parent="243" discriminator="" name="" />
3162 <UML:Generalization isSpecification="false" child="242" visibility="public" namespace="1" xmi.id="248" parent="247" discriminator="" name="" />
3163 <UML:Generalization isSpecification="false" child="196" visibility="public" namespace="1" xmi.id="305" parent="304" discriminator="" name="" />
3164 <UML:Generalization isSpecification="false" child="345" visibility="public" namespace="1" xmi.id="346" parent="247" discriminator="" name="" />
3165 <UML:Generalization isSpecification="false" child="410" visibility="public" namespace="1" xmi.id="411" parent="243" discriminator="" name="" />
3166 <UML:Generalization isSpecification="false" child="78" visibility="public" namespace="1" xmi.id="543" parent="80" discriminator="" name="" />
3167 <UML:Generalization isSpecification="false" child="563" visibility="public" namespace="1" xmi.id="565" parent="564" discriminator="" name="" />
3168 <UML:Generalization isSpecification="false" child="563" visibility="public" namespace="1" xmi.id="1350" parent="77" discriminator="" name="" />
3169 <UML:Generalization isSpecification="false" child="242" visibility="public" namespace="1" xmi.id="2645" parent="132" discriminator="" name="" />
3170 <UML:Generalization isSpecification="false" child="410" visibility="public" namespace="1" xmi.id="2833" parent="132" discriminator="" name="" />
3171 <UML:Generalization isSpecification="false" child="3919" visibility="public" namespace="1" xmi.id="3921" parent="3920" discriminator="" name="" />
3172 <UML:Generalization isSpecification="false" child="3919" visibility="public" namespace="1" xmi.id="3924" parent="3823" discriminator="" name="" />
3173 <UML:Generalization isSpecification="false" child="3993" visibility="public" namespace="1" xmi.id="3994" parent="3920" discriminator="" name="" />
3174 <UML:Generalization isSpecification="false" child="3919" visibility="public" namespace="1" xmi.id="4466" parent="443" discriminator="" name="" />
3175 <UML:Generalization isSpecification="false" child="3993" visibility="public" namespace="1" xmi.id="4649" parent="443" discriminator="" name="" />
3176 <UML:Generalization isSpecification="false" child="78" visibility="public" namespace="1" xmi.id="81" parent="80" discriminator="" name="" />
3177 <UML:Generalization isSpecification="false" child="133" visibility="public" namespace="1" xmi.id="135" parent="134" discriminator="" name="" />
3178 <UML:Generalization isSpecification="false" child="242" visibility="public" namespace="1" xmi.id="244" parent="243" discriminator="" name="" />
3179 <UML:Generalization isSpecification="false" child="242" visibility="public" namespace="1" xmi.id="248" parent="247" discriminator="" name="" />
3180 <UML:Generalization isSpecification="false" child="196" visibility="public" namespace="1" xmi.id="305" parent="304" discriminator="" name="" />
3181 <UML:Generalization isSpecification="false" child="345" visibility="public" namespace="1" xmi.id="346" parent="247" discriminator="" name="" />
3182 <UML:Generalization isSpecification="false" child="410" visibility="public" namespace="1" xmi.id="411" parent="243" discriminator="" name="" />
3183 <UML:Generalization isSpecification="false" child="78" visibility="public" namespace="1" xmi.id="543" parent="80" discriminator="" name="" />
3184 <UML:Generalization isSpecification="false" child="563" visibility="public" namespace="1" xmi.id="565" parent="564" discriminator="" name="" />
3185 <UML:Generalization isSpecification="false" child="563" visibility="public" namespace="1" xmi.id="1350" parent="77" discriminator="" name="" />
3186 <UML:Generalization isSpecification="false" child="242" visibility="public" namespace="1" xmi.id="2645" parent="132" discriminator="" name="" />
3187 <UML:Generalization isSpecification="false" child="410" visibility="public" namespace="1" xmi.id="2833" parent="132" discriminator="" name="" />
3188 <UML:Generalization isSpecification="false" child="3919" visibility="public" namespace="1" xmi.id="3921" parent="3920" discriminator="" name="" />
3189 <UML:Generalization isSpecification="false" child="3919" visibility="public" namespace="1" xmi.id="3924" parent="3823" discriminator="" name="" />
3190 <UML:Generalization isSpecification="false" child="3993" visibility="public" namespace="1" xmi.id="3994" parent="3920" discriminator="" name="" />
3191 <UML:Generalization isSpecification="false" child="3919" visibility="public" namespace="1" xmi.id="4466" parent="443" discriminator="" name="" />
3192 <UML:Generalization isSpecification="false" child="3993" visibility="public" namespace="1" xmi.id="4649" parent="443" discriminator="" name="" />
3193 <UML:Generalization isSpecification="false" child="78" visibility="public" namespace="1" xmi.id="81" parent="80" discriminator="" name="" />
3194 <UML:Generalization isSpecification="false" child="133" visibility="public" namespace="1" xmi.id="135" parent="134" discriminator="" name="" />
3195 <UML:Generalization isSpecification="false" child="242" visibility="public" namespace="1" xmi.id="244" parent="243" discriminator="" name="" />
3196 <UML:Generalization isSpecification="false" child="242" visibility="public" namespace="1" xmi.id="248" parent="247" discriminator="" name="" />
3197 <UML:Generalization isSpecification="false" child="196" visibility="public" namespace="1" xmi.id="305" parent="304" discriminator="" name="" />
3198 <UML:Generalization isSpecification="false" child="345" visibility="public" namespace="1" xmi.id="346" parent="247" discriminator="" name="" />
3199 <UML:Generalization isSpecification="false" child="410" visibility="public" namespace="1" xmi.id="411" parent="243" discriminator="" name="" />
3200 <UML:Generalization isSpecification="false" child="78" visibility="public" namespace="1" xmi.id="543" parent="80" discriminator="" name="" />
3201 <UML:Generalization isSpecification="false" child="563" visibility="public" namespace="1" xmi.id="565" parent="564" discriminator="" name="" />
3202 <UML:Generalization isSpecification="false" child="563" visibility="public" namespace="1" xmi.id="1350" parent="77" discriminator="" name="" />
3203 <UML:Generalization isSpecification="false" child="242" visibility="public" namespace="1" xmi.id="2645" parent="132" discriminator="" name="" />
3204 <UML:Generalization isSpecification="false" child="410" visibility="public" namespace="1" xmi.id="2833" parent="132" discriminator="" name="" />
3205 <UML:Generalization isSpecification="false" child="3919" visibility="public" namespace="1" xmi.id="3921" parent="3920" discriminator="" name="" />
3206 <UML:Generalization isSpecification="false" child="3919" visibility="public" namespace="1" xmi.id="3924" parent="3823" discriminator="" name="" />
3207 <UML:Generalization isSpecification="false" child="3993" visibility="public" namespace="1" xmi.id="3994" parent="3920" discriminator="" name="" />
3208 <UML:Generalization isSpecification="false" child="3919" visibility="public" namespace="1" xmi.id="4466" parent="443" discriminator="" name="" />
3209 <UML:Generalization isSpecification="false" child="3993" visibility="public" namespace="1" xmi.id="4649" parent="443" discriminator="" name="" />
3210 <UML:Generalization isSpecification="false" child="12999" visibility="public" namespace="1" xmi.id="13001" parent="13000" discriminator="" name="" />
3211 <UML:Generalization isSpecification="false" child="13009" visibility="public" namespace="1" xmi.id="13011" parent="13010" discriminator="" name="" />
3212 <UML:Generalization isSpecification="false" child="13016" visibility="public" namespace="1" xmi.id="13018" parent="13017" discriminator="" name="" />
3213 <UML:Generalization isSpecification="false" child="13023" visibility="public" namespace="1" xmi.id="13024" parent="13017" discriminator="" name="" />
3214 <UML:Generalization isSpecification="false" child="13029" visibility="public" namespace="1" xmi.id="13030" parent="13017" discriminator="" name="" />
3215 <UML:Generalization isSpecification="false" child="13035" visibility="public" namespace="1" xmi.id="13036" parent="13017" discriminator="" name="" />
3216 <UML:Generalization isSpecification="false" child="13210" visibility="public" namespace="1" xmi.id="13211" parent="12999" discriminator="" name="" />
3217 <UML:Dependency isSpecification="false" visibility="public" namespace="1" xmi.id="13685" client="183" name="" supplier="182" />
3218 <UML:Dependency isSpecification="false" visibility="public" namespace="1" xmi.id="14719" client="445" name="" supplier="182" />
3219 <UML:Association isSpecification="false" visibility="public" namespace="1" xmi.id="16672" name="" >
3220 <UML:Association.connection>
3221 <UML:AssociationEnd isSpecification="false" visibility="public" changeability="changeable" isNavigable="true" xmi.id="16673" aggregation="composite" type="323" name="" />
3222 <UML:AssociationEnd isSpecification="false" visibility="public" changeability="changeable" isNavigable="true" xmi.id="16674" aggregation="none" type="196" name="" />
3223 </UML:Association.connection>
3224 </UML:Association>
3225 <UML:Generalization isSpecification="false" child="17633" visibility="public" namespace="1" xmi.id="17635" parent="17634" discriminator="" name="" />
3226 <UML:Dependency isSpecification="false" visibility="public" namespace="1" xmi.id="18389" client="563" name="" supplier="560" />
3227 <UML:Generalization isSpecification="false" child="557" visibility="public" namespace="1" xmi.id="19295" parent="243" discriminator="" name="" />
3228 <UML:Generalization isSpecification="false" child="557" visibility="public" namespace="1" xmi.id="19298" parent="247" discriminator="" name="" />
3229 <UML:Generalization isSpecification="false" child="242" visibility="public" namespace="1" xmi.id="19331" parent="243" discriminator="" name="" />
3230 <UML:Generalization isSpecification="false" child="242" visibility="public" namespace="1" xmi.id="19334" parent="247" discriminator="" name="" />
3231 <UML:Generalization isSpecification="false" child="19360" visibility="public" namespace="1" xmi.id="19361" parent="132" discriminator="" name="" />
3232 <UML:Generalization isSpecification="false" child="345" visibility="public" namespace="1" xmi.id="19395" parent="247" discriminator="" name="" />
3233 <UML:Generalization isSpecification="false" child="196" visibility="public" namespace="1" xmi.id="19424" parent="304" discriminator="" name="" />
3234 <UML:Generalization isSpecification="false" child="410" visibility="public" namespace="1" xmi.id="19501" parent="132" discriminator="" name="" />
3235 <UML:Generalization isSpecification="false" child="19526" visibility="public" namespace="1" xmi.id="19527" parent="132" discriminator="" name="" />
3236 <UML:Generalization isSpecification="false" child="19553" visibility="public" namespace="1" xmi.id="19554" parent="132" discriminator="" name="" />
3237 <UML:Generalization isSpecification="false" child="19584" visibility="public" namespace="1" xmi.id="19585" parent="132" discriminator="" name="" />
3238 <UML:Generalization isSpecification="false" child="19621" visibility="public" namespace="1" xmi.id="19622" parent="243" discriminator="" name="" />
3239 <UML:Generalization isSpecification="false" child="557" visibility="public" namespace="1" xmi.id="20355" parent="132" discriminator="" name="" />
3240 <UML:Generalization isSpecification="false" child="19621" visibility="public" namespace="1" xmi.id="42740" parent="132" discriminator="" name="" />
3241 <UML:Association isSpecification="false" visibility="public" namespace="1" xmi.id="45390" name="" >
3242 <UML:Association.connection>
3243 <UML:AssociationEnd isSpecification="false" visibility="public" changeability="changeable" isNavigable="true" xmi.id="45391" aggregation="composite" type="560" name="" />
3244 <UML:AssociationEnd isSpecification="false" visibility="public" changeability="changeable" isNavigable="true" xmi.id="45392" aggregation="none" type="17587" name="" />
3245 </UML:Association.connection>
3246 </UML:Association>
3247 </UML:Namespace.ownedElement>
3248 <XMI.extension xmi.extender="umbrello" >
3249 <diagrams>
3250 <diagram snapgrid="0" showattsig="1" fillcolor="#ffffc0" linewidth="0" zoom="100" showgrid="0" showopsig="1" usefillcolor="1" snapx="10" canvaswidth="3593" snapy="10" showatts="1" xmi.id="9" documentation="" type="1" showops="1" showpackage="0" name="class diagram" localid="900000" showstereotype="0" showscope="1" snapcsgrid="0" font="Sans Serif,10,-1,0,50,0,0,0,0,0" linecolor="#ff0000" canvasheight="2675" >
3251 <widgets>
3252 <classwidget usesdiagramfillcolour="1" width="492" showattsigs="601" usesdiagramusefillcolour="1" x="2080" y="1173" showopsigs="601" linewidth="none" fillcolour="none" height="702" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="445" showoperations="1" showpackage="0" showscope="1" font="Sans Serif,10,-1,0,75,0,0,0,0,0" linecolor="none" />
3253 <classwidget usesdiagramfillcolour="1" width="409" showattsigs="601" usesdiagramusefillcolour="1" x="1671" y="2018" showopsigs="601" linewidth="none" fillcolour="none" height="342" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="563" showoperations="1" showpackage="0" showscope="1" font="Sans Serif,10,-1,0,75,0,0,0,0,0" linecolor="none" />
3254 <classwidget usesdiagramfillcolour="1" width="526" showattsigs="601" usesdiagramusefillcolour="1" x="1395" y="943" showopsigs="601" linewidth="none" fillcolour="none" height="324" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="133" showoperations="1" showpackage="0" showscope="1" font="Sans Serif,10,-1,0,75,0,0,0,0,0" linecolor="none" />
3255 <classwidget usesdiagramfillcolour="1" width="380" showattsigs="601" usesdiagramusefillcolour="1" x="1027" y="655" showopsigs="601" linewidth="none" fillcolour="none" height="234" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="132" showoperations="1" showpackage="0" showscope="1" font="Sans Serif,10,-1,0,50,1,0,0,0,0" linecolor="none" />
3256 <classwidget usesdiagramfillcolour="1" width="349" showattsigs="601" usesdiagramusefillcolour="1" x="3035" y="1164" showopsigs="601" linewidth="none" fillcolour="none" height="396" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="443" showoperations="1" showpackage="0" showscope="1" font="Sans Serif,10,-1,0,75,0,0,0,0,0" linecolor="none" />
3257 <classwidget usesdiagramfillcolour="1" width="526" showattsigs="601" usesdiagramusefillcolour="1" x="2665" y="1740" showopsigs="601" linewidth="none" fillcolour="none" height="486" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="3919" showoperations="1" showpackage="0" showscope="1" font="Sans Serif,10,-1,0,75,0,0,0,0,0" linecolor="none" />
3258 <classwidget usesdiagramfillcolour="1" width="349" showattsigs="601" usesdiagramusefillcolour="1" x="3240" y="1788" showopsigs="601" linewidth="none" fillcolour="none" height="171" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="3993" showoperations="1" showpackage="0" showscope="1" font="Sans Serif,10,-1,0,75,0,0,0,0,0" linecolor="none" />
3259 <classwidget usesdiagramfillcolour="1" width="297" showattsigs="601" usesdiagramusefillcolour="1" x="2380" y="626" showopsigs="601" linewidth="none" fillcolour="none" height="108" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="183" showoperations="1" showpackage="0" showscope="1" font="Sans Serif,10,-1,0,75,0,0,0,0,0" linecolor="none" />
3260 <classwidget usesdiagramfillcolour="1" width="312" showattsigs="601" usesdiagramusefillcolour="1" x="2750" y="820" showopsigs="601" linewidth="none" fillcolour="none" height="117" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="182" showoperations="1" showpackage="0" showscope="1" font="Sans Serif,10,-1,0,50,1,0,0,0,0" linecolor="none" />
3261 <classwidget usesdiagramfillcolour="1" width="492" showattsigs="601" usesdiagramusefillcolour="1" x="1603" y="438" showopsigs="601" linewidth="none" fillcolour="none" height="414" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="358" showoperations="1" showpackage="0" showscope="1" font="Sans Serif,10,-1,0,75,0,0,0,0,0" linecolor="none" />
3262 <classwidget usesdiagramfillcolour="1" width="437" showattsigs="601" usesdiagramusefillcolour="1" x="894" y="241" showopsigs="601" linewidth="none" fillcolour="none" height="198" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="323" showoperations="1" showpackage="0" showscope="1" font="Sans Serif,10,-1,0,75,0,0,0,0,0" linecolor="none" />
3263 <classwidget usesdiagramfillcolour="1" width="509" showattsigs="601" usesdiagramusefillcolour="1" x="277" y="488" showopsigs="601" linewidth="none" fillcolour="none" height="162" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="196" showoperations="1" showpackage="0" showscope="1" font="Sans Serif,10,-1,0,75,0,0,0,0,0" linecolor="none" />
3264 <classwidget usesdiagramfillcolour="1" width="347" showattsigs="601" usesdiagramusefillcolour="1" x="1171" y="2144" showopsigs="601" linewidth="none" fillcolour="none" height="198" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="560" showoperations="1" showpackage="0" showscope="1" font="Sans Serif,10,-1,0,50,1,0,0,0,0" linecolor="none" />
3265 <classwidget usesdiagramfillcolour="0" width="422" showattsigs="601" usesdiagramusefillcolour="0" x="912" y="1709" showopsigs="601" linewidth="none" fillcolour="#ffffc0" height="171" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="557" showoperations="1" showpackage="0" showscope="1" font="Sans Serif,10,-1,5,75,0,0,0,0,0" linecolor="#ff0000" />
3266 <classwidget usesdiagramfillcolour="1" width="293" showattsigs="601" usesdiagramusefillcolour="1" x="1500" y="235" showopsigs="601" linewidth="none" fillcolour="none" height="81" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="345" showoperations="1" showpackage="0" showscope="1" font="Sans Serif,10,-1,0,75,0,0,0,0,0" linecolor="none" />
3267 <classwidget usesdiagramfillcolour="1" width="353" showattsigs="601" usesdiagramusefillcolour="1" x="2214" y="247" showopsigs="601" linewidth="none" fillcolour="none" height="270" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="281" showoperations="1" showpackage="0" showscope="1" font="Sans Serif,10,-1,0,75,0,0,0,0,0" linecolor="none" />
3268 <classwidget usesdiagramfillcolour="0" width="377" showattsigs="601" usesdiagramusefillcolour="0" x="1208" y="1321" showopsigs="601" linewidth="none" fillcolour="#ffffc0" height="342" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="242" showoperations="1" showpackage="0" showscope="1" font="Sans Serif,10,-1,5,75,0,0,0,0,0" linecolor="#ff0000" />
3269 <classwidget usesdiagramfillcolour="0" width="480" showattsigs="601" usesdiagramusefillcolour="0" x="556" y="1925" showopsigs="601" linewidth="none" fillcolour="#ffffc0" height="288" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="19553" showoperations="1" showpackage="0" showscope="1" font="Sans Serif,10,-1,5,75,0,0,0,0,0" linecolor="#ff0000" />
3270 <classwidget usesdiagramfillcolour="0" width="377" showattsigs="601" usesdiagramusefillcolour="0" x="434" y="1018" showopsigs="601" linewidth="none" fillcolour="#ffffc0" height="252" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="19526" showoperations="1" showpackage="0" showscope="1" font="Sans Serif,10,-1,5,75,0,0,0,0,0" linecolor="#ff0000" />
3271 <classwidget usesdiagramfillcolour="0" width="377" showattsigs="601" usesdiagramusefillcolour="0" x="417" y="1525" showopsigs="601" linewidth="none" fillcolour="#ffffc0" height="324" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="19360" showoperations="1" showpackage="0" showscope="1" font="Sans Serif,10,-1,5,75,0,0,0,0,0" linecolor="#ff0000" />
3272 <classwidget usesdiagramfillcolour="0" width="377" showattsigs="601" usesdiagramusefillcolour="0" x="14" y="693" showopsigs="601" linewidth="none" fillcolour="#ffffc0" height="594" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="19621" showoperations="1" showpackage="0" showscope="1" font="Sans Serif,10,-1,5,75,0,0,0,0,0" linecolor="#ff0000" />
3273 <classwidget usesdiagramfillcolour="1" width="54" showattsigs="601" usesdiagramusefillcolour="1" x="1934" y="166" showopsigs="601" linewidth="none" fillcolour="none" height="36" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="357" showoperations="1" showpackage="0" showscope="1" font="Sans Serif,10,-1,0,75,0,0,0,0,0" linecolor="none" />
3274 <classwidget usesdiagramfillcolour="1" width="427" showattsigs="601" usesdiagramusefillcolour="1" x="1283" y="2389" showopsigs="601" linewidth="none" fillcolour="none" height="270" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="17587" showoperations="1" showpackage="0" showscope="1" font="Sans Serif,10,-1,0,75,0,0,0,0,0" linecolor="none" />
3275 </widgets>
3276 <messages/>
3277 <associations>
3278 <assocwidget totalcounta="3" indexa="2" visibilityB="201" totalcountb="2" indexb="1" linewidth="none" widgetbid="445" widgetaid="563" xmi.id="620" type="501" changeabilityA="900" changeabilityB="900" linecolor="none" visibilityA="200" >
3279 <linepath>
3280 <startpoint startx="1943" starty="2018" />
3281 <endpoint endx="2326" endy="1875" />
3282 </linepath>
3283 <floatingtext usesdiagramfillcolour="1" width="32" usesdiagramusefillcolour="1" x="2308" y="1705" linewidth="none" posttext="" role="702" fillcolour="none" height="32" usefillcolor="1" pretext="" isinstance="0" xmi.id="11783" text="0..1" font="Sans Serif,10,-1,0,50,0,0,0,0,0" linecolor="none" />
3284 <floatingtext usesdiagramfillcolour="1" width="41" usesdiagramusefillcolour="1" x="2283" y="1702" linewidth="none" posttext="" role="710" fillcolour="none" height="22" usefillcolor="1" pretext="-" isinstance="0" xmi.id="11785" text="core" font="Sans Serif,10,-1,0,50,0,0,0,0,0" linecolor="none" />
3285 </assocwidget>
3286 <assocwidget totalcounta="3" indexa="1" visibilityB="201" totalcountb="3" indexb="2" linewidth="none" widgetbid="133" widgetaid="445" xmi.id="523" type="501" changeabilityA="900" changeabilityB="900" linecolor="none" visibilityA="200" >
3287 <linepath>
3288 <startpoint startx="2080" starty="1407" />
3289 <endpoint endx="1745" endy="1267" />
3290 </linepath>
3291 <floatingtext usesdiagramfillcolour="1" width="32" usesdiagramusefillcolour="1" x="1882" y="1271" linewidth="none" posttext="" role="702" fillcolour="none" height="32" usefillcolor="1" pretext="" isinstance="0" xmi.id="11880" text="0..1" font="Sans Serif,10,-1,0,50,0,0,0,0,0" linecolor="none" />
3292 <floatingtext usesdiagramfillcolour="1" width="36" usesdiagramusefillcolour="1" x="1922" y="1269" linewidth="none" posttext="" role="710" fillcolour="none" height="22" usefillcolor="1" pretext="-" isinstance="0" xmi.id="11882" showstereotype="1" text="bus" font="Sans Serif,10,-1,0,50,0,0,0,0,0" linecolor="none" />
3293 </assocwidget>
3294 <assocwidget totalcounta="3" indexa="1" visibilityB="201" totalcountb="3" indexb="1" linewidth="none" widgetbid="133" widgetaid="563" xmi.id="621" type="510" changeabilityA="900" changeabilityB="900" linecolor="none" visibilityA="200" >
3295 <linepath>
3296 <startpoint startx="1807" starty="2018" />
3297 <endpoint endx="1570" endy="1267" />
3298 </linepath>
3299 <floatingtext usesdiagramfillcolour="1" width="36" usesdiagramusefillcolour="1" x="2156" y="962" linewidth="none" posttext="" role="710" fillcolour="none" height="22" usefillcolor="1" pretext="-" isinstance="0" xmi.id="11887" showstereotype="1" text="bus" font="Sans Serif,10,-1,0,50,0,0,0,0,0" linecolor="none" />
3300 </assocwidget>
3301 <assocwidget totalcounta="7" indexa="6" visibilityB="202" totalcountb="2" indexb="1" linewidth="none" widgetbid="133" widgetaid="132" xmi.id="215" type="501" changeabilityA="900" changeabilityB="900" linecolor="none" visibilityA="200" >
3302 <linepath>
3303 <startpoint startx="1352" starty="889" />
3304 <endpoint endx="1658" endy="943" />
3305 </linepath>
3306 <floatingtext usesdiagramfillcolour="1" width="32" usesdiagramusefillcolour="1" x="1436" y="738" linewidth="none" posttext="" role="702" fillcolour="none" height="32" usefillcolor="1" pretext="" isinstance="0" xmi.id="12072" text="0..1" font="Sans Serif,10,-1,0,50,0,0,0,0,0" linecolor="none" />
3307 <floatingtext usesdiagramfillcolour="1" width="42" usesdiagramusefillcolour="1" x="1488" y="738" linewidth="none" posttext="" role="710" fillcolour="none" height="22" usefillcolor="1" pretext="#" isinstance="0" xmi.id="12074" showstereotype="1" text="bus" font="Sans Serif,10,-1,0,50,0,0,0,0,0" linecolor="none" />
3308 </assocwidget>
3309 <assocwidget totalcounta="2" indexa="1" visibilityB="202" totalcountb="3" indexb="2" linewidth="none" widgetbid="445" widgetaid="443" xmi.id="3723" type="501" changeabilityA="900" changeabilityB="900" linecolor="none" visibilityA="200" >
3310 <linepath>
3311 <startpoint startx="3035" starty="1362" />
3312 <endpoint endx="2572" endy="1641" />
3313 </linepath>
3314 <floatingtext usesdiagramfillcolour="1" width="32" usesdiagramusefillcolour="1" x="2543" y="1687" linewidth="none" posttext="" role="702" fillcolour="none" height="32" usefillcolor="1" pretext="" isinstance="0" xmi.id="12349" text="0..1" font="Sans Serif,10,-1,0,50,0,0,0,0,0" linecolor="none" />
3315 <floatingtext usesdiagramfillcolour="1" width="47" usesdiagramusefillcolour="1" x="2574" y="1708" linewidth="none" posttext="" role="710" fillcolour="none" height="22" usefillcolor="1" pretext="#" isinstance="0" xmi.id="12351" text="core" font="Sans Serif,10,-1,0,50,0,0,0,0,0" linecolor="none" />
3316 </assocwidget>
3317 <assocwidget totalcounta="2" indexa="1" totalcountb="3" indexb="1" linewidth="none" widgetbid="443" widgetaid="3919" xmi.id="4466" linecolor="none" >
3318 <linepath>
3319 <startpoint startx="2928" starty="1740" />
3320 <endpoint endx="3151" endy="1560" />
3321 </linepath>
3322 </assocwidget>
3323 <assocwidget totalcounta="2" indexa="1" totalcountb="3" indexb="2" linewidth="none" widgetbid="443" widgetaid="3993" xmi.id="4649" linecolor="none" >
3324 <linepath>
3325 <startpoint startx="3414" starty="1788" />
3326 <endpoint endx="3267" endy="1560" />
3327 </linepath>
3328 </assocwidget>
3329 <assocwidget totalcounta="3" indexa="2" visibilityB="201" totalcountb="3" indexb="1" linewidth="none" widgetbid="183" widgetaid="445" xmi.id="522" type="510" changeabilityA="900" changeabilityB="900" linecolor="none" visibilityA="200" >
3330 <linepath>
3331 <startpoint startx="2408" starty="1173" />
3332 <endpoint endx="2479" endy="734" />
3333 </linepath>
3334 <floatingtext usesdiagramfillcolour="1" width="65" usesdiagramusefillcolour="1" x="2392" y="736" linewidth="none" posttext="" role="710" fillcolour="none" height="22" usefillcolor="1" pretext="-" isinstance="0" xmi.id="13228" showstereotype="1" text="decoder" font="Sans Serif,10,-1,0,50,0,0,0,0,0" linecolor="none" />
3335 </assocwidget>
3336 <assocwidget totalcounta="3" indexa="2" totalcountb="2" indexb="1" linewidth="none" widgetbid="182" widgetaid="183" xmi.id="13685" linecolor="none" >
3337 <linepath>
3338 <startpoint startx="2578" starty="734" />
3339 <endpoint endx="2906" endy="820" />
3340 </linepath>
3341 </assocwidget>
3342 <assocwidget totalcounta="3" indexa="1" visibilityB="201" totalcountb="2" indexb="1" linewidth="none" widgetbid="358" widgetaid="445" xmi.id="519" type="510" changeabilityA="900" changeabilityB="900" linecolor="none" visibilityA="200" >
3343 <linepath>
3344 <startpoint startx="2244" starty="1173" />
3345 <endpoint endx="1849" endy="852" />
3346 </linepath>
3347 <floatingtext usesdiagramfillcolour="1" width="47" usesdiagramusefillcolour="1" x="1851" y="854" linewidth="none" posttext="" role="710" fillcolour="none" height="22" usefillcolor="1" pretext="-" isinstance="0" xmi.id="14262" showstereotype="1" text="mmu" font="Sans Serif,10,-1,0,50,0,0,0,0,0" linecolor="none" />
3348 </assocwidget>
3349 <assocwidget totalcounta="3" indexa="1" totalcountb="2" indexb="1" linewidth="none" widgetbid="182" widgetaid="445" xmi.id="14719" linecolor="none" >
3350 <linepath>
3351 <startpoint startx="2572" starty="1407" />
3352 <endpoint endx="2906" endy="937" />
3353 </linepath>
3354 </assocwidget>
3355 <assocwidget totalcounta="2" indexa="1" visibilityB="201" totalcountb="2" indexb="1" linewidth="none" widgetbid="323" widgetaid="358" xmi.id="407" type="510" changeabilityA="900" changeabilityB="900" linecolor="none" visibilityA="200" >
3356 <linepath>
3357 <startpoint startx="1603" starty="645" />
3358 <endpoint endx="1331" endy="340" />
3359 </linepath>
3360 <floatingtext usesdiagramfillcolour="1" width="41" usesdiagramusefillcolour="1" x="1333" y="342" linewidth="none" posttext="" role="710" fillcolour="none" height="22" usefillcolor="1" pretext="-" isinstance="0" xmi.id="15068" showstereotype="1" text="regs" font="Sans Serif,10,-1,0,50,0,0,0,0,0" linecolor="none" />
3361 </assocwidget>
3362 <assocwidget totalcounta="2" indexa="1" visibilityB="201" totalcountb="3" indexb="1" linewidth="none" widgetbid="132" widgetaid="196" xmi.id="322" type="501" changeabilityA="900" changeabilityB="900" linecolor="none" visibilityA="200" >
3363 <linepath>
3364 <startpoint startx="786" starty="569" />
3365 <endpoint endx="1027" endy="733" />
3366 </linepath>
3367 <floatingtext usesdiagramfillcolour="1" width="32" usesdiagramusefillcolour="1" x="1196" y="1510" linewidth="none" posttext="" role="702" fillcolour="none" height="32" usefillcolor="1" pretext="" isinstance="0" xmi.id="15301" showstereotype="1" text="0..1" font="Sans Serif,10,-1,0,50,0,0,0,0,0" linecolor="none" />
3368 <floatingtext usesdiagramfillcolour="1" width="32" usesdiagramusefillcolour="1" x="1170" y="1514" linewidth="none" posttext="" role="710" fillcolour="none" height="32" usefillcolor="1" pretext="-" isinstance="0" xmi.id="15303" showstereotype="1" text="hw" font="Sans Serif,10,-1,0,50,0,0,0,0,0" linecolor="none" />
3369 </assocwidget>
3370 <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" linewidth="none" widgetbid="196" widgetaid="323" xmi.id="16672" linecolor="none" >
3371 <linepath>
3372 <startpoint startx="894" starty="340" />
3373 <endpoint endx="531" endy="488" />
3374 </linepath>
3375 </assocwidget>
3376 <assocwidget totalcounta="3" indexa="2" totalcountb="2" indexb="1" linewidth="none" widgetbid="560" widgetaid="563" xmi.id="18389" linecolor="none" >
3377 <linepath>
3378 <startpoint startx="1671" starty="2246" />
3379 <endpoint endx="1518" endy="2243" />
3380 </linepath>
3381 </assocwidget>
3382 <assocwidget totalcounta="3" indexa="1" visibilityB="201" totalcountb="2" indexb="1" linewidth="none" widgetbid="557" widgetaid="563" xmi.id="623" type="501" changeabilityA="900" changeabilityB="900" linecolor="none" visibilityA="200" >
3383 <linepath>
3384 <startpoint startx="1671" starty="2132" />
3385 <endpoint endx="1123" endy="1880" />
3386 </linepath>
3387 <floatingtext usesdiagramfillcolour="1" width="32" usesdiagramusefillcolour="1" x="1096" y="1882" linewidth="none" posttext="" role="702" fillcolour="none" height="32" usefillcolor="1" pretext="" isinstance="0" xmi.id="19692" text="0..1" font="Sans Serif,10,-1,0,50,0,0,0,0,0" linecolor="none" />
3388 <floatingtext usesdiagramfillcolour="1" width="63" usesdiagramusefillcolour="1" x="1125" y="1882" linewidth="none" posttext="" role="710" fillcolour="none" height="22" usefillcolor="1" pretext="-" isinstance="0" xmi.id="19694" showstereotype="1" text="eeprom" font="Sans Serif,10,-1,0,50,0,0,0,0,0" linecolor="none" />
3389 </assocwidget>
3390 <assocwidget totalcounta="2" indexa="1" totalcountb="7" indexb="4" linewidth="none" widgetbid="132" widgetaid="557" xmi.id="20355" linecolor="none" >
3391 <linepath>
3392 <startpoint startx="1123" starty="1709" />
3393 <endpoint endx="1244" endy="889" />
3394 </linepath>
3395 </assocwidget>
3396 <assocwidget totalcounta="3" indexa="1" visibilityB="201" totalcountb="2" indexb="1" linewidth="none" widgetbid="345" widgetaid="358" xmi.id="408" type="510" changeabilityA="900" changeabilityB="900" linecolor="none" visibilityA="200" >
3397 <linepath>
3398 <startpoint startx="1767" starty="438" />
3399 <endpoint endx="1646" endy="316" />
3400 </linepath>
3401 <floatingtext usesdiagramfillcolour="1" width="46" usesdiagramusefillcolour="1" x="1648" y="318" linewidth="none" posttext="" role="710" fillcolour="none" height="22" usefillcolor="1" pretext="-" isinstance="0" xmi.id="20626" text="sram" font="Sans Serif,10,-1,0,50,0,0,0,0,0" linecolor="none" />
3402 </assocwidget>
3403 <assocwidget totalcounta="2" indexa="1" visibilityB="201" totalcountb="2" indexb="1" linewidth="none" widgetbid="281" widgetaid="358" xmi.id="406" type="510" changeabilityA="900" changeabilityB="900" linecolor="none" visibilityA="200" >
3404 <linepath>
3405 <startpoint startx="2095" starty="645" />
3406 <endpoint endx="2214" endy="382" />
3407 </linepath>
3408 <floatingtext usesdiagramfillcolour="1" width="32" usesdiagramusefillcolour="1" x="2180" y="384" linewidth="none" posttext="" role="710" fillcolour="none" height="32" usefillcolor="1" pretext="-" isinstance="0" xmi.id="21027" showstereotype="1" text="R" font="Sans Serif,10,-1,0,50,0,0,0,0,0" linecolor="none" />
3409 </assocwidget>
3410 <assocwidget totalcounta="2" indexa="1" totalcountb="7" indexb="5" linewidth="none" widgetbid="132" widgetaid="242" xmi.id="2645" linecolor="none" >
3411 <linepath>
3412 <startpoint startx="1396" starty="1321" />
3413 <endpoint endx="1298" endy="889" />
3414 </linepath>
3415 </assocwidget>
3416 <assocwidget totalcounta="3" indexa="2" visibilityB="201" totalcountb="2" indexb="1" linewidth="none" widgetbid="242" widgetaid="445" xmi.id="520" type="510" changeabilityA="900" changeabilityB="900" linecolor="none" visibilityA="200" >
3417 <linepath>
3418 <startpoint startx="2080" starty="1641" />
3419 <endpoint endx="1585" endy="1492" />
3420 </linepath>
3421 <floatingtext usesdiagramfillcolour="1" width="43" usesdiagramusefillcolour="1" x="1587" y="1468" linewidth="none" posttext="" role="710" fillcolour="none" height="22" usefillcolor="1" pretext="-" isinstance="0" xmi.id="21435" showstereotype="1" text="flash" font="Sans Serif,10,-1,0,50,0,0,0,0,0" linecolor="none" />
3422 </assocwidget>
3423 <assocwidget totalcounta="2" indexa="1" totalcountb="7" indexb="3" linewidth="none" widgetbid="132" widgetaid="19553" xmi.id="19554" linecolor="none" >
3424 <linepath>
3425 <startpoint startx="796" starty="1925" />
3426 <endpoint endx="1189" endy="889" />
3427 </linepath>
3428 </assocwidget>
3429 <assocwidget totalcounta="2" indexa="1" totalcountb="7" indexb="1" linewidth="none" widgetbid="132" widgetaid="19526" xmi.id="19527" linecolor="none" >
3430 <linepath>
3431 <startpoint startx="811" starty="1144" />
3432 <endpoint endx="1081" endy="889" />
3433 </linepath>
3434 </assocwidget>
3435 <assocwidget totalcounta="2" indexa="1" totalcountb="7" indexb="2" linewidth="none" widgetbid="132" widgetaid="19360" xmi.id="19361" linecolor="none" >
3436 <linepath>
3437 <startpoint startx="605" starty="1525" />
3438 <endpoint endx="1135" endy="889" />
3439 </linepath>
3440 </assocwidget>
3441 <assocwidget totalcounta="2" indexa="1" totalcountb="3" indexb="2" linewidth="none" widgetbid="132" widgetaid="19621" xmi.id="42740" linecolor="none" >
3442 <linepath>
3443 <startpoint startx="391" starty="990" />
3444 <endpoint endx="1027" endy="811" />
3445 </linepath>
3446 </assocwidget>
3447 <assocwidget totalcounta="3" indexa="2" visibilityB="201" totalcountb="2" indexb="1" linewidth="none" widgetbid="357" widgetaid="358" xmi.id="409" type="501" changeabilityA="900" changeabilityB="900" linecolor="none" visibilityA="200" >
3448 <linepath>
3449 <startpoint startx="1931" starty="438" />
3450 <endpoint endx="1961" endy="202" />
3451 </linepath>
3452 <floatingtext usesdiagramfillcolour="1" width="32" usesdiagramusefillcolour="1" x="1963" y="204" linewidth="none" posttext="" role="702" fillcolour="none" height="32" usefillcolor="1" pretext="" isinstance="0" xmi.id="44991" text="0..1" font="Sans Serif,10,-1,0,50,0,0,0,0,0" linecolor="none" />
3453 <floatingtext usesdiagramfillcolour="1" width="47" usesdiagramusefillcolour="1" x="1912" y="204" linewidth="none" posttext="" role="710" fillcolour="none" height="22" usefillcolor="1" pretext="-" isinstance="0" xmi.id="44993" text="eram" font="Sans Serif,10,-1,0,50,0,0,0,0,0" linecolor="none" />
3454 </assocwidget>
3455 <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" linewidth="none" widgetbid="17587" widgetaid="560" xmi.id="45390" linecolor="none" >
3456 <linepath>
3457 <startpoint startx="1344" starty="2342" />
3458 <endpoint endx="1496" endy="2389" />
3459 </linepath>
3460 </assocwidget>
3461 </associations>
3462 </diagram>
3463 </diagrams>
3464 </XMI.extension>
3465 </UML:Model>
3466 <UML:Model stereotype="2" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3" isRoot="false" isAbstract="false" name="Use Case View" >
3467 <UML:Namespace.ownedElement/>
3468 </UML:Model>
3469 <UML:Model stereotype="2" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="4" isRoot="false" isAbstract="false" name="Component View" >
3470 <UML:Namespace.ownedElement/>
3471 </UML:Model>
3472 <UML:Model stereotype="2" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="5" isRoot="false" isAbstract="false" name="Deployment View" >
3473 <UML:Namespace.ownedElement/>
3474 </UML:Model>
3475 <UML:Model stereotype="2" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="6" isRoot="false" isAbstract="false" name="Entity Relationship Model" >
3476 <UML:Namespace.ownedElement/>
3477 </UML:Model>
3478 </UML:Namespace.ownedElement>
3479 </UML:Model>
3480 </XMI.content>
3481 <XMI.extensions xmi.extender="umbrello" >
3482 <docsettings viewid="9" documentation="" uniqueid="45920" />
3483 <listview>
3484 <listitem open="1" type="800" label="Views" >
3485 <listitem open="1" type="801" id="1" >
3486 <listitem open="0" type="807" id="9" label="class diagram" />
3487 <listitem open="0" type="813" id="3920" />
3488 <listitem open="0" type="813" id="79" />
3489 <listitem open="0" type="813" id="74" />
3490 <listitem open="0" type="813" id="75" />
3491 <listitem open="0" type="813" id="243" />
3492 <listitem open="0" type="813" id="13000" />
3493 <listitem open="0" type="813" id="247" />
3494 <listitem open="0" type="813" id="17634" />
3495 <listitem open="1" type="813" id="41815" />
3496 <listitem open="0" type="813" id="304" />
3497 <listitem open="0" type="813" id="564" />
3498 <listitem open="0" type="813" id="13099" />
3499 <listitem open="1" type="813" id="41682" />
3500 <listitem open="0" type="813" id="46" />
3501 <listitem open="0" type="813" id="23" />
3502 <listitem open="0" type="813" id="28" />
3503 <listitem open="0" type="813" id="13017" />
3504 <listitem open="0" type="813" id="3818" />
3505 <listitem open="0" type="813" id="29" />
3506 <listitem open="0" type="813" id="19322" />
3507 <listitem open="0" type="813" id="19393" />
3508 <listitem open="0" type="813" id="19668" />
3509 <listitem open="0" type="813" id="19673" />
3510 <listitem open="0" type="813" id="25" />
3511 <listitem open="0" type="813" id="13121" />
3512 <listitem open="0" type="813" id="3736" />
3513 <listitem open="0" type="813" id="27" />
3514 <listitem open="0" type="813" id="19391" />
3515 <listitem open="0" type="813" id="224" />
3516 <listitem open="0" type="813" id="3773" />
3517 <listitem open="0" type="813" id="26" />
3518 <listitem open="1" type="818" id="22" >
3519 <listitem open="0" type="813" id="443" >
3520 <listitem open="0" type="814" id="3723" />
3521 <listitem open="0" type="815" id="3676" />
3522 <listitem open="0" type="815" id="3678" />
3523 <listitem open="0" type="815" id="3679" />
3524 <listitem open="0" type="815" id="3681" />
3525 <listitem open="0" type="815" id="3683" />
3526 <listitem open="0" type="815" id="3685" />
3527 <listitem open="0" type="815" id="3688" />
3528 <listitem open="0" type="815" id="3691" />
3529 <listitem open="0" type="815" id="3694" />
3530 <listitem open="0" type="815" id="3697" />
3531 <listitem open="0" type="815" id="3700" />
3532 <listitem open="0" type="815" id="3703" />
3533 <listitem open="0" type="815" id="3705" />
3534 <listitem open="0" type="815" id="3707" />
3535 <listitem open="0" type="815" id="3709" />
3536 <listitem open="0" type="815" id="3712" />
3537 <listitem open="0" type="815" id="3713" />
3538 <listitem open="0" type="815" id="3716" />
3539 <listitem open="0" type="815" id="3718" />
3540 <listitem open="0" type="815" id="3720" />
3541 </listitem>
3542 <listitem open="0" type="813" id="3731" >
3543 <listitem open="0" type="815" id="3732" />
3544 </listitem>
3545 <listitem open="0" type="813" id="133" >
3546 <listitem open="0" type="813" id="169" >
3547 <listitem open="0" type="814" id="176" />
3548 <listitem open="0" type="814" id="177" />
3549 <listitem open="0" type="814" id="178" />
3550 <listitem open="0" type="815" id="170" />
3551 <listitem open="0" type="815" id="171" />
3552 </listitem>
3553 <listitem open="0" type="813" id="179" />
3554 <listitem open="0" type="814" id="146" />
3555 <listitem open="0" type="814" id="168" />
3556 <listitem open="0" type="814" id="180" />
3557 <listitem open="0" type="814" id="181" />
3558 <listitem open="0" type="815" id="138" />
3559 <listitem open="0" type="815" id="139" />
3560 <listitem open="0" type="815" id="140" />
3561 <listitem open="0" type="815" id="141" />
3562 <listitem open="0" type="815" id="144" />
3563 <listitem open="0" type="815" id="147" />
3564 <listitem open="0" type="815" id="149" />
3565 <listitem open="0" type="815" id="151" />
3566 <listitem open="0" type="815" id="152" />
3567 <listitem open="0" type="815" id="153" />
3568 <listitem open="0" type="815" id="155" />
3569 <listitem open="0" type="815" id="157" />
3570 <listitem open="0" type="815" id="162" />
3571 </listitem>
3572 <listitem open="0" type="813" id="41" >
3573 <listitem open="0" type="814" id="69" />
3574 <listitem open="0" type="814" id="76" />
3575 <listitem open="0" type="815" id="43" />
3576 <listitem open="0" type="815" id="44" />
3577 <listitem open="0" type="815" id="49" />
3578 <listitem open="0" type="815" id="52" />
3579 <listitem open="0" type="815" id="54" />
3580 <listitem open="0" type="815" id="56" />
3581 <listitem open="0" type="815" id="60" />
3582 <listitem open="0" type="815" id="63" />
3583 <listitem open="0" type="815" id="66" />
3584 <listitem open="0" type="815" id="67" />
3585 <listitem open="0" type="815" id="68" />
3586 <listitem open="0" type="816" id="42" />
3587 <listitem open="0" type="818" id="70" >
3588 <listitem open="0" type="813" id="71" />
3589 </listitem>
3590 </listitem>
3591 <listitem open="0" type="813" id="555" />
3592 <listitem open="0" type="813" id="40" />
3593 <listitem open="0" type="813" id="445" >
3594 <listitem open="0" type="814" id="519" />
3595 <listitem open="0" type="814" id="520" />
3596 <listitem open="0" type="814" id="521" />
3597 <listitem open="0" type="814" id="522" />
3598 <listitem open="0" type="814" id="523" />
3599 <listitem open="0" type="814" id="524" />
3600 <listitem open="0" type="814" id="525" />
3601 <listitem open="0" type="814" id="538" />
3602 <listitem open="0" type="814" id="540" />
3603 <listitem open="0" type="815" id="457" />
3604 <listitem open="0" type="815" id="461" />
3605 <listitem open="0" type="815" id="463" />
3606 <listitem open="0" type="815" id="464" />
3607 <listitem open="0" type="815" id="467" />
3608 <listitem open="0" type="815" id="471" />
3609 <listitem open="0" type="815" id="474" />
3610 <listitem open="0" type="815" id="476" />
3611 <listitem open="0" type="815" id="478" />
3612 <listitem open="0" type="815" id="480" />
3613 <listitem open="0" type="815" id="482" />
3614 <listitem open="0" type="815" id="485" />
3615 <listitem open="0" type="815" id="486" />
3616 <listitem open="0" type="815" id="488" />
3617 <listitem open="0" type="815" id="490" />
3618 <listitem open="0" type="815" id="493" />
3619 <listitem open="0" type="815" id="495" />
3620 <listitem open="0" type="815" id="498" />
3621 <listitem open="0" type="815" id="500" />
3622 <listitem open="0" type="815" id="503" />
3623 <listitem open="0" type="815" id="504" />
3624 <listitem open="0" type="815" id="505" />
3625 <listitem open="0" type="815" id="507" />
3626 <listitem open="0" type="815" id="508" />
3627 <listitem open="0" type="815" id="511" />
3628 <listitem open="0" type="815" id="512" />
3629 <listitem open="0" type="815" id="515" />
3630 <listitem open="0" type="815" id="517" />
3631 <listitem open="0" type="815" id="518" />
3632 <listitem open="0" type="831" id="528" >
3633 <listitem open="0" type="839" id="529" />
3634 <listitem open="0" type="839" id="530" />
3635 <listitem open="0" type="839" id="531" />
3636 <listitem open="0" type="839" id="532" />
3637 <listitem open="0" type="839" id="533" />
3638 <listitem open="0" type="839" id="534" />
3639 <listitem open="0" type="839" id="535" />
3640 <listitem open="0" type="839" id="536" />
3641 <listitem open="0" type="839" id="537" />
3642 </listitem>
3643 </listitem>
3644 <listitem open="0" type="813" id="444" />
3645 <listitem open="0" type="813" id="558" />
3646 <listitem open="0" type="813" id="183" >
3647 <listitem open="0" type="814" id="195" />
3648 <listitem open="0" type="815" id="184" />
3649 <listitem open="0" type="815" id="185" />
3650 <listitem open="0" type="815" id="188" />
3651 <listitem open="0" type="815" id="190" />
3652 </listitem>
3653 <listitem open="0" type="813" id="563" >
3654 <listitem open="0" type="814" id="617" />
3655 <listitem open="0" type="814" id="618" />
3656 <listitem open="0" type="814" id="620" />
3657 <listitem open="0" type="814" id="621" />
3658 <listitem open="0" type="814" id="623" />
3659 <listitem open="0" type="814" id="625" />
3660 <listitem open="0" type="814" id="628" />
3661 <listitem open="0" type="815" id="568" />
3662 <listitem open="0" type="815" id="571" />
3663 <listitem open="0" type="815" id="572" />
3664 <listitem open="0" type="815" id="575" />
3665 <listitem open="0" type="815" id="579" />
3666 <listitem open="0" type="815" id="581" />
3667 <listitem open="0" type="815" id="582" />
3668 <listitem open="0" type="815" id="584" />
3669 <listitem open="0" type="815" id="586" />
3670 <listitem open="0" type="815" id="589" />
3671 <listitem open="0" type="815" id="591" />
3672 </listitem>
3673 <listitem open="0" type="813" id="562" />
3674 <listitem open="0" type="813" id="357" />
3675 <listitem open="0" type="813" id="557" >
3676 <listitem open="0" type="815" id="19301" />
3677 <listitem open="0" type="815" id="19305" />
3678 <listitem open="0" type="815" id="19306" />
3679 <listitem open="0" type="815" id="19309" />
3680 <listitem open="0" type="815" id="19311" />
3681 <listitem open="0" type="815" id="19314" />
3682 <listitem open="0" type="815" id="19316" />
3683 <listitem open="0" type="815" id="19317" />
3684 </listitem>
3685 <listitem open="0" type="813" id="242" >
3686 <listitem open="0" type="814" id="275" />
3687 <listitem open="0" type="814" id="276" />
3688 <listitem open="0" type="814" id="277" />
3689 <listitem open="0" type="814" id="278" />
3690 <listitem open="0" type="814" id="279" />
3691 <listitem open="0" type="814" id="280" />
3692 <listitem open="0" type="815" id="251" />
3693 <listitem open="0" type="815" id="255" />
3694 <listitem open="0" type="815" id="256" />
3695 <listitem open="0" type="815" id="260" />
3696 <listitem open="0" type="815" id="264" />
3697 <listitem open="0" type="815" id="265" />
3698 <listitem open="0" type="815" id="266" />
3699 <listitem open="0" type="815" id="267" />
3700 <listitem open="0" type="815" id="270" />
3701 <listitem open="0" type="815" id="271" />
3702 <listitem open="0" type="815" id="273" />
3703 </listitem>
3704 <listitem open="0" type="813" id="132" >
3705 <listitem open="0" type="814" id="215" />
3706 <listitem open="0" type="814" id="216" />
3707 <listitem open="0" type="815" id="197" />
3708 <listitem open="0" type="815" id="200" />
3709 <listitem open="0" type="815" id="201" />
3710 <listitem open="0" type="815" id="205" />
3711 <listitem open="0" type="815" id="206" />
3712 <listitem open="0" type="815" id="208" />
3713 <listitem open="0" type="815" id="209" />
3714 <listitem open="0" type="815" id="210" />
3715 <listitem open="0" type="815" id="212" />
3716 <listitem open="0" type="815" id="213" />
3717 </listitem>
3718 <listitem open="0" type="813" id="561" />
3719 <listitem open="0" type="813" id="17633" >
3720 <listitem open="0" type="814" id="17648" />
3721 <listitem open="0" type="814" id="17649" />
3722 <listitem open="0" type="814" id="17650" />
3723 <listitem open="0" type="815" id="17638" />
3724 <listitem open="0" type="815" id="17639" />
3725 <listitem open="0" type="815" id="17641" />
3726 <listitem open="0" type="815" id="17642" />
3727 <listitem open="0" type="815" id="17644" />
3728 <listitem open="0" type="815" id="17646" />
3729 </listitem>
3730 <listitem open="0" type="813" id="196" >
3731 <listitem open="0" type="814" id="321" />
3732 <listitem open="0" type="814" id="322" />
3733 <listitem open="0" type="815" id="308" />
3734 <listitem open="0" type="815" id="312" />
3735 <listitem open="0" type="815" id="313" />
3736 <listitem open="0" type="815" id="315" />
3737 <listitem open="0" type="815" id="317" />
3738 <listitem open="0" type="815" id="319" />
3739 </listitem>
3740 <listitem open="0" type="813" id="323" >
3741 <listitem open="0" type="814" id="344" />
3742 <listitem open="0" type="815" id="324" />
3743 <listitem open="0" type="815" id="326" />
3744 <listitem open="0" type="815" id="327" />
3745 <listitem open="0" type="815" id="328" />
3746 <listitem open="0" type="815" id="329" />
3747 <listitem open="0" type="815" id="331" />
3748 <listitem open="0" type="815" id="334" />
3749 <listitem open="0" type="815" id="337" />
3750 <listitem open="0" type="815" id="340" />
3751 </listitem>
3752 <listitem open="0" type="813" id="13210" >
3753 <listitem open="0" type="815" id="13214" />
3754 </listitem>
3755 <listitem open="0" type="813" id="182" >
3756 <listitem open="0" type="815" id="13216" />
3757 <listitem open="0" type="815" id="13217" />
3758 <listitem open="0" type="815" id="13218" />
3759 <listitem open="0" type="815" id="13220" />
3760 <listitem open="0" type="815" id="13223" />
3761 </listitem>
3762 <listitem open="0" type="813" id="358" >
3763 <listitem open="0" type="814" id="405" />
3764 <listitem open="0" type="814" id="406" />
3765 <listitem open="0" type="814" id="407" />
3766 <listitem open="0" type="814" id="408" />
3767 <listitem open="0" type="814" id="409" />
3768 <listitem open="0" type="815" id="359" />
3769 <listitem open="0" type="815" id="364" />
3770 <listitem open="0" type="815" id="365" />
3771 <listitem open="0" type="815" id="369" />
3772 <listitem open="0" type="815" id="371" />
3773 <listitem open="0" type="815" id="376" />
3774 <listitem open="0" type="815" id="377" />
3775 <listitem open="0" type="815" id="382" />
3776 <listitem open="0" type="815" id="384" />
3777 <listitem open="0" type="815" id="385" />
3778 <listitem open="0" type="815" id="386" />
3779 <listitem open="0" type="815" id="388" />
3780 <listitem open="0" type="815" id="390" />
3781 <listitem open="0" type="815" id="392" />
3782 <listitem open="0" type="815" id="395" />
3783 <listitem open="0" type="815" id="398" />
3784 <listitem open="0" type="815" id="401" />
3785 </listitem>
3786 <listitem open="0" type="813" id="217" >
3787 <listitem open="0" type="814" id="240" />
3788 <listitem open="0" type="814" id="241" />
3789 <listitem open="0" type="815" id="218" />
3790 <listitem open="0" type="815" id="220" />
3791 <listitem open="0" type="815" id="221" />
3792 <listitem open="0" type="815" id="226" />
3793 <listitem open="0" type="815" id="228" />
3794 <listitem open="0" type="815" id="230" />
3795 <listitem open="0" type="815" id="235" />
3796 <listitem open="0" type="815" id="237" />
3797 <listitem open="0" type="815" id="238" />
3798 </listitem>
3799 <listitem open="0" type="813" id="556" />
3800 <listitem open="0" type="813" id="560" >
3801 <listitem open="0" type="813" id="17630" />
3802 <listitem open="0" type="814" id="17631" />
3803 <listitem open="0" type="814" id="17632" />
3804 <listitem open="0" type="815" id="17611" />
3805 <listitem open="0" type="815" id="17612" />
3806 <listitem open="0" type="815" id="17614" />
3807 <listitem open="0" type="815" id="17617" />
3808 <listitem open="0" type="815" id="17619" />
3809 <listitem open="0" type="815" id="17621" />
3810 <listitem open="0" type="815" id="17624" />
3811 <listitem open="0" type="815" id="17627" />
3812 </listitem>
3813 <listitem open="0" type="813" id="281" >
3814 <listitem open="0" type="814" id="301" />
3815 <listitem open="0" type="814" id="302" />
3816 <listitem open="0" type="814" id="303" />
3817 <listitem open="0" type="815" id="282" />
3818 <listitem open="0" type="815" id="283" />
3819 <listitem open="0" type="815" id="286" />
3820 <listitem open="0" type="815" id="287" />
3821 <listitem open="0" type="815" id="290" />
3822 <listitem open="0" type="815" id="292" />
3823 <listitem open="0" type="815" id="293" />
3824 <listitem open="0" type="815" id="296" />
3825 <listitem open="0" type="815" id="298" />
3826 <listitem open="0" type="815" id="299" />
3827 <listitem open="0" type="815" id="300" />
3828 </listitem>
3829 <listitem open="0" type="813" id="345" >
3830 <listitem open="0" type="815" id="349" />
3831 <listitem open="0" type="815" id="351" />
3832 <listitem open="0" type="815" id="354" />
3833 </listitem>
3834 <listitem open="0" type="813" id="559" />
3835 <listitem open="0" type="813" id="3919" >
3836 <listitem open="0" type="814" id="3992" />
3837 <listitem open="0" type="815" id="3927" />
3838 <listitem open="0" type="815" id="3931" />
3839 <listitem open="0" type="815" id="3932" />
3840 <listitem open="0" type="815" id="3934" />
3841 <listitem open="0" type="815" id="3936" />
3842 <listitem open="0" type="815" id="3938" />
3843 <listitem open="0" type="815" id="3941" />
3844 <listitem open="0" type="815" id="3944" />
3845 <listitem open="0" type="815" id="3947" />
3846 <listitem open="0" type="815" id="3950" />
3847 <listitem open="0" type="815" id="3953" />
3848 <listitem open="0" type="815" id="3956" />
3849 <listitem open="0" type="815" id="3958" />
3850 <listitem open="0" type="815" id="3960" />
3851 <listitem open="0" type="815" id="3962" />
3852 <listitem open="0" type="815" id="3965" />
3853 <listitem open="0" type="815" id="3966" />
3854 <listitem open="0" type="815" id="3969" />
3855 <listitem open="0" type="815" id="3971" />
3856 <listitem open="0" type="815" id="3973" />
3857 <listitem open="0" type="815" id="3976" />
3858 <listitem open="0" type="815" id="3978" />
3859 <listitem open="0" type="815" id="3981" />
3860 <listitem open="0" type="815" id="3984" />
3861 <listitem open="0" type="815" id="3988" />
3862 </listitem>
3863 <listitem open="0" type="813" id="17587" >
3864 <listitem open="0" type="814" id="17607" />
3865 <listitem open="0" type="814" id="17608" />
3866 <listitem open="0" type="814" id="17609" />
3867 <listitem open="0" type="814" id="17610" />
3868 <listitem open="0" type="815" id="17591" />
3869 <listitem open="0" type="815" id="17592" />
3870 <listitem open="0" type="815" id="17596" />
3871 <listitem open="0" type="815" id="17597" />
3872 <listitem open="0" type="815" id="17601" />
3873 <listitem open="0" type="815" id="17602" />
3874 <listitem open="0" type="815" id="17603" />
3875 <listitem open="0" type="815" id="17604" />
3876 <listitem open="0" type="815" id="17605" />
3877 <listitem open="0" type="815" id="17606" />
3878 </listitem>
3879 <listitem open="0" type="813" id="78" >
3880 <listitem open="0" type="814" id="89" />
3881 <listitem open="0" type="814" id="90" />
3882 <listitem open="0" type="815" id="84" />
3883 <listitem open="0" type="815" id="85" />
3884 <listitem open="0" type="815" id="86" />
3885 <listitem open="0" type="815" id="87" />
3886 </listitem>
3887 <listitem open="0" type="813" id="77" >
3888 <listitem open="0" type="814" id="96" />
3889 <listitem open="0" type="815" id="91" />
3890 <listitem open="0" type="815" id="94" />
3891 <listitem open="0" type="815" id="95" />
3892 </listitem>
3893 <listitem open="0" type="813" id="19360" >
3894 <listitem open="0" type="814" id="19386" />
3895 <listitem open="0" type="814" id="19387" />
3896 <listitem open="0" type="814" id="19388" />
3897 <listitem open="0" type="814" id="19389" />
3898 <listitem open="0" type="814" id="19390" />
3899 <listitem open="0" type="814" id="19392" />
3900 <listitem open="0" type="815" id="19364" />
3901 <listitem open="0" type="815" id="19367" />
3902 <listitem open="0" type="815" id="19368" />
3903 <listitem open="0" type="815" id="19371" />
3904 <listitem open="0" type="815" id="19372" />
3905 <listitem open="0" type="815" id="19374" />
3906 <listitem open="0" type="815" id="19375" />
3907 <listitem open="0" type="815" id="19376" />
3908 <listitem open="0" type="815" id="19378" />
3909 <listitem open="0" type="815" id="19380" />
3910 <listitem open="0" type="815" id="19382" />
3911 </listitem>
3912 <listitem open="0" type="813" id="410" >
3913 <listitem open="0" type="814" id="437" />
3914 <listitem open="0" type="814" id="438" />
3915 <listitem open="0" type="814" id="439" />
3916 <listitem open="0" type="814" id="441" />
3917 <listitem open="0" type="814" id="442" />
3918 <listitem open="0" type="815" id="414" />
3919 <listitem open="0" type="815" id="419" />
3920 <listitem open="0" type="815" id="420" />
3921 <listitem open="0" type="815" id="421" />
3922 <listitem open="0" type="815" id="422" />
3923 <listitem open="0" type="815" id="424" />
3924 <listitem open="0" type="815" id="426" />
3925 <listitem open="0" type="815" id="427" />
3926 <listitem open="0" type="815" id="430" />
3927 <listitem open="0" type="815" id="431" />
3928 <listitem open="0" type="815" id="433" />
3929 <listitem open="0" type="815" id="435" />
3930 </listitem>
3931 <listitem open="0" type="813" id="19526" >
3932 <listitem open="0" type="814" id="19542" />
3933 <listitem open="0" type="814" id="19543" />
3934 <listitem open="0" type="814" id="19544" />
3935 <listitem open="0" type="814" id="19545" />
3936 <listitem open="0" type="814" id="19546" />
3937 <listitem open="0" type="814" id="19547" />
3938 <listitem open="0" type="814" id="19548" />
3939 <listitem open="0" type="815" id="19530" />
3940 <listitem open="0" type="815" id="19533" />
3941 <listitem open="0" type="815" id="19536" />
3942 <listitem open="0" type="815" id="19538" />
3943 <listitem open="0" type="815" id="19539" />
3944 <listitem open="0" type="815" id="19540" />
3945 </listitem>
3946 <listitem open="0" type="813" id="19553" >
3947 <listitem open="0" type="814" id="19572" />
3948 <listitem open="0" type="814" id="19573" />
3949 <listitem open="0" type="814" id="19574" />
3950 <listitem open="0" type="814" id="19575" />
3951 <listitem open="0" type="814" id="19576" />
3952 <listitem open="0" type="814" id="19577" />
3953 <listitem open="0" type="814" id="19578" />
3954 <listitem open="0" type="814" id="19579" />
3955 <listitem open="0" type="815" id="19557" />
3956 <listitem open="0" type="815" id="19561" />
3957 <listitem open="0" type="815" id="19564" />
3958 <listitem open="0" type="815" id="19566" />
3959 <listitem open="0" type="815" id="19567" />
3960 <listitem open="0" type="815" id="19569" />
3961 <listitem open="0" type="815" id="19570" />
3962 </listitem>
3963 <listitem open="0" type="813" id="19584" >
3964 <listitem open="0" type="814" id="19608" />
3965 <listitem open="0" type="814" id="19609" />
3966 <listitem open="0" type="814" id="19610" />
3967 <listitem open="0" type="814" id="19611" />
3968 <listitem open="0" type="814" id="19612" />
3969 <listitem open="0" type="814" id="19613" />
3970 <listitem open="0" type="814" id="19614" />
3971 <listitem open="0" type="814" id="19615" />
3972 <listitem open="0" type="814" id="19616" />
3973 <listitem open="0" type="814" id="19617" />
3974 <listitem open="0" type="814" id="19618" />
3975 <listitem open="0" type="814" id="19619" />
3976 <listitem open="0" type="814" id="19620" />
3977 <listitem open="0" type="815" id="19588" />
3978 <listitem open="0" type="815" id="19599" />
3979 <listitem open="0" type="815" id="19602" />
3980 <listitem open="0" type="815" id="19604" />
3981 <listitem open="0" type="815" id="19606" />
3982 </listitem>
3983 <listitem open="0" type="813" id="3993" >
3984 <listitem open="0" type="815" id="3997" />
3985 <listitem open="0" type="815" id="4000" />
3986 <listitem open="0" type="815" id="4001" />
3987 <listitem open="0" type="815" id="4003" />
3988 <listitem open="0" type="815" id="4005" />
3989 <listitem open="0" type="815" id="4007" />
3990 <listitem open="0" type="815" id="4010" />
3991 <listitem open="0" type="815" id="4013" />
3992 </listitem>
3993 <listitem open="0" type="813" id="19621" >
3994 <listitem open="0" type="814" id="19661" />
3995 <listitem open="0" type="814" id="19662" />
3996 <listitem open="0" type="814" id="19663" />
3997 <listitem open="0" type="814" id="19664" />
3998 <listitem open="0" type="814" id="19665" />
3999 <listitem open="0" type="814" id="19666" />
4000 <listitem open="0" type="814" id="19667" />
4001 <listitem open="0" type="814" id="19669" />
4002 <listitem open="0" type="814" id="19670" />
4003 <listitem open="0" type="814" id="19671" />
4004 <listitem open="0" type="814" id="19672" />
4005 <listitem open="0" type="814" id="19674" />
4006 <listitem open="0" type="814" id="19675" />
4007 <listitem open="0" type="814" id="19676" />
4008 <listitem open="0" type="814" id="19677" />
4009 <listitem open="0" type="814" id="19678" />
4010 <listitem open="0" type="814" id="19679" />
4011 <listitem open="0" type="814" id="19680" />
4012 <listitem open="0" type="815" id="19632" />
4013 <listitem open="0" type="815" id="19635" />
4014 <listitem open="0" type="815" id="19636" />
4015 <listitem open="0" type="815" id="19638" />
4016 <listitem open="0" type="815" id="19639" />
4017 <listitem open="0" type="815" id="19640" />
4018 <listitem open="0" type="815" id="19642" />
4019 <listitem open="0" type="815" id="19643" />
4020 <listitem open="0" type="815" id="19644" />
4021 <listitem open="0" type="815" id="19646" />
4022 <listitem open="0" type="815" id="19648" />
4023 <listitem open="0" type="815" id="19650" />
4024 <listitem open="0" type="815" id="19652" />
4025 <listitem open="0" type="815" id="19654" />
4026 </listitem>
4027 </listitem>
4028 <listitem open="1" type="818" id="1109" />
4029 <listitem open="1" type="818" id="2020" />
4030 <listitem open="0" type="818" id="3737" >
4031 <listitem open="0" type="813" id="3823" >
4032 <listitem open="0" type="814" id="3910" />
4033 <listitem open="0" type="814" id="3911" />
4034 <listitem open="0" type="814" id="3912" />
4035 <listitem open="0" type="815" id="3824" />
4036 <listitem open="0" type="815" id="3826" />
4037 <listitem open="0" type="815" id="3827" />
4038 <listitem open="0" type="815" id="3829" />
4039 <listitem open="0" type="815" id="3831" />
4040 <listitem open="0" type="815" id="3834" />
4041 <listitem open="0" type="815" id="3836" />
4042 <listitem open="0" type="815" id="3838" />
4043 <listitem open="0" type="815" id="3840" />
4044 <listitem open="0" type="815" id="3842" />
4045 <listitem open="0" type="815" id="3844" />
4046 <listitem open="0" type="815" id="3845" />
4047 <listitem open="0" type="815" id="3848" />
4048 <listitem open="0" type="815" id="3850" />
4049 <listitem open="0" type="815" id="3852" />
4050 <listitem open="0" type="815" id="3854" />
4051 <listitem open="0" type="815" id="3859" />
4052 <listitem open="0" type="815" id="3860" />
4053 <listitem open="0" type="815" id="3861" />
4054 <listitem open="0" type="815" id="3864" />
4055 <listitem open="0" type="815" id="3867" />
4056 <listitem open="0" type="815" id="3870" />
4057 <listitem open="0" type="815" id="3873" />
4058 <listitem open="0" type="815" id="3876" />
4059 <listitem open="0" type="815" id="3879" />
4060 <listitem open="0" type="815" id="3882" />
4061 <listitem open="0" type="815" id="3885" />
4062 <listitem open="0" type="815" id="3888" />
4063 <listitem open="0" type="815" id="3891" />
4064 <listitem open="0" type="815" id="3894" />
4065 <listitem open="0" type="815" id="3896" />
4066 <listitem open="0" type="815" id="3898" />
4067 <listitem open="0" type="815" id="3900" />
4068 <listitem open="0" type="815" id="3902" />
4069 <listitem open="0" type="815" id="3904" />
4070 <listitem open="0" type="815" id="3906" />
4071 <listitem open="0" type="815" id="3908" />
4072 <listitem open="0" type="815" id="3913" />
4073 <listitem open="0" type="815" id="3916" />
4074 </listitem>
4075 <listitem open="0" type="813" id="3739" >
4076 <listitem open="0" type="814" id="3820" />
4077 <listitem open="0" type="814" id="3821" />
4078 <listitem open="0" type="815" id="3740" />
4079 <listitem open="0" type="815" id="3743" />
4080 <listitem open="0" type="815" id="3746" />
4081 <listitem open="0" type="815" id="3747" />
4082 <listitem open="0" type="815" id="3750" />
4083 <listitem open="0" type="815" id="3752" />
4084 <listitem open="0" type="815" id="3754" />
4085 <listitem open="0" type="815" id="3756" />
4086 <listitem open="0" type="815" id="3759" />
4087 <listitem open="0" type="815" id="3762" />
4088 <listitem open="0" type="815" id="3765" />
4089 <listitem open="0" type="815" id="3768" />
4090 <listitem open="0" type="815" id="3771" />
4091 <listitem open="0" type="815" id="3776" />
4092 <listitem open="0" type="815" id="3779" />
4093 <listitem open="0" type="815" id="3782" />
4094 <listitem open="0" type="815" id="3785" />
4095 <listitem open="0" type="815" id="3788" />
4096 <listitem open="0" type="815" id="3791" />
4097 <listitem open="0" type="815" id="3793" />
4098 <listitem open="0" type="815" id="3795" />
4099 <listitem open="0" type="815" id="3797" />
4100 <listitem open="0" type="815" id="3799" />
4101 <listitem open="0" type="815" id="3801" />
4102 <listitem open="0" type="815" id="3803" />
4103 <listitem open="0" type="815" id="3805" />
4104 <listitem open="0" type="815" id="3807" />
4105 <listitem open="0" type="815" id="3809" />
4106 <listitem open="0" type="815" id="3811" />
4107 <listitem open="0" type="815" id="3813" />
4108 <listitem open="0" type="815" id="3815" />
4109 <listitem open="0" type="815" id="3816" />
4110 <listitem open="0" type="815" id="3817" />
4111 </listitem>
4112 <listitem open="0" type="813" id="3822" />
4113 <listitem open="0" type="813" id="3738" />
4114 </listitem>
4115 <listitem open="0" type="818" id="165" >
4116 <listitem open="0" type="813" id="13010" />
4117 <listitem open="0" type="813" id="17647" />
4118 <listitem open="0" type="813" id="13093" />
4119 <listitem open="0" type="813" id="166" />
4120 <listitem open="0" type="813" id="626" />
4121 <listitem open="0" type="813" id="12992" />
4122 <listitem open="0" type="813" id="13189" />
4123 <listitem open="0" type="813" id="13084" />
4124 <listitem open="0" type="813" id="173" />
4125 <listitem open="0" type="813" id="193" />
4126 <listitem open="0" type="818" id="13088" >
4127 <listitem open="0" type="813" id="13089" />
4128 </listitem>
4129 </listitem>
4130 <listitem open="0" type="818" id="12982" >
4131 <listitem open="0" type="813" id="12999" >
4132 <listitem open="0" type="815" id="13004" />
4133 <listitem open="0" type="815" id="13005" />
4134 <listitem open="0" type="815" id="13007" />
4135 </listitem>
4136 <listitem open="0" type="813" id="12983" >
4137 <listitem open="0" type="814" id="12996" />
4138 <listitem open="0" type="814" id="12997" />
4139 <listitem open="0" type="814" id="12998" />
4140 <listitem open="0" type="815" id="12984" />
4141 <listitem open="0" type="815" id="12985" />
4142 <listitem open="0" type="815" id="12988" />
4143 <listitem open="0" type="815" id="12989" />
4144 <listitem open="0" type="815" id="12990" />
4145 <listitem open="0" type="815" id="12991" />
4146 <listitem open="0" type="815" id="12995" />
4147 </listitem>
4148 <listitem open="0" type="813" id="13016" >
4149 <listitem open="0" type="815" id="13021" />
4150 <listitem open="0" type="815" id="13022" />
4151 </listitem>
4152 <listitem open="0" type="813" id="13082" >
4153 <listitem open="0" type="813" id="13105" >
4154 <listitem open="0" type="814" id="13116" />
4155 <listitem open="0" type="814" id="13117" />
4156 <listitem open="0" type="814" id="13118" />
4157 <listitem open="0" type="814" id="13119" />
4158 <listitem open="0" type="814" id="13120" />
4159 <listitem open="0" type="814" id="13122" />
4160 <listitem open="0" type="814" id="13123" />
4161 <listitem open="0" type="815" id="13124" />
4162 <listitem open="0" type="815" id="13125" />
4163 <listitem open="0" type="816" id="13106" />
4164 <listitem open="0" type="831" id="13112" >
4165 <listitem open="0" type="839" id="13113" />
4166 <listitem open="0" type="839" id="13114" />
4167 <listitem open="0" type="839" id="13115" />
4168 </listitem>
4169 <listitem open="0" type="831" id="13107" >
4170 <listitem open="0" type="839" id="13108" />
4171 <listitem open="0" type="839" id="13109" />
4172 <listitem open="0" type="839" id="13110" />
4173 <listitem open="0" type="839" id="13111" />
4174 </listitem>
4175 </listitem>
4176 <listitem open="0" type="813" id="13083" >
4177 <listitem open="0" type="814" id="13085" />
4178 <listitem open="0" type="814" id="13086" />
4179 <listitem open="0" type="814" id="13087" />
4180 <listitem open="0" type="814" id="13090" />
4181 <listitem open="0" type="815" id="13091" />
4182 <listitem open="0" type="815" id="13092" />
4183 <listitem open="0" type="815" id="13096" />
4184 <listitem open="0" type="815" id="13098" />
4185 <listitem open="0" type="815" id="13101" />
4186 <listitem open="0" type="815" id="13102" />
4187 </listitem>
4188 <listitem open="0" type="814" id="13180" />
4189 <listitem open="0" type="814" id="13181" />
4190 <listitem open="0" type="814" id="13182" />
4191 <listitem open="0" type="814" id="13183" />
4192 <listitem open="0" type="814" id="13185" />
4193 <listitem open="0" type="814" id="13186" />
4194 <listitem open="0" type="814" id="13188" />
4195 <listitem open="0" type="814" id="13190" />
4196 <listitem open="0" type="814" id="13191" />
4197 <listitem open="0" type="814" id="13192" />
4198 <listitem open="0" type="815" id="13126" />
4199 <listitem open="0" type="815" id="13128" />
4200 <listitem open="0" type="815" id="13130" />
4201 <listitem open="0" type="815" id="13133" />
4202 <listitem open="0" type="815" id="13136" />
4203 <listitem open="0" type="815" id="13137" />
4204 <listitem open="0" type="815" id="13140" />
4205 <listitem open="0" type="815" id="13143" />
4206 <listitem open="0" type="815" id="13145" />
4207 <listitem open="0" type="815" id="13146" />
4208 <listitem open="0" type="815" id="13156" />
4209 <listitem open="0" type="815" id="13157" />
4210 <listitem open="0" type="815" id="13159" />
4211 <listitem open="0" type="815" id="13160" />
4212 <listitem open="0" type="815" id="13161" />
4213 <listitem open="0" type="815" id="13165" />
4214 <listitem open="0" type="815" id="13167" />
4215 <listitem open="0" type="815" id="13169" />
4216 <listitem open="0" type="815" id="13172" />
4217 <listitem open="0" type="815" id="13178" />
4218 <listitem open="0" type="815" id="13193" />
4219 <listitem open="0" type="815" id="13201" />
4220 <listitem open="0" type="831" id="13149" >
4221 <listitem open="0" type="839" id="13150" />
4222 <listitem open="0" type="839" id="13151" />
4223 <listitem open="0" type="839" id="13152" />
4224 <listitem open="0" type="839" id="13153" />
4225 <listitem open="0" type="839" id="13154" />
4226 <listitem open="0" type="839" id="13155" />
4227 </listitem>
4228 <listitem open="0" type="831" id="13175" >
4229 <listitem open="0" type="839" id="13176" />
4230 <listitem open="0" type="839" id="13177" />
4231 </listitem>
4232 </listitem>
4233 <listitem open="0" type="813" id="13009" >
4234 <listitem open="0" type="815" id="13014" />
4235 <listitem open="0" type="815" id="13015" />
4236 </listitem>
4237 <listitem open="0" type="813" id="13035" >
4238 <listitem open="0" type="815" id="13039" />
4239 <listitem open="0" type="815" id="13040" />
4240 </listitem>
4241 <listitem open="0" type="813" id="13023" >
4242 <listitem open="0" type="815" id="13027" />
4243 <listitem open="0" type="815" id="13028" />
4244 </listitem>
4245 <listitem open="0" type="813" id="13029" >
4246 <listitem open="0" type="815" id="13033" />
4247 <listitem open="0" type="815" id="13034" />
4248 </listitem>
4249 <listitem open="0" type="818" id="13041" >
4250 <listitem open="0" type="813" id="13042" >
4251 <listitem open="0" type="815" id="13043" />
4252 </listitem>
4253 <listitem open="0" type="813" id="13044" >
4254 <listitem open="0" type="814" id="13046" />
4255 <listitem open="0" type="815" id="13047" />
4256 <listitem open="0" type="816" id="13045" />
4257 </listitem>
4258 <listitem open="0" type="813" id="13049" >
4259 <listitem open="0" type="814" id="13052" />
4260 <listitem open="0" type="814" id="13053" />
4261 <listitem open="0" type="815" id="13054" />
4262 <listitem open="0" type="816" id="13050" />
4263 <listitem open="0" type="816" id="13051" />
4264 </listitem>
4265 <listitem open="0" type="813" id="13057" >
4266 <listitem open="0" type="814" id="13061" />
4267 <listitem open="0" type="814" id="13062" />
4268 <listitem open="0" type="814" id="13063" />
4269 <listitem open="0" type="815" id="13064" />
4270 <listitem open="0" type="816" id="13058" />
4271 <listitem open="0" type="816" id="13059" />
4272 <listitem open="0" type="816" id="13060" />
4273 </listitem>
4274 <listitem open="0" type="813" id="13068" >
4275 <listitem open="0" type="814" id="13073" />
4276 <listitem open="0" type="814" id="13074" />
4277 <listitem open="0" type="814" id="13075" />
4278 <listitem open="0" type="814" id="13076" />
4279 <listitem open="0" type="815" id="13077" />
4280 <listitem open="0" type="816" id="13069" />
4281 <listitem open="0" type="816" id="13070" />
4282 <listitem open="0" type="816" id="13071" />
4283 <listitem open="0" type="816" id="13072" />
4284 </listitem>
4285 </listitem>
4286 </listitem>
4287 <listitem open="0" type="829" id="73" />
4288 <listitem open="0" type="830" id="8" >
4289 <listitem open="0" type="829" id="472" />
4290 <listitem open="0" type="829" id="198" />
4291 <listitem open="0" type="829" id="134" />
4292 <listitem open="0" type="829" id="80" />
4293 <listitem open="0" type="829" id="619" />
4294 <listitem open="0" type="829" id="465" />
4295 <listitem open="0" type="829" id="362" />
4296 <listitem open="0" type="829" id="622" />
4297 <listitem open="0" type="829" id="142" />
4298 <listitem open="0" type="829" id="602" />
4299 <listitem open="0" type="829" id="339" />
4300 <listitem open="0" type="829" id="203" />
4301 <listitem open="0" type="829" id="187" />
4302 <listitem open="0" type="829" id="192" />
4303 <listitem open="0" type="829" id="416" />
4304 <listitem open="0" type="829" id="588" />
4305 <listitem open="0" type="829" id="573" />
4306 <listitem open="0" type="829" id="373" />
4307 <listitem open="0" type="829" id="440" />
4308 <listitem open="0" type="829" id="576" />
4309 <listitem open="0" type="829" id="3918" />
4310 <listitem open="0" type="829" id="17615" />
4311 <listitem open="0" type="829" id="92" />
4312 <listitem open="0" type="829" id="3749" />
4313 <listitem open="0" type="829" id="47" />
4314 <listitem open="0" type="829" id="3741" />
4315 <listitem open="1" type="829" id="13" />
4316 <listitem open="1" type="829" id="12" />
4317 <listitem open="0" type="829" id="616" />
4318 <listitem open="0" type="829" id="381" />
4319 <listitem open="0" type="829" id="12986" />
4320 <listitem open="0" type="829" id="294" />
4321 <listitem open="0" type="829" id="3914" />
4322 <listitem open="0" type="829" id="13138" />
4323 <listitem open="0" type="829" id="3744" />
4324 <listitem open="0" type="829" id="160" />
4325 <listitem open="0" type="829" id="13131" />
4326 <listitem open="0" type="829" id="13195" />
4327 <listitem open="0" type="829" id="3855" />
4328 <listitem open="0" type="829" id="13103" />
4329 <listitem open="0" type="829" id="174" />
4330 <listitem open="0" type="829" id="225" />
4331 <listitem open="0" type="829" id="145" />
4332 <listitem open="1" type="829" id="15" />
4333 <listitem open="1" type="829" id="14" />
4334 <listitem open="0" type="829" id="13135" />
4335 <listitem open="0" type="829" id="13206" />
4336 <listitem open="1" type="829" id="10" />
4337 <listitem open="1" type="829" id="17" />
4338 <listitem open="0" type="829" id="3819" />
4339 <listitem open="1" type="829" id="16" />
4340 <listitem open="0" type="829" id="13094" />
4341 <listitem open="0" type="829" id="539" />
4342 <listitem open="0" type="829" id="167" />
4343 <listitem open="0" type="829" id="627" />
4344 <listitem open="0" type="829" id="12993" />
4345 <listitem open="0" type="829" id="13199" />
4346 <listitem open="0" type="829" id="72" />
4347 <listitem open="0" type="829" id="13197" />
4348 <listitem open="0" type="829" id="13204" />
4349 <listitem open="0" type="829" id="343" />
4350 <listitem open="0" type="829" id="194" />
4351 <listitem open="0" type="829" id="624" />
4352 <listitem open="0" type="829" id="13187" />
4353 <listitem open="0" type="829" id="13184" />
4354 <listitem open="1" type="829" id="21" >
4355 <listitem open="0" type="813" id="13203" />
4356 </listitem>
4357 <listitem open="0" type="829" id="232" />
4358 <listitem open="1" type="829" id="18" />
4359 <listitem open="1" type="829" id="20" />
4360 <listitem open="1" type="829" id="19" />
4361 <listitem open="0" type="829" id="3774" />
4362 </listitem>
4363 <listitem open="0" type="831" id="30" >
4364 <listitem open="0" type="839" id="32" />
4365 <listitem open="0" type="839" id="33" />
4366 <listitem open="0" type="839" id="34" />
4367 <listitem open="0" type="839" id="35" />
4368 <listitem open="0" type="839" id="36" />
4369 <listitem open="0" type="839" id="37" />
4370 <listitem open="0" type="839" id="38" />
4371 <listitem open="0" type="839" id="39" />
4372 </listitem>
4373 </listitem>
4374 <listitem open="1" type="802" id="3" />
4375 <listitem open="1" type="821" id="4" />
4376 <listitem open="1" type="827" id="5" />
4377 <listitem open="1" type="836" id="6" />
4378 </listitem>
4379 </listview>
4380 <codegeneration>
4381 <codegenerator language="C++" />
4382 </codegeneration>
4383 </XMI.extensions>
4384 </XMI>