Ensuring compatible interactions within component-based software systems

The interface definition of a component in a distributed system forms the contract between the component itself and its neighbouring components regarding the use of its services. In general, such a contract should cover the issues of service functionality, usage and quality. The interface definition languages (IDLs) used by commercial middleware standards such as CORBA primarily address the signature issues of such a contract, i.e., the forms and types of component or object services. Nothing is said about other aspects of the contract, including the way in which the component services are to be used. We introduce a framework and associated techniques that augment commercial IDLs with interaction protocol specifications and validate component interactions against such protocol specifications at run-time. In effect, the validation becomes a useful tool for testing whether or not the object services are used properly in a distributed system. Our approach has been implemented in the CORBA context, but can be readily applied to other IDL-based object/component systems.

[1]  Premkumar T. Devanbu,et al.  Adding more "DL" to IDL: towards more knowledgeable component inter-operability , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[2]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

[3]  Marten van Sinderen,et al.  Monitoring of Distributed Component Interactions , 2000 .

[4]  Paolo A. G. Sivilotti,et al.  Increasing client-side confidence in remote component implementations , 2001, ESEC/FSE-9.

[5]  Hye-Young Paik,et al.  Peer-to-Peer Traced Execution of Composite Services , 2001, TES.

[6]  Doug Lea,et al.  Interface-Based Protocol Specification of Open Systems using PSL , 1995, ECOOP.

[7]  Akinori Yonezawa,et al.  Abstracting Object Interactions Using Composition Filters , 1993, ECOOP Workshop.

[8]  Boualem Benatallah,et al.  A Petri Net-based Model for Web Service Composition , 2003, ADC.

[9]  Jun Han Temporal Logic Based Specification of Component Interaction Protocols , 2000 .

[10]  Tran Cao Son,et al.  Adapting Golog for Composition of Semantic Web Services , 2002, KR.

[11]  Philippe A. Palanque,et al.  Formal Specification and Prototyping of CORBA Systems , 1999, ECOOP.

[12]  Jun Han A comprehensive interface definition framework for software components , 1998, Proceedings 1998 Asia Pacific Software Engineering Conference (Cat. No.98EX240).

[13]  Jun Han,et al.  Temporal Logic Based Specifications of Component Interaction Protocols , 2000 .

[14]  Xavier Logean Run-time monitoring and on-line testing of middleware based communication services , 2000 .

[15]  Gul A. Agha,et al.  A protocol description language for customizing failure semantics , 1994, Proceedings of IEEE 13th Symposium on Reliable Distributed Systems.

[16]  Massimo Mecella,et al.  Compatibility of e -Services in a Cooperative Multi-platform Environment , 2001, TES.

[17]  Matjaz B. Juric,et al.  Business process execution language for web services , 2004 .

[18]  Ralf H. Reussner An Enhanced Model for Component Interfaces to Support Automatic and Dynamic Adaption , 2000 .

[19]  Frantisek Plasil,et al.  Behavior Protocols for Software Components , 2002, IEEE Trans. Software Eng..

[20]  Anne H. H. Ngu,et al.  Declarative composition and peer-to-peer provisioning of dynamic Web services , 2002, Proceedings 18th International Conference on Data Engineering.

[21]  Daniel M. Yellin,et al.  Protocol specifications and component adaptors , 1997, TOPL.

[22]  Brian Nielsen,et al.  Specification of real-time interaction constraints , 1998, Proceedings First International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC '98).

[23]  Gul Agha,et al.  RTsynchronizer: language support for real-time specifications in distributed systems , 1995 .

[24]  Lidia Fuentes,et al.  Extending CORBA Interfaces with Protocols , 2001, Comput. J..

[25]  Gul A. Agha,et al.  Customization and composition of distributed objects: middleware abstractions for policy management , 1998, SIGSOFT '98/FSE-6.

[26]  Gul A. Agha,et al.  A Language Framework for Multi-Object Coordination , 1993, ECOOP.

[27]  Tenth Asia-Pacific Software Engineering Conference , 2003, Tenth Asia-Pacific Software Engineering Conference, 2003..

[28]  Marten van Sinderen,et al.  Design and Implementation of a Framework for Monitoring Distributed Component Interactions , 2000, IDMS.