This paper describes IKE 2, which is distributed object computing middleware that supports the creation of interoperable realtime distributed applications. These applications appear in many domains, such as telecom, aerospace, military testing and training ranges, and financial services. IKE 2 combines the concepts of CORBA distributed objects and anonymous publish-subscribe data dissemination to provide a programming abstraction known as a stateful distributed object (SDO).Every SDO can have both a remote method interface and publication state. The remote method interface allows client applications to invoke methods on target objects efficiently without concern for their location, programming language, OS platform, communication protocols and interconnects, or hardware. The publication state of a given SDO is disseminated to applications that have expressed their interest by subscribing to certain characteristics, such as the type of the SDO. Subscribers can read the publication state of an SDO as if it were a local object. The SDOs provided by the IKE 2 metaobject model support inheritance from other SDOs, containment of other SDOs, and references to other SDOs.IKE 2 is implemented in C++. The API relies heavily on compile-time type-safety to help ensure reliable behavior at runtime-a critical feature of any real-time system. Automatic code generation is used to provide the high-level abstractions without unduly burdening application programmers.