Compilation and memory management for ASF+SDF
Can formal specification techniques be scaled-up to industrial problems such as the development of domain-specific languages and the renovation of large COBOL systems? We have developed a compiler for the specification formalism Asf+Sdf that has been used successfully to meet such industrial challenges. This result is achieved in two ways: the compiler performs a variety of optimizations and generates efficient C code, and the compiled code uses a run-time memory management system based on maximal subterm sharing and mark-and-sweep garbage collection. We present an overview of these techniques and evaluate their effectiveness in several benchmarks. It turns out that execution speed of compiled Asf+Sdf specifications is at least as good as that of comparable systems, while memory usage is in many cases an order of magnitude smaller.
|Processors (acm D.3.4), DATA STORAGE REPRESENTATIONS (acm E.2), Grammars and Other Rewriting Systems (acm F.4.2)|
|Software (theme 1)|
|Software Engineering [SEN]|
|Organisation||Software Analysis and Transformation|
van den Brand, M.G.J, Klint, P, & Olivier, P.A. (1999). Compilation and memory management for ASF+SDF. Software Engineering [SEN]. CWI.