Changes for page SCL Transformation
Last modified by Richard Kreissig on 2023/09/14 11:14
Change comment:
There is no comment for this version
Summary
-
Page properties (3 modified, 0 added, 0 removed)
-
Objects (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Parent
-
... ... @@ -1,0 +1,1 @@ 1 +The SC Language (SCL) - Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki.s sm1 +XWiki.als - Content
-
... ... @@ -1,5 +1,9 @@ 1 +{{panel bgColor="orange" title="Deprecated since 0.12"}} 2 +This article is deprecated. The described features are no longer available in current releases. 3 +{{/panel}} 1 1 2 2 6 + 3 3 {{toc/}} 4 4 5 5 = Core SCChart to SCL Transformation = ... ... @@ -8,4 +8,64 @@ 8 8 9 9 = SCL Transformation Optimization = 10 10 11 -//coming soon...// 15 +The (naive) generated SCL code can be optimized. Several optimizations are implemented or planned. 16 + 17 +For the following optimizations two assuptions are made: 18 + 19 +* A transition does not require an explicit goto instruction 20 +* A thread terminates, iff its parallel block is exited (via the next par statement or join) 21 + 22 +The optimization level can be specified in the CoreToSCLTransformation class. 23 + 24 +(% class="wrapped" %) 25 +|=((( 26 +Optimization 27 +)))|=((( 28 +Description 29 +))) 30 +|((( 31 +OPTIMIZE_GOTO 32 +)))|((( 33 +Removes all goto instructions, that target a label, that follows that goto. 34 +))) 35 +|(% colspan="1" %)(% colspan="1" %) 36 +((( 37 +OPTIMIZE_LABEL 38 +)))|(% colspan="1" %)(% colspan="1" %) 39 +((( 40 +Removes all unreferenced labels. 41 +))) 42 +|(% colspan="1" %)(% colspan="1" %) 43 +((( 44 +OPTIMIZE_SELFLOOP 45 +)))|(% colspan="1" %)(% colspan="1" %) 46 +((( 47 +If a state has only one outgoing non-default transition, the expression of that transition is negated, the transition target is changed to itself and the implicit selfloop is deleted. So, if the original expression is true, the sequential control flow is used to proceed and no goto jump is necessary. 48 +))) 49 +|(% colspan="1" %)(% colspan="1" %) 50 +((( 51 +OPTIMIZE_STATEPOSITION 52 + 53 +(temporary deactivated) 54 +)))|(% colspan="1" %)(% colspan="1" %) 55 +((( 56 +In some cases label and goto instructions can be removed, if the states in a region are ordered differently. This optimization checks for redundant jumps and changes the order of the states if possible and necessary. 57 +))) 58 +|(% colspan="1" %)(% colspan="1" %) 59 +((( 60 +OPTIMIZE_SINGLETRANSITIONS 61 + 62 +(planned) 63 +)))|(% colspan="1" %)(% colspan="1" %) 64 +((( 65 +\\ 66 +))) 67 +|(% colspan="1" %)(% colspan="1" %) 68 +((( 69 +OPTIMIZE_WTOTRANSITIONS 70 + 71 +(planned) 72 +)))|(% colspan="1" %)(% colspan="1" %) 73 +((( 74 +\\ 75 +)))
- Confluence.Code.ConfluencePageClass[0]
-
- Id
-
... ... @@ -1,1 +1,1 @@ 1 -67502 351 +6750226 - URL
-
... ... @@ -1,1 +1,1 @@ 1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/KIELER/pages/67502 35/SCL Transformation1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/KIELER/pages/6750226/SCL Transformation