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;</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&lt;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&lt;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&gt;=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&gt;=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 &amp;k_O_Pr, urgent chan &amp;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&gt;=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 &amp;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&lt;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&lt;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&gt;=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&gt;=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 &amp;k_C_Pr, urgent chan &amp;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&lt;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&gt;=2000</label>
164 + </transition>
165 + </template>
166 + <template>
167 + <name>F_t</name>
168 + <parameter>urgent chan &amp;k_O_F, urgent chan &amp;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&lt;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&gt;=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>