On the Development of the Active Object Paradigm: A Personal Account
摘要
This paper gives a personal account of research activity performed over decades by the author and his collaborators towards developing expressive and efficient object-oriented language paradigms for distributed systems. The goal is to enable expressive and efficient programs with a mathematically simple semantics, so that programming and verification are as simple as possible. Starting from traditional object-oriented principles, the paper suggests ways to deal with major challenges related to concurrency, communication, inheritance, flexibility of code reuse, and openness. The resulting language can be classified as an active object language, which can be seen as a modernization of object orientation for concurrent systems. The language integrates several aspects of the Actor Model in an object-oriented, imperative setting. The focus of the paper is simplicity of modeling, specification, and reasoning. Behavioral subtyping is replaced by the more liberal concept of interface behavioral subtyping, and a renewed notion of subclass inheritance allows unrestricted reuse of code and specifications, supported by reasoning control. These benefits are shown useful for subclassing as well as for program evolution. A notion of hierarchy independence limits reverification in the case of multiple inheritance, so that only changed classes and subclasses inheriting from them need to be reverified.