Changes for page Kieler Compiler
Last modified by Richard Kreissig on 2023/09/14 10:52
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Objects (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. aas21 +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 29 [[image:attach:IMAG4642.jpg]] 30 -))) 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 - 508232241 +9471251 - URL
-
... ... @@ -1,1 +1,1 @@ 1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/KIELER/pages/ 50823224/Kieler Compiler1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/KIELER/pages/9471251/Kieler Compiler