<
From version < 75.1
edited by Richard Kreissig
on 2023/09/14 10:04
To version < 73.1 >
edited by Richard Kreissig
on 2023/09/14 09:16
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -71,6 +71,7 @@
71 71  * **Overview and High-Level Transformations in Detail:**
72 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.  (%%)[[pdf>>url:http://rtsys.informatik.uni-kiel.de/~~biblio/downloads/papers/report-1311.pdf||shape="rect"]](% style="color:#000000" %), (%%)[[bib>>url:http://rtsys.informatik.uni-kiel.de/~~biblio/cgi-bin/bibcgi.cgi?key=vonHanxledenDM+13b||shape="rect"]]
73 73  
74 +
74 74  = The SCCharts Metamodel =
75 75  
76 76  Navigate to the {{code language="none"}}models{{/code}} folder of the plugin {{code language="none"}}de.cau.cs.kieler.sccharts{{/code}}. Here, open the {{code language="none"}}sccharts.ecore{{/code}} and right-click on the {{code language="none"}}sccharts.ecore{{/code}} file and select //Visualize Ecore Model//. Since you also installed **EcoreViz** from the OpenKieler Suite, you should now see a graphical representation of the SCCharts metamodel. Every SCChart will be a model of this metamodel.
... ... @@ -101,7 +101,8 @@
101 101  *1. Now, navigate to the //Super State: Strong Abort Transition //example. Write down (on paper) how the model of that SCCharts looks like.
102 102  *1. And finally a more sophisticated model: Write down the model of ABO (from [[doc:KIELER.Examples]]).
103 103  
104 -{{info title="KLighD Screenshots"}}
105 +{{info title="
106 +KLighD Screenshots"}}
105 105  By the way: You can //right-click// on the Diagram View surface and select //Save as image...// to create a screenshot!
106 106  {{/info}}
107 107  
... ... @@ -229,7 +229,8 @@
229 229  *1. Click //Run// (or //Debug// if you opened// Debug Configuration...//)
230 230  *1. Create a new project and add you generated model.
231 231  
232 -{{code language="java" title="Root.sct"}}
234 +{{code language="java" title="
235 +Root.sct"}}
233 233  scchart Root {
234 234   initial state Init
235 235   --> Init with true;
... ... @@ -304,7 +304,7 @@
304 304  *111. label: Tutorial Compilation
305 305  *111. priority: 101
306 306  *111. preferred: (leave it blank)
307 -*1. {{info title="Plugin Tasks"}}In general it is bad to mix non-ui plugins/tasks with ui plugin/tasks because (in the context of KiCo) even if you're not working with an active UI your transformations should work (e.g. a command line compiler). To keep this tutorial simple, you can add this dependency to your plugin nevertheless. However, you shouldn't do this in real products. Always keep the UI separated.{{/info}}If you start your KIELER instance now, you should get a new compilation chain which has only one transformation: yours, which doesn't do anything.
310 +*1. {{note title="Plugin Tasks"}}In general it is bad to mix non-ui plugins/tasks with ui plugin/tasks because (in the context of KiCo) even if you're not working with an active UI your transformations should work (e.g. a command line compiler). To keep this tutorial simple, you can add this dependency to your plugin nevertheless. However, you shouldn't do this in real products. Always keep the UI separated.{{/note}}If you start your KIELER instance now, you should get a new compilation chain which has only one transformation: yours, which doesn't do anything.
308 308  * If you want to rename your feature in the Compiler Selection (without changing its Id), override the {{code language="none"}}getName{{/code}} method and return a new name. Rename your feature appropriately.
309 309  
310 310  [[image:attach:KielerSCTEditorOwnTransformation.png]]
... ... @@ -339,9 +339,9 @@
339 339  
340 340  There are several Extensions classes within the KIELER project that extend the functionality of various classes. Basically, there are one or more for each metamodel (e.g. SCCharts, SCG, KExpressions, etc). You don't want to invent the wheel again. Use these methods. For example: there is a method that gives you all contained states of a state in a list: {{code language="none"}}getAllContainedStatesList{{/code}}. You can use it on your {{code language="none"}}rootState{{/code}}: {{code language="none"}}rootState.allContainedStatesList{{/code}}. There are also several convenient methods for creating model elements so that you don't have to use the factories directly.
341 341  
342 -{{info title="Extensions Naming Scheme"}}
345 +{{note title="Extensions Naming Scheme"}}
343 343  Extensions are also just classes. You can add your own to improve the structure of your own projects. In KIELER all extensions end with "Extensions"; except SCChartsExtension for legacy reasons. This will be renamed in after the next snapshot to SCChartsExtensions. So, if you're going to add new extensions to the project, please name them accordingly.
344 -{{/info}}
347 +{{/note}}
345 345  )))
346 346  
347 347  [[image:attach:KielerSCTEditorOwnTransformationOlolo.png]]
... ... @@ -427,4 +427,6 @@
427 427  *1. Optimize the given SCG and compare the result with the previous one.
428 428  *1. Make sure that the two SCGs are still semantically identical.
429 429  
433 +
430 430  Congratulations! You finished the SCCharts Development Tutorial. Ask your supervisor for further instructions!
435 +