skip to main content
article

Formally modelling software architectures with the UML 2.0 profile for π-ADL

Published: 01 January 2006 Publication History

Abstract

A key aspect of the design of any software system is its architecture. An architecture description, from a runtime perspective, should provide a formal model of the architecture in terms of components and connectors, their ports and behaviours, and how they are composed together. The Unified Modelling Language (UML) is widely used in the design of software systems and has recently been extended to better support software architecture description. This paper presents the UML 2.0 Profile for π-ADL, a novel ADL that has been designed in the ArchWare European Project. It briefly presents π-ADL and its UML 2.0 Profile, then it illustrates through a case study how the UML 2.0 Profile for π-ADL can be used for formally modelling software architectures. The toolset for supporting the UML 2.0 Profile for π-ADL is outlined: it supports architecture modelling, architectural behaviour animation, and model checking of architectural properties.

References

[1]
Abrial J.-R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press, 1996.
[2]
Alloui I., Garavel H., Mateescu R., Oquendo F.: The ArchWare Architecture Analysis Language: Syntax & Semantics. Deliverable D3.1b, ArchWare European RTD Project, IST-2001-32360, January 2003.
[3]
Alloui I., Oquendo F.: Graphical Notation for ArchWare ADL by Extension of UML 1.5. Deliverable D1.4, ArchWare European RTD Project, IST-2001-32360, June 2003.
[4]
Alloui I., Oquendo F.: Describing Software-intensive Process Architectures using a UML-based ADL. Proceedings of the 6th International Conference on Enterprise Information Systems (ICEIS'04), Porto, Portugal, April 2004.
[5]
Bolusset T., Oquendo F.: Formal Refinement of Software Architectures Based on Rewriting Logic. Proceedings of the ZB2002 International Workshop on Refinement of Critical Systems: Methods, Tools and Experience, Grenoble, Janvier 2002.
[6]
Brown A. W.: An Introduction to Model Driven Architecture - Part I: MDA and Today's Systems. The Rational Edge, February 2004.
[7]
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.
[8]
Cimpan S., Leymoneric F., Oquendo F.: The ArchWare Foundation Styles Library. Report R1.3-1, ArchWare European RTD Project, IST-2001-32360, June 2003.
[9]
Davies J., Woodcock J.: Using Z: Specification, Refinement and Proof. Prentice Hall, 1996.
[10]
Feiler P., Lewis B., Vestal S.: The SAE Architecture Analysis & Design Language (AADL) Standard: A Basis for Model-Based Architecture-Driven Embedded Systems Engineering. Proceedings of the RTAS 2003 Workshop on Model-Driven Embedded Systems, May 2003.
[11]
Fitzgerald J., Larsen P.: Modelling Systems: Practical Tools and Techniques for Software Development. Cambridge University Press, 1998.
[12]
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.
[13]
Garavel H., Lang F., Mateescu R.: An Overview of CADP 2001. European Association for Software Science and Technology (EASST) Newsletter, Vol. 4, August 2002.
[14]
Greenwood M., Balasubramaniam D., Cimpan S., Kirby N. C., Mickan K., Morrison R., Oquendo F., Robertson I., Seet W., Snowdon R., Warboys B., Zirintsis E.:Process Support for Evolving Active Architectures. Proceedings of the 9th European Workshop on Software Process Technology, LNCS 2786, Springer Verlag, Helsinki, September 2003.
[15]
IEEE Std 1471-2000: IEEE Recommended Practice for Architectural I Description of Software-Intensive Systems. IEEE Press, October 2000.
[16]
Kozen D.: Results on the Propositional μ-Calculus. Theoretical Computer Science 27:333--354, 1983.
[17]
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).
[18]
Martí-Oliet N., Meseguer J.: Rewriting Logic: Roadmap and Bibliography. Theoretical Computer Science, 2001.
[19]
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.
[20]
Medvidovic N., Rosenblum D., Redmiles D., Robbins J.: Modeling Software Architectures in the Unified Modeling Language. ACM Transactions on Software Engineering and Methodology, vol. 11, no. 1, January 2002.
[21]
Medvidovic N., Taylor R.: A Classification and Comparison Framework for Architecture Description Languages. Technical Report UCI-ICS-97-02, University of California. Irvine, February 1997.
[22]
Milner R.: Communicating and Mobile Systems: The □-Calculus. Cambridge University Press, 1999.
[23]
Morrison R., Graham K., Balasubramaniam D., Mickan K., Oquendo F., Cimpan S., Warboys B., Snowdon B., Greenwood M.: Support for Evolving Software Architectures in the ArchWare ADL. Proceedings of the 4th Working IEEE/IFIP International Conference on Software Architecture (WICSA'04), Oslo, Norway, June 2004.
[24]
Oquendo F.: The ArchWare Architecture Description Language: Tutorial. Report R1.1-1, ArchWare European RTD Project, IST-2001-32360, March 2003.
[25]
Oquendo F.: The ArchWare Architecture Refinement Language. Deliverable D6.1b, ArchWare European RTD Project, IST-2001-32360, December 2003.
[26]
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. 28, No. 8, USA, May 2004.
[27]
Oquendo F.: The ArchWare Architecture Description Language: UML 2.0 Profile for Architecting with ArchWare ADL. Deliverable D1.8, ArchWare European RTD Project, IST-2001-32360, June 2005.
[28]
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.
[29]
Oquendo F., Warboys B., Morrison R., Dindeleux R., Gallo F., Garavel H., Occhipinti C.: ArchWare: Architecting Evolvable Software. Proceedings of the 1st European Workshop on Software Architecture, LNCS 3047, Springer Verlag, May 2004.
[30]
SAE Standard AS5506: Architecture Analysis & Design Language (AADL). Embedded Computing Systems Committee, SAE, November 2004.
[31]
Sangiorgi D.: Expressing Mobility in Process Algebras: First-Order and Higher-Order Paradigms. PhD Thesis, University of Edinburgh, 1992.
[32]
Sangiorgi D., Walker D.: The π-Calculus: A Theory of Mobile Processes, Cambridge Universtity Press, 2001.
[33]
Stirling C.: Modal and Temporal Properties of Processes. Springer Verlag, 2001.
[34]
Stolen K., Broy M.: Specification and Development of Interactive Systems. Springer Verlag, 2001.
[35]
Verjus H., Oquendo F.: The ArchWare Architecture Interchange Language: XML Syntax. Deliverable D1.3b, ArchWare European RTD Project, IST-2001-32360, June 2003.

Cited By

View all
  • (2016)Enhanced graph rewriting systems for complex software domainsSoftware and Systems Modeling (SoSyM)10.1007/s10270-014-0433-115:3(685-705)Online publication date: 1-Jul-2016
  • (2015)On the Equivalence between Reference Architectures and MetamodelsProceedings of the 1st International Workshop on Exploring Component-based Techniques for Constructing Reference Architectures10.1145/2755567.2755572(21-24)Online publication date: 6-May-2015
  • (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
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGSOFT Software Engineering Notes
ACM SIGSOFT Software Engineering Notes  Volume 31, Issue 1
January 2006
203 pages
ISSN:0163-5948
DOI:10.1145/1108768
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 January 2006
Published in SIGSOFT Volume 31, Issue 1

Check for updates

Author Tags

  1. π-ADL
  2. UML 2.0 profile
  3. architecture description language
  4. software architecture modelling

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

Cited By

View all
  • (2016)Enhanced graph rewriting systems for complex software domainsSoftware and Systems Modeling (SoSyM)10.1007/s10270-014-0433-115:3(685-705)Online publication date: 1-Jul-2016
  • (2015)On the Equivalence between Reference Architectures and MetamodelsProceedings of the 1st International Workshop on Exploring Component-based Techniques for Constructing Reference Architectures10.1145/2755567.2755572(21-24)Online publication date: 6-May-2015
  • (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
  • (2015)Breeze graph grammarSoftware—Practice & Experience10.1002/spe.227145:8(1023-1050)Online publication date: 1-Aug-2015
  • (2015)Aspect-oriented programming and pluggable software unitsSoftware—Practice & Experience10.1002/spe.222445:3(289-314)Online publication date: 1-Mar-2015
  • (2013)On self-adaptation in systems-of-systemsProceedings of the First International Workshop on Software Engineering for Systems-of-Systems10.1145/2489850.2489856(29-34)Online publication date: 2-Jul-2013
  • (2013)Representing dynamic pluggable software unitsProceedings of the 28th Annual ACM Symposium on Applied Computing10.1145/2480362.2480555(1006-1012)Online publication date: 18-Mar-2013
  • (2013)Breeze/ADLProceedings of the 2013 IEEE 37th Annual Computer Software and Applications Conference10.1109/COMPSAC.2013.131(800-805)Online publication date: 22-Jul-2013
  • (2011)Achieving reuse with pluggable software unitsProceedings of the 12th international conference on Top productivity through software reuse10.5555/2022115.2022135(183-191)Online publication date: 13-Jun-2011
  • (2011)Achieving Reuse with Pluggable Software UnitsTop Productivity through Software Reuse10.1007/978-3-642-21347-2_14(183-191)Online publication date: 2011
  • 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