Unanticipated Connection of Components Based on Their State Changes Notifications

Component-based software development is a promising track in software engineering to improve reuse. This paradigm is based on the unanticipated connection of independently developed black-box components. However, any existing proposals enable connections of components based on their state changes notifications without requiring that specific code related to the connection is integrated into components. In this article, we propose a solution to support these kinds of connections. Our solution introduces component properties and special connectors. We show that properties ease component programming and connectors enforce strict separation between functional code and code dedicated to connection. We develop a prototype in Squeak named SCL (Simple Component Language) to give a concrete form to our proposition.

[1]  Thierry Coupaye,et al.  An Open Component Model and Its Support in Java , 2004, CBSE.

[2]  Richard Monson-Haefel,et al.  Enterprise JavaBeans , 1999, Java series.

[3]  Michael Franz,et al.  Supporting software composition at the programming language level , 2005, Sci. Comput. Program..

[4]  Marvin Minsky,et al.  A framework for representing knowledge" in the psychology of computer vision , 1975 .

[5]  Marvin Minsky,et al.  A framework for representing knowledge , 1974 .

[6]  Peter H. Fröhlich Component-Oriented Programming Languages : Messages vs . Methods , Modules vs . Types ( Extended Abstract ) , 2000 .

[7]  Sun Fire V20z Sun Microsystems , 1996 .

[8]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming, 2nd Edition , 2002, Addison-Wesley component software series.

[9]  David Notkin,et al.  ArchJava: connecting software architecture to implementation , 2002, ICSE '02.

[10]  Stephen Travis Pope,et al.  A cookbook for using the model-view controller user interface paradigm in Smalltalk-80 , 1988 .

[11]  Mary Shaw Procedure Calls Are the Assembly Language of Software Interconnection: Connectors Deserve First-Class Status , 1993, ICSE Workshop on Studies of Software Design.

[12]  Johannes Sametinger,et al.  Software Engineering with Reusable Components , 1997, Springer Berlin Heidelberg.

[13]  Raphaël Marvie Picolo : A Simple Python Framework for Introducing Component Principles , 2005 .

[14]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[15]  João Costa Seco,et al.  A Basic Model of Typed Components , 2000, ECOOP.