skip to main content
10.1145/2430475.2430480acmotherconferencesArticle/Chapter ViewAbstractPublication PagesinternetwareConference Proceedingsconference-collections
short-paper

Dynamic software architectures: formal specification and verification with CSP

Published: 30 October 2012 Publication History

Abstract

Compared to the traditional software architecture, Dynamic Software Architectures (DSAs) should be able to describe the changes of the system and to effect modifications during system execution, especially for dynamic evolution. To reflect the changes during system execution, we present a formalism for describing architecture structure and interaction behavior, and we also specify four evolution rules for software architecture. Our work expands the idea in three directions. The first is to formalize the architecture structure and interaction behavior including components, connectors and an architectural reference model. The second direction is that we formalize four dynamic evolution rules which DSAs should support, that is, addition, removal, replacement and reconfiguration. Another direction is that we verify software architecture consistency and integrity after dynamic evolution. We use a client/server application as a running example throughout the paper to demonstrate our approach. Our work provides a precise formal specification for software architecture and a rigorous verification for dynamic evolution.

References

[1]
Yang Fuqing, Lu Jian, Mei Hong. Technical framework for Internetware: An architecture centric approach. Science in China, Series F, Springer, 2008 51 (6): 610--622
[2]
Torkar, R.: Dynamic software architectures. In: Crnkovic, I., Larsson, M. (eds.) Building Reliable Component-based Systems, ch. 3, pp. 44--44. Artech House (2002)
[3]
Hongzhen Xu, Guosun Zeng. Specification and verification of dynamic evolution of software architectures. Journal of Systems Architecture - Embedded Systems Design 56(10): 523--533 (2010)
[4]
Le Métayer. Describing software architectural styles using graph grammars. IEEE Transactions on Software Engineering, 24(7), July 1998, pp. 521--533.
[5]
D. Hirsch, P. Inverardi, and U. Montanari, "Graph grammars and constraint solving for software architecture styles," in Proceedings of the third international workshop on Software architecture, pp. 69--72, ACM Press, 1998.
[6]
M Wermelinger. Towards a chemical model for software architecture reconfiguration, IEEE proceeding Software, 1998(5):130--136.
[7]
Koomen, C. (1991). "Calculus of Communicating Systems." The Design of Communicating Systems: 11--26.
[8]
Hoare, C. A. R. Communicating sequential processes. Commun. ACM 21, 8 (Aug. 1978), 666--677.
[9]
R. Milner. The polyadic -calculus: a tutorial. In Logic and Algebra of Specification. Springer Verlag, 1993.
[10]
R. Allen, R. Douence, and D. Garlan. Specifying and analyzing dynamic software architectures. In Proc. of the 1st Int. Conf. on Fundamental Approaches to Software Engineering (FASE'98), 1998.
[11]
J. Magee, N. Dulay, S. Eisenbach and J. Kramer, "Specifying Distributed Software Architectures," Proc. Fifth European Software Eng. Conf. (ESEC "95), Sept. 1995.
[12]
M. Endler and J. Wei. Programming generic dynamic reconfigurations for distributed applications. In Proc. of the Int. Work on Configurable Distributed Systems, pages 68--79. IEEE, 1992.
[13]
Nazareno Aguirre, Tom Maibaum, A Temporal Logic Approach to the Specification of Reconfigurable Component-Based Systems, Proceedings of the 17th IEEE international conference on Automated software engineering, p.271, September 23-27, 2002.
[14]
V. C. C. de Paula. ZCL: A Formal Framework for Specifying Dynamic Software Architectures. PhD thesis, Federal University of Pernambuco, 1999.
[15]
Robert B. Allen, David Garlan, A Formal Approach to Software Architectures, Proceedings of the IFIP 12th World Computer Congress on Algorithms, Software, Architecture - Information Processing '92, Volume 1, p.134--141, September 07-11, 1992
[16]
D. Garlan, R. Monroe, and D. Wile. Acme: Architectural Description of Component-Based Systems, chapter 3.In {11}, 2000.
[17]
Gregory Zelesnik, The UniCon Language Reference Manual. School of Computer Science Carnegie Mellon University, Pittsburgh, Pennsylvania. http://www.cs.cmu.edu/~UniCon/reference-manual/Reference_Manual_1.html
[18]
Mei, H., Chen, F., Wang, Q. X., and Feng, Y. D. 2002. ABC/ADL: An ADL Supporting Component Composition. In Proceedings of 4th International Conference on Formal EngineeringMethods, pp. 38--47
[19]
Luckham, D. 1996. Rapide: A Language and To olset for Simulation of Distributed Systems by Partial Ordering of Events. Stanford University, Palo Alto, CA. CSL-TR-96-705.
[20]
Flavio Oquendo, π-ADL: an Architecture Description Language based on the higher-order typed π-calculus for specifying dynamic and mobile software architectures, ACM SIGSOFT Software Engineering Notes, v.29 n.3, May 2004
[21]
F. Oquendo. Dynamic software architectures: formally modeling structure and behavior with π -ADL. The International Conference on Software Engineering Advances, ICSEA'08, Sliema, Malta, October 2008, 352--359.
[22]
Aspect Oriented Software Development homepage.http://aosd.net
[23]
Lau, Y., Zhao, W., Peng, X., Chen, Y., Jiang, Z.: A unified formal model for supporting aspect-oriented dynamic software architecture. International Conference on Convergence Information Technology, ICCIT'2007, 450--455
[24]
Yuankai Wu, Yijian Wu, Xin Peng, Wenyun Zhao. Implementing Self-Adaptive Software Architecture by Reflective Component Model and Dynamic AOP: A Case Study. 10th International Conference on Quality Software, 2010, 288--293
[25]
Jennifer Pérez, Isidro Ramos, Javier Jaén, Patricio Letelier, Elena Navarro, PRISMA: Towards Quality, Aspect Oriented and Dynamic Software Architectures, Proceedings of the Third International Conference on Quality Software, p.59, November 06-07, 2003
[26]
Kacem, M. H., M. Jmaiel, et al. Using UML2. 0 and GG for describing the dynamic of software architectures, Proceedings of the Third International Conference on Information Technology and Applications (ICITA'05), 2005, 46--51.
[27]
W. P. Jiao and H. Mei, "Automated adaptations to dynamic software architectures by using autonomous agents," Eng. Appl. Artif. Intell, vol. 17, no. 7, pp. 749--770, 2004.

Cited By

View all
  • (2019)Modeling and Verifying Dynamic Architectures with FACTum StudioFormal Aspects of Component Software10.1007/978-3-030-40914-2_13(243-251)Online publication date: 23-Oct-2019

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
Internetware '12: Proceedings of the Fourth Asia-Pacific Symposium on Internetware
October 2012
204 pages
ISBN:9781450318884
DOI:10.1145/2430475
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

  • NJU: Nanjing University
  • Tsinghua University: Tsinghua University
  • CCF: China Computer Federation

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 30 October 2012

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. consistency
  2. dynamic evolution
  3. dynamic software architecture
  4. formal method
  5. integrity
  6. process algebra
  7. software architecture

Qualifiers

  • Short-paper

Funding Sources

Conference

Internetware '12
Sponsor:
  • NJU
  • Tsinghua University
  • CCF

Acceptance Rates

Overall Acceptance Rate 55 of 111 submissions, 50%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 07 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2019)Modeling and Verifying Dynamic Architectures with FACTum StudioFormal Aspects of Component Software10.1007/978-3-030-40914-2_13(243-251)Online publication date: 23-Oct-2019

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