Connectors in configuration programming languages: are they necessary?

Configuration programming is the process whereby components written in any conventional programming language can be bound together to form a dynamic system, often suitable for execution on distributed hardware. Among the specialised languages that exist for configuration programming there is currently a debate over the importance of recognising the connections between components as being as important as the components themselves. The paper lays out the pros and cons of the debate, outlining in the process the properties and roles of connectors. By means of experiments we show how connectors influence the way configurations are programmed and also how some of the effects can be simulated. The examples are given in Darwin, UNICON and WRIGHT and reference is also made to the status of other current configuration languages.

[1]  Mary Shaw,et al.  Abstractions and implementations for architectural connections , 1996, Proceedings of International Conference on Configurable Distributed Systems.

[2]  R.W. Schwanke,et al.  Industrial software architecture with Gestalt , 1996, Proceedings of the 8th International Workshop on Software Specification and Design.

[3]  David Garlan,et al.  A case study in architectural modeling: the AEGIS system , 1996, Proceedings of the 8th International Workshop on Software Specification and Design.

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

[5]  James R. Cordy,et al.  A Syntactic Theory of Software Architecture , 1995, IEEE Trans. Software Eng..

[6]  Jeff Magee,et al.  System structuring: a convergence of theory and practice? , 1995 .

[7]  Michael D. Rice,et al.  A Formal Model for Module Interconnection Languages , 1994, IEEE Trans. Software Eng..

[8]  David Garlan,et al.  Formalizing architectural connection , 1994, Proceedings of 16th International Conference on Software Engineering.

[9]  Naranker Dulay,et al.  Regis: a constructive development environment for distributed programs , 1994, Distributed Syst. Eng..

[10]  Jeff Kramer Configuration programming-a framework for the development of distributable systems , 1990, COMPEURO'90: Proceedings of the 1990 IEEE International Conference on Computer Systems and Software Engineering@m_Systems Engineering Aspects of Complex Computerized Systems.

[11]  David Garlan,et al.  Beyond definition/use: architectural interconnection , 1994 .

[12]  Mario Barbacci,et al.  Durra: a structure description language for developing distributed applications , 1993, Softw. Eng. J..

[13]  James M. Purtilo,et al.  A Packaging System For Heterogeneous Execution Environments , 1991, IEEE Trans. Software Eng..

[14]  Judy M. Bishop Languages for configuration programming: a comparison , 1994 .

[15]  Mary Shaw,et al.  Abstractions for Software Architecture and Tools to Support Them , 1995, IEEE Trans. Software Eng..

[16]  Rubén Prieto-Díaz,et al.  Module interconnection languages , 1986, J. Syst. Softw..

[17]  Naranker Dulay,et al.  Structuring parallel and distributed programs , 1993, Softw. Eng. J..

[18]  Brian Dobbing Experiences with the partitions model , 1993, ALET.

[19]  James M. Purtilo,et al.  The POLYLITH software bus , 1994, TOPL.