Abstract
Flexibility is achieved in open systems by adopting software architectures that allow software components to be easily plugged in, adapted and exchanged. But open systems are generally concurrent, distributed and heterogeneous in addition to being adaptable. Ad hoc approaches to specifying component frameworks can lead to unexpected semantic conflicts. We propose, instead, to develop a rigorous foundation for composable software systems by a series of experiments in modelling concurrent and object-based software abstractions as composable, communicating processes. Eventually we hope to identify and realize the most useful compositional idioms as a composition language for open systems specification.
Chapter PDF
Similar content being viewed by others
References
Lodewijk Bergmans, “Composing Concurrent Objects,” PhD Thesis, University of Twente, 1994.
Soren Brandt and René W. Schmidt, “The Design of a Meta-Level Architecture for the BETA Language,” Proceedings of META 85: Workshop on Advances in Metaohject Protocols and Reflection at ECOOP 85, August 1995.
Kim B. Bruce, Luca Cardelli, Giuseppe Castagna, The Hopkins Objects Group, Gary T. Leavens and Benjamin Pierce, On Binary Methods 1996, To appear in Theory and Practice of Object Systems.
Shigru Chiba, “A Metaobject Protocol for C++,” Proceedings of OOPSLA 85, ACM SIGPLAN Notices, vol. 30, no. 10, October 1995, pp. 285–299.
William Cook and Jens Palsberg, “A Denotational Semantics of Inheritance and its Correctness”, Proceedings OOPSLA 89, ACM SIGPLAN Notices vol. 24, no. 10, Oct. 1989, pp. 433–443.
Laurent Dami, “Functions, Records and Compatibility in the Lambda N Calculus,” Object-Oriented Software Composition O. Nierstrasz and D. Tsichritzis (Ed.), Prentice Hall, 1995, pp. 153–174.
Karsten M. Decker, Jiri J. Dvorak and René M. Rehmann, “A tool environment for parallel programming — User-driven development of a novel programming environment for distributed memory parallel processor systems,” Priority Programme Injonnatics Research, Information Conference Module 3 on Massively parallel systems, November 1994, pp. 40–47.
Linda G. DeMichiel and Richard P. Gabriel, “The Common Lisp Object System: An Overview,” Proceedings ECOOP 87, J. Bézivin, J-M. Hullot, P. Cointe and H. Lieberman (Ed.), LNCS 276, Springer-Verlag, Paris, France, June 15–17, 1987, pp. 151–170.
Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides, Design Patterns, Addison Wesley, Reading, MA, 1995.
Adele Goldberg and David Robson, Smalltalk 80: the Language and its Implementation, Addison-Wesley, Reading, Mass., May 1983.
James Gosling and H. McGilton, The Java Language Environment, Sun Microsystems Computer Company, May 1995.
Kohei Honda and Mario Tokoro, “An Object Calculus for Asynchronous Communication,” Proceedings ECOOP 8J, Pierre America (Ed.), LNCS 512, Springer-Verlag, Geneva, Switzerland, July 15–19, 1991, pp. 133–147.
Gregor Kiczales, Jim des Rivières and Daniel G. Bobrow, The Art of the Metaohject Protocol, MIT Press, 1991.
John Lamping, “Typing the Specialization Interface,” Proceedings OOPSLA 83, ACM SIGPLAN Notices, vol. 28, no. 10, Oct. 1993, pp. 201–214.
Jeff Magee, Naranker Dulay and Jeffrey Kramer, “Specifying Distributed Software Architectures,” Proceedings European Software Engineering Conference, Springer Verlag, Lecture Notes in Computer Science, 1995.
Ciaran McHale, “Synchronisation in Concurrent, Object-oriented Languages: Expressive Power, Genericity and Inheritance,” Ph.D. Dissertation, Department of Computer Science, Trinity College, Dublin, 1994.
Theo Dirk Meijler and Robert Engel, “Making Design Patterns Explicit in FACE, a Framework Adaptive Composition Environment,” draft manuscript, IAM, U. Berne, April 1996, Submitted for publication.
Tom Mens, Kim Mens and Patrick Steyaert, “OPUS: a Calculus for Modelling Object-Oriented Concepts,” Technical Report, No. VUB-TINF-TR-94–04, Department of Computer Science, Vrije Universiteit Brussel, Belgium, 1994.
Bertrand Meyer, “Systematic Concurrent Object-Oriented Programming,” Communications of the ACM vol. 36, no. 9. September 1993, pp. 56–80.
Robin Milner, Joachim Parrow and David Walker, “A Calculus of Mobile Processes, Part I/1I,” Information and Computation, vol. 100, 1992, pp. 1–77.
Oscar Nierstrasz, “Towards an Object Calculus,” Proceedings of the ECOOP 81 Workshop on Object-Based Concurrent Computing M. Tokoro, O. Nierstrasz and P. Wegner (Ed.), LNCS 612, Springer-Verlag, 1992, pp. 1–20.
Oscar Nierstrasz and Laurent Dami, “Component-Oriented Software Technology,” in Object-Oriented Software Composition, ed. O. Nierstrasz and D. Tsichritzis, Prentice Hall, 1995, pp. 3–28.
Oscar Nierstrasz, “Regular Types for Active Objects,” Object-Oriented Software Composition, O. Nierstrasz and D. Tsichritzis ( Ed. ), Prentice Hall, 1995, pp. 99–121.
Oscar Nierstrasz and Theo Dirk Meijler, “Requirements for a Composition Language,” Proceedings of the ECOOP 84 Workshop on Coordination Languages ed. P. Ciancarini, O. Nierstrasz, A. Yonezawa, Springer-Verlag, LNCS 924, 1995, pp. 147–161.
Oscar Nierstrasz and Theo Dirk Meijler, “Research Directions in Software Composition,” ACM Computing Surveys, vol. 27, no. 2, June 1995, pp. 262–264.
Else K. Nordhagen, “Omicron, An Object-Oriented Calculus,” Proceedings FMOODS’96, IFIP WG 6.1 (Ed.), Paris, France, March 1996.
Benjamin C. Pierce, “PICT: An Experiment in Concurrent Language Design,” PICT Version 3.6 tutorial, University of Edinburgh, March, 1994.
Benjamin C. Pierce and David N. Turner, “Simple Type-Theoretic Foundations for Object-Oriented Programming,” Journal of Functional Programming, vol. 4, no. 2, April 1994, pp. 207–247.
Benjamin C. Pierce, “Programming in the Pi-Calculus: An Experiment in Concurrent Language Design,” Technical Report, Computer Laboratory, University of Cambridge, UK, May 1995, Tutorial Notes for PICT Version 3. 6a.
Benjamin C. Pierce and David N. Turner, “Concurrent Objects in a Process Calculus,” Proceedings Theory and Practice of Parallel Programming (TPPP 94), Takayasu Ito and Akinori Yonezawa (Ed.), Springer LNCS 907, Sendai, Japan, 1995, pp. 187–215.
Davide Sangiorgi, “Expressing Mobility in Process Algebras: First-Order and Higher-Order Paradigms,” Ph.D. thesis, CST-99–93 (also: ECS-LFCS-93–266), Computer Science Dept., University of Edinburgh, May 1993.
Jean-Guy Schneider and Markus Lumpe, “Modelling Objects in PICT,” Technical Report, no. IAM-96–004, University of Bern, Institute of Computer Science and Applied Mathematics, January 1996.
Gert Smolka, “A Survey of Oz,” Draft, German Research Center for Artificial Intelligence (DFKI), January 24, 1995.
David N. Turner, “The Polymorphic Pi-Calculus: Theory and Implementation,” Ph.D. thesis, Department of Computer Science, University of Edinburgh, UK, 1996.
Patrick Varone, “Implementation of ‘Generic Synchronization Policies’ in PICT,” Technical Report, no. IAM-96–005, University of Bern, Institute of Computer Science and Applied Mathematics, March 1996.
Pierre Viret, “Viewing C++ Objects as Communicating Processes,” Master’s thesis, Laboratoire de Téléinformatique, Ecole Polytechnique Fédérale de Lausanne (EPFL), CH, March 1996.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1997 IFIP International Federation for Information Processing
About this chapter
Cite this chapter
Nierstrasz, O., Schneider, JG., Lumpe, M. (1997). Formalizing Composable Software Systems — A Research Agenda. In: Najm, E., Stefani, JB. (eds) Formal Methods for Open Object-based Distributed Systems. IFIP Advances in Information and Communication Technology. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-35082-0_20
Download citation
DOI: https://doi.org/10.1007/978-0-387-35082-0_20
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-5041-2875-9
Online ISBN: 978-0-387-35082-0
eBook Packages: Springer Book Archive