Object Model with Exchangeable Invocation Semantics
Common object oriented systems have a fixed invocation semantic (synchronous procedure call). Some systems extend this concept with a fixed amount of additional semantics (RPC, best effort, asynchronous...). We claim that we have to go a step further and introduce invocation semantics as first class abstractions. We offer the possibility to write or compose completely new invocation semantics, and describe an efficient implementation. We implemented a prototype and two concrete applications. First, we implemented a distributed object system, which introduces new semantics to forward invocations across a network. Second, we decorate local objects with additional semantics, e.g. transparent invocation logging, synchronization semantics... By putting our framework into an operating system, one gets a highly increased flexibility in the system's object model. We also show that the introduced delay is constant and neglectable.
Paper at the ECOOP'99 Workshop on OO in Operating Systems , Lisbon, June 1999, Proceedings of ECOOP - OOOSWS'99, Techn.Uni. Chemnitz, Fakultät für Informatik, Lehrstuhl Betriebssysteme, Attn.Dr.Franz Schubert, D-09107 Chemnitz