In particular, I am interested in the development of a mathematical model for object-oriented specifications that will ensure that object-oriented software is designed in a precise unambiguous manner. I am also interested in the development of a program construction theory, which will be used to formally develop object-oriented programs from these specifications.
Currently my research involves the study of existing object-oriented specifications, object oriented programming languages and object encodings, with particular emphasis on type theory. I am presently developing an algebra of objects, which will form the basis of an object-oriented specification and program construction language. While rigorously based on type theory, it is also important that this formalism reflects real-world usability issues and, in particular, builds on lessons learned from existing models of object-oriented programming.
The development of this specification language and its associated program construction theory would benefit greatly from the development of a tool to support the overall software process. This support tool will help to simplify the design by automating parts of the process and by ensuring that the specifications constructed are complete and consistent. It will also assist the programmer in the construction of software that is guaranteed to be correct when developed from such specifications.