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

From version 25.1
edited by cmot
on 2014/02/11 11:30
Change comment: There is no comment for this version
To version 31.1
edited by cmot
on 2014/03/13 13:47
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -2,7 +2,7 @@
2 2  
3 3  = Modeling SCCharts with KIELER =
4 4  
5 -This tutorial should guide you if you like to model SCCharts with KIELER and use the circuit based software synthesis path as explained in our [1] [[PLDI'14 submission>>url:http://rtsys.informatik.uni-kiel.de/~~biblio/downloads/papers/pldi14.pdf||shape="rect"]]. We will show you how to
5 +This tutorial should guide you if you like to model SCCharts with KIELER and use the circuit based software synthesis path as explained in our [1] [[PLDI'14 submission>>url:http://rtsys.informatik.uni-kiel.de/%7Ebiblio/downloads/papers/pldi14-submitted.pdf||shape="rect"]]. We will show you how to
6 6  
7 7  ~1. Download & Start KIELER,
8 8  
... ... @@ -10,11 +10,11 @@
10 10  
11 11  3. Generate C Code.
12 12  
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.
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 15  
16 16  
17 -[1] PLDI submission: [[http:~~/~~/rtsys.informatik.uni-kiel.de/~~~~biblio/downloads/papers/pldi14.pdf>>url:http://rtsys.informatik.uni-kiel.de/%7Ebiblio/downloads/papers/pldi14.pdf||shape="rect" class="moz-txt-link-freetext"]]
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"]]
18 18  
19 19  
20 20  
... ... @@ -164,6 +164,180 @@
164 164  
165 165  
166 166  
167 -
167 += 4. Evaluated Examples =
168 168  
169 +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]].
170 +
171 +|=(((
172 +Example
173 +)))|=(((
169 169  
175 +)))|=(((
176 +SCChart  (Graphical)
177 +)))|=(% colspan="1" %)(% colspan="1" %)
178 +(((
179 +SCChart (Textual SCT)
180 +)))
181 +|(% colspan="1" %)(% colspan="1" %)
182 +(((
183 +shifter3
184 +)))|(% colspan="1" %)(% colspan="1" %)
185 +(((
186 +
187 +)))|(% colspan="1" %)(% colspan="1" %)
188 +(((
189 +
190 +)))|(% colspan="1" %)(% colspan="1" %)
191 +(((
192 +{{code title="abo.sct"}}
193 +scchart shifter3 {
194 + input signal int I = 1;
195 + signal int S0;
196 + signal int S1;
197 + output signal int O;
198 + region R1:
199 + initial state I2
200 + --> I2 with pre(S0) / S1(pre(val(S0)));
201 + region R0:
202 + initial state I1
203 + --> I1 with pre(I) / S0(pre(val(I)));
204 + region R2:
205 + initial state I3
206 + --> I3 with pre(S1) / O(pre(val(S1)));
207 +}
208 +{{/code}}
209 +)))
210 +|(((
211 +reincarnation
212 +)))|(((
213 +
214 +)))|(((
215 +
216 +)))|(% colspan="1" %)(% colspan="1" %)
217 +(((
218 +{{code title="abo.sct"}}
219 +scchart reincarnation {
220 + input signal A;
221 + output signal gotS;
222 + region R0:
223 + initial state Reincarnation {
224 + signal S;
225 + region R0:
226 + initial state I
227 + --> C1 immediate;
228 + state p;
229 + final state r;
230 + state q
231 + --> r with A / S;
232 + state C1
233 + --> p immediate with S / gotS
234 + --> q immediate;
235 + }
236 + >-> Reincarnation;
237 +}
238 +{{/code}}
239 +)))
240 +|(((
241 +cabin
242 +)))|(((
243 +
244 +)))|(((
245 +
246 +)))|(% colspan="1" %)(% colspan="1" %)
247 +(((
248 +{{code title="abo.sct"}}
249 +scchart Cabin {
250 + input signal Stop;
251 + input signal CabinStopped;
252 + input signal DoorIsOpen;
253 + input signal DoorOpen;
254 + input signal DoorSensor;
255 + input signal DoorIsClosed;
256 + input signal DoorClose;
257 + input signal TimerExpired;
258 + output signal StartOK;
259 + output signal OpenDoorMotorOff;
260 + output signal OpenDoorMotorOn;
261 + output signal StartTimer;
262 + output signal CloseDoorMotorOn;
263 + output signal CloseDoorMotorOff;
264 + region R0:
265 + initial state I
266 + --> Open immediate with / OpenDoorMotorOn;
267 + state Open
268 + --> S0 with DoorIsOpen / OpenDoorMotorOff;
269 + state S0 {
270 + region R0:
271 + initial state Initial
272 + --> S0 immediate with / StartTimer;
273 + state S0
274 + --> S1 with TimerExpired | DoorClose / CloseDoorMotorOn;
275 + state S1
276 + --> S2 with DoorIsClosed / StartOK;
277 + final state S2;
278 + }
279 + o-> I with DoorOpen | DoorSensor / CloseDoorMotorOff
280 + >-> S1 with / CloseDoorMotorOff;
281 + state S1
282 + --> S2 with Stop;
283 + state S2
284 + --> I with CabinStopped;
285 +}
286 +{{/code}}
287 +)))
288 +|(((
289 +reactor control
290 +)))|(((
291 +
292 +)))|(((
293 +
294 +)))|(% colspan="1" %)(% colspan="1" %)
295 +(((
296 +{{code title="abo.sct"}}
297 +scchart Module_ReactorControl {
298 + output signal PullOutRods;
299 + output signal PushInRods;
300 + input signal Start;
301 + input signal OverHeated;
302 + input signal CooledDown;
303 + signal unsafe;
304 + region main:
305 + initial state init0 "I"
306 + --> ParallelStatementList40state immediate;
307 + state ParallelStatementList40state {
308 + region R0:
309 + initial state init1 "I"
310 + --> Await43state immediate;
311 + state Await43state {
312 + region R0:
313 + initial state init2 "I"
314 + --> S18 immediate;
315 + state S18 "18"
316 + --> S23 with Start / PullOutRods;
317 + state S23 "23";
318 + }
319 + o-> Await43state with unsafe;
320 + region R1:
321 + initial state init3 "I"
322 + --> S94 immediate;
323 + state S94 "94"
324 + --> S134 immediate with unsafe / PushInRods;
325 + state S134 "134"
326 + --> S94 with !unsafe;
327 + region R2:
328 + initial state init4 "I"
329 + --> S193 immediate;
330 + state S193 "193"
331 + --> Sustain68state immediate with OverHeated;
332 + state Sustain68state {
333 + region R0:
334 + initial state init5 "I"
335 + --> S227 immediate with / unsafe;
336 + state S227 "227"
337 + --> S227 with / unsafe;
338 + }
339 + o-> S193 with CooledDown;
340 + };
341 +}
342 +{{/code}}
343 +)))
Confluence.Code.ConfluencePageClass[0]
Id
... ... @@ -1,1 +1,1 @@
1 -8651747
1 +9470040
URL
... ... @@ -1,1 +1,1 @@
1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/KIELER/pages/8651747/PLDI'14 Artifact on SCCharts
1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/KIELER/pages/9470040/PLDI'14 Artifact on SCCharts