Abstract

This chapter presents a process for transformation from object-oriented programs to order-sorted algebraic specifications, which can be used for proving that an object-oriented program is a correct implementation of an algebraic specification. The object-oriented language has essential object-oriented features such as polymorphism and inheritance, and the specification language is an order-sorted one, while a typed object-oriented language without inheritance and an ordinary many sorted algebraic specification language are used in other researches such as Hennicker and Schmitz. The chapter gives a process for transformation from object-oriented programs to algebraic specifications, formalize the concept of observational implementation, and present a method for proving that the algebraic specification obtained by the transformation is an observational implementation of an algebraic specification. This chapter introduces polymorphism and class inheritance into the framework of Hennicker and Schmitz, and proposes a new transformation. This transformation process first uses the type inference algorithm proposed by Ohkubo for untyped object-oriented languages. Then, by regarding the assigned class sets as the sorts, an algebraic specification is constructed from the object-oriented program, where order- sortedness is used in connection with polymorphism. The chapter overviews the framework of Hennicker and Schmitz and the type inference of the object-oriented language and then discusses the relationship between the algebraic semantics of TinyObject given in this chapter and the operational semantics of TinyObject presented.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call