O2C: A Semantics Thread from Objects to Components
(a short course)Helsinki, Finland
June 12-13, 2003
Lecturers:
Description:
F. Arbab CWI Amsterdam, the Netherlands farhad@cwi.nl
F. de Boer CWI Amsterdam, the Netherlands frb@cwi.nl
M. Bonsangue LIACS Leiden, the Netherlands marcello@liacs.nl
J. Kok LIACS Leiden, the Netherlands joost@liacs.nl
This short course covers the basic concepts that underlie object oriented and component based software engineering and their semantic justifications. We start with 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.Course Material: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.
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:
Component Software: Beyond Object-Oriented ProgrammingLinks:
Second Edition
Clemens Szyperskii
Addison-Wesley and ACM Press, 2002
ISBN 0-201-74572-0Understanding UML: A Formal Semantics of Concurrency and Communication in Real-Time UML
W. Damm; B. Josko; A. Pnueli; A. Votintseva;
Proceedings of FMCO '02The OMEGA Component Model
F. de Boer; M. Bonsangue; J. JacobTowards a Type-Theoretic Interpretation of Components
M. BonsangueWhat Do You Mean, Coordination?
F. Arbab
Bulletin of the Dutch Association for Theoretical Computer Science (NVTI)
March '98Reusable Coordination Modules for Massively Concurrent Applications
F. Arbab, C. L. Blom, F. J. Burger, and C. T. H. Everaars
Software: Practice and Experience, Vol. 28, No. 7, June 1998, pp. 703-735
short version: Proceedings of Europar96, Lyon (France), August 1996.MoCha: A Framework for Coordination Using Mobile Channels
F. Arbab; F.S. de Boer; M.M. Bonsangue; J.V. Guillen Scholten;
SEN-R0128, 2001A Channel-Based Coordination Model for Components
F. Arbab; F.S. de Boer; M.M. Bonsangue; J.V. Guillen Scholten;
SEN-R0127, 2001Reo: A Channel-based Coordination Model for Component Composition
F. Arbab
Mathematical Structures in Computer Science, 2003A Coinductive Calculus of Component Connectors
F. Arbab; J. Rutten
SEN-R0216Abstract Behavior Types: A Foundation Model for Components and Their Composition
F. Arbab
Proceedings of FMCO '02
First International Symposium on Formal Methods for Components and Objects (FMCO '02)Assignments:
November 5-8, 2002
Leiden, The NetherlandsSecond International Symposium on Formal Methods for Components and Objects (FMCO '03)
November 4-7, 2003
Leiden, The NetherlandsCompositional Verification of UML Models Workshop of the UML 2003 Conference
October 21, 2003
San Francisco, California, USAThe OMEGA project home-page: IST-2001-33522 Correect Development of Real-Time Embeded Systems
Due Date: 15 August 2003
Electronic submission: Antti.Viljamaa@cs.helsinki.fi
Format: You can use any of the following formats: ps, pdf, or doc.There are 6 homework assignment exercises for the students who wish to receive a grade for this course. The solutions to the exercises should be send by email to the Teaching Assistant for the course, Antti Viljamaa, by the above due date. You are expected to work individually. The slides of the course provide the required knowledge (apart from your knowledge of programming languages like Java). For any other information or question about the exercises please consult the Teaching Assistant for the course.