Nothing Special   »   [go: up one dir, main page]

skip to main content
article
Free access

A formal basis for architectural connection

Published: 01 July 1997 Publication History

Abstract

As software systems become more complex, the overall system structure—or software architecture—becomes a central design problem. An important step toward an engineering discipline of software is a formal basis for describing and analyzing these designs. In the article we present a formal approach to one aspect of architectural design: the interactions among components. The key idea is to define architectural connectors as explicit semantic entities. These are specified as a collection of protocols that characterize each of the participant roles in an interaction and how these roles interact. We illustrate how this scheme can be used to define a variety of common architectural connectors. We further provide a formal semantics and show how this leads to a system in which architectural compatibility can be checked in a way analogous to type-checking in programming languages.

References

[1]
ABOWD, G., ALLEN, R., AND GARLAN, D. 1995. Formalizing style to understand descriptions of software architecture. ACM Trans. Softw. Eng. Methodol. 4, 4 (Oct.).
[2]
ALLEN, R. J. 1997. A formal approach to software architecture. Ph.D. thesis, School of Computer Science, Carnegie Mellon Univ., Pittsburgh, Pa., May.
[3]
BROOKES, S. D. AND ROSCOE, A.W. 1985. An improved failures model for communicating processes. In Proceedings of the NSF-SERC Seminar on Concurrency. Lecture Notes in Computer Science, vol. 197. Springer-Verlag, Berlin.
[4]
BURCH, J. R., CLARKE, E. M., MCMILLAN, K. L., DILL, D. L., AND HWANG, J. 1990. Symbolic model checking: 1020 states and beyond. In Proceedings of the 5th Annual IEEE Symposium on Logic in Computer Science. IEEE, New York.
[5]
CAMERON, J. 1989. JSP and JSD: The Jackson Approach to Software Development. IEEE Computer Society Press, Los Alamitos, Calif.
[6]
CLARKE, E., EMERSON, E. A., AND SISTLA, A.P. 1986. Automatic verification of finite state concurrent systems using temporal logic specifications. ACM Trans. Program. Lang. Syst. 8, 2 (Apr.), 244-263.
[7]
DARPA. 1990. Proceedings of the Workshop on Domain-Specific Software Architectures. Software Engineering Institute, Pittsburgh, Pa.
[8]
ESTRIN, G., FENCHELL, R. S., RAZOUK, R. R., AND VERNON, M. K. 1986. Sara (system architects apprentice): Modelling, analysis, and simulation support for design of concurrent systems. IEEE Trans. Softw. Eng. SE-12, 2 (Feb.), 293-311.
[9]
FORMAL SYSTEMS. 1992. Failures Divergence Refinement: User Manual and Tutorial. 1.2~ ed. Formal Systems (Europe), Oxford, U.K.
[10]
GARLAN, D., Ed. 1995. Proceedings of the 1st International Workshop on Architectures for Software Systems (Seattle, Wash., Apr.). Available as CMU Tech. Rep. CMU-CS-95-151. Apr.
[11]
GARLAN, D. AND PERRY, D., Eds. 1995. Special issue on software architecture. IEEE Trans. Softw. Eng. 21, 4 (Apr.).
[12]
GREEN, P. AND GRIFFIN, T. 1995. Specification for the RTIS HLA/RTI implementation. Tech. Rep. RTIS10951, The Real-Time Intelligent Systems Corp., Westborough, Mass., Oct.
[13]
HAREL, D. 1987. Statecharts: A visual formalism for complex systems. Sci. Comput. Program. 8, 3, 231-274.
[14]
HOARE, C. A. R. 1985. Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs, N.J.
[15]
HOLZMANN, G.J. 1991. Design and Validation of Computer Protocols. Prentice-Hall, Englewood Cliffs, N.J.
[16]
INVERARDI, P. AND WOLF, A. 1995. Formal specification and analysis of software architectures using the chemical, abstract machine model. IEEE Trans. Softw. Eng. 21, 4 (Apr.), 373-386.
[17]
JACOB, J. 1989. Refinement of shared systems. In The Theory and Practice of Refinement, J. A. McDermid, Ed. Butterworths, London, U.K.
[18]
JIFENG, H. 1990. Specification and design of the X.25 protocol: A case study in csp. In Developments in Concurrency and Communication, C. A. R. Hoare, Ed. Addison-Wesley, Reading, Mass.
[19]
LAM, S. S. AND SHANKAR, A.U. 1994. A theory of interfaces and modules i--Composition theorem. IEEE Trans. Softw. Eng. 20, 1 (Jan.).
[20]
LARSEN, K. G. AND MILNER, R. 1986. A complete protocol verification using relativized bisumulation. Tech. Rep. ECS-LFCS-86-13, Univ. of Edinburgh Laboratory for Foundations of Computer Science, Edinburgh, U.K.
[21]
LUCKHAM, D. C., AUGUSTIN, L. M., KENNEY, J. J., VERA, J., BRYAN, D., AND MANN, W. 1995. Specification and analysis of system architecture using Rapide. IEEE Trans. Softw. Eng. 21, 4 (Apr.), 336-355.
[22]
LYNCH, N. A. AND TUTTLE, M.R. 1988. An introduction to input/output automata. Tech. Rep. MIT/LCS/TM-373, MIT Laboratory for Computer Science, Cambridge, Mass.
[23]
MAGEE, J., DULAY, N., EISENBACH, S., AND KRAMER, J. 1995. Specifying distributed software architectures. In Proceedings of the 5th European Software Engineering Conference, ESEC'95. Sept.
[24]
METTALA, E. AND GRAHAM, M.H. 1992. The domain-specific software architecture program. Tech. Rep. CMU/SEI-92-SR-9, Software Engineering Institute, Pittsburgh, Pa.
[25]
MILNER, R., FARROW, J., AND WALKER, D. 1992. A calculus of mobile processes. J. Inf. Comput. 100, 1-77.
[26]
NIERSTRASZ, O. 1993. Regular types for active objects. In Proceedings of OOPSLA '93. ACM SIGPLAN Not. 28, 10 (Oct.), 1-15.
[27]
NII, H.P. 1986a. Blackboard systems. Part 1. AI Mag. 7, 3, 38-53.
[28]
NII, H.P. 1986b. Blackboard systems. Part 2. AI Mag. 7, 4, 62-69.
[29]
PERRY, D.E. 1987. Software interconnection models. In Proceedings of the 9th International Conference on Software Engineering. IEEE Computer Society Press, Los Alamitos, Calif., 61-68.
[30]
PETERSON, J.L. 1977. Petri nets. ACM Comput. Surv. 9, 3 (Sept.), 223-252.
[31]
PRIETO-DIAZ, R. AND NEIGHBORS, J. M. 1986. Module interconnection languages. J. Syst. Softw. 6, 4 (Nov.), 307-334.
[32]
PURTILO, J.M. 1994. The POLYLITH software bus. ACM Trans. Program. Lang. Syst. 16, 1 (Jan.), 151-174.
[33]
REISS, S.P. 1990. Connecting tools using message passing in the Field Environment. IEEE Softw. 7, 4 (July), 57-66.
[34]
REPS, T. AND TEITELBAUM, T. 1989. The Synthesizer Generator: A System for Constructing Language-Based Editors. Springer-Verlag, Berlin.
[35]
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.
[36]
SHAW, M. AND GARLAN, D. 1995. Formulations and formalisms in software architecture. In Computer Science Today: Recent Trends and Developments, J. van Leeuwen, Ed. Lecture Notes in Computer Science, vol. 1000. Springer-Verlag, Berlin.
[37]
SHAW, M. AND GARLAN, D. 1996. Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, Englewood Cliffs, N.J.
[38]
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.
[39]
YELLIN, D. M. AND STROM, R.E. 1994. Interfaces, protocols, and the semi-automatic construction of software adaptors. In Proceedings of OOPSLA'94. ACM, New York.

