Changes for page Kieler Compiler

Last modified by Richard Kreissig on 2023/09/14 10:52

From version 28.1
edited by aas2
on 2017/04/04 13:06
Change comment: There is no comment for this version
To version 24.1
edited by cmot
on 2014/03/21 14:50
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.aas2
1 +XWiki.cmot
Content
... ... @@ -1,4 +1,4 @@
1 -{{panel borderStyle="dashed" title="Project Overview"}}
1 +{{panel title="Project Overview" borderStyle="dashed"}}
2 2  Responsible:
3 3  
4 4  * [[Christian Motika>>url:http://www.informatik.uni-kiel.de/rtsys/kontakt/cmot/||shape="rect"]], [[Steven Smyth>>url:http://www.informatik.uni-kiel.de/rtsys/kontakt/ssm/||shape="rect"]]
... ... @@ -6,13 +6,11 @@
6 6  Related Theses:
7 7  
8 8  * none yet
9 -
10 -**To see the KielerCompiler in action, we provide an Online SCCharts Compiler [[here>>doc:Online Compiler]].**
11 11  {{/panel}}
12 12  
13 13  = Kieler Compiler (KiCo) =
14 14  
15 -In order to integrate and be able to evaluate our compiler chain from SCCharts to C or VHDL code we use the KiCo project as a generic framework that allows to register setp-by-step transformations on EObjects. These can then be handled by the generic KIEM KiCo DataComponent. **To see the KielerCompiler in action, we provide an Online SCCharts Compiler [[here>>url:http://www.sccharts.com/||shape="rect"]].**
13 +In order to integrate and be able to evaluate our compiler chain from SCCharts to C or VHDL code we use the KiCo project as a generic framework that allows to register setp-by-step transformations on EObjects. These can then be handled by the generic KIEM KiCo DataComponent.
16 16  
17 17  
18 18  
... ... @@ -22,18 +22,11 @@
22 22  
23 23  The KIELER Compiler (KiCo) project allows to register step-by-step model transformations on EObjects that could be written in Xtend or Java. These transformations are registered using an extension point provided (see below). After registering transformations these can be used by simply call the KielerCompiler compilation method as also explained further below.
24 24  
25 -(% class="wrapped" %)
26 26  |=(((
27 -(% class="content-wrapper" %)
28 -(((
29 -[[image:attach:IMAG4642.jpg]]
30 -)))
24 +[[image:attach:KiCo.jpg]]
31 31  )))|=(((
32 -(% class="content-wrapper" %)
33 -(((
34 34  [[image:attach:KiCo.jpg]]
35 35  )))
36 -)))
37 37  
38 38  == Extension Point ==
39 39  
... ... @@ -44,13 +44,13 @@
44 44  
45 45  {{{de.cau.cs.kieler.kico}}}
46 46  
47 -\\
38 +
48 48  )))
49 49  1. Add the extension
50 50  
51 51  
52 52  {{{de.cau.cs.kieler.kico.transformation}}}(((
53 -\\
44 +
54 54  )))
55 55  1. (((
56 56  Add one of the following extension element
... ... @@ -58,7 +58,6 @@
58 58  [[image:attach:KiCo2.jpg]]
59 59  )))
60 60  
61 -(% class="wrapped" %)
62 62  |=(((
63 63  Extension Element
64 64  )))|=(((
... ... @@ -129,13 +129,12 @@
129 129   </extension>
130 130  {{/code}}
131 131  
132 -\\
122 +
133 133  
134 134  == Compilation ==
135 135  
136 136  Once a bunch of model transformations are registered, these can simply be called using the KiCo central "KielerCompiler" class with its method compile(). This will be given a List<String> of transformation IDs or a comma separated String of transformation IDs as the first parameter. The second parameter is the EObject that is being transformed. It should meet the signature of the first model transformation called. Note that the actual model transformations that are done may vary because KiCo will automatically inspect the dependencies of each transformation requested (deep-recursively). If you do not like this to happen as an advanced user you can use a third parameter that will skip this autocompletion. Note that if you switch this off also NO transformation groups can be processed. Here is an overview and examples how to use the compile() method:
137 137  
138 -(% class="wrapped" %)
139 139  |=(((
140 140  Method
141 141  )))|=(((
... ... @@ -195,28 +195,19 @@
195 195  
196 196  === Requirement Completion ===
197 197  
198 -\\
187 +
199 199  
200 -(% class="wrapped" %)
201 201  |=(((
202 -(% class="content-wrapper" %)
203 -(((
204 204  (% style="text-align: center;" %)
205 205  Original
206 206  
207 -(% class="wrapped" %)
208 208  |=(((
209 -(% class="content-wrapper" %)
210 -(((
211 211   [[image:attach:dependencies2.jpg]]
212 212  
213 213  (% style="text-align: center;" %)
214 214  Original Dependency
215 215  Graph
216 -)))
217 217  )))|=(((
218 -(% class="content-wrapper" %)
219 -(((
220 220  (% style="text-align: center;" %)
221 221  [[image:attach:dependencies3.jpg]]
222 222  
... ... @@ -226,29 +226,19 @@
226 226  implementations
227 227  for Abort
228 228  )))
229 -)))
230 230  
231 -\\
232 -)))
210 +
233 233  )))|=(((
234 -(% class="content-wrapper" %)
235 -(((
236 236  (% style="text-align: center;" %)
237 237  Example 1
238 238  
239 -(% class="wrapped" %)
240 240  |=(((
241 -(% class="content-wrapper" %)
242 -(((
243 243   [[image:attach:dependencies4.jpg]]
244 244  
245 245  (% style="text-align: center;" %)
246 246  Selected for
247 247  transformation
248 -)))
249 249  )))|=(((
250 -(% class="content-wrapper" %)
251 -(((
252 252   [[image:attach:dependencies4b.jpg]]
253 253  
254 254  (% style="text-align: center;" %)
... ... @@ -255,37 +255,26 @@
255 255  Auto selected
256 256  requirements
257 257  )))
258 -)))
259 259  
260 -\\
229 +
261 261  )))
262 -)))
263 263  
264 -\\
232 +
265 265  
266 -\\
234 +
267 267  
268 -(% class="wrapped" %)
269 269  |=(((
270 -(% class="content-wrapper" %)
271 -(((
272 272  (% style="text-align: center;" %)
273 273  Example 2
274 274  
275 -(% class="wrapped" %)
276 276  |=(((
277 -(% class="content-wrapper" %)
278 -(((
279 279  [[image:attach:dependencies5.jpg]]
280 280  
281 281  (% style="text-align: center;" %)
282 282  Selected for
283 283  transformation
284 -)))
285 285  )))|=(% style="text-align: center;" %)(% style="text-align: center;" %)
286 286  (((
287 -(% class="content-wrapper" %)
288 -(((
289 289  [[image:attach:dependencies5b.jpg]]
290 290  
291 291  Auto selected
... ... @@ -294,31 +294,21 @@
294 294  of alternative
295 295  group
296 296  
297 -\\
256 +
298 298  )))
299 -)))
300 300  
301 -\\
302 -)))
259 +
303 303  )))|=(((
304 -(% class="content-wrapper" %)
305 -(((
306 306  (% style="text-align: center;" %)
307 307  Example 3
308 308  
309 -(% class="wrapped" %)
310 310  |=(((
311 -(% class="content-wrapper" %)
312 -(((
313 313  [[image:attach:dependencies6.jpg]]
314 314  
315 315  (% style="text-align: center;" %)
316 316  Selected for
317 317  transformation
318 -)))
319 319  )))|=(((
320 -(% class="content-wrapper" %)
321 -(((
322 322  [[image:attach:dependencies6b.jpg]]
323 323  
324 324  (% style="text-align: center;" %)
... ... @@ -327,19 +327,16 @@
327 327  using selected
328 328  alternative
329 329  )))
330 -)))
331 331  
332 -\\
280 +
333 333  )))
334 -)))
335 335  
336 -\\
283 +
337 337  
338 338  == Help / Problems / FAQs ==
339 339  
340 340  Maybe you get into problems when using KiCo. The following list should give you hints to solve these. If you have a problem not considered here please write us an e-mail (see above for contact information of the persons in charge of KiCo).
341 341  
342 -(% class="wrapped" %)
343 343  |=(((
344 344  Symptom
345 345  )))|=(((
... ... @@ -368,7 +368,7 @@
368 368  Maybe the plugin declaring "ABORT2" was not loaded
369 369  or the ID is misspelled.
370 370  
371 -\\
317 +
372 372  )))|(((
373 373  Check why "ABORT2" may not be found
374 374  by KiCo, more specifically, check if the
Confluence.Code.ConfluencePageClass[0]
Id
... ... @@ -1,1 +1,1 @@
1 -50823224
1 +9470119
URL
... ... @@ -1,1 +1,1 @@
1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/KIELER/pages/50823224/Kieler Compiler
1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/KIELER/pages/9470119/Kieler Compiler