Component-based design: towards guided composition

We present a mathematical model for the composition of software components, at a semantic modelling level. We describe a mathematical concept of a single software component and identify properties that ensure its potential behaviour can be captured. Based on that, we give a formal definition of composition and examine its effect on the individual components. We argue that properties of the individual components can, under certain conditions, be preserved in the composite. The proposed model can be used for guiding the composition of components as it advocates formal reasoning about the composite before the actual composition takes place.

[1]  William C. Chu,et al.  A formal approach to software components classification and retrieval , 1997, Proceedings Twenty-First Annual International Computer Software and Applications Conference (COMPSAC'97).

[2]  Juliana Küster Filipe Bowles,et al.  Formal specification of Catalysis frameworks , 2000, Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000.

[3]  Juliana Küster Filipe Bowles Fundamentals of Module Logic for Distributed Object Systems , 2000, J. Funct. Log. Program..

[4]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[5]  Antoni W. Mazurkiewicz,et al.  Basic notions of trace theory , 1988, REX Workshop.

[6]  Marek Antoni Bednarczyk,et al.  Categories of asynchronous systems , 1987 .

[7]  A. Krall Fundamentals of a Module Logic for Distributed Object Systems , 2000 .

[8]  C. A. R. Hoare,et al.  A Theory of Communicating Sequential Processes , 1984, JACM.

[9]  James L. Peterson,et al.  Petri Nets , 1977, CSUR.

[10]  M. W. Shields Concurrent Machines , 1985, Comput. J..

[11]  Michael W. Shields Semantics of Parallelism , 1997 .

[12]  Brian A. Davey,et al.  An Introduction to Lattices and Order , 1989 .

[13]  Desmond D'Souza,et al.  Objects, Components, and Frameworks with UML: The Catalysis Approach , 1998 .

[14]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[15]  Manfred Broy,et al.  Algebraic specification of reactive systems , 1996, Theor. Comput. Sci..

[16]  M. W. Shields,et al.  Behavioural Presentations , 1988, REX Workshop.

[17]  Kung-Kiu Lau,et al.  A Formal Approach to Software Component Specification , 2001 .

[18]  Antonio Vallecillo,et al.  Typing the Behavior of Objects and Component Using Session Types , 2003, FOCLASA.

[19]  Glynn Winskel,et al.  Petri Nets, Event Structures and Domains , 1979, Semantics of Concurrent Computation.

[20]  Perdita Stevens,et al.  Enriching OCL Using Observational Mu-Calculus , 2002, FASE.

[21]  Glynn Winskel,et al.  Petri Nets, Event Structures and Domains, Part I , 1981, Theor. Comput. Sci..

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

[23]  Antonio Brogi,et al.  Coordinating interaction patterns , 2001, SAC.

[24]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[25]  Kung-Kiu Lau Component Certification and System Prediction: Is there a Role for Formality? , 2001 .

[26]  KramerJeff,et al.  The Koala Component Model for Consumer Electronics Software , 2000 .

[27]  Mogens Nielsen,et al.  Models for Concurrency , 1992 .

[28]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[29]  M. W. Shields Adequate Path Expressions , 1979, Semantics of Concurrent Computation.