Transformation of Applicative Specifications into Imperative ...

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

26.09.2013 Views

CHAPTER 11. TEST An overview of the tests and the results can be found in Appendix G. 11.2.2 Black Box Test of the Control Module The black box test of the control module was performed by initializing the transformer with different inputs. These inputs were constructed such that both the handling of correct and incorrect input were tested. An overview of the test and the results can be found in Appendix G 11.3 Test Results All tests turned out as expected. In the grey box test of the program as a whole the applicative specifications were transformed as expected. The black box test of the control module did not reveal any errors. The conclusion is that the transformer works as expected. 122

Chapter 12 Possible Extensions of the Transformer This chapter offers ideas of how to transform some of the constructs not in RSLA. Furthermore, a discussion of further work on the transformer is offered. 12.1 Transformations of Constructs Outside RSLA The following section offers ideas of transformation rules not implemented in the transformer. The rules are a result of considerations that have been made during the project before the actual RSLA subset was determined. 12.1.1 Object Definitions When transforming an object definition the id of the object need not be changed, but it is good practice to rename the object. Any parameters are transformed into themselves. After that the class expression must be transformed. 12.1.2 Extending Class Expressions When transforming an extending class expression both constituent class expressions must be transformed. 12.1.3 Hiding Class Expressions When transforming a hiding class expression the names of the defined items in the list are transformed into their counterparts in the imperative specification and then the class expression is transformed. 123

Chapter 12<br />

Possible Extensions <strong>of</strong> the<br />

Transformer<br />

This chapter <strong>of</strong>fers ideas <strong>of</strong> how to transform some <strong>of</strong> the constructs not<br />

in RSLA. Furthermore, a discussion <strong>of</strong> further work on the transformer is<br />

<strong>of</strong>fered.<br />

12.1 <strong>Transformation</strong>s <strong>of</strong> Constructs Outside RSLA<br />

The following section <strong>of</strong>fers ideas <strong>of</strong> transformation rules not implemented<br />

in the transformer. The rules are a result <strong>of</strong> considerations that have been<br />

made during the project before the actual RSLA subset was determined.<br />

12.1.1 Object Definitions<br />

When transforming an object definition the id <strong>of</strong> the object need not be<br />

changed, but it is good practice to rename the object. Any parameters<br />

are transformed <strong>into</strong> themselves. After that the class expression must be<br />

transformed.<br />

12.1.2 Extending Class Expressions<br />

When transforming an extending class expression both constituent class expressions<br />

must be transformed.<br />

12.1.3 Hiding Class Expressions<br />

When transforming a hiding class expression the names <strong>of</strong> the defined items<br />

in the list are transformed <strong>into</strong> their counterparts in the imperative specification<br />

and then the class expression is transformed.<br />

123

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

Saved successfully!

Ooh no, something went wrong!