The development of concurrent and distributed software is quite complicated. Object-oriented software
development methods support the handling of complex problems. Some important object-oriented programming
language concepts like subtyping and inheritance were developed for sequential systems. They must be improved
further to be useful for developing concurrent and distributed applications: The coordination of concurrently active
objects has to be considered.
A type of an object in conventional languages specifies a constant set of messages understood by this object.
However - especially in concurrent systems based on active objects - the set of acceptable messages can change.
The process type model was recently developed to support static type checking even if the set of acceptable
messages changes dynamically. It is the main goal of the proposed research work to improve the practical
applicability of the process type model. We plan to
improve the support of communication and synchronization mechanisms;
construct a prototype tool which checks process types statically;
formalize the theoretical basis and evaluate the complexity of static type checking.
We expect the results of this project to be of great value for future software development tools because they show a
way to efficiently deal with the high complexity of concurrent and distributed software.