Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

Higher-order architectural connectors

Published: 01 January 2003 Publication History

Abstract

We develop a notion of higher-order connector towards supporting the systematic construction of architectural connectors for software design. A higher-order connector takes connectors as parameters and allows for services such as security protocols and fault-tolerance mechanisms to be superposed over the interactions that are handled by the connectors passed as actual arguments. The notion is first illustrated over CommUnity, a parallel program design language that we have been using for formalizing aspects of architectural design. A formal, algebraic semantics is then presented which is independent of any Architectural Description Language. Finally, we discuss how our results can impact software design methods and tools.

References

[1]
Allen, R. and Garlan, D. 1997. A formal basis for architectural connectors. ACM Trans. Softw. Eng. Meth. 6, 3 (July), 213--249.]]
[2]
Andrade, L., Fiadeiro, J. L., Gouveia, J., Lopes, A. and Wermelinger, M. 2000. Patterns for coordination. In Proceedings of COORDINATION'00, G. Catalin-Roman and A. Porto, Eds. Lecture Notes in Computer Science, vol. 1906. Springer-Verlag, New York, 317--322.]]
[3]
Banâtre, J. P. and Le Métayer, D. 1993. Programming by multiset transformation. Commun. ACM 16, 1, 55--77.]]
[4]
Bass, L., Clements, P., and Kasman, R. 1998. Software Architecture in Practice. Addison-Wesley, Reading, Mass.]]
[5]
Biagioni, E., Harper, R., Lee, P., and Milnes, B. 1994. Signatures for a network protocol stack: A system application of standard ML. In Proceedings of the ACM Conference on LISP and Functional Programming. ACM, New York, pp. 55--64.]]
[6]
Bosch, J. 1999. Superimposition: A component adaptation technique. Inf. Softw. Tech.]]
[7]
Chandy, K. and Misra, J. 1988. Parallel Program Design---A Foundation. Addison-Wesley, Reading, Mass.]]
[8]
Denker, G., Meseguer, J., and Talcott, C. 1999. Rewriting semantics of meta-objects and composable distributed services. Internal report, Computer Science Laboratory, SRI International.]]
[9]
Ehrig, H. and Mahr, B. 1985. Fundamentals of Algebraic Specification I: Equations and Initial Semantics. Springer-Verlag, New York.]]
[10]
Fiadeiro, J. L., Lopes, A., and Wermelinger, M. 2003. A mathematical semantics for architectural connectors. In Generic Programming, R. Backhouse and J. Gibbons, Eds. Lecture Notes in Computer Science. Springer-Verlag, in print.]]
[11]
Fiadeiro, J. L. and Maibaum, T. 1997. Categorical semantics of parallel program design. Sci. Comput. Prog. 28, 111--138.]]
[12]
Francez, N. and Forman, I. 1996. Interacting Processes. Addison-Wesley, Reading, Mass.]]
[13]
Garlan, D. 1998. Higher-order connectors. Position paper for the Workshop on Compositional Software Architectures, Jan.]]
[14]
Gelernter, D. and Carriero, N. 1992. Coordination languages and their significance. Commun. ACM 35, 2, 97--107.]]
[15]
Goguen, J. 1973. Categorical foundations for general systems theory. In Advances in Cybernetics and Systems Research, F. Pichler and R. Trappl, Eds. Transcripta Books, pp. 121--130.]]
[16]
Goguen, J. 1996. Parametrised programming and software architecture. In Symposium on Software Reusability. IEEE Computer Society Press, Los Alamitos, Calif.]]
[17]
Gouveia, J., Koutsoukos, G., Andrade, L., and Fiadeiro, J. L. 2001. Tool support for coordination-based software evolution. In Technology of Object-Oriented Languages and Systems---TOOLS 38, W. Pree, Ed. IEEE Computer Society Press, Los Alamitos, Calif., pp. 184--196.]]
[18]
Hirsch, D., Uchitel, S., and Yankelevich, D. 1999. Towards a periodic table of connectors. In Proceedings of Simposio en Tecnología de Software (Buenos Aires, Argentina).]]
[19]
Hoare, C. A. R. 1985. Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs., N.J.]]
[20]
Issarny, V., Bidan, C., and Saridakis, T. 1998. Characterizing coordination architectures according to their non-functional execution properties. In Proceedings of the 31st Annual Hawaii International Conference on System Sciences (Jan.). IEEE Computer Society Press, Los Alamitos, Calif., pp. 275--283.]]
[21]
Katz, S. 1993. A superimposition control construct for distributed systems. ACM Trans. Prog. Lang. Syst. 15, 2, 337--356.]]
[22]
Lopes, A. and Fiadeiro, J. L. 1999. Using explicit state to describe architectures. In FASE'99, E. Astesiano, Ed. Lecture Notes in Computer Science, vol. 1577. Springer-Verlag, New York, pp. 144--160.]]
[23]
Magee, J., Kramer, J., and Giannakopoulou, D. 1999. Behaviour analysis of software architectures. In Software Architecture, Kluwer Academic Publishers, pp. 35--50.]]
[24]
Mehta, N., Medvidovic, N., and Phadke, S. 2000. Towards a taxonomy of software connectors. In Proceedings of the 22nd International Conference on Software Engineering. ACM, New York, pp. 178--187.]]
[25]
Moriconi, M. and Qian, X. 1994. Correctness and composition of software architectures. In Proceedings of the 2nd Symposium on the Foundations of Software Engineering. ACM, New York, pp. 164--174.]]
[26]
O'Malley, S. W. and Peterson, L. L. 1992. A dynamic network architecture. ACM Trans. Comput. Syst. 10, 2, 110--143.]]
[27]
Perry, D. and Wolf, A. 1992. Foundations for the study of software architectures. ACM SIGSOFT Softw. Eng. Notes 17, 4, 40--52.]]
[28]
Sassone, V., Nielsen, M., and Winskel, G. 1993. A classification of models for concurrency. In CONCUR'93, E. Best, Ed. Lecture Notes in Computer Science, vol. 715. Springer-Verlag, New York, pp. 82--96.]]
[29]
Shaw, M. 1993. Procedure calls are the assembly language of system interconnection: Connectors deserve first-class status. In Proceedings of the Workshop on Studies of Software Design (May).]]
[30]
Shaw, M., DeLine, R., Klein, D. V., Ross, T. L., Young, D. M., and Zelesnik, G. 1995. Abstractions for software architecture and tools to support them. IEEE Trans. Softw. Eng. 21, 4 (Apr.), 314--335.]]
[31]
Spitznagel, B. and Garlan, D. 2001. A compositional approach for constructing connectors. In The Working IEEE/IFIP Conference on Software Architecture (WICSA'01). Royal Netherlands Academy of Arts and Sciences Amsterdam, The Netherlands.]]
[32]
Wermelinger, M., Lopes, A. and Fiadeiro, J. L. 2000. Superposing connectors. In Proceedings of the 10th International Workshop on Software Specification and Design. IEEE Computer Society Press, Los Alamitos, Calif., pp. 87--94.]]
[33]
Wermelinger, M., Lopes, A., and Fiadeiro, J. L. 2001. A graph based architectural (re)configuration language. In Proceedings of ESEC/FSE'01. ACM, New York, pp. 21--32.]]
[34]
Wermelinger, M. and Oliveira, C. 2002. The CommUnity workbench. In Proceedings of the 24th International Conference on Software Engineering (May), ACM, New York, p. 713.]]

