Design Patterns for Synchronization Adapters of Corba Objects

Standard middleware platforms offer Interface definition languages (IDLs) to achieve component interoperability in a heterogeneous computing context. IDLs serve to specify module and interface names, as well as operation signatures. The simplicity of IDLs ensures that they are applicable to a wide range of application domains, can be mapped to a wide variety of im- plementation languages, and are simple to learn. However, for certain security and safety cri- tical or reactive applications there is an urgent need to express further aspects of the software under development. Such aspects include synchronization constraints, pre- and post conditions, invariants, QoS annotations, and real-time annotations. To leverage this semantic mismatch of current IDLs and domain specifi ce xtensions, we discuss solutions for adding specifications of semantic aspects to component interfaces and automatically synthesizing code that instru- ments corresponding semantic checks. Independently from the concrete syntax and semantics of such specification elements, we present a collection of design patterns that allow the designer to seamlessly integrate the synthesized code with the code frames generated by standard IDL com- pilers. We study these approaches along the concrete example of extending CORBA IDL with synchronization constraints and evaluate several implementation alternatives. We demonstrate the effectiveness of our approach through an IDL-annotation compiler that synthesizes code portable across different CORBA implementations. RESUME.

[1]  Gregor Kiczales,et al.  D: A Language Framework for Distributed Programming , 1997 .

[2]  Hans-Arno Jacobsen Programming language interoperability in distributed computing environments , 1999, DAIS.

[3]  Douglas C. Schmidt,et al.  The design and performance of a real-time CORBA event service , 1997, OOPSLA '97.

[4]  Kurt Geihs,et al.  On the Object-Oriented Modelling of Distributed Workflow Applications , 1997 .

[5]  Pedro de las Heras Quirs,et al.  Inheritance anomaly in CORBA multithreaded environments , 1997 .

[6]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[7]  Aniruddha S. Gokhale,et al.  Measuring and Optimizing CORBA Latency and Scalability Over High-Speed Networks , 1998, IEEE Trans. Computers.

[8]  Akinori Yonezawa,et al.  Inheritance and Synchronization in Concurrent OOP , 1987, ECOOP.

[9]  Dennis Gannon,et al.  PARDIS: A parallel approach to CORBA , 1997, Proceedings. The Sixth IEEE International Symposium on High Performance Distributed Computing (Cat. No.97TB100183).

[10]  Arno Puder,et al.  A Declarative Extension of IDL-based Type Definitions within Open Distributed Environments , 1994, OOIS.

[11]  Jacques Mossière,et al.  Hidden software capabilities , 1996, Proceedings of 16th International Conference on Distributed Computing Systems.

[12]  Jeff Magee,et al.  Composing distributed objects in CORBA , 1997, Proceedings of the Third International Symposium on Autonomous Decentralized Systems. ISADS 97.

[13]  Dan Harkey,et al.  Client/Server programming with Java and Corba , 1997 .

[14]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[15]  Tzilla Elrad,et al.  Coordinating Distributed Objects , 1999, PDPTA.

[16]  Boris Bokowski,et al.  Interaction Protocols: Typing of Object Interactions in Frameworks , 1996 .

[17]  Sriram Sankar Introducing Formal Methods to Software Engineers Through OMG's COBRA Environment and Interface Definition Language , 1996, AMAST.

[18]  Israel Ben-Shaul,et al.  Dynamic layout of distributed applications in FarGo , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[19]  John A. Zinky,et al.  Architectural Support for Quality of Service for CORBA Objects , 1997, Theory Pract. Object Syst..

[20]  Bernd J. Krämer,et al.  Synchronization Constraints in Object Interfaces , 1998 .

[21]  Vladimir I. Zadorozhny Towards an integrated CORBA/RAISE Semantic Interoperable Environment , 1997 .

[22]  Bernd J. Krämer,et al.  A design pattern based approach to generating synchronization adaptors from annotated IDL , 1998, Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239).

[23]  Oscar Nierstrasz,et al.  Regular types for active objects , 1993, OOPSLA '93.

[24]  Damien Watkins,et al.  Using interface definition languages to support path expressions and programming by contract , 1998, Proceedings. Technology of Object-Oriented Languages. TOOLS 26 (Cat. No.98EX176).

[25]  Robert Eckstein,et al.  Java RMI , 2001 .

[26]  Satoshi Matsuoka,et al.  Analysis of inheritance anomaly in object-oriented concurrent programming languages , 1993 .

[27]  Hans-Arno Jacobsen,et al.  Towards High-Performance Multithreaded CORBA Servers , 1998 .

[28]  Christian Becker,et al.  Generic QoS Specifications for CORBA , 1999, Kommunikation in Verteilten Systemen.

[29]  SankarSriram,et al.  ADLan interface definition language for specifying and testing software , 1994 .

[30]  Pedro de las Heras Quirós,et al.  Inheritance Anomaly in CORBA Multithreaded Environments , 1997, Theory Pract. Object Syst..

[31]  Douglas C. Schmidt,et al.  The design of the TAO real-time object request broker , 1998, Comput. Commun..