<
From version < 13.1 >
edited by cmot
on 2014/06/28 13:05
To version < 16.1 >
edited by cmot
on 2014/06/28 13:16
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -65,6 +65,10 @@
65 65  
66 66  = Detailed Syntax of SCCharts Language Elements =
67 67  
68 +
69 +
70 +{{toc/}}
71 +
68 68  == SCCharts, Initial States, States, Transitions ==
69 69  
70 70  {{column width="50%"}}
... ... @@ -86,8 +86,338 @@
86 86  
87 87  
88 88  
93 +== Variable ==
94 +
95 +{{column width="50%"}}
96 +{{code linenumbers="true"}}
97 +scchart Variable {
98 + int var1;
99 + bool var2;
100 + int var3 = 3;
101 + bool var4 = false;
102 + input int var5;
103 + output float var6;
104 + input output bool var7;
105 + initial state A
106 + --> B;
107 + state B;
108 +}
109 +{{/code}}
110 +{{/column}}
111 +
112 +{{column width="50%"}}
113 + [[image:attach:02variable.png]]
114 +{{/column}}
115 +
116 +== Transition: Trigger & Effect ==
117 +
118 +{{column width="50%"}}
119 +{{code linenumbers="true"}}
120 +scchart TriggerEffect {
121 + input int var1;
122 + output bool var2;
123 + initial state A
124 + --> B with var1 == 3 / var2 = true;
125 + state B;
126 +}
127 +{{/code}}
128 +{{/column}}
129 +
130 +{{column width="50%"}}
131 + [[image:attach:03triggereffect.png]]
132 +{{/column}}
133 +
134 +== Super State ==
135 +
136 +{{column width="50%"}}
137 +{{code linenumbers="true"}}
138 +scchart SuperState {
139 + initial state A
140 + --> B;
141 + state B {
142 + initial state B1
143 + --> B2;
144 + state B2;
145 + };
146 +}
147 +{{/code}}
148 +{{/column}}
149 +
150 +{{column width="50%"}}
151 + [[image:attach:04superstate.png]]
152 +{{/column}}
153 +
154 +== Super State: Final States & Termination Transition ==
155 +
156 +{{column width="50%"}}
157 +{{code linenumbers="true"}}
158 +scchart FinalStateTermination {
159 + initial state A
160 + --> B;
161 + state B {
162 + initial state B1
163 + --> B2;
164 + final state B2;
165 + }
166 + >-> C;
167 + state C;
168 +}
169 +{{/code}}
170 +{{/column}}
171 +
172 +{{column width="50%"}}
173 + [[image:attach:05finalstatetermination.png]]
174 +{{/column}}
175 +
176 +== Super State: Weak Abort Transition ==
177 +
178 +{{column width="50%"}}
179 +{{code linenumbers="true"}}
180 +scchart WeakAbort {
181 + input bool W;
182 + initial state A
183 + --> B;
184 + state B {
185 + initial state B1
186 + --> B2;
187 + state B2;
188 + }
189 + --> C with W;
190 + state C;
191 +}
192 +{{/code}}
193 +{{/column}}
194 +
195 +{{column width="50%"}}
196 + [[image:attach:06weakabort.png]]
197 +{{/column}}
198 +
199 +== Super State: Strong Abort Transition ==
200 +
201 +{{column width="50%"}}
202 +{{code linenumbers="true"}}
203 +scchart StrongAbort {
204 + input bool S;
205 + initial state A
206 + --> B;
207 + state B {
208 + initial state B1
209 + --> B2;
210 + state B2;
211 + }
212 + o-> C with S;
213 +
214 + state C;
215 +}
216 +{{/code}}
217 +{{/column}}
218 +
219 +{{column width="50%"}}
220 + [[image:attach:07strongabort.png]]
221 +{{/column}}
222 +
223 +== Concurrent Regions (inside a Super State) ==
224 +
225 +{{column width="50%"}}
226 +{{code linenumbers="true"}}
227 +scchart Regions {
228 + input bool S;
229 + initial state A
230 + --> B;
231 + state B {
232 + region Region1 :
233 + initial state B1
234 + --> B2;
235 + state B2; region Region2 :
236 + initial state B3;
237 + };
238 +}
239 +{{/code}}
240 +{{/column}}
241 +
242 +{{column width="50%"}}
243 + [[image:attach:08regions.png]]
244 +{{/column}}
245 +
246 +== Entry Action, During Action, Exit Action ==
247 +
248 +{{column width="50%"}}
249 +{{code linenumbers="true"}}
250 +scchart Actions {
251 + input bool var1;
252 + output bool var2;
253 + initial state A
254 + --> B;
255 + state B {
256 + entry var1 / var2 = true;
257 + during var1 / var2 = true;
258 + immediate during var1 / var2 = true;
259 + exit var1 / var2 = true;
260 + initial state B1
261 + --> B2;
262 + state B2;
263 + };
264 +}
265 +{{/code}}
266 +{{/column}}
267 +
268 +{{column width="50%"}}
269 + [[image:attach:09actions.png]]
270 +{{/column}}
271 +
272 +== Shallow History Transition ==
273 +
274 +{{column width="50%"}}
275 +{{code linenumbers="true"}}
276 +scchart HistoryShallow {
277 + input bool var1;
278 + output bool var2;
279 + initial state A
280 + --> B shallow history with var1;
281 + state B {
282 + initial state B1
283 + --> B2;
284 + state B2;
285 + }
286 + --> A with var1;
287 +}
288 +{{/code}}
289 +{{/column}}
290 +
291 +{{column width="50%"}}
292 + [[image:attach:10historyshallow.png]]
293 +{{/column}}
294 +
295 +== Deep History Transition ==
296 +
297 +{{column width="50%"}}
298 +{{code linenumbers="true"}}
299 +scchart HistoryDeep {
300 + input bool var1;
301 + output bool var2;
302 + initial state A
303 + --> B history with var1;
304 + state B {
305 + initial state B1
306 + --> B2;
307 + state B2;
308 + }
309 + --> A with var1;
310 +}
311 +{{/code}}
312 +{{/column}}
313 +
314 +{{column width="50%"}}
315 + [[image:attach:11historydeep.png]]
316 +{{/column}}
317 +
318 +== Deferred Transition ==
319 +
320 +{{column width="50%"}}
321 +{{code linenumbers="true"}}
322 +scchart Deferred {
323 + input bool var1;
324 + output bool var2;
325 + initial state A
326 + --> B deferred with var1;
327 + state B {
328 + entry var1 / var2 = true;
329 + }
330 + --> A with var1;
331 +}
332 +{{/code}}
333 +{{/column}}
334 +
335 +{{column width="50%"}}
336 + [[image:attach:12deferred.png]]
337 +{{/column}}
338 +
339 +== Transition with Count Delay ==
340 +
341 +{{column width="50%"}}
342 +{{code linenumbers="true"}}
343 +scchart CountDelay {
344 + input bool var1;
345 + output bool var2;
346 + initial state A
347 + --> B with 4 var1;
348 + state B
349 + --> A with var1;
350 +}
351 +{{/code}}
352 +{{/column}}
353 +
354 +{{column width="50%"}}
355 + [[image:attach:13countdelay.png]]
356 +{{/column}}
357 +
358 +== Array ==
359 +
360 +{{column width="50%"}}
361 +{{code linenumbers="true"}}
362 +scchart Array {
363 + int myArray[10][2];
364 + initial state init
365 + --> done with myArray[1][0] == 1 / myArray[2][1] = 2;
366 + final state done;
367 +}
368 +{{/code}}
369 +{{/column}}
370 +
371 +{{column width="50%"}}
372 + [[image:attach:14array.png]]
373 +{{/column}}
374 +
375 +== Signal ==
376 +
377 +{{column width="50%"}}
378 +{{code linenumbers="true"}}
379 +scchart Signal {
380 + input signal i;
381 + output signal o
382 + initial state init
383 + --> done with i / o;
384 + final state done;
385 +}
386 +{{/code}}
387 +{{/column}}
388 +
389 +{{column width="50%"}}
390 + [[image:attach:15signal.png]]
391 +{{/column}}
392 +
89 89  
90 90  
91 91  
92 92  
93 93  
398 +
399 +
400 +
401 +
402 +
403 +
404 +
405 +
406 +
407 +
408 +
409 +
410 +
411 +
412 +
413 +
414 +
415 +
416 +
417 +
418 +
419 +
420 +
421 +
422 +
423 +
424 +
425 +
426 +
427 +
Confluence.Code.ConfluencePageClass[0]
Id
... ... @@ -1,1 +1,1 @@
1 -9471385
1 +9471389
URL
... ... @@ -1,1 +1,1 @@
1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/KIELER/pages/9471385/Textual SCCharts Description Language (SCT)
1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/KIELER/pages/9471389/Textual SCCharts Description Language (SCT)