Johan ARCILE

Upload new file

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 &amp;k_C_Pr</parameter>
9 + <declaration>clock x,y;</declaration>
10 + <location id="id0" x="144" y="102">
11 + <name x="127" y="68">Q</name>
12 + <urgent/>
13 + </location>
14 + <location id="id1" x="0" y="0">
15 + <name x="-20" y="-25">E</name>
16 + <label kind="invariant" x="-50" y="20">x&lt;3000</label>
17 + </location>
18 + <location id="id2" x="144" y="0">
19 + <name x="124" y="-25">T</name>
20 + <label kind="invariant" x="94" y="20">x&lt;4500</label>
21 + </location>
22 + <location id="id3" x="300" y="0">
23 + <name x="280" y="-25">S</name>
24 + </location>
25 + <init ref="id1"/>
26 + <transition>
27 + <source ref="id0"/>
28 + <target ref="id2"/>
29 + <label kind="assignment" x="153" y="42">y=0</label>
30 + </transition>
31 + <transition>
32 + <source ref="id1"/>
33 + <target ref="id2"/>
34 + <label kind="guard" x="50" y="-20">x&gt;=2000</label>
35 + <label kind="assignment" x="50" y="10">x=0</label>
36 + </transition>
37 + <transition>
38 + <source ref="id2"/>
39 + <target ref="id3"/>
40 + <label kind="guard" x="200" y="-20">x&gt;=3500</label>
41 + </transition>
42 + <transition>
43 + <source ref="id3"/>
44 + <target ref="id0"/>
45 + <label kind="synchronisation" x="200" y="80">k_C_Pr!</label>
46 + <label kind="assignment" x="200" y="110">x=0</label>
47 + <nail x="300" y="100"/>
48 + </transition>
49 + </template>
50 + <template>
51 + <name>O_t</name>
52 + <parameter>urgent chan &amp;k_O_Pr, urgent chan &amp;k_O_F</parameter>
53 + <declaration>clock x,y;</declaration>
54 + <location id="id4" x="0" y="102">
55 + <name x="-10" y="68">Q</name>
56 + <urgent/>
57 + </location>
58 + <location id="id5" x="0" y="0">
59 + <name x="-20" y="-25">S</name>
60 + </location>
61 + <location id="id6" x="150" y="0">
62 + <name x="130" y="-25">T</name>
63 + </location>
64 + <location id="id7" x="150" y="100">
65 + </location>
66 + <init ref="id5"/>
67 + <transition>
68 + <source ref="id4"/>
69 + <target ref="id5"/>
70 + <label kind="assignment" x="8" y="42">y=0</label>
71 + </transition>
72 + <transition>
73 + <source ref="id5"/>
74 + <target ref="id6"/>
75 + <label kind="guard" x="50" y="-20">x&gt;=50</label>
76 + </transition>
77 + <transition>
78 + <source ref="id6"/>
79 + <target ref="id7"/>
80 + <label kind="synchronisation" x="200" y="80">k_O_Pr!</label>
81 + <nail x="300" y="0"/>
82 + <nail x="300" y="100"/>
83 + </transition>
84 + <transition>
85 + <source ref="id7"/>
86 + <target ref="id4"/>
87 + <label kind="synchronisation" x="50" y="80">k_O_F!</label>
88 + <label kind="assignment" x="50" y="110">x=0</label>
89 + </transition>
90 + </template>
91 + <template>
92 + <name>P_t</name>
93 + <parameter>urgent chan &amp;k_P_F</parameter>
94 + <declaration>clock x,y;</declaration>
95 + <location id="id8" x="144" y="102">
96 + <name x="127" y="68">Q</name>
97 + <urgent/>
98 + </location>
99 + <location id="id9" x="0" y="0">
100 + <name x="-20" y="-25">E</name>
101 + <label kind="invariant" x="-50" y="20">x&lt;3600</label>
102 + </location>
103 + <location id="id10" x="144" y="0">
104 + <name x="124" y="-25">T</name>
105 + <label kind="invariant" x="94" y="20">x&lt;3600</label>
106 + </location>
107 + <location id="id11" x="300" y="0">
108 + <name x="280" y="-25">S</name>
109 + </location>
110 + <init ref="id9"/>
111 + <transition>
112 + <source ref="id8"/>
113 + <target ref="id10"/>
114 + <label kind="assignment" x="153" y="42">y=0</label>
115 + </transition>
116 + <transition>
117 + <source ref="id9"/>
118 + <target ref="id10"/>
119 + <label kind="guard" x="50" y="-20">x&gt;=2600</label>
120 + <label kind="assignment" x="50" y="10">x=0</label>
121 + </transition>
122 + <transition>
123 + <source ref="id10"/>
124 + <target ref="id11"/>
125 + <label kind="guard" x="200" y="-20">x&gt;=2600</label>
126 + </transition>
127 + <transition>
128 + <source ref="id11"/>
129 + <target ref="id8"/>
130 + <label kind="synchronisation" x="200" y="80">k_P_F!</label>
131 + <label kind="assignment" x="200" y="110">x=0</label>
132 + <nail x="300" y="100"/>
133 + </transition>
134 + </template>
135 + <template>
136 + <name>Pr_t</name>
137 + <parameter>urgent chan &amp;k_C_Pr, urgent chan &amp;k_O_Pr</parameter>
138 + <declaration>clock x,y;</declaration>
139 + <location id="id12" x="289" y="119">
140 + <label kind="invariant" x="279" y="136">x&lt;610</label>
141 + </location>
142 + <location id="id13" x="289" y="0">
143 + <name x="272" y="-34">Q</name>
144 + <urgent/>
145 + </location>
146 + <location id="id14" x="0" y="0">
147 + <name x="-20" y="-25">W</name>
148 + </location>
149 + <location id="id15" x="153" y="0">
150 + <name x="133" y="-25">P</name>
151 + <label kind="invariant" x="103" y="20">x&lt;3000</label>
152 + </location>
153 + <location id="id16" x="0" y="-100">
154 + <name x="-20" y="-125">W2</name>
155 + </location>
156 + <init ref="id14"/>
157 + <transition>
158 + <source ref="id13"/>
159 + <target ref="id12"/>
160 + <label kind="assignment" x="297" y="51">x=0</label>
161 + </transition>
162 + <transition>
163 + <source ref="id12"/>
164 + <target ref="id14"/>
165 + <label kind="guard" x="119" y="93">x&gt;=200</label>
166 + <label kind="assignment" x="110" y="127">y=0</label>
167 + <nail x="0" y="119"/>
168 + </transition>
169 + <transition>
170 + <source ref="id14"/>
171 + <target ref="id15"/>
172 + <label kind="synchronisation" x="50" y="-20">k_C_Pr?</label>
173 + <label kind="assignment" x="50" y="10">x=0</label>
174 + </transition>
175 + <transition>
176 + <source ref="id14"/>
177 + <target ref="id16"/>
178 + <label kind="synchronisation" x="-50" y="-60">k_O_Pr?</label>
179 + </transition>
180 + <transition>
181 + <source ref="id16"/>
182 + <target ref="id15"/>
183 + <label kind="synchronisation" x="50" y="-120">k_C_Pr?</label>
184 + <label kind="assignment" x="50" y="-90">x=0</label>
185 + <nail x="153" y="-102"/>
186 + </transition>
187 + <transition>
188 + <source ref="id15"/>
189 + <target ref="id13"/>
190 + <label kind="guard" x="200" y="-20">x&gt;=2000</label>
191 + </transition>
192 + </template>
193 + <template>
194 + <name>F_t</name>
195 + <parameter>urgent chan &amp;k_O_F, urgent chan &amp;k_P_F</parameter>
196 + <declaration>clock x,y;</declaration>
197 + <location id="id17" x="306" y="127">
198 + <label kind="invariant" x="296" y="144">x&lt;100</label>
199 + </location>
200 + <location id="id18" x="306" y="0">
201 + <name x="280" y="-26">Q</name>
202 + <urgent/>
203 + </location>
204 + <location id="id19" x="0" y="0">
205 + <name x="-20" y="-25">W</name>
206 + </location>
207 + <location id="id20" x="153" y="0">
208 + <name x="133" y="-25">P</name>
209 + <label kind="invariant" x="103" y="20">x&lt;75</label>
210 + </location>
211 + <init ref="id19"/>
212 + <transition>
213 + <source ref="id18"/>
214 + <target ref="id17"/>
215 + <label kind="assignment" x="314" y="59">x=0</label>
216 + </transition>
217 + <transition>
218 + <source ref="id17"/>
219 + <target ref="id19"/>
220 + <label kind="guard" x="127" y="102">x&gt;=30</label>
221 + <label kind="assignment" x="119" y="136">y=0</label>
222 + <nail x="0" y="127"/>
223 + </transition>
224 + <transition>
225 + <source ref="id19"/>
226 + <target ref="id20"/>
227 + <label kind="synchronisation" x="50" y="-20">k_O_F?</label>
228 + <label kind="assignment" x="50" y="10">x=0</label>
229 + </transition>
230 + <transition>
231 + <source ref="id19"/>
232 + <target ref="id20"/>
233 + <label kind="synchronisation" x="50" y="-120">k_P_F?</label>
234 + <label kind="assignment" x="50" y="-90">x=0</label>
235 + <nail x="0" y="-100"/>
236 + <nail x="153" y="-102"/>
237 + </transition>
238 + <transition>
239 + <source ref="id20"/>
240 + <target ref="id18"/>
241 + <label kind="guard" x="200" y="-20">x&gt;=50</label>
242 + </transition>
243 + </template>
244 + <system>
245 +urgent chan k_C_Pr;
246 +urgent chan k_O_Pr;
247 +urgent chan k_O_F;
248 +urgent chan k_P_F;
249 +
250 +C = C_t(k_C_Pr);
251 +O = O_t(k_O_Pr, k_O_F);
252 +P = P_t(k_P_F);
253 +Q = Pr_t(k_C_Pr, k_O_Pr);
254 +F = F_t(k_O_F, k_P_F);
255 +
256 +system C, O, P, Q, F;
257 +</system>
258 +</nta>