Abstract :
This paper describes IKE 2, 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
Keywords :
application program interfaces; distributed object management; inheritance; open systems; program compilers; real-time systems; C++; CORBA distributed objects; IKE 2; anonymous publish-subscribe data dissemination; automatic code generation; client applications; compile-time type safety; distributed object computing middleware; high-level abstractions; interoperable real-time distributed applications; meta-object model support inheritance; programming abstraction; publication state; reliable behavior; remote method interface; stateful distributed object paradigm; Aerospace testing; Computer languages; Distributed computing; LAN interconnection; Middleware; Military communication; Military computing; Protocols; Publish-subscribe; Telecommunication computing;