Keywords: Middleware, CORBA, AspectIX
Abstract: The CORBA architecture defines the semantics of the interaction of distributed objects. These semantics are fixed and hardly extensible. CORBA services can extend the basic functionality of an ORB, but they are based on those fixed semantics. AspectIX is an open and more flexible architecture than CORBA, but an AspectIX implementation can also host CORBA-compliant applications. AspectIX adopts a fragmented object model, which means that each client owns a local part of the distributed object and that these local parts, called fragments, can interact with one another. A local fragment can be intelligent and carry a part of the distributed object's functionality, or it can be dumb and act as a stub only, as in the CORBA-compliant AspectIX profile. A client can configure several functional and nonfunctional properties of the object's semantics, so-called aspects, by using a generic configuration interface. A local fragment implementation may be transparently replaced by another one if it cannot fulfill the requirements of a new configuration. We will show how this configuration interface helps to solves problems in wide-area systems (replication, consistency), mobile agents (mobility), and process control systems (real-time constraints, fault tolerance).