skip to main content
article

π-AAL: an architecture analysis language for formally specifying and verifying structural and behavioural properties of software architectures

Published: 01 March 2006 Publication History

Abstract

A key aspect of the design of any software system is its architecture. An architecture description, from a runtime perspective, provides a formal representation of the architecture in terms of its components and connectors, their ports and behaviours, and how they are composed together. In the past decade, several Architecture Description Languages (ADLs) have been defined for representing the structure and behaviour of software architectures. However, describing the structure and behaviour of an architecture in terms of a configuration of components and connectors is needed, but it is not enough. Indeed, in addition to representing software architectures, we need to rigorously specify their required and desired architectural properties, in particular related to completeness, consistency and correctness. This article presents π-AAL, a novel Architecture Analysis Language (AAL) that has been designed in the ArchWare European Project to address formal analysis of software architectures. It is a formal, well-founded theoretically language based on the modal μ-calculus designed to enable the specification of structural and behavioural properties and their verification using an analytical toolset based on theorem proving and model checking techniques.

References

[1]
Abrial J.-R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press, 1996.]]
[2]
Allen R.: A Formal Approach to Software Architectures. PhD Thesis Carnegie Mellon University, 1997.]]
[3]
Allen R., Douence R., Garlan D.: Specifying and Analyzing Dynamic Software Architectures. In Fundamental Approaches to Software Engineering, LNCS 1382, Springer Verlag, 1998.]]
[4]
Alloui I., Garavel H., Mateescu R., Oquendo F.: The ArchWare Architecture Analysis Language: Syntax and Semantics. Deliverable D3.1b, ArchWare European RTD Project, IST-2001-32360, January 2003.]]
[5]
Alloui I., Oquendo F.: Supporting Decentralised Software-intensive Processes using ZETA Component-based Architecture Description Language. Enterprise Information Systems, Joaquim Filipe (Ed.), Kluwer Academic Publishers, 2002.]]
[6]
Bernardo M., Ciancarini P., Donatiello L.: Architecting Systems with Process Algebras. Technical Report UBLCS-2001-7, July 2001.]]
[7]
Bernardo M., Ciancarini P., Donatiello L.: 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.]]
[8]
Binns P., Engelhart M., Jackson M., Vestal S.: Domain-Specific Software Architectures for Guidance, Navigation, and Control. International Journal of Software Engineering and Knowledge Engineering. 1996.]]
[9]
Chaudet C., Greenwood M., Oquendo F., Warboys B.: Architecture-Driven Software Engineering: Specifying, Generating, and Evolving Component-Based Software Systems. IEE Journal: Software Engineering, Vol. 147, No. 6, UK, December 2000.]]
[10]
Chaudet C., Oquendo F.: A Formal Architecture Description Language Based on Process Algebra for Evolving Software Systems. Proceedings of the 15th IEEE International Conference on Automated Software Engineering (ASE'00). IEEE Computer Society, Grenoble, September 2000.]]
[11]
Davies J., Woodcock J.: Using Z: Specification, Refinement and Proof. Prentice Hall International Series in Computer Science, 1996.]]
[12]
DeLine R.: Toward User-Defined Element Types and Architectural Styles. Proceedings of the 2nd International Software Architecture Workshop, San Francisco, 1996.]]
[13]
Fernandez J-C., Garavel H., Kerbrat A., Mateescu R., Mounier L., Sighireanu M.: 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 Verlag, August 1996.]]
[14]
Fischer M. J., Ladner R. E.: Propositional Dynamic Logic of Regular Programs. Journal of Computer and System Sciences Vol. 18, 1979.]]
[15]
Fitzgerald J., Larsen P.: Modelling Systems: Practical Tools and Techniques for Software Development, Cambridge University Press, 1998.]]
[16]
Gallo F. (Ed.): Annual Report: Project Achievements in 2002. Appendix B: Survey of State-of-the-Art and Typical Usage Scenario for ArchWare ADL and AAL. Deliverable D0.4.1, ArchWare European RTD Project, IST-2001-32360, February 2003.]]
[17]
Garavel H.: Compilation et Vérification de Programmes LOTOS. Thèse de Doctorat, Univ. Joseph Fourier (Grenoble), November 1989. Chapter 9: Vérification (In French).]]
[18]
Garavel H., Lang F., Mateescu R.: An Overview of CADP 2001. European Association for Software Science and Technology (EASST) Newsletter, Vol. 4, August 2002.]]
[19]
Garlan D., Allen R., Ockerbloom J.: Exploiting Style in Architectural Design Environments. Proceedings of the ACM SIGSOFT Symposium on Foundations of Software Engineering, New Orleans, 1994.]]
[20]
Garlan D., Monroe R., Wile D.: ACME: An Architecture Description Interchange Language. Proceedings of CASCON'97, Toronto, November 1997.]]
[21]
Garlan D., Monroe, R., Wile D.: ACME: Architectural Description of Component-Based Systems. Foundations of Component-Based Systems, Leavens G. T., and Sitaraman M. (Eds.), Cambridge University Press, 2000.]]
[22]
Groote J. F., Mateescu R.: 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.]]
[23]
Heisel M., Levy N.: Using LOTOS Patterns to Characterize Architectural Styles, Proceedings of the International Conference on Theory and Practice of Software Development, LNCS 1214, Springer Verlag, 1997.]]
[24]
IEEE Std 1471-2000: IEEE Recommended Practice for Architectural Description of Software-Intensive Systems, October 2000.]]
[25]
Inverardi P., Wolf A.: Formal Specification an Analysis of Software Architectures using the Chemical Abstract Machine Model. IEEE Transactions on Software Engineering, Vol. 21, No. 4, April 1995.]]
[26]
Inverardi P., Wolf A., Yankelevich D.: Static Checking of System Behaviors using Derived Component Assumptions. ACM Transactions on Software Engineering and Methodology, Vol. 9, No. 3, July 2000.]]
[27]
Kerschbaumer A.: Non-Refinement Transformation of Software Architectures. Proceedings of the ZB2002 International Workshop on Refinement of Critical Systems: Methods, Tools and Experience, Grenoble, Janvier 2002.]]
[28]
Kozen D.: Results on the Propositional μ-Calculus. Theoretical Computer Science 27:333--354, 1983.]]
[29]
Leymonerie F., Cimpan S., Oquendo F.: Extension d'un langage de description architecturale pour la prise en compte des styles architecturaux: application à J2EE. Proceedings of the 14th International Conference on Software and Systems Engineering and their Applications. Paris, December 2001 (In French).]]
[30]
Leymonerie F., Cimpan S., Oquendo F., "État de l'art sur les styles architecturaux: classification et comparaison des langages de description d'architectures logicielles", Revue Génie Logiciel, No. 62, September 2002 (In French).]]
[31]
Luckham D. C., Kenney J. J., Augustin L. M., Vera J., Bryan D., Mann W.: Specification and Analysis of System Architecture Using RAPIDE. IEEE Transactions on Software Engineering, Vol. 21, No. 4, April 1995.]]
[32]
Magee J., Dulay N., Eisenbach S., Kramer J.: Specifying Distributed Software Architectures. Proceedings of the 5th European Software Engineering Conference, Sitges, Spain, September 1995.]]
[33]
Mateescu R., Garavel H.: 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.]]
[34]
Mateescu R., Sighireanu M.: Efficient On-the-Fly Model Checking for Regular Alternation-Free Mu-Calculus. Science of Computer Programming Journal, Elsevier, 2002.]]
[35]
Medvidovic N., Taylor R.: A Classification and Comparison Framework for Architecture Description Languages. ACM TOSEM, Vol. 26, No. 1, January 2000.]]
[36]
Milner R.: Communicating and Mobile Systems: The Pi-Calculus. Cambridge University Press, 1999.]]
[37]
Monroe R.: Capturing Software Architecture Design Expertise with ARMANI. Technical Report CMU-CS-98-163, Carnegie Mellon University, January 2001.]]
[38]
Moriconi M., Qian X., Riemenschneider R. A.: Correct Architecture Refinement. IEEE Transactions on Software Engineering, Vol. 21, No. 4, April 1995.]]
[39]
Moriconi M., Riemenschneider R. A.: Introduction to SADL 1.0: A Language for Specifying Software Architecture Hierarchies. Computer Science Laboratory, SRI International, Technical Report SRICSL-97-01, March 1997.]]
[40]
Oquendo F.: The ArchWare Architecture Refinement Language. Deliverable D6.1b, ArchWare European RTD Project, IST-2001-32360, December 2003.]]
[41]
Oquendo F.: π-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.]]
[42]
Oquendo F.: π-ARL: An Architecture Refinement Language for Formally Modelling the Stepwise Refinement of Software Architectures. ACM Software Engineering Notes, Vol. 29, No. 5, September 2004.]]
[43]
Oquendo F.: Formally Modelling Software Architectures with the UML 2.0 Profile for π-ADL. ACM Software Engineering Notes, Vol. 31, No. 1, January 2006.]]
[44]
Oquendo F., Alloui I., Cimpan S., Verjus H.: The ArchWare Architecture Description Language: Abstract Syntax and Formal Semantics. Deliverable D1.1b, ArchWare European RTD Project, IST-2001-32360, December 2002.]]
[45]
Philipps J., Rumpe B.: Refinement of Pipe and Filter Architectures. Proceedings of FM'99, LNCS 1708, 1999.]]
[46]
RAPIDE Design Team: Guide to the RAPIDE 1.0. Language Reference Manuals, Stanford University, July 1997.]]
[47]
Rongviriyapanish S., Levy N.: Variations sur le Style Architectural Pipe and Filter. Actes du Colloque sur les Approches Formelles dans l'Assistance au Développement de Logiciels (AFADL'00), Grenoble, France, January 2000 (In French).]]
[48]
Sangiorgi, D., Expressing Mobility in Process Algebras: First-Order and Higher-Order Paradigms. PhD Thesis, University of Edinburgh, 1992.]]
[49]
Stirling C.: Modal and Temporal Properties of Processes. Springer Verlag, 2001.]]
[50]
Stolen K., Broy M.: Specification and Development of Interactive Systems. Springer Verlag, 2001.]]
[51]
Streett R.: Propositional Dynamic Logic of Looping and Converse. Information and Control Journal, 1982.]]
[52]
Wile D.: AML: An Architecture Meta Language. Proceedings of the 14th International Conference on Automated Software Engineering, pp. 183--190. Cocoa Beach. October 1999.]]
[53]
Wolper P.: Temporal Logic Can Be More Expressive. Information and Control Journal, 1983.]]

