Transformation of Applicative Specifications into Imperative ...

Transformation of Applicative Specifications into Imperative ... Transformation of Applicative Specifications into Imperative ...

26.09.2013 Views

CHAPTER 7. CORRECTNESS OF TRANSFORMATION RULES 70

Chapter 8 Specifications This chapter describes the different RSL specifications made during the project. Not every specification is fully described. The purpose of the chapter is to give a good understanding of the specifications by describing the overall structures of the specifications and by showing representative snippets of the specifications. The transformer is developed using the RSL2Java tool, which can translate a subset RSL1 of RSL into Java. This RSL2Java tool is further described in Chapter 9. 8.1 Overview of the Different Specifications The main functionality of the transformer is the transformation from abstract syntax tree representation, AST, of an applicative specification into abstract syntax tree representation of a corresponding imperative specification, if the transformation is possible. In order to formally specify this transformation two specifications are necessary: 1. A specification of the RSL AST, which is described in Section 8.2. 2. A specification of the transformation, which is described in Section 8.3. In order to develop the actual transformer the RSL2Java tool is used to generate an executable Java program from the specifications. In order to be able to translate the specifications into Java using the RSL2Java tool, the specifications have to be written within RSL1. The specification of the RSL AST is written within RSL1, but the specification of the transformation is written within RSL. This means that the specification of the transformation has to be rewritten such that it is within the RSL1 subset. A description of how the transformer specification is translated into RSL1 can be found in Section 8.4. 71

CHAPTER 7. CORRECTNESS OF TRANSFORMATION RULES<br />

70

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!