Changes for page Textual SCCharts Language SCT
Last modified by Richard Kreissig on 2023/09/14 11:05
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Objects (1 modified, 0 added, 0 removed)
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 -947138 51 +9471388 - URL
-
... ... @@ -1,1 +1,1 @@ 1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/KIELER/pages/947138 5/Textual SCCharts Description Language (SCT)1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/KIELER/pages/9471388/Textual SCCharts Description Language (SCT)