Cited By

View all
  • (2017)COSE: A composable ocean simulation environmentOCEANS 2017 - Aberdeen10.1109/OCEANSE.2017.8084712(1-6)Online publication date: Jun-2017
  • (2016)Statistical Model Checking of Dynamic Software ArchitecturesSoftware Architecture10.1007/978-3-319-48992-6_14(185-200)Online publication date: 3-Nov-2016
  • (2016)A Logic for the Statistical Model Checking of Dynamic Software ArchitecturesLeveraging Applications of Formal Methods, Verification and Validation: Foundational Techniques10.1007/978-3-319-47166-2_56(806-820)Online publication date: 5-Oct-2016
  • Show More Cited By

Index Terms

  1. π-AAL: an architecture analysis language for formally specifying and verifying structural and behavioural properties of software architectures

        Recommendations

        Comments

        Information & Contributors

        Information

        Published In

        cover image ACM SIGSOFT Software Engineering Notes
        ACM SIGSOFT Software Engineering Notes  Volume 31, Issue 2
        March 2006
        193 pages
        ISSN:0163-5948
        DOI:10.1145/1118537
        Issue’s Table of Contents

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        Published: 01 March 2006
        Published in SIGSOFT Volume 31, Issue 2

        Check for updates

        Author Tags

        1. architecture analysis languages
        2. formal development techniques
        3. property specification
        4. property verification
        5. software architectures

        Qualifiers

        • Article

        Contributors

        Other Metrics

        Bibliometrics & Citations

        Bibliometrics

        Article Metrics

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

        Other Metrics

        Citations

        Cited By

        View all
        • (2017)COSE: A composable ocean simulation environmentOCEANS 2017 - Aberdeen10.1109/OCEANSE.2017.8084712(1-6)Online publication date: Jun-2017
        • (2016)Statistical Model Checking of Dynamic Software ArchitecturesSoftware Architecture10.1007/978-3-319-48992-6_14(185-200)Online publication date: 3-Nov-2016
        • (2016)A Logic for the Statistical Model Checking of Dynamic Software ArchitecturesLeveraging Applications of Formal Methods, Verification and Validation: Foundational Techniques10.1007/978-3-319-47166-2_56(806-820)Online publication date: 5-Oct-2016
        • (2015)Towards a Formal Description of Reference Architectures for Embedded SystemsProceedings of the 1st International Workshop on Exploring Component-based Techniques for Constructing Reference Architectures10.1145/2755567.2755571(17-20)Online publication date: 6-May-2015
        • (2014)DSL Implementation for Model-Based Development of PumpsPart I of the Proceedings of the 6th International Symposium on Leveraging Applications of Formal Methods, Verification and Validation. Technologies for Mastering Change - Volume 880210.1007/978-3-662-45234-9_28(391-406)Online publication date: 8-Oct-2014
        • (2010)An ADL-approach to specifying and analyzing centralized-mode architectural connectionProceedings of the 4th European conference on Software architecture10.5555/1887899.1887905(8-23)Online publication date: 23-Aug-2010
        • (2010)A classification and comparison of model checking software architecture techniquesJournal of Systems and Software10.1016/j.jss.2009.11.70983:5(723-744)Online publication date: 1-May-2010
        • (2010)An ADL-Approach to Specifying and Analyzing Centralized-Mode Architectural ConnectionSoftware Architecture10.1007/978-3-642-15114-9_4(8-23)Online publication date: 2010
        • (2008)An Approach to Software Architecture TestingProceedings of the 2008 The 9th International Conference for Young Computer Scientists10.1109/ICYCS.2008.310(1070-1075)Online publication date: 18-Nov-2008
        • (2007)An active architecture approach to dynamic systems co-evolutionProceedings of the First European conference on Software Architecture10.5555/2394215.2394218(2-10)Online publication date: 24-Sep-2007
        • Show More Cited By

        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