<
From version < 27.1 >
edited by cmot
on 2014/06/26 15:14
To version < 28.1 >
edited by aas2
on 2017/04/04 13:06
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.cmot
1 +XWiki.aas2
Content
... ... @@ -1,4 +1,4 @@
1 -{{panel title="Project Overview" borderStyle="dashed"}}
1 +{{panel borderStyle="dashed" title="Project Overview"}}
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"]]
... ... @@ -12,7 +12,7 @@
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>>doc:Online Compiler]].**
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"]].**
16 16  
17 17  
18 18  
... ... @@ -22,11 +22,18 @@
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" %)
25 25  |=(((
27 +(% class="content-wrapper" %)
28 +(((
26 26  [[image:attach:IMAG4642.jpg]]
30 +)))
27 27  )))|=(((
32 +(% class="content-wrapper" %)
33 +(((
28 28  [[image:attach:KiCo.jpg]]
29 29  )))
36 +)))
30 30  
31 31  == Extension Point ==
32 32  
... ... @@ -37,13 +37,13 @@
37 37  
38 38  {{{de.cau.cs.kieler.kico}}}
39 39  
40 -
47 +\\
41 41  )))
42 42  1. Add the extension
43 43  
44 44  
45 45  {{{de.cau.cs.kieler.kico.transformation}}}(((
46 -
53 +\\
47 47  )))
48 48  1. (((
49 49  Add one of the following extension element
... ... @@ -51,6 +51,7 @@
51 51  [[image:attach:KiCo2.jpg]]
52 52  )))
53 53  
61 +(% class="wrapped" %)
54 54  |=(((
55 55  Extension Element
56 56  )))|=(((
... ... @@ -121,12 +121,13 @@
121 121   </extension>
122 122  {{/code}}
123 123  
124 -
132 +\\
125 125  
126 126  == Compilation ==
127 127  
128 128  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:
129 129  
138 +(% class="wrapped" %)
130 130  |=(((
131 131  Method
132 132  )))|=(((
... ... @@ -186,19 +186,28 @@
186 186  
187 187  === Requirement Completion ===
188 188  
189 -
198 +\\
190 190  
200 +(% class="wrapped" %)
191 191  |=(((
202 +(% class="content-wrapper" %)
203 +(((
192 192  (% style="text-align: center;" %)
193 193  Original
194 194  
207 +(% class="wrapped" %)
195 195  |=(((
209 +(% class="content-wrapper" %)
210 +(((
196 196   [[image:attach:dependencies2.jpg]]
197 197  
198 198  (% style="text-align: center;" %)
199 199  Original Dependency
200 200  Graph
216 +)))
201 201  )))|=(((
218 +(% class="content-wrapper" %)
219 +(((
202 202  (% style="text-align: center;" %)
203 203  [[image:attach:dependencies3.jpg]]
204 204  
... ... @@ -208,19 +208,29 @@
208 208  implementations
209 209  for Abort
210 210  )))
229 +)))
211 211  
212 -
231 +\\
232 +)))
213 213  )))|=(((
234 +(% class="content-wrapper" %)
235 +(((
214 214  (% style="text-align: center;" %)
215 215  Example 1
216 216  
239 +(% class="wrapped" %)
217 217  |=(((
241 +(% class="content-wrapper" %)
242 +(((
218 218   [[image:attach:dependencies4.jpg]]
219 219  
220 220  (% style="text-align: center;" %)
221 221  Selected for
222 222  transformation
248 +)))
223 223  )))|=(((
250 +(% class="content-wrapper" %)
251 +(((
224 224   [[image:attach:dependencies4b.jpg]]
225 225  
226 226  (% style="text-align: center;" %)
... ... @@ -227,26 +227,37 @@
227 227  Auto selected
228 228  requirements
229 229  )))
258 +)))
230 230  
231 -
260 +\\
232 232  )))
262 +)))
233 233  
234 -
264 +\\
235 235  
236 -
266 +\\
237 237  
268 +(% class="wrapped" %)
238 238  |=(((
270 +(% class="content-wrapper" %)
271 +(((
239 239  (% style="text-align: center;" %)
240 240  Example 2
241 241  
275 +(% class="wrapped" %)
242 242  |=(((
277 +(% class="content-wrapper" %)
278 +(((
243 243  [[image:attach:dependencies5.jpg]]
244 244  
245 245  (% style="text-align: center;" %)
246 246  Selected for
247 247  transformation
284 +)))
248 248  )))|=(% style="text-align: center;" %)(% style="text-align: center;" %)
249 249  (((
287 +(% class="content-wrapper" %)
288 +(((
250 250  [[image:attach:dependencies5b.jpg]]
251 251  
252 252  Auto selected
... ... @@ -255,21 +255,31 @@
255 255  of alternative
256 256  group
257 257  
258 -
297 +\\
259 259  )))
299 +)))
260 260  
261 -
301 +\\
302 +)))
262 262  )))|=(((
304 +(% class="content-wrapper" %)
305 +(((
263 263  (% style="text-align: center;" %)
264 264  Example 3
265 265  
309 +(% class="wrapped" %)
266 266  |=(((
311 +(% class="content-wrapper" %)
312 +(((
267 267  [[image:attach:dependencies6.jpg]]
268 268  
269 269  (% style="text-align: center;" %)
270 270  Selected for
271 271  transformation
318 +)))
272 272  )))|=(((
320 +(% class="content-wrapper" %)
321 +(((
273 273  [[image:attach:dependencies6b.jpg]]
274 274  
275 275  (% style="text-align: center;" %)
... ... @@ -278,16 +278,19 @@
278 278  using selected
279 279  alternative
280 280  )))
330 +)))
281 281  
282 -
332 +\\
283 283  )))
334 +)))
284 284  
285 -
336 +\\
286 286  
287 287  == Help / Problems / FAQs ==
288 288  
289 289  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).
290 290  
342 +(% class="wrapped" %)
291 291  |=(((
292 292  Symptom
293 293  )))|=(((
... ... @@ -316,7 +316,7 @@
316 316  Maybe the plugin declaring "ABORT2" was not loaded
317 317  or the ID is misspelled.
318 318  
319 -
371 +\\
320 320  )))|(((
321 321  Check why "ABORT2" may not be found
322 322  by KiCo, more specifically, check if the
Confluence.Code.ConfluencePageClass[0]
Id
... ... @@ -1,1 +1,1 @@
1 -25952291
1 +50823224
URL
... ... @@ -1,1 +1,1 @@
1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/KIELER/pages/25952291/Kieler Compiler
1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/KIELER/pages/50823224/Kieler Compiler