ON THE CORRECTNESS OF SOFTWARE ARCHITECTURES - Formal Specification of Correctness Properties using π-AAL

Flavio Oquendo

2009

Abstract

Software has become a critical part of a rapidly growing range of products and services. Key aspects of the development of such software-intensive systems are the description and analysis of their software architecture, encompassing both the formal model of the component-based architecture and the formal specification of the correctness properties that the modeled architecture must satisfy. Therefore, an Architecture Description Language (ADL) must be complemented by an Architecture Analysis Language (AAL) enabling the specification of architecture-related correctness properties. A major challenge for an AAL is to provide ade-quate expressive power to specify both structural and behavioral correctness properties, and to be well-suited for machine-automated processing for verification, at a time. This paper presents how π-AAL complements π-ADL (designed in the ArchWare European Project) for enabling the specification of architectural correctness properties based on the modal π-calculus. The toolset and its experimentation in industrial pilot projects are outlined.

References

  1. Alloui I., Garavel H., Mateescu R., Oquendo F. (2003). The ArchWare Architecture Analysis Language: Syntax and Semantics. Deliverable D3.1b, ArchWare European RTD Project, IST-2001-32360, January 2003, URL: http://www-valoria.univ-ubs.fr/ ARCHLOG/ArchWare-IST/documents.htm
  2. Barber K.S., Holt J. (2001). Software Architecture Correctness. IEEE Software, November/December 2001.
  3. Bernardo M., Ciancarini P., Donatiello L. (2001). Detecting Architectural Mismatches in Process Algebraic Descriptions of Software Systems. Proceedings of the 2nd Working IEEE/IFIP Conference on Software Architecture, Amsterdam, IEEE-CS Press, August 2001.
  4. Fernandez J-C., Garavel H., Kerbrat A., Mateescu R., Mounier L., Sighireanu M. (1996). CADP (CAESAR/ ALDEBARAN Development Package) - A Protocol Validation and Verification Toolbox. Proceedings of the 8th International Conference on Computer-Aided Verification, New Brunswick, USA, LNCS 1102, Springer, August 1996.
  5. Fischer M.J., Ladner R.E. (1979). Propositional Dynamic Logic of Regular Programs. Journal of Computer and System Sciences, Vol. 18, 1979.
  6. Garavel H. (1989). Compilation and Verification of LOTOS Programmes. PhD Dissertation, Univ. Joseph Fourier (Grenoble), November 1989 (In French).
  7. Garavel H., Lang F., Mateescu R. (2002). An Overview of CADP 2001. European Association for Software Science and Technology (EASST) Newsletter, Vol. 4, August 2002.
  8. Garlan D., Monroe, R., Wile D. (2000). ACME: Architectural Description of Component-Based Systems. Foundations of Component-Based Systems, Leavens G.T, and Sitaraman M. (Eds.), Cambridge Univ. Press, 2000.
  9. Groote J. F., Mateescu R. (1999). Verification of Temporal Properties of Processes in a Setting with Data. Proceedings of the 7th International Conference on Algebraic Methodology and Software Technology, Amazonia, Brazil, LNCS 1548, January 1999.
  10. Heisel M., Levy N. (1997). Using LOTOS Patterns to Characterize Architectural Styles. Proceedings of the International Conference on Theory and Practice of Software Development, LNCS 1214, Springer, 1997.
  11. IEEE Std 1471-2000 (2000). IEEE Recommended Practice for Architectural Description of SoftwareIntensive Systems, October 2000.
  12. Kerschbaumer A. (2002). Non-Refinement Transformation of Software Architectures. Proceedings of the ZB2002 International Workshop on Refinement of Critical Systems: Methods, Tools and Experience, Grenoble, January 2002.
  13. Kozen D. (1983). Results on the Propositional µ-Calculus. Theoretical Computer Science, Vol. 27, 1983.
  14. Kramer J., Magee J., Uchitel S. (2003). Software Architecture Modeling and Analysis: A Rigorous Approach. Formal Methods for Software Architectures, Springer, LNCS 2804, 2003.
  15. Marcos E., Cuesta C.E., Oquendo F. (Eds.) (2007). Special Issue: Software Architecture. International Journal of Cooperative Information Systems (IJCIS), Vol. 16, No. 3/4, September/December 2007.
  16. Mateescu R., Garavel H. (1998). XTL: A Meta-Language and Tool for Temporal Logic Model Checking. Proceedings of the 1st International Workshop on Software Tools for Technology Transfer, Aalborg, Denmark, July 1998.
  17. Medvidovic N., Taylor R. (2000). A Classification and Comparison Framework for Architecture Description Languages. ACM TOSEM, Vol. 26, No. 1, January 2000.
  18. Milner R. (1999). Communicating and Mobile Systems: The -Calculus. Cambridge University Press, 1999.
  19. Monroe R. (2001). Capturing Software Architecture Design Expertise with ARMANI. Technical Report CMU-CS-98-163, Carnegie Mellon University, January 2001.
  20. OASIS (2008). Reference Architecture for Service Oriented Architecture, V. 1.0, OASIS Standard, 23 April 2008, URL: http://docs.oasis-open.org/soarm/soa-ra/v1.0/soa-ra-pr-01.html.
  21. Oquendo F. (2004). -ADL: An Architecture Description Language based on the Higher Order Typed - Calculus for Specifying Dynamic and Mobile Software Architectures. ACM Software Engineering Notes, Vol. 29, No. 3, May 2004.
  22. Oquendo F. (2006). Formally Modeling Software Architectures with the UML 2.0 Profile for -ADL. ACM Software Engineering Notes, Vol. 31, No. 1, January 2006.
  23. Oquendo F. (Ed.) (2007). Proceedings of the European Conference on Software Architecture (ECSA'07). LNCS 4758, Springer, September 2007.
  24. Oquendo F., Warboys B., Morrison R., Dindeleux R., Gallo F., Garavel H., Occhipinti C. (2004). ArchWare: Architecting Evolvable Software. Software Architecture. Software Architecture, LNCS 3047, Springer, May 2004.
  25. Rongviriyapanish S., Levy N. (2000). Variations on the Pipe and Filter Architectural Style. Proceedings of AFADL 2000, Grenoble, France, January 2000 (In French).
  26. Sangiorgi, D. (1992). Expressing Mobility in Process Algebras: First-Order and Higher-Order Paradigms. PhD Thesis, University of Edinburgh, 1992.
  27. Stirling C. (2001). Modal and Temporal Properties of Processes. Springer, 2001.
Download


Paper Citation


in Harvard Style

Oquendo F. (2009). ON THE CORRECTNESS OF SOFTWARE ARCHITECTURES - Formal Specification of Correctness Properties using π-AAL . In Proceedings of the 4th International Conference on Software and Data Technologies - Volume 1: ICSOFT, ISBN 978-989-674-009-2, pages 208-217. DOI: 10.5220/0002256302080217


in Bibtex Style

@conference{icsoft09,
author={Flavio Oquendo},
title={ON THE CORRECTNESS OF SOFTWARE ARCHITECTURES - Formal Specification of Correctness Properties using π-AAL},
booktitle={Proceedings of the 4th International Conference on Software and Data Technologies - Volume 1: ICSOFT,},
year={2009},
pages={208-217},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0002256302080217},
isbn={978-989-674-009-2},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 4th International Conference on Software and Data Technologies - Volume 1: ICSOFT,
TI - ON THE CORRECTNESS OF SOFTWARE ARCHITECTURES - Formal Specification of Correctness Properties using π-AAL
SN - 978-989-674-009-2
AU - Oquendo F.
PY - 2009
SP - 208
EP - 217
DO - 10.5220/0002256302080217