Abstract
The fact that so many different kinds of coordination models and languages have been proposed suggests that no one single approach will be the best for all coordination problems. Different coordination styles exhibiting different properties may be more suitable for some problems than others. Like other architectural styles, coordination styles can be expressed in terms of components, connectors and composition rules. We propose an approach in which coordination styles are expressed as “component algebras”: components of various sorts can be combined using operators that realize their coordination, yielding other sorts of components. We show how several coordination styles can be defined and applied using Piccola, a small language for composing software components. We furthermore show how glue abstractions can be used to bridge coordination styles when more than one style is needed for a single application.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Franz Achermann and Oscar Nierstrasz, “Applications = Components + Scripts — A tour of Piccola,” Software Architectures and Component Technology, Mehmet Aksit (Ed.), Kluwer, 2000, to appear.
Franz Achermann, Markus Lumpe, Jean-Guy Schneider and Oscar Nierstrasz, “Piccola — a Small Composition Language,” Formal Methods for Distributed Processing, an Object Oriented Approach, Howard Bowman and John Derrick. (Eds.), Cambridge University Press., 2000, to appear.
Franz Achermann and Oscar Nierstrasz, “Explicit Namespaces”, Proceedings of JMLC 2000, to appear.
Gul Agha, ACTORS: A Model of Concurrent Computation in Distributed Systems, MIT Press, Cambridge, Mass., 1986.
Robert Allen and David Garlan, “The Wright Architectural Specification Language,” Technical Report, September 1996, Technical Report CMU-CS-96-TB, School of Computer Science, Carnegie Mellon University, Pittsburgh.
Marcel Altherr, Martin Erzberger and Silvano Maffeis, “SoftWired iBus-Middleware for the Java Platform,” Java Report, 4(12), December 1999.
Farhad Arbab, “The IWIM Model for Coordination of Concurrent Activities,” Proceedings of COORDINATION’96, P. Ciancarini and Chris Hankin (Eds.), LNCS 1061, Springer-Verlag, Cesena, Italy, 1996, pp. 34–55.
Fernanda Barbosa and José C. Cunha, “A Coordination Language for Collective Agent Based Systems: GroupLog,” Proceedings ofSAC’00, ACM, Como, Italy, March 2000.
Daniel J. Barrett, Lori A. Clarke, Peri L. Tarr and Alexander Wise, “A Framework for Event-Based Software Integration,” IEEE Transactions on Software Engineering, vol. 5(4), October 1996, pp. 378–421.
Len Bass, Paul Clements and Rick Kazman, Software Architecture in Practice, Addison-Wesley, 1998.
Paolo Ciancarini and Davide Rossi, “Jada: Coordination and Communication for Java Agents,” MOS’96: Towards the Programmable Internet, LNCS 1222, Springer-Verlag, Linz, Austria, July 1996, pp. 213–228.
Juan-Carlos Cruz and Stéphane Ducasse, “A Group Based Approach for Coordinating Active Objects,” Proceedings of Coordination’99, LNCS 1594, 1999, pp. 355–371.
Susan Eisenbach and Ross Paterson, “Pi-Calculus Semantics of the Concurrent Configuration Language Darwin,” Proceedings of the 26th Annual Hawaii International Conference on System Sciences, vol. 2, IEEE Computer Society Press, 1993.
Joseph Goguen, “Hidden Algebra for Software Engineering,” Proceedings Combinatorics, Computation and Logic, 21(3), Springer Verlag, New Zealand, January 1999.
Carl Hewitt, “Viewing Control Structures as Patterns of Passing Messages,” Artificial Intelligence, 8(3), June 1977, pp. 323–364.
Valérie Issarny, Christophe Bidan and Titos Saridakis, “Characterizing Coordination Architectures According to their Non-Functional Execution Properties,” Proceedings of the 31st Annual Hawaii International Conference on System Sciences, 1998, pp. 275–283.
Paola Inverardi, Alexander L. Wolf and Daniel Yankelevich, “Checking Assumptions in Component Dynamics at the Architectural Level,” Proceedings of COORDINATION’97, LNCS 1282, Springer-Verlag, September 1997, pp. 46–63.
Ralph E. Johnson and Brian Foote, “Designing Reusable Classes,” Journal of Object-Oriented Programming, 1(2), 1988, pp. 22–35.
Doug Lea, Concurrent Programming in Java[tm], Second Edition: Design principles and Patterns (2nd edition), Addison-Wesley, The Java Series, 1999.
Markus Lumpe, “A Pi-Calculus Based Approach to Software Composition,” Ph.D. thesis, University of Bern, January 1999.
Markus Lumpe, Franz Achermann and Oscar Nierstrasz, “A Formal Language for Composition,” Foundations of Component Based Systems, Gary Leavens and Murali Sitaraman (Eds.), pp. 69–90, Cambridge University Press, 2000.
Nikunj R. Mehta, Nenad Medvidovic and Sandeep Phadke, “Towards a Taxonomy of Software Connectors,” Proceedings ICSE’00, Limerick, Ireland, June 2000, pp. 178–187.
Naftaly Minsky and Victoria Ungureanu, “Regulated Coordination in Open Distributed Systems,” Proceedings COORDINATION’97, David Garlan and Daniel Le Métayer (Eds.), LNCS 1282, Springer-Verlag, Berlin, Germany, September 1997, pp. 81–97.
George A. Papadopoulos and Farhad Arbab, “Coordination Models and Languages,” The Engineering of Large Systems, Academic Press, August 1998.
Jean-Guy Schneider and Markus Lumpe, “A Metamodel for Concurrent, Object-based Programming,” Proceedings of LMO’00, Québec, January 2000, pp. 149–165.
Mary Shaw, R. DeLine, D. V. Klein, T. L. Ross, D. M. Young and G. Zelesnik, “Abstractions for software and architecture and tools to support them,” IEEE Transactionss on Software Engineering, April 1995.
Mary Shaw and David Garlan, Software Architecture: Perspectives on an Emerging Discipline, Prentice-Hall, 1996.
Clemens A. Szyperski, Component Software, Addison-Wesley, 1998.
Wolfgang Wechler, Universal Algerbra for Computer Scientists, Springer-Verlag, vol. 25, EATCS, 1991.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Achermann, F., Kneubuehl, S., Nierstrasz, O. (2000). Scripting Coordination Styles. In: Porto, A., Roman, GC. (eds) Coordination Languages and Models. COORDINATION 2000. Lecture Notes in Computer Science, vol 1906. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45263-X_2
Download citation
DOI: https://doi.org/10.1007/3-540-45263-X_2
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41020-1
Online ISBN: 978-3-540-45263-8
eBook Packages: Springer Book Archive