Design Patterns for Synchronization Adapters of Corba Objects
Hans‐Arno Jacobsen, BERND J. KRÄMER · 2000
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.