Diploma and Master Theses (authored and supervised):
"Verwendung von C++-Bibliotheken in Eiffel";
Supervisor: F. Puntigam;
Eiffel is a pure object oriented programming language with powerful features, especially well suited for developing large software systems. In comparison to C++, Java or C# it never got much attention in practical software development. One of the reasons is that there are not many usable libraries for this language. It seems economically favorable to build on existing code, which ought to be stable after years of development, instead of designing a library from scratch.
In this thesis we study whether and how C++ libraries can be used from Eiffel. We use C++ because it is the most widely deployed object oriented programming language today.
An interaction between the two languages is indeed possible: Each component of C++ is mapped on a component in Eiffel. All Eiffel components together form the wrapper of the library.
Apart from the most basic building blocks of C++ (classes, functions, enumerations, etc.), also the more advanced features of this language, particularly inheritance and templates, are translated to Eiffel. We develop a method which allows cross-language polymorphism, to extend C++ class hierarchies from Eiffel.
A mechanism for adapting (solving naming conflicts etc.) the library's interface is introduced. It is also used to integrate Eiffel specific features (mainly Design by Contract) into the wrapper.
The application Eukalyptus which creates a wrapper automatically, gets implemented and tested with a typical C++ library.
Created from the Publication Database of the Vienna University of Technology.