CPAM, A Protocol for Software Composition

Software composition is critical for building large-scale applications. In this paper, we consider the composition of components that are methods offered by heterogeneous, autonomous and distributed computational software modules made available by external sources. The objective is to compose these methods and build new applications while preserving the autonomy of the software modules. This would decrease the time and cost needed for producing and maintaining the added functionality. In the following, we describe a high-level protocol that enables software composition. CPAM, CHAIMS Protocol for Autonomous Megamodules, may be used on top of various distribution systems. It offers additional features for supporting module heterogeneity and preserving module autonomy, and also implements several optimization concepts such as cost estimation of methods and partial extraction of results.

[1]  Jon Sigel,et al.  CORBA Fundamentals and Programming , 1996 .

[2]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[3]  Louis Perrochon,et al.  A compiler for composition: CHAIMS , 1997, Proceedings Fifth International Symposium on Assessment of Software Tools and Technologies.

[4]  Stefano Ceri,et al.  Towards Megaprogramming: A Paradigm for Component-Based Programming , 1992 .

[5]  Gio Wiederhold,et al.  CLAM: Composition Language for Autonomous Megamodules , 1999, COORDINATION.

[6]  Roy Friedman,et al.  A framework for protocol composition in Horus , 1995, PODC '95.

[7]  Pankaj Jain,et al.  A language and system for composing autonomous, heterogeneous and distributed megamodules , 1998, Proceedings Ninth International Workshop on Database and Expert Systems Applications (Cat. No.98EX130).

[8]  Stefano Ceri,et al.  Toward megaprogramming , 1992, CACM.

[9]  Andrew Birrell,et al.  Implementing remote procedure calls , 1984, TOCS.

[10]  Robbert van Renesse,et al.  Protocol Composition in Horus , 1995, PODC 1995.

[11]  Ward Rosenberry,et al.  Understanding DCE , 1992 .

[12]  G. Wiederhold,et al.  Encapsulation and Composition of Ontologies , 1998 .