Component Composition and Coordination
(a short course)

Turku, Finland
September 7-9, 2004


Lecturers:

F. Arbab             CWI Amsterdam & LIACS Leiden      Netherlands         farhad@cwi.nl
M. Bonsangue    LIACS Leiden                                     Netherlands         marcello@liacs.nl
J. Kok                LIACS Leiden                                      Netherlands         joost@liacs.nl
J. Rutten             CWI Amsterdam & VU Amsterdam     Netherlands         janr@cwi.nl
Description:
This short course covers the semantic foundations of software composition in object oriented and component based systems.  We cover the basic concepts such as abstract data types and inheritance, as used in the object oriented paradigm to enhance reuse, modularity, and maintenance of software.  We show how the concept of component supports and generalizes similar concerns in the engineering of large, heterogeneous, loosely-coupled, distributed software systems, and how coordination arises as an orthogonal concern in such systems.

The current component technology regards components as extended objects.  We describe an alternative approach that starts with the concept of components as abstract behavior types.  We show how this new interpretation makes components amenable to explicit exogenous coordination, supports compositionality, and provides a clear separation between computation and communication concerns.  This leads to a new model of component composition that is based on a calculus of connectors for algebraic construction of component glue code.  We cover the theoretical foundations of this model, which uses the mathematical notion of stream circuits, rooted in a coalgebraic calculus of streams, and extends it beyond classical electronic circuits to a generalization called connector circuits.

List of Topics:

         Component Based Software Engineering
         Reo: An Exogenous Coordination Language for Component Composition
         Stream Calculus
         Stream Circuits
         Constraint Automata
         Foundations of Object Oriented Software Composition
         OO-based Component Models

Schedule:


Wednesday 8 Sep.
Thursday 9 Sep.
Friday 10 Sept.
10-11
Kok & Arbab
Rutten* Bonsangue
11-12
Arbab
Rutten* Bonsangue
12-2
LUNCH
LUNCH
LUNCH
2-3
Rutten*
Arbab Bonsangue
3-4
Rutten* Arbab Bonsangue
4-5
Kok
Arbab
Bonsangue

        * For these lectures, please download and bring with you a copy of  the paper "An application of coinductive stream calculus to signal flow graphs" mentioned in the list of references below.

Course Material:
For a copy of the slides, please send your request to F. Arbab in an email.  Do not forget to include your student ID number for authentication.


References:

Reo: A Channel-based Coordination Model for Component Composition  F. Arbab, Mathematical Structures in Computer Science, Vol. 14, No. 3, pp. 329-366, June 2004. (draft)

Abstract Behavior Types: A Foundation Model for Components and Their Composition F. Arbab, LNCS, Springer-Verlag, Vol. 2852, pp. 33-70, September 2003. (draft)

A Coinductive Calculus of Component Connectors F. Arbab and J. Rutten, LNCS, Springer-Verlag, Vol. 2755, pp. 35-56, November 2003. (SEN-R0216)

Modeling component connectors in Reo by constraint automata F. Arbab, C. Baier, J. Rutten, and M. Sirjani, International Workshop on Foundations of Coordination Languages and Software Architectures (FOCLASA 2003), Electronic Notes in Theoretical Computer Science, Elsevier Science, Volume 97, 22 July 2004, Pages 25-46. (SEN-R0304)

Models and Temporal Logics for Timed Component Connectors F. Arbab, C. Baier, F. de Boer, and J. Rutten, IEEE International Conference on Software Engineering and Formal Methods (SEFM '04), Beijing, China, 26-30 September, 2004.

Synthesis of Reo Circuits For Implementation Of Component-Connector Automata Specifications F. Arbab, C. Baier, F. de Boer, J. Rutten, and M. Sirjani,


Mathematical Techniques for Analyzing Concurrent and Probabilistic Systems J. Rutten, M. Kwiatkowska, G. Norma, and D. Parker, American Mathematical Society, CRM Monograph Series, ISSN 1065-8599, 2004.

Compositional Construction of Web Services Using Reo F. Arbab and N. Diakov, International Workshop on Web Services: Modeling, Architecture and Infrastructure (WSMAI 2004), Porto, Portugal, INSTICC Press, pp. 49-58, April 2004.

The Differential Calculus of Bitstreams J. Rutten, 2004.

An application of coinductive stream calculus to signal flow graphs, J. Rutten, 2003.

Elements of stream calculus (an extensive exercise in coinduction), J. Rutten, 2001.

Behavioural differential equations: a coinductive calculus of streams, automata, and power series, J. Rutten, 2000.

Component Software: Beyond Object-Oriented Programming Second Edition, Clemens Szyperski, Addison-Wesley and ACM Press, 2002, ISBN 0-201-74572-0.

Understanding UML: A Formal Semantics of Concurrency and Communication in Real-Time UML W. Damm, B. Josko, A. Pnueli, A. Votintseva, LNCS, Springer-Verlag, Vol. 2852, pp. 33-70, September 2003.

The OMEGA Component Model F. de Boer; M. Bonsangue; J. Jacob

Towards a Type-Theoretic Interpretation of Components M. Bonsangue

MoCha: A Framework for Coordination Using Mobile Channels F. Arbab; F.S. de Boer; M.M. Bonsangue; J.V. Guillen Scholten; SEN-R0128, 2001.

A Channel-Based Coordination Model for Components F. Arbab, F.S. de Boer, M.M. Bonsangue, and J.V. Guillen Scholten, ENTCS 68.3, Elsevier Science, 2003.

Links:  

Third International Symposium on Formal Methods for Components and Objects (FMCO '04)
November 2-5, 2003
Leiden, The Netherlands

The OMEGA project home-page: IST-2001-33522 Correect Development of Real-Time Embeded Systems

The ArchiMate project home-page