next up previous
Next: Example Applications Up: Transforming COBOL Systems Previous: Computer-aided Language Engineering

Creating renovation factories

Once we have a good grammar and have generated all the generic support we discussed, we start constructing transformations and analysis functions to set up assembly lines that solve reengineering problems. The important issue here is that we design small but effective components that can be easily reused. Currently, we test assembly lines interactively using a coordination architecture called SEAL [41] as can be seen in Figure 5. The code shown is a small example grammar. The buttons are dealing with the generation of the native pattern language (NatPatLang) and the generation of syntax and semantics of analysis (Asyn, Aeqs) and transformation support (Tsyn, Teqs). Figure 5 is also an example of how assembly lines look like during construction.

Once we are convinced that the assembly lines have the intended behaviour, we start with the generation of a production environment. We compile all components to C using the ASF+SDF compiler (see Section 5). Finally, we combine all the components as discussed in Section 3 resulting in generated tools that make extensive use of rewriting.



Paul Klint 2001-06-12