Cited By

View all
  • (2024)A Domain-Specific Language for Reconfigurable, Distributed SoftwareInternational Journal of Networking and Computing10.15803/ijnc.14.1_4014:1(40-80)Online publication date: 2024
  • (2024)Towards An Architecture Description Language for Hybrid Quantum-Classical Systems2024 IEEE International Conference on Quantum Software (QSW)10.1109/QSW62656.2024.00016(19-23)Online publication date: 7-Jul-2024
  • (2023)Enhancing UML Connectors with Behavioral ALF Specifications for Exogenous Coordination of Software ComponentsApplied Sciences10.3390/app1301064313:1(643)Online publication date: 3-Jan-2023
  • Show More Cited By

Recommendations

Reviews

Markus Wolf

Allen and Garlan present a formal approach to the description of the architectural design of interacting components of a software system. The intention of the approach is to extend traditional methods of formalizing architectural design (Interface Definition Languages and Module Interconnection Languages) to handle the interaction between communicating components. In the first few sections, this motivation is discussed extensively. These sections also distinguish between the common focus of design descriptions, which are based on hierarchical definition/use principles, and the needs of interactive systems, where the components act independently at the same hierarchical level. After a short discussion of the requirements that the authors expect a suitable formalism for interactive systems to fulfill, they describe the particular approach they have chosen and have embedded in an architectural description language called WRIGHT. The language divides a system into components and connectors, where the connectors serve as an abstraction of the interaction behavior of the system. The connectors consist of roles describing the expected local behavior of interacting components and a “glue” specification determining their interaction obligations. These concepts are illustrated by examples. A notation derived from CSP is used to describe roles and glues. CSP is also used as a semantic foundation for the language. Using CSP as a semantic foundation enables the authors to use existing analysis tools to prove such properties as deadlock freedom and compatibility of components. These technical issues are discussed extensively in the later sections. The paper finishes with a discussion of the design decisions of the proposed formalism. The paper explains the formalisms and concepts in clear, crisp language, and I could find only one typo (in Definition 10.2, P should be replaced by S ). At first sight, the discussions seem to be overly long, but the topic is relatively new, and a proper justification seems to be helpful.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Transactions on Software Engineering and Methodology
ACM Transactions on Software Engineering and Methodology  Volume 6, Issue 3
July 1997
119 pages
ISSN:1049-331X
EISSN:1557-7392
DOI:10.1145/258077
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 July 1997
Published in TOSEM Volume 6, Issue 3

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. WRIGHT
  2. formal models
  3. model-checking
  4. module interconnection
  5. software analysis

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)199
  • Downloads (Last 6 weeks)23