Cited By

View all
  • (2019)Software mediators as first-class entities of systems-of-systems software architecturesJournal of the Brazilian Computer Society10.1186/s13173-019-0089-325:1Online publication date: 20-Aug-2019
  • (2019)Different Glasses to Look into the Three Cs: Component, Connector, CoordinationModels, Languages, and Tools for Concurrent and Distributed Programming10.1007/978-3-030-21485-2_12(191-216)Online publication date: 3-Jul-2019
  • (2018)Towards a Taxonomy of Software Mediators for Systems-of-SystemsProceedings of the VII Brazilian Symposium on Software Components, Architectures, and Reuse10.1145/3267183.3267189(53-62)Online publication date: 17-Sep-2018
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Software Engineering and Methodology
ACM Transactions on Software Engineering and Methodology  Volume 12, Issue 1
January 2003
105 pages
ISSN:1049-331X
EISSN:1557-7392
DOI:10.1145/839268
Issue’s Table of Contents
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]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 January 2003
Published in TOSEM Volume 12, Issue 1

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)0
Reflects downloads up to 30 Aug 2024

Other Metrics

Citations

Cited By

View all
  • (2019)Software mediators as first-class entities of systems-of-systems software architecturesJournal of the Brazilian Computer Society10.1186/s13173-019-0089-325:1Online publication date: 20-Aug-2019
  • (2019)Different Glasses to Look into the Three Cs: Component, Connector, CoordinationModels, Languages, and Tools for Concurrent and Distributed Programming10.1007/978-3-030-21485-2_12(191-216)Online publication date: 3-Jul-2019
  • (2018)Towards a Taxonomy of Software Mediators for Systems-of-SystemsProceedings of the VII Brazilian Symposium on Software Components, Architectures, and Reuse10.1145/3267183.3267189(53-62)Online publication date: 17-Sep-2018
  • (2014)Study on Application of Component-Based Project Management SystemApplied Mechanics and Materials10.4028/www.scientific.net/AMM.644-650.6238644-650(6238-6241)Online publication date: Sep-2014
  • (2014)A specification schema for software connectorsProceedings of the 17th international ACM Sigsoft symposium on Component-based software engineering10.1145/2602458.2602464(139-148)Online publication date: 27-Jun-2014
  • (2013)On-the-Fly Dependable Mediation between Heterogeneous Networked SystemsSoftware and Data Technologies10.1007/978-3-642-36177-7_2(20-37)Online publication date: 2013
  • (2012)The Many Faces of Complexity in Software DesignConquering Complexity10.1007/978-1-4471-2297-5_1(3-47)Online publication date: 2012
  • (2011)Application-Layer Connector SynthesisFormal Methods for Eternal Networked Software Systems10.1007/978-3-642-21455-4_5(148-190)Online publication date: 2011
  • (2010)A Generic Approach to Connector Architectures Part I: The General FrameworkFundamenta Informaticae10.5555/1804273.180427799:1(63-93)Online publication date: 1-Jan-2010
  • (2009)Semantic Description Framework for Architecture-Centric Model TransformationJournal of Software10.3724/SP.J.1001.2009.0057320:8(2113-2123)Online publication date: 13-Nov-2009
  • Show More Cited By

View Options

Get Access

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media