A Component Model for Separation of Control Flow from Computation in Component-Based Systems

Today’s component models as well as architectural description languages (ADLs) compose components either using direct or indirect method calls. When using direct method calls, components carry out computation, originate control to and perform communication between each other. When using indirect message calls, components are connected using connectors encapsulating communication between them. The components in these (ADL) systems are supposed to do computation only. However, in this paper we show that components in ADLs not only perform communication as intended but also originate control towards connectors resulting again in a mixture of control and computation inside components. To separate control from computation in component-based systems we have been developing a new component model aimed at separation of control from computation [15]. In this paper we show how it can be used to build modular and maintainable systems and argue that our component model has its place in Model-driven architecture.

[1]  Nenad Medvidovic,et al.  Towards a taxonomy of software connectors , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[2]  Frantisek Plasil,et al.  SOFA/DCUP: architecture for component trading and dynamic updating , 1998, Proceedings. Fourth International Conference on Configurable Distributed Systems (Cat. No.98EX159).

[3]  H. Ossher,et al.  Concern modeling in the concern manipulation environment , 2005, MACS@ICSE.

[4]  Murali Sitaraman,et al.  Foundations of component-based systems , 2000 .

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

[6]  Robert Englander Developing Java Beans , 1997 .

[7]  Axel Uhl,et al.  MDA Distilled , 2004 .

[8]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[9]  David Garlan,et al.  Acme: architectural description of component-based systems , 2000 .

[10]  Alan Bundy,et al.  Constructing Induction Rules for Deductive Synthesis Proofs , 2006, CLASE.

[11]  Zhong Wang,et al.  A survey of software component models , 2005 .

[12]  Richard N. Taylor,et al.  A Component- and Message-Based Architectural Style for GUI Software , 1995, 1995 17th International Conference on Software Engineering.

[13]  Oscar Nierstrasz,et al.  A Component Model for Field Devices , 2002, Component Deployment.

[14]  Farhad Arbab,et al.  The IWIM Model for Coordination of Concurrent Activities , 1996, COORDINATION.

[15]  Barbara Paech,et al.  Component-based product line engineering with UML , 2001, Addison Wesley object technology series.

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

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

[18]  James Ivers,et al.  A Basis for Composition Language CL , 2002 .

[19]  Kung-Kiu Lau,et al.  A taxonomy of software component models , 2005, 31st EUROMICRO Conference on Software Engineering and Advanced Applications.

[20]  Kung-Kiu Lau,et al.  Exogenous connectors for software components , 2005, CBSE'05.

[21]  Grady Booch,et al.  Essential COM , 1998 .

[22]  Jeff Magee,et al.  The Koala Component Model for Consumer Electronics Software , 2000, Computer.

[23]  Michel Wermelinger,et al.  Developing and evolving Java applications using coordination contracts , 2002, OOPSLA '02.