Title: Latest Advancements in Constraint Based Transformation Theory
1Latest Advancements in Constraint Based
Transformation Theory
- Stefan Natelberg
- 2007-11-22
2Overview
- Why introduce a Constraint Based Transformation
System? - FermaT Transformation System
- Applying Transformation Sequences
- Transformation Sequence Manager
- How to create a transformation automaton?
- How to optimise a transformation automaton?
- Future Work
3Why Introduce a Constraint Based Transformation
System?
- Simplify the Transformation Process
- Capture and Analyse Transformation Sequences
- Introduce new Technologies to FermaT (e.g.
Backtracking, Transformation History, etc.) - Improve the accessibility of the FermaT Technology
4FermaT Transformation System
- Transformations are applied via console
- No information about the transformation will be
stored - No guidance through the transformation process
- No overview about the code
5Applying Transformation Sequences
- VAR ltx0, i0, y0, z0gt
- IF x0 THEN y1
- ELSEIF FALSE THEN PRINT(HELLO)
- ELSEIF TRUE THEN PRINT(GOODBYE)
- ELSE y2 FI
- DO DO i1 OD OD
- ENDVAR
- VAR ltx0, i0gt
- i54
- ENDVAR
6Applying Transformation Sequences
- Sequence
- Delete Unreachable Code
- Remove All Redundant Vars
- Simplify
Sequence Delete Unreachable Code Simplify Remove
All Redundant Vars
Result ABORT
Result IF FALSE THEN PRINT(Hello) FI ABORT S
KIP
7Transformation Sequence Manager
8Transformation Sequence Manager
Console
9Transformation Sequence Manager
Transformation Table
Console
10Transformation Sequence Manager
Automaton
Transformation Table
Console
11Transformation Sequence Manager
- Creates a Transformation Plan
- Captures and analyses the transformation process
- Uses constraints to find a suitable
transformation path - Guides through the transformation process
- Provides abstracted views of the source code
12Transformation Sequence Manager
13Transformation Sequence Manager
14Transformation Sequence Manager
15How to create a transformation automaton?
- User Interaction
- Regular Expression
- Knowledge gathered from previous transformation
sequences - Code analyses
- FermaT Control Files
16How to optimise a transformation automaton?
- Thompson Construction
- Powerset Construction
- Automaton Minimalisation (e.g. Huffman Algorithm)
17Future Work
- Within the next 3 Month
- Implement a XML data format to store
transformation sequences information - Define and implement an interface for HPC
- Analyse and import existing transformation
control files - Within the next 6 Month
- Implement the database background
- Improve the code analysing tools
- Finish the first stable prototype
18Thank you for your questions!