Last modified by Alexander Schulz-Rosengarten on 2023/09/11 16:17

From version 30.1
edited by cmot
on 2014/03/12 14:03
Change comment: There is no comment for this version
To version 33.1
edited by cmot
on 2014/03/13 13:54
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -12,6 +12,8 @@
12 12  
13 13  We will use a simple example here in order to illustrate the process. Please refer to the SCCharts superpage for the [[project status>>doc:SCCharts]] and [[known limitations>>doc:SCCharts]]. If you are interested in the source code you can find instruction how to download and compile it here: [[Getting Started>>url:http://rtsys.informatik.uni-kiel.de/confluence/display/KIELER/Getting+Started||shape="rect"]].
14 14  
15 +See a list of the evaluated examples at the end.
16 +
15 15  
16 16  
17 17  [1] PLDI submission: [[http:~~/~~/rtsys.informatik.uni-kiel.de/~~~~biblio/downloads/papers/pldi14-submitted.pdf>>url:http://rtsys.informatik.uni-kiel.de/%7Ebiblio/downloads/papers/pldi14-submitted.pdf||shape="rect"]]
... ... @@ -164,6 +164,180 @@
164 164  
165 165  
166 166  
167 -
169 += 4. Evaluated Examples =
168 168  
171 +In the following, you find the examples used for evaluation. Be advised that there currently is no tool integrated evaluation possible. Please refer to the SCCharts superpage for the [[project status>>doc:SCCharts]] and [[known limitations>>doc:SCCharts]].
172 +
173 +|=(((
174 +Example
175 +)))|=(((
169 169  
177 +)))|=(((
178 +SCChart  (Graphical)
179 +)))|=(% colspan="1" %)(% colspan="1" %)
180 +(((
181 +SCChart (Textual SCT)
182 +)))
183 +|(% colspan="1" %)(% colspan="1" %)
184 +(((
185 += shifter3 =
186 +)))|(% colspan="1" %)(% colspan="1" %)
187 +(((
188 +
189 +)))|(% colspan="1" %)(% colspan="1" %)
190 +(((
191 +[[image:attach:shifter3.png]]
192 +)))|(% colspan="1" %)(% colspan="1" %)
193 +(((
194 +{{code title="shifter3.sct"}}
195 +scchart shifter3 {
196 + input signal int I = 1;
197 + signal int S0;
198 + signal int S1;
199 + output signal int O;
200 + region R1:
201 + initial state I2
202 + --> I2 with pre(S0) / S1(pre(val(S0)));
203 + region R0:
204 + initial state I1
205 + --> I1 with pre(I) / S0(pre(val(I)));
206 + region R2:
207 + initial state I3
208 + --> I3 with pre(S1) / O(pre(val(S1)));
209 +}
210 +{{/code}}
211 +)))
212 +|(((
213 += reincarnation =
214 +)))|(((
215 +
216 +)))|(((
217 +[[image:attach:reincarnation.png]]
218 +)))|(% colspan="1" %)(% colspan="1" %)
219 +(((
220 +{{code title="reincarnation.sct"}}
221 +scchart reincarnation {
222 + input signal A;
223 + output signal gotS;
224 + region R0:
225 + initial state Reincarnation {
226 + signal S;
227 + region R0:
228 + initial state I
229 + --> C1 immediate;
230 + state p;
231 + final state r;
232 + state q
233 + --> r with A / S;
234 + state C1
235 + --> p immediate with S / gotS
236 + --> q immediate;
237 + }
238 + >-> Reincarnation;
239 +}
240 +{{/code}}
241 +)))
242 +|(((
243 += cabin =
244 +)))|(((
245 +
246 +)))|(((
247 +[[image:attach:cabin.png]]
248 +)))|(% colspan="1" %)(% colspan="1" %)
249 +(((
250 +{{code title="cabin.sct"}}
251 +scchart Cabin {
252 + input signal Stop;
253 + input signal CabinStopped;
254 + input signal DoorIsOpen;
255 + input signal DoorOpen;
256 + input signal DoorSensor;
257 + input signal DoorIsClosed;
258 + input signal DoorClose;
259 + input signal TimerExpired;
260 + output signal StartOK;
261 + output signal OpenDoorMotorOff;
262 + output signal OpenDoorMotorOn;
263 + output signal StartTimer;
264 + output signal CloseDoorMotorOn;
265 + output signal CloseDoorMotorOff;
266 + region R0:
267 + initial state I
268 + --> Open immediate with / OpenDoorMotorOn;
269 + state Open
270 + --> S0 with DoorIsOpen / OpenDoorMotorOff;
271 + state S0 {
272 + region R0:
273 + initial state Initial
274 + --> S0 immediate with / StartTimer;
275 + state S0
276 + --> S1 with TimerExpired | DoorClose / CloseDoorMotorOn;
277 + state S1
278 + --> S2 with DoorIsClosed / StartOK;
279 + final state S2;
280 + }
281 + o-> I with DoorOpen | DoorSensor / CloseDoorMotorOff
282 + >-> S1 with / CloseDoorMotorOff;
283 + state S1
284 + --> S2 with Stop;
285 + state S2
286 + --> I with CabinStopped;
287 +}
288 +{{/code}}
289 +)))
290 +|(((
291 += reactor control =
292 +)))|(((
293 +
294 +)))|(((
295 +[[image:attach:reactor-control.png]]
296 +)))|(% colspan="1" %)(% colspan="1" %)
297 +(((
298 +{{code title="reactor-control.sct"}}
299 +scchart Module_ReactorControl {
300 + output signal PullOutRods;
301 + output signal PushInRods;
302 + input signal Start;
303 + input signal OverHeated;
304 + input signal CooledDown;
305 + signal unsafe;
306 + region main:
307 + initial state init0 "I"
308 + --> ParallelStatementList40state immediate;
309 + state ParallelStatementList40state {
310 + region R0:
311 + initial state init1 "I"
312 + --> Await43state immediate;
313 + state Await43state {
314 + region R0:
315 + initial state init2 "I"
316 + --> S18 immediate;
317 + state S18 "18"
318 + --> S23 with Start / PullOutRods;
319 + state S23 "23";
320 + }
321 + o-> Await43state with unsafe;
322 + region R1:
323 + initial state init3 "I"
324 + --> S94 immediate;
325 + state S94 "94"
326 + --> S134 immediate with unsafe / PushInRods;
327 + state S134 "134"
328 + --> S94 with !unsafe;
329 + region R2:
330 + initial state init4 "I"
331 + --> S193 immediate;
332 + state S193 "193"
333 + --> Sustain68state immediate with OverHeated;
334 + state Sustain68state {
335 + region R0:
336 + initial state init5 "I"
337 + --> S227 immediate with / unsafe;
338 + state S227 "227"
339 + --> S227 with / unsafe;
340 + }
341 + o-> S193 with CooledDown;
342 + };
343 +}
344 +{{/code}}
345 +)))
Confluence.Code.ConfluencePageClass[0]
Id
... ... @@ -1,1 +1,1 @@
1 -9470038
1 +9471348
URL
... ... @@ -1,1 +1,1 @@
1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/KIELER/pages/9470038/PLDI'14 Artifact on SCCharts
1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/KIELER/pages/9471348/PLDI'14 Artifact on SCCharts