Changes for page SCCharts Development
Last modified by Richard Kreissig on 2023/09/14 10:04
<
>
edited by Richard Kreissig
on 2023/09/14 09:16
on 2023/09/14 09:16
edited by Alexander Schulz-Rosengarten
on 2023/09/11 15:41
on 2023/09/11 15:41
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki.s tu2309801 +XWiki.als - Content
-
... ... @@ -4,6 +4,7 @@ 4 4 The KiCo part "Model-to-Model Transformations with KiCo" is outdated. We will update this tutorials in the near future. 5 5 {{/warning}} 6 6 7 +\\ 7 7 8 8 9 9 ... ... @@ -18,6 +18,7 @@ 18 18 As you're going to develop for KIELER SCCharts, we recommend to use the Oomph setup as described in [[doc:KIELER.Getting Eclipse]] (Oomph Setup). However, you could also install all componentes by yourself. Please consult the other tutorials if you want to do that. You would need to install the Modeling Tools and the Xtext SDK. 19 19 20 20 22 +\\ 21 21 22 22 Additionally, install the** EcoreViz** from the **Ecore Model Visualization** category from the **OpenKieler** update site: [[http:~~/~~/rtsys.informatik.uni-kiel.de/~~~~kieler/updatesite/nightly-openkieler/>>url:http://rtsys.informatik.uni-kiel.de/~~kieler/updatesite/nightly-openkieler/||rel="nofollow" shape="rect"]]. For this, choose //Install New Software...// in the //Help// tab. 23 23 ... ... @@ -28,11 +28,13 @@ 28 28 29 29 (This step should be obsolete in the near future.) 30 30 33 +\\ 31 31 32 32 [[image:attach:InstallEcoreViz.png]] 33 33 37 +\\ 38 +\\ 34 34 35 - 36 36 [[image:attach:InstallKLighDFeatures.png]] 37 37 38 38 == Recommended Tutorials == ... ... @@ -62,15 +62,16 @@ 62 62 63 63 Additionally, the following list will give a short overview over the most important publications: 64 64 65 -* (% style="color: #000000" %)**Main paper:**(%%)66 - (% style="color:#000000" %)Reinhard von Hanxleden and Björn Duderstadt and Christian Motika and Steven Smyth and Michael Mendler and Joaquín Aguado and Stephen Mercer and Owen O’Brien. SCCharts: Sequentially Constructive Statecharts for Safety-Critical Applications. In (% class="cmti-10" %)Proc. ACM SIGPLAN Conference on Programming Language Design(%%) (% class="cmti-10" %)and Implementation (PLDI’14)(%%), Edinburgh, UK, June 2014. ACM. [[pdf>>url:http://rtsys.informatik.uni-kiel.de/~~biblio/downloads/papers/pldi14.pdf||shape="rect"]](% style="color:#000000" %), (%%)[[talk>>url:http://rtsys.informatik.uni-kiel.de/~~biblio/downloads/talks/pldi14-talk.pdf||shape="rect"]](% style="color:#000000" %), (%%)[[bib>>url:http://rtsys.informatik.uni-kiel.de/~~biblio/cgi-bin/bibcgi.cgi?key=vonHanxledenDM+14||shape="rect"]]69 +* (% style="color: rgb(0,0,0);" %)**Main paper:** 70 +Reinhard von Hanxleden and Björn Duderstadt and Christian Motika and Steven Smyth and Michael Mendler and Joaquín Aguado and Stephen Mercer and Owen O’Brien. SCCharts: Sequentially Constructive Statecharts for Safety-Critical Applications. In (% class="cmti-10" %)Proc. ACM SIGPLAN Conference on Programming Language Design(%%) (% class="cmti-10" %)and Implementation (PLDI’14)(%%), Edinburgh, UK, June 2014. ACM. [[pdf>>url:http://rtsys.informatik.uni-kiel.de/~~biblio/downloads/papers/pldi14.pdf||shape="rect"]](% style="color: rgb(0,0,0);" %), (%%)[[talk>>url:http://rtsys.informatik.uni-kiel.de/~~biblio/downloads/talks/pldi14-talk.pdf||shape="rect"]](% style="color: rgb(0,0,0);" %), (%%)[[bib>>url:http://rtsys.informatik.uni-kiel.de/~~biblio/cgi-bin/bibcgi.cgi?key=vonHanxledenDM+14||shape="rect"]] 67 67 * **SLIC Compilation:** 68 -(% style="color: #000000" %)Christian Motika and Steven Smyth and Reinhard von Hanxleden. Compiling SCCharts—A Case-Study on Interactive Model-Based Compilation. In (% class="cmti-10" %)Proceedings of(%%) (% class="cmti-10" %)the 6th International Symposium on Leveraging Applications of Formal(%%) (% class="cmti-10" %)Methods, Verification and Validation (ISoLA 2014)(%%), volume 8802 of (% class="cmti-10" %)LNCS(%%), page 443–462, Corfu, Greece, October 2014. The [[original publication>>url:http://dx.doi.org/10.1007/978-3-662-45234-9||shape="rect"]](% style="color:#000000" %) is available at (%%)[[http:~~/~~/link.springer.com>>url:http://link.springer.com/||shape="rect"]](% style="color:#000000" %). (%%)[[pdf>>url:http://rtsys.informatik.uni-kiel.de/~~biblio/downloads/papers/isola14.pdf||shape="rect"]](% style="color:#000000" %), (%%)[[bib>>url:http://rtsys.informatik.uni-kiel.de/~~biblio/cgi-bin/bibcgi.cgi?key=MotikaSvH14||shape="rect"]]72 +(% style="color: rgb(0,0,0);" %)Christian Motika and Steven Smyth and Reinhard von Hanxleden. Compiling SCCharts—A Case-Study on Interactive Model-Based Compilation. In (% class="cmti-10" %)Proceedings of(%%) (% class="cmti-10" %)the 6th International Symposium on Leveraging Applications of Formal(%%) (% class="cmti-10" %)Methods, Verification and Validation (ISoLA 2014)(%%), volume 8802 of (% class="cmti-10" %)LNCS(%%), page 443–462, Corfu, Greece, October 2014. The [[original publication>>url:http://dx.doi.org/10.1007/978-3-662-45234-9||shape="rect"]](% style="color: rgb(0,0,0);" %) is available at (%%)[[http:~~/~~/link.springer.com>>url:http://link.springer.com/||shape="rect"]](% style="color: rgb(0,0,0);" %). (%%)[[pdf>>url:http://rtsys.informatik.uni-kiel.de/~~biblio/downloads/papers/isola14.pdf||shape="rect"]](% style="color: rgb(0,0,0);" %), (%%)[[bib>>url:http://rtsys.informatik.uni-kiel.de/~~biblio/cgi-bin/bibcgi.cgi?key=MotikaSvH14||shape="rect"]] 69 69 * **Theoretical Foundations:** 70 -(% style="color: #000000" %)Reinhard von Hanxleden and Michael Mendler and Joaquín Aguado and Björn Duderstadt and Insa Fuhrmann and Christian Motika and Stephen Mercer and Owen O’Brien and Partha Roop. Sequentially Constructive Concurrency—A Conservative Extension of the Synchronous Model of Computation. (% class="cmti-10" %)ACM Transactions on Embedded Computing(%%) (% class="cmti-10" %)Systems, Special Issue on Applications of Concurrency to System Design(%%), 13(4s):144:1–144:26, July 2014. [[pdf>>url:http://rtsys.informatik.uni-kiel.de/~~biblio/downloads/papers/tecs14.pdf||shape="rect"]](% style="color:#000000" %), (%%)[[bib>>url:http://rtsys.informatik.uni-kiel.de/~~biblio/cgi-bin/bibcgi.cgi?key=vonHanxledenMA+14||shape="rect"]]74 +(% style="color: rgb(0,0,0);" %)Reinhard von Hanxleden and Michael Mendler and Joaquín Aguado and Björn Duderstadt and Insa Fuhrmann and Christian Motika and Stephen Mercer and Owen O’Brien and Partha Roop. Sequentially Constructive Concurrency—A Conservative Extension of the Synchronous Model of Computation. (% class="cmti-10" %)ACM Transactions on Embedded Computing(%%) (% class="cmti-10" %)Systems, Special Issue on Applications of Concurrency to System Design(%%), 13(4s):144:1–144:26, July 2014. [[pdf>>url:http://rtsys.informatik.uni-kiel.de/~~biblio/downloads/papers/tecs14.pdf||shape="rect"]](% style="color: rgb(0,0,0);" %), (%%)[[bib>>url:http://rtsys.informatik.uni-kiel.de/~~biblio/cgi-bin/bibcgi.cgi?key=vonHanxledenMA+14||shape="rect"]] 71 71 * **Overview and High-Level Transformations in Detail:** 72 -(% style="color: #000000" %)Reinhard von Hanxleden and Björn Duderstadt and Christian Motika and Steven Smyth and Michael Mendler and Joaquín Aguado and Stephen Mercer and Owen O’Brien. SCCharts: Sequentially Constructive Statecharts for Safety-Critical Applications. Technical Report 1311, Christian-Albrechts-Universität zu Kiel, Department of Computer Science, December 2013. ISSN 2192-6247.#000000" %), (%%)[[bib>>url:http://rtsys.informatik.uni-kiel.de/~~biblio/cgi-bin/bibcgi.cgi?key=vonHanxledenDM+13b||shape="rect"]]76 +(% style="color: rgb(0,0,0);" %)Reinhard von Hanxleden and Björn Duderstadt and Christian Motika and Steven Smyth and Michael Mendler and Joaquín Aguado and Stephen Mercer and Owen O’Brien. SCCharts: Sequentially Constructive Statecharts for Safety-Critical Applications. Technical Report 1311, Christian-Albrechts-Universität zu Kiel, Department of Computer Science, December 2013. ISSN 2192-6247. (%%)[[pdf>>url:http://rtsys.informatik.uni-kiel.de/~~biblio/downloads/papers/report-1311.pdf||shape="rect"]](% style="color: rgb(0,0,0);" %), (%%)[[bib>>url:http://rtsys.informatik.uni-kiel.de/~~biblio/cgi-bin/bibcgi.cgi?key=vonHanxledenDM+13b||shape="rect"]] 73 73 78 +\\ 74 74 75 75 = The SCCharts Metamodel = 76 76 ... ... @@ -85,10 +85,10 @@ 85 85 ==== Model Task ==== 86 86 87 87 * ((( 88 -(% style="line-height:1.42857" %)Answer the following questions 93 +(% style="line-height: 1.42857;" %)Answer the following questions 89 89 90 90 1. How do you describe a superstate in the model? 91 -1. Outline the relationship between states, regions, transitions, and valued objects. 96 +1. Outline the relationship between states, regions, transitions, and valued objects.\\ 92 92 1. Name the class of the root element of an SCChart. 93 93 1. What is a valued object? 94 94 1. How do you get the type of an interface variable? ... ... @@ -102,8 +102,9 @@ 102 102 *1. Now, navigate to the //Super State: Strong Abort Transition //example. Write down (on paper) how the model of that SCCharts looks like. 103 103 *1. And finally a more sophisticated model: Write down the model of ABO (from [[doc:KIELER.Examples]]). 104 104 105 -{{info title=" 106 -KLighD Screenshots"}} 110 +\\ 111 + 112 +{{info title="KLighD Screenshots"}} 107 107 By the way: You can //right-click// on the Diagram View surface and select //Save as image...// to create a screenshot! 108 108 {{/info}} 109 109 ... ... @@ -113,7 +113,7 @@ 113 113 114 114 [[image:attach:KLighDSaveAsImage.png]] 115 115 116 -= Creating SCCharts Models Programmatically = 122 += Creating SCCharts Models Programmatically = 117 117 118 118 == Creating a Test Project == 119 119 ... ... @@ -213,18 +213,18 @@ 213 213 214 214 You are now equipped with the fundamentals you need to create models programmatically. Let's try it: 215 215 216 -* (% style="line-height:1.42857" %)The code fragments listed above do not suffice to create a grammatically correct model. Try to generate a model that corresponds with the serialized model listed on the right side. 217 -*1. (% style="line-height:1.42857" %)Run the {{code language="none"}}main(){{/code}} method by right-clicking its class and selecting //Run as// -> //Java Application//. Note that this runs your {{code language="none"}}main(){{/code}} method as a simple Java program, not a complete Eclipse application. EMF models can be used in any simple Java context, not just in Eclipse applications. 222 +* (% style="line-height: 1.42857;" %)The code fragments listed above do not suffice to create a grammatically correct model. Try to generate a model that corresponds with the serialized model listed on the right side. 223 +*1. (% style="line-height: 1.42857;" %)Run the {{code language="none"}}main(){{/code}} method by right-clicking its class and selecting //Run as// -> //Java Application//. Note that this runs your {{code language="none"}}main(){{/code}} method as a simple Java program, not a complete Eclipse application. EMF models can be used in any simple Java context, not just in Eclipse applications. 218 218 *1. Execute the main method. 219 219 *1. ((( 220 -(% style="line-height:1.42857" %)Inspect your SCT file. (Press F5 to refresh your file view.) 226 +(% style="line-height: 1.42857;" %)Inspect your SCT file. (Press F5 to refresh your file view.) 221 221 222 -{{ info title="Kext Warning"}}228 +{{note title="Kext Warning"}} 223 223 It is possible that kext generates a Null Pointer Exception when you save your model this way. This is a known issue. We're working on it. Just ignore it for now. 224 -{{/ info}}230 +{{/note}} 225 225 ))) 226 226 * Now, create a new Java class and proceed as before to generate a model of ABO in the {{code language="none"}}main(){{/code}} method. 227 -* (% style="line-height:1.42857" %)Start your SCChart Editor Eclipse instance and load your SCT file. KLighD should now be able to visualize your ABO correctly. 233 +* (% style="line-height: 1.42857;" %)Start your SCChart Editor Eclipse instance and load your SCT file. KLighD should now be able to visualize your ABO correctly.(%%)\\ 228 228 *1. For this, open tab //Run// and select// Run Configurations...// 229 229 *1. Create a new //Eclipse Application// and name it appropriately. 230 230 *1. As product select {{code language="none"}}de.cau.cs.kieler.core.product.product{{/code}}. ... ... @@ -231,8 +231,9 @@ 231 231 *1. Click //Run// (or //Debug// if you opened// Debug Configuration...//) 232 232 *1. Create a new project and add you generated model. 233 233 234 -{{code language="java" title=" 235 -Root.sct"}} 240 +\\ 241 + 242 +{{code language="java" title="Root.sct"}} 236 236 scchart Root { 237 237 initial state Init 238 238 --> Init with true; ... ... @@ -296,6 +296,7 @@ 296 296 {{/info}} 297 297 ))) 298 298 306 + 299 299 * KiCo must know about the new feature and also about your new transformation. 300 300 *1. Add a new Xtend class with Feature as superclass. Add all unimplemented methods. Also set** sccharts.doubleStates** as Id. 301 301 *1. Go to the Extension tab inside your plugin configuration. ... ... @@ -347,6 +347,7 @@ 347 347 {{/note}} 348 348 ))) 349 349 358 + 350 350 [[image:attach:KielerSCTEditorOwnTransformationOlolo.png]] 351 351 352 352 ... ... @@ -361,10 +361,13 @@ 361 361 362 362 //We will add more content to this subsection in the future...// 363 363 373 +\\ 364 364 365 365 [[image:attach:ABODoubleStates.png]] 366 366 377 +\\ 367 367 379 +\\ 368 368 369 369 = Model-to-Model Transformations between Metamodels = 370 370 ... ... @@ -430,6 +430,8 @@ 430 430 *1. Optimize the given SCG and compare the result with the previous one. 431 431 *1. Make sure that the two SCGs are still semantically identical. 432 432 445 +\\ 433 433 434 434 Congratulations! You finished the SCCharts Development Tutorial. Ask your supervisor for further instructions! 435 435 449 +\\