skip to main content
10.1145/1294917.1294918acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
Article

Rethinking software connectors

Published: 03 September 2007 Publication History

Abstract

Existing work on software connectors shows significant disagreement on both their definition and their relationships with components, coordinators and adaptors. We propose a precise characterisation of connectors, discuss how they relate to the other three classes, and contradict the suggestion that connectors and components are disjoint. We discuss the relationship between connectors and coupling, and argue the inseparability of connection models from component programming models. Finally we identify the class of configuration languages, show how it relates to primitive connectors and outline relevant areas for future work.

References

[1]
F. Achermann and O. Nierstrasz. Applications = components + scripts. In Software Architectures and Component Technology, pages 261--292. Kluwer, 2001.
[2]
R. Allen and D. Garlan. A formal basis for architectural connection. ACM Transactions on Software Engineering and Methodology, 6(3):213--249, 1997.
[3]
C. Andreae, J. Noble, S. Markstrum, and T. Millstein. A framework for implementing pluggable type systems. ACM SIGPLAN Notices, 41(10):57--74, 2006.
[4]
F. Arbab and F. Mavaddat. Coordination through channel composition. Coordination Languages and Models: Proc. Coordination, 2315:21--38, 2002.
[5]
M. Barbosa and L. Barbosa. Specifying software connectors. 1st International Colloquium on Theorectical Aspects of Computing (ICTAC '04), pages 53--68, 2004.
[6]
J. Callahan and J. Purtilo. A packaging system for heterogeneous execution environments. Software Engineering, IEEE Transactions on, 17(6):626--635, 1991.
[7]
N. Carriero and D. Gelernter. Linda in context. Communications of the ACM, 32(4):444--458, 1989.
[8]
L. de Alfaro and T. Henzinger. Interface automata. Proceedings of the 8th European software engineering conference, pages 109--120, 2001.
[9]
R. DeLine. Avoiding packaging mismatch with flexible packaging. Software Engineering, IEEE Transactions on, 27(2):124--143, 2001.
[10]
S. Edwards and B. Weide. WISR8: 8th annual workshop on software reuse: summary and working group reports. ACM SIGSOFT Software Engineering Notes, 22(5):17--32, 1997.
[11]
E. Eide, A. Reid, J. Regehr, and J. Lepreau. Static and dynamic structure in design patterns. Proceedings of the 24th international conference on Software engineering, pages 208--218, 2002.
[12]
E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design patterns: elements of reusable object-oriented software. Addison-Wesley Longman Publishing Co., Inc. Boston, MA, USA, 1995.
[13]
D. Garlan, R. Allen, and J. Ockerbloom. Architectural mismatch or why it's hard to build systems out of existing parts. Proceedings of the 17th international conference on Software engineering, pages 179--185, 1995.
[14]
D. Gelernter and N. Carriero. Coordination languages and their significance. Communications of the ACM, 35(2):97--107, 1992.
[15]
S. Gorlatch. Send-receive considered harmful: Myths and realities of message passing. ACM Transactions on Programming Languages and Systems (TOPLAS), 26(1):47--56, 2004.
[16]
C. Haack, B. Howard, A. Stoughton, and J. Wells. Fully automatic adaptation of software components based on semantic specifications. Algebraic Methodology & Softw. Tech., 9th Int'l Conf., AMAST, 2002.
[17]
M. Henning. The rise and fall of CORBA. ACM Queue, 4(5):28--34, 2006.
[18]
G. Kiczales, J. Lamping, A. Menhdhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-oriented programming. In M. Aksit and S. Matsuoka, editors, 11th European Conference in Object Oriented Programming, volume 1241, pages 220--242, Berlin, Heidelberg, and New York, 1997. Springer-Verlag.
[19]
A. Lopes, M. Wermelinger, and J. Fiadeiro. Higher-order architectural connectors. ACM Transactions on Software Engineering and Methodology, 12(1):64--104, 2003.
[20]
D. Luckham, J. Kenney, L. Augustin, J. Vera, D. Bryan, and W. Mann. Specification and analysis of system architecture using Rapide. IEEE Transactions on Software Engineering, 21(4):336--354, 1995.
[21]
J. Magee, N. Dulay, S. Eisenbach, and J. Kramer. Specifying distributed software architectures. Proceedings of the 5th European Software Engineering Conference, pages 137--153, 1995.
[22]
S. McDirmid, M. Flatt, and W. Hsieh. Jiazzi: new-age components for old-fasioned Java. Proceedings of the 16th ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications, pages 211--222, 2001.
[23]
N. Mehta, N. Medvidovic, and S. Phadke. Towards a taxonomy of software connectors. Proceedings of the 22nd international conference on Software engineering, pages 178--187, 2000.
[24]
R. Milner, J. Parrow, and D. Walker. A calculus of mobile processes, i. Information and Computation, 100(1):1--40, 1992.
[25]
D. Parnas. On the criteria to be used in decomposing systems into modules. Communications of the ACM, 15(12):1053--1058, 1972.
[26]
D. Perry and A. Wolf. Foundations for the study of software architecture. ACM SIGSOFT Software Engineering Notes, 17(4):40--52, 1992.
[27]
J. Purtilo and J. Atlee. Module reuse by interface adaptation. Software -- Practice and Experience, 21(6):539--556, 1991.
[28]
A. Reid, M. Flatt, L. Stoller, J. Lepreau, and E. Eide. Knit: Component composition for systems software. Proc. of the 4th Operating Systems Design and Implementation (OSDI), pages 347--360, 2000.
[29]
R. Reussner. Automatic component protocol adaptation with the CoConut/J tool suite. Future Generation Computer Systems, 19(5):627--639, 2003.
[30]
C. Shannon and W. Weaver. A mathematical theory of communication. University of Illinois Press, 1949.
[31]
M. Shaw. Procedure calls are the assembly language of software interconnection: Connectors deserve first-class status. In ICSE Workshop on Studies of Software Design, pages 17--32, 1993.
[32]
M. Shaw. Architectural issues in software reuse: It's not just the functionality, it's the packaging. Proceedings of the IEEE Symosium on Software Reusability, 1995.
[33]
H. Sutter and T. Plum. Why we can't afford export. ISO C++ committee paper ISO/IEC JTC1/SC22/WG21 N1426, Mar. 2003.
[34]
T. Ts'o. Microsoft "embraces and extends" Kerberos v5. Usenix; login: Windows NT Special Issue, Nov. 1997.
[35]
D. Yellin and R. Strom. Protocol specifications and component adaptors. ACM Transactions on Programming Languages and Systems, 19(2):292--333, 1997.
[36]
N. Zelnick. Nifty technology and nonconformance: the web in crisis. Computer, 31(10):115--116, 1998.

Cited By

View all
  • (2013)A clustered manycore processor architecture for embedded and accelerated applications2013 IEEE High Performance Extreme Computing Conference (HPEC)10.1109/HPEC.2013.6670342(1-6)Online publication date: Sep-2013
  • (2013)A Distributed Run-Time Environment for the Kalray MPPA®-256 Integrated Manycore ProcessorProcedia Computer Science10.1016/j.procs.2013.05.33318(1654-1663)Online publication date: 2013
  • (2011)PoplarProceedings of the 2nd workshop on Free composition @ onward! 201110.1145/2089172.2089175(7-12)Online publication date: 23-Oct-2011
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SYANCO '07: International workshop on Synthesis and analysis of component connectors: in conjunction with the 6th ESEC/FSE joint meeting
September 2007
39 pages
ISBN:9781595937209
DOI:10.1145/1294917
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 03 September 2007

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

ESEC/FSE07
Sponsor:

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)6
  • Downloads (Last 6 weeks)0
Reflects downloads up to 16 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2013)A clustered manycore processor architecture for embedded and accelerated applications2013 IEEE High Performance Extreme Computing Conference (HPEC)10.1109/HPEC.2013.6670342(1-6)Online publication date: Sep-2013
  • (2013)A Distributed Run-Time Environment for the Kalray MPPA®-256 Integrated Manycore ProcessorProcedia Computer Science10.1016/j.procs.2013.05.33318(1654-1663)Online publication date: 2013
  • (2011)PoplarProceedings of the 2nd workshop on Free composition @ onward! 201110.1145/2089172.2089175(7-12)Online publication date: 23-Oct-2011
  • (2010)A uniform approach to communication and computationProceedings of the 6th International Wireless Communications and Mobile Computing Conference10.1145/1815396.1815545(646-650)Online publication date: 28-Jun-2010
  • (2009)Component Based Middleware-Synthesis for AUTOSAR Basic SoftwareProceedings of the 2009 IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing10.1109/ISORC.2009.47(236-243)Online publication date: 17-Mar-2009
  • (2009)A perspective on service orchestrationScience of Computer Programming10.1016/j.scico.2008.09.01974:9(671-687)Online publication date: 1-Jul-2009

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media