| ... |
... |
@@ -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/%7Ebiblio/downloads/papers/pldi14-submitted.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/~~biblio/downloads/papers/pldi14.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>>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"]]. |
|
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. |
| 14 |
14 |
|
| 15 |
15 |
|
| 16 |
16 |
|
| 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"]] |
|
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"]] |
| 18 |
18 |
|
| 19 |
19 |
|
| 20 |
20 |
|
| ... |
... |
@@ -164,180 +164,6 @@ |
| 164 |
164 |
|
| 165 |
165 |
|
| 166 |
166 |
|
| 167 |
|
-= 4. Evaluated Examples = |
|
167 |
+ |
| 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 |
|
-)))|=((( |
| 174 |
174 |
|
| 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 |
|
-))) |