Showing
1 changed file
with
228 additions
and
0 deletions
Ex3/Uppaal/Ex3_1.1.xml
0 → 100644
1 | +<?xml version="1.0" encoding="utf-8"?> | ||
2 | +<!DOCTYPE nta PUBLIC '-//Uppaal Team//DTD Flat System 1.1//EN' 'http://www.it.uu.se/research/group/darts/uppaal/flat-1_1.dtd'> | ||
3 | +<nta> | ||
4 | + <declaration> | ||
5 | +</declaration> | ||
6 | + <template> | ||
7 | + <name>C_t</name> | ||
8 | + <parameter>urgent chan &k_C_Pr</parameter> | ||
9 | + <declaration>clock x;</declaration> | ||
10 | + <location id="id0" x="0" y="0"> | ||
11 | + <name x="-20" y="-25">E</name> | ||
12 | + <label kind="invariant" x="-50" y="20">x<3000</label> | ||
13 | + </location> | ||
14 | + <location id="id1" x="150" y="0"> | ||
15 | + <name x="130" y="-25">T</name> | ||
16 | + <label kind="invariant" x="100" y="20">x<4500</label> | ||
17 | + </location> | ||
18 | + <location id="id2" x="300" y="0"> | ||
19 | + <name x="280" y="-25">S</name> | ||
20 | + </location> | ||
21 | + <init ref="id0"/> | ||
22 | + <transition> | ||
23 | + <source ref="id0"/> | ||
24 | + <target ref="id1"/> | ||
25 | + <label kind="guard" x="50" y="-20">x>=2000</label> | ||
26 | + <label kind="assignment" x="50" y="10">x=0</label> | ||
27 | + </transition> | ||
28 | + <transition> | ||
29 | + <source ref="id1"/> | ||
30 | + <target ref="id2"/> | ||
31 | + <label kind="guard" x="200" y="-20">x>=3500</label> | ||
32 | + </transition> | ||
33 | + <transition> | ||
34 | + <source ref="id2"/> | ||
35 | + <target ref="id1"/> | ||
36 | + <label kind="synchronisation" x="200" y="80">k_C_Pr!</label> | ||
37 | + <label kind="assignment" x="200" y="110">x=0</label> | ||
38 | + <nail x="300" y="100"/> | ||
39 | + <nail x="150" y="100"/> | ||
40 | + </transition> | ||
41 | + </template> | ||
42 | + <template> | ||
43 | + <name>O_t</name> | ||
44 | + <parameter>urgent chan &k_O_Pr, urgent chan &k_O_F</parameter> | ||
45 | + <declaration>clock x;</declaration> | ||
46 | + <location id="id3" x="0" y="0"> | ||
47 | + <name x="-20" y="-25">S</name> | ||
48 | + </location> | ||
49 | + <location id="id4" x="150" y="0"> | ||
50 | + <name x="130" y="-25">T</name> | ||
51 | + </location> | ||
52 | + <location id="id5" x="150" y="100"> | ||
53 | + </location> | ||
54 | + <init ref="id3"/> | ||
55 | + <transition> | ||
56 | + <source ref="id3"/> | ||
57 | + <target ref="id4"/> | ||
58 | + <label kind="guard" x="50" y="-20">x>=50</label> | ||
59 | + </transition> | ||
60 | + <transition> | ||
61 | + <source ref="id4"/> | ||
62 | + <target ref="id5"/> | ||
63 | + <label kind="synchronisation" x="200" y="80">k_O_Pr!</label> | ||
64 | + <nail x="300" y="0"/> | ||
65 | + <nail x="300" y="100"/> | ||
66 | + </transition> | ||
67 | + <transition> | ||
68 | + <source ref="id5"/> | ||
69 | + <target ref="id3"/> | ||
70 | + <label kind="synchronisation" x="50" y="80">k_O_F!</label> | ||
71 | + <label kind="assignment" x="50" y="110">x=0</label> | ||
72 | + <nail x="0" y="100"/> | ||
73 | + </transition> | ||
74 | + </template> | ||
75 | + <template> | ||
76 | + <name>P_t</name> | ||
77 | + <parameter>urgent chan &k_P_F</parameter> | ||
78 | + <declaration>clock x;</declaration> | ||
79 | + <location id="id6" x="0" y="0"> | ||
80 | + <name x="-20" y="-25">E</name> | ||
81 | + <label kind="invariant" x="-50" y="20">x<3600</label> | ||
82 | + </location> | ||
83 | + <location id="id7" x="150" y="0"> | ||
84 | + <name x="130" y="-25">T</name> | ||
85 | + <label kind="invariant" x="100" y="20">x<3600</label> | ||
86 | + </location> | ||
87 | + <location id="id8" x="300" y="0"> | ||
88 | + <name x="280" y="-25">S</name> | ||
89 | + </location> | ||
90 | + <init ref="id6"/> | ||
91 | + <transition> | ||
92 | + <source ref="id6"/> | ||
93 | + <target ref="id7"/> | ||
94 | + <label kind="guard" x="50" y="-20">x>=2600</label> | ||
95 | + <label kind="assignment" x="50" y="10">x=0</label> | ||
96 | + </transition> | ||
97 | + <transition> | ||
98 | + <source ref="id7"/> | ||
99 | + <target ref="id8"/> | ||
100 | + <label kind="guard" x="200" y="-20">x>=2600</label> | ||
101 | + </transition> | ||
102 | + <transition> | ||
103 | + <source ref="id8"/> | ||
104 | + <target ref="id7"/> | ||
105 | + <label kind="synchronisation" x="200" y="80">k_P_F!</label> | ||
106 | + <label kind="assignment" x="200" y="110">x=0</label> | ||
107 | + <nail x="300" y="100"/> | ||
108 | + <nail x="150" y="100"/> | ||
109 | + </transition> | ||
110 | + </template> | ||
111 | + <template> | ||
112 | + <name>Pr_t</name> | ||
113 | + <parameter>urgent chan &k_C_Pr, urgent chan &k_O_Pr</parameter> | ||
114 | + <declaration>clock x,y;</declaration> | ||
115 | + <location id="id9" x="289" y="119"> | ||
116 | + </location> | ||
117 | + <location id="id10" x="289" y="0"> | ||
118 | + <name x="272" y="-34">Q</name> | ||
119 | + <urgent/> | ||
120 | + </location> | ||
121 | + <location id="id11" x="0" y="0"> | ||
122 | + <name x="-20" y="-25">W</name> | ||
123 | + </location> | ||
124 | + <location id="id12" x="150" y="0"> | ||
125 | + <name x="130" y="-25">P</name> | ||
126 | + <label kind="invariant" x="100" y="20">x<3000</label> | ||
127 | + </location> | ||
128 | + <location id="id13" x="0" y="-100"> | ||
129 | + <name x="-20" y="-125">W2</name> | ||
130 | + </location> | ||
131 | + <init ref="id11"/> | ||
132 | + <transition> | ||
133 | + <source ref="id10"/> | ||
134 | + <target ref="id9"/> | ||
135 | + </transition> | ||
136 | + <transition> | ||
137 | + <source ref="id9"/> | ||
138 | + <target ref="id11"/> | ||
139 | + <label kind="assignment" x="110" y="127">y=0</label> | ||
140 | + <nail x="0" y="119"/> | ||
141 | + </transition> | ||
142 | + <transition> | ||
143 | + <source ref="id11"/> | ||
144 | + <target ref="id12"/> | ||
145 | + <label kind="synchronisation" x="50" y="-20">k_C_Pr?</label> | ||
146 | + <label kind="assignment" x="50" y="10">x=0</label> | ||
147 | + </transition> | ||
148 | + <transition> | ||
149 | + <source ref="id11"/> | ||
150 | + <target ref="id13"/> | ||
151 | + <label kind="synchronisation" x="-50" y="-60">k_O_Pr?</label> | ||
152 | + </transition> | ||
153 | + <transition> | ||
154 | + <source ref="id13"/> | ||
155 | + <target ref="id12"/> | ||
156 | + <label kind="synchronisation" x="50" y="-120">k_C_Pr?</label> | ||
157 | + <label kind="assignment" x="50" y="-90">x=0</label> | ||
158 | + <nail x="153" y="-102"/> | ||
159 | + </transition> | ||
160 | + <transition> | ||
161 | + <source ref="id12"/> | ||
162 | + <target ref="id10"/> | ||
163 | + <label kind="guard" x="200" y="-20">x>=2000</label> | ||
164 | + </transition> | ||
165 | + </template> | ||
166 | + <template> | ||
167 | + <name>F_t</name> | ||
168 | + <parameter>urgent chan &k_O_F, urgent chan &k_P_F</parameter> | ||
169 | + <declaration>clock x,y;</declaration> | ||
170 | + <location id="id14" x="306" y="127"> | ||
171 | + </location> | ||
172 | + <location id="id15" x="306" y="0"> | ||
173 | + <name x="280" y="-26">Q</name> | ||
174 | + <urgent/> | ||
175 | + </location> | ||
176 | + <location id="id16" x="0" y="0"> | ||
177 | + <name x="-20" y="-25">W</name> | ||
178 | + </location> | ||
179 | + <location id="id17" x="153" y="0"> | ||
180 | + <name x="133" y="-25">P</name> | ||
181 | + <label kind="invariant" x="103" y="20">x<75</label> | ||
182 | + </location> | ||
183 | + <init ref="id16"/> | ||
184 | + <transition> | ||
185 | + <source ref="id15"/> | ||
186 | + <target ref="id14"/> | ||
187 | + </transition> | ||
188 | + <transition> | ||
189 | + <source ref="id14"/> | ||
190 | + <target ref="id16"/> | ||
191 | + <label kind="assignment" x="119" y="136">y=0</label> | ||
192 | + <nail x="0" y="127"/> | ||
193 | + </transition> | ||
194 | + <transition> | ||
195 | + <source ref="id16"/> | ||
196 | + <target ref="id17"/> | ||
197 | + <label kind="synchronisation" x="50" y="-20">k_O_F?</label> | ||
198 | + <label kind="assignment" x="50" y="10">x=0</label> | ||
199 | + </transition> | ||
200 | + <transition> | ||
201 | + <source ref="id16"/> | ||
202 | + <target ref="id17"/> | ||
203 | + <label kind="synchronisation" x="50" y="-120">k_P_F?</label> | ||
204 | + <label kind="assignment" x="50" y="-90">x=0</label> | ||
205 | + <nail x="0" y="-100"/> | ||
206 | + <nail x="153" y="-102"/> | ||
207 | + </transition> | ||
208 | + <transition> | ||
209 | + <source ref="id17"/> | ||
210 | + <target ref="id15"/> | ||
211 | + <label kind="guard" x="200" y="-20">x>=50</label> | ||
212 | + </transition> | ||
213 | + </template> | ||
214 | + <system> | ||
215 | +urgent chan k_C_Pr; | ||
216 | +urgent chan k_O_Pr; | ||
217 | +urgent chan k_O_F; | ||
218 | +urgent chan k_P_F; | ||
219 | + | ||
220 | +C = C_t(k_C_Pr); | ||
221 | +O = O_t(k_O_Pr, k_O_F); | ||
222 | +P = P_t(k_P_F); | ||
223 | +Q = Pr_t(k_C_Pr, k_O_Pr); | ||
224 | +F = F_t(k_O_F, k_P_F); | ||
225 | + | ||
226 | +system C, O, P, Q, F; | ||
227 | +</system> | ||
228 | +</nta> |
-
Please register or login to post a comment