Title: Constraint Based Transformation Theory
1Constraint Based Transformation Theory
- Stefan Natelberg
- 2006-11-02
2Overview
- Why introduce a Constraint Based Transformation
System? - Key Points
- Benefits for SML
- Current FermaT Transformation
- Constraint Based FermaT Transformation
- Constraint Based Transformation Sequence
- Constraint Based Transformation Language
- Optimisation Example
- Restriction Example
- Future Work
3Why Introduce a Constraint Based Transformation
System?
- Customise the transformations to meet different
requirements - Simplify the use of transformation sequences
4Key points
- Extend the FermaT Engine with Constraint Based
Transformations - Define Constraint Based Transformation Sequences
- Develop a priority system for constraints
- Invent a Constraint Based Transformation Language
(CBTL) - Develop a framework for integration and testing
of new constraints
5Benefits for SML
- Control a transformation process via constraints
- Get very quick results to compare different
solutions of a problem - Eliminate some critical elements like pointer
automatically - Customise migrated code to meet different needs
6Current FermaT Transformation
7Constraint Based FermaT Transformation
8Constraint Based Transformation Sequence
9Constraint Based Transformation Language (CBTL)
- Controls the entire transformation process
- Define legacy system elements as objects
- Consider constraints as optimisation or
restriction for an object during the
transformation process - Supports a priority system for constraints
10Optimisation ExampleAssembler Code
11Optimisation ExampleAssembler Code translated
to WSL
12Optimisation ExampleTransformed WSL Code
Constraint Least Lines of Code
13Optimisation ExampleTransformed WSL Code
translated to C
Constraint Least Lines of Code
14Optimisation ExampleTransformed WSL Code
Constraint Structured Code
15Optimisation ExampleTransformed WSL Code
translated to C
Constraint Structured Code
16Optimisation ExampleTransformed WSL Code
Constraint Efficient Code
17Optimisation ExampleTransformed WSL Code
translated to C
Constraint Efficient Code
18Optimisation ExampleCompare Code translated to C
Least Lines of Code
Structured Code
Efficient Code
19Optimisation ExampleCompare Code translated to C
Least Lines of Code
Structured Code
Efficient Code
20Restriction Example
- Object pointer
- new Object
- s_var,
- s_lbracket,
- s_expression,
- s_rbracket
-
- eliminate(pointer)
- reduce(pointer)
21Restriction Example
- Object pointer
- new Object
- s_var,
- s_lbracket,
- s_expression,
- s_rbracket
-
- eliminate(pointer)
- reduce(pointer)
22Restriction Example
- Object pointer
- new Object
- s_var,
- s_lbracket,
- s_expression,
- s_rbracket
-
- eliminate(pointer)
- reduce(pointer)
23Future Work
- Within the next 3 Month
- Finish the literature review
- Start to develop the CBT Framework
- Define new constraints
- Write the first constraint based transformations
- Within the next 6 Month
- Write the transfer report
- Write the first constraint based transformation
sequences - Start to develop the script language
24Thank you for your questions!