Reflects downloads up to 22 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)A Domain-Specific Language for Reconfigurable, Distributed SoftwareInternational Journal of Networking and Computing10.15803/ijnc.14.1_4014:1(40-80)Online publication date: 2024
  • (2024)Towards An Architecture Description Language for Hybrid Quantum-Classical Systems2024 IEEE International Conference on Quantum Software (QSW)10.1109/QSW62656.2024.00016(19-23)Online publication date: 7-Jul-2024
  • (2023)Enhancing UML Connectors with Behavioral ALF Specifications for Exogenous Coordination of Software ComponentsApplied Sciences10.3390/app1301064313:1(643)Online publication date: 3-Jan-2023
  • (2023)A Domain-Specific Language for Reconfigurable, Distributed Software Architecture2023 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)10.1109/IPDPSW59300.2023.00063(335-344)Online publication date: May-2023
  • (2023)Specification and Verification of Communication Paradigms for CBSE in Event B2023 27th International Conference on Engineering of Complex Computer Systems (ICECCS)10.1109/ICECCS59891.2023.00028(157-166)Online publication date: 14-Jun-2023
  • (2023)Interaction detection in configurable systems – A formal approach featuring rolesJournal of Systems and Software10.1016/j.jss.2022.111556196:COnline publication date: 1-Feb-2023
  • (2023)A Formal Web Services Architecture Model for Changing PUSH/PULL Data TransferFormal Aspects of Component Software10.1007/978-3-031-52183-6_4(65-83)Online publication date: 26-Oct-2023
  • (2023)Enriching Heraklit Modules by Agent Interaction DiagramsApplication and Theory of Petri Nets and Concurrency10.1007/978-3-031-33620-1_23(440-463)Online publication date: 25-Jun-2023
  • (2023)Improving the Quality of Open Source SoftwareAgile Software Development10.1002/9781119896838.ch16(309-323)Online publication date: 8-Feb-2023
  • (2022)Forecasting Telecommunication Network States on the Basis of Log Patterns Analysis and Knowledge Graphs ModelingInternational Journal of Embedded and Real-Time Communication Systems10.4018/IJERTCS.31146413:1(1-27)Online publication date: 26-Oct-2022
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media