skip to main content
article

π-Method: a model-driven formal method for architecture-centric software engineering

Published: 01 May 2006 Publication History

Abstract

Software systems have become increasingly complex and are often used in highly dynamic, distributed and mobile environments. Formal development of such software systems in order to guarantee their completeness and correctness is a large research challenge. This article presents the π-Method, a novel formal method that has been designed in the ArchWare European Project to address model-driven development of safe software systems. It is a well-founded theoretically method relying on formal foundations: its formal language for architecture description is based on the π-calculus, for architecture analysis on the μ-calculus, and for architecture transformation and refinement on the rewriting logic. The π-Method, like formal methods such as B, FOCUS, VDM, and Z, aims to provide full support for formal development of software systems. However, unlike these methods that do not provide any architectural support, the π-Method has been built from scratch to formally support architecture-centric component-based model-driven development. Furthermore, a major impetus behind defining formal languages and method is that their formality renders them suitable to be manipulated by software tools. Indeed, a comprehensive toolset supporting formal model-driven engineering has been developed.

References

[1]
Oquendo F., Warboys B., Morrison R. (Eds.): Software Architecture, Springer-Verlag, LNCS 3047, May 2004.]]
[2]
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.]]
[3]
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.]]
[4]
Oquendo F.: Formally Refining Software Architectures with π-ARL: A Case Study. ACM Software Engineering Notes, Vol. 29, No. 5, September 2004.]]
[5]
Derniame J-C., Oquendo F.: Key Issues and Future Directions in Software Process Technology. Novática Journal, Special Issue on Software Process Technologies (invited paper), No. 171, September-October 2004 and co-printed at the European Journal: CEPIS Upgrade, Vol. V, No. 5, October 2004.]]
[6]
Oquendo F.: Les architectures logicielles. Encyclopédie de l'informatique et des systèmes d'information, Editions Vuibert (In French) (To appear in 2006, In French).]]
[7]
Oquendo F.: Formally Modelling Software Architectures with the UML 2.0 Profile for π-ADL. ACM Software Engineering Notes, Vol. 31, No. 1, January 2006.]]
[8]
Alloui I., Oquendo F.: Describing Software-intensive Process Architectures using a UML-based ADL. Proceedings of the Sixth International Conference on Enterprise Information Systems (ICEIS'04), Porto, Portugal, April 2004.]]
[9]
Blanc-Dit-Jolicoeur L., Braesch C., Cimpan S., Leymonerie F., Oquendo F.: Towards a Business Process Formalisation based on an Architecture-centred Approach. Proceedings of the Sixth International Conference on Enterprise Information Systems (ICEIS'04), Porto, Portugal, April 2004.]]
[10]
Ratcliffe O., Cimpan S., Oquendo F., Scibile L.: Formalization of an HCI Style for Accelerator Restart Monitoring. Proceedings of the First European Workshop on Software Architecture (EWSA'04), Lecture Notes in Computer Science, Springer Verlag, St Andrews, UK, May 2004.]]
[11]
Oquendo F., Warboys B., Morrison R., Dindeleux R., Gallo F., Garavel H., Occhipinti C.: Arch Ware: Architecting Evolvable Software. Proceedings of the First European Workshop on Software Architecture (EWSA'04), European Projects in Software Architecture -- Invited Paper, Lecture Notes in Computer Science, Springer Verlag, St Andrews, UK, May 2004.]]
[12]
Azaiez S., Oquendo F.: GAMA: Towards Architecture-centric Software Engineering of Mobile Agent Systems. Proceedings of the Third International Workshop on Software Engineering for Large-Scale Multi-Agent Systems (SELMAS 2004) at the IEEE/ACM International Conference on Software Engineering (ICSE 2004), Edinburgh, UK, May 2004.]]
[13]
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 Fourth Working IEEE/IFIP International Conference on Software Architecture (WICSA'04), Oslo, Norway, June 2004.]]
[14]
Azaiez S., Pourraz F., Verjus H., Oquendo F.: Validation by Animation: Animating Software Architectures based on the π-Calculus. Proceedings of the Third Workshop on System Testing and Validation (SV'04), Paris, France, December 2004.]]
[15]
Ratcliffe O., Scibile L., Cimpan S., Oquendo F.: Towards an Inductive Definition and Evolution of Architectural Styles. Proceedings of the Seventeenth International Conference on Software and Systems Engineering and their Applications (ICSSEA'04), Paris, France, December 2004.]]
[16]
Revillard J., Benoit E., Cimpan S., Oquendo F.: Architecture-Centric Development for Intelligent Instrument Design. IEEE International Conference on Computational Intelligence for Measurement Systems and Applications (CIMSA 2005), Giardini Naxos, Italy, July 2005.]]
[17]
Revillard J., Benoit E., Cimpan S., Oquendo F.: Intelligent Instrument Design with ArchWare ADL. Proceedings of the Fifth Working IEEE/IFIP International Conference on Software Architecture (WICSA'05), Working Session Track, Pittsburgh, USA, November 2005.]]
[18]
Ratcliffe O., Cimpan S., Oquendo F.: Case Study on Architecture-Centered Design for Monitoring Views at CERN. Proceedings of the Fifth Working IEEE/IFIP International Conference on Software Architecture (WICSA'05), Working Session Track, Pittsburgh, USA, November 2005.]]
[19]
Manset D., McClatchey R., Oquendo F., Verjus H.: "A Model-Driven Approach for Grid Services Engineering", Proceedings of the Eighteenth International Conference on Software and Systems Engineering and their Applications (ICSSEA'05), Paris, France, December 2005.]]
[20]
Oquendo F.: UML 2.0 Profile for the ArchWare Architecture Description Language. Deliverable D1.8, ArchWare European RTD Project, IST-2001-32360, June 2005.]]
[21]
Oquendo F.: Tutorial of the ArchWare Architecture Description Language. Deliverable D1.9, ArchWare European RTD Project, IST-2001-32360, June 2005.]]
[22]
Abrial J.-R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press, 1996.]]
[23]
Allen R.: A Formal Approach to Software Architectures. PhD Thesis, Carnegie Mellon University, 1997.]]
[24]
Allen R., Douence R., Garlan D.: Specifying and Analyzing Dynamic Software Architectures. In Fundamental Approaches to Software Engineering, LNCS 1382, Springer Verlag, 1998.]]
[25]
Bernardo M., Ciancarini P., Donatiello L.: Architecting Systems with Process Algebras. Technical Report UBLCS-2001-7, July 2001.]]
[26]
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.]]
[27]
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.]]
[28]
Bolusset T., Oquendo F.: Formal Refinement of Software Architectures Based on Rewriting Logic, ZB2002 International Workshop on Refinement of Critical Systems: Methods, Tools and Experience, Grenoble, Janvier 2002.]]
[29]
Brown A. W.: An Introduction to Model Driven Architecture -- Part I: MDA and Today's Systems. The Rational Edge, February 2004.]]
[30]
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.]]
[31]
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.]]
[32]
Davies J., Woodcock J.: Using Z: Specification, Refinement and Proof. Prentice Hall International Series in Computer Science, 1996.]]
[33]
DeLine R.: Toward User-Defined Element Types and Architectural Styles. Proceedings of the 2nd International Software Architecture Workshop, San Francisco, 1996.]]
[34]
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.]]
[35]
Fischer M. J., Ladner R. E.: Propositional Dynamic Logic of Regular Programs. Journal of Computer and System Sciences Vol. 18, 1979.]]
[36]
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).]]
[37]
Garavel H., Lang F., Mateescu R.: An Overview of CADP 2001. European Association for Software Science and Technology (EASST) Newsletter, Vol. 4, August 2002.]]
[38]
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.]]
[39]
Garlan D., Monroe R., Wile D.: ACME: An Architecture Description Interchange Language. Proceedings of CASCON'97, Toronto, November 1997.]]
[40]
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.]]
[41]
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.]]
[42]
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.]]
[43]
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.]]
[44]
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.]]
[45]
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.]]
[46]
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.]]
[47]
Kozen D.: Results on the Propositional μ-Calculus. Theoretical Computer Science 27:333--354, 1983.]]
[48]
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).]]
[49]
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).]]
[50]
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.]]
[51]
Magee J., Dulay N., Eisenbach S., Kramer J., Specifying Distributed Software Architectures. Proceedings of the 5th European Software Engineering Conference, Sitges, Spain, September 1995.]]
[52]
Martí-Oliet N., Meseguer J., Rewriting Logic: Roadmap and Bibliography. Theoretical Computer Science, 2001.]]
[53]
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.]]
[54]
Medvidovic N., Taylor R.: A Classification and Comparison Framework for Architecture Description Languages. Technical Report UCI-ICS-97-02, Department of Information and Computer Science, University of California. Irvine, February 1997.]]
[55]
Milner R.: Communicating and Mobile Systems: The π-Calculus. Cambridge University Press, 1999.]]
[56]
Monroe R.: Capturing Software Architecture Design Expertise with ARMANI. Technical Report CMU-CS-98-163, Carnegie Mellon University, January 2001.]]
[57]
Moriconi M., Qian X., Riemenschneider R. A.: Correct Architecture Refinement. IEEE Transactions on Software Engineering, Vol. 21, No. 4, April 1995.]]
[58]
Moriconi M., Riemenschneider R. A.: Introduction to SADL 1.0: A Language for Specifying Software Architecture Hierarchies. Computer Science Laboratory, SRI International, Technical Report SRI-CSL-97-01, March 1997.]]
[59]
Morrison R.: On the Development of S-algol. PhD Thesis, University of St Andrews, 1979.]]
[60]
Philipps J., Rumpe B.: Refinement of Pipe and Filter Architectures. Proceedings of FM'99, LNCS 1708, 1999.]]
[61]
RAPIDE Design Team: Guide to the RAPIDE 1.0. Language Reference Manuals, Stanford University, July 1997.]]
[62]
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.]]
[63]
Sangiorgi, D., Expressing Mobility in Process Algebras: First-Order and Higher-Order Paradigms. PhD Thesis, University of Edinburgh, 1992.]]
[64]
Stirling C.: Modal and Temporal Properties of Processes. Springer Verlag, 2001.]]
[65]
Stolen K., Broy M.: Specification and Development of Interactive Systems. Springer Verlag, 2001.]]
[66]
Strachey C.: Fundamental Concepts in Programming Languages. Oxford University Press, Oxford, 1967.]]
[67]
Tennent R. D.: Language Design Methods based on Semantic Principles. Acta Informatica 8, 1977.]]
[68]
Wile D.: AML: An Architecture Meta Language. Proceedings of the 14th International Conference on Automated Software Engineering, pp. 183--190. Cocoa Beach. October 1999.]]
[69]
Oquendo F.: The Arch Ware Architecture Refinement Language. Deliverable D6.1b, ArchWare European RTD Project, IST-2001-32360, December 2003.]]
[70]
Oquendo F. et al.: The ArchWare Architecture Description Language: Abstract Syntax and Formal Semantics. Deliverable D1.lb, ArchWare European RTD Project, IST-2001-32360, December 2002.]]
[71]
Mateescu R., Oquendo F.: π-AAL: An Architecture Analysis Language for Formally Specifying and Verifying Structural and Behavioural Properties of Software Architectures, ACM Software Engineering Notes, Vol. 31, No. 2, March 2006.]]
[72]
Alloui I., Garavel H., Mateescu R., Oquendo F.: The ArchWare Architecture Analysis Language: Syntax and Semantics. Deliverable D3.lb, ArchWare European RTD Project, IST-2001-32360, January 2003.]]
[73]
Warboys B. C., Snowdon R., Greenwood R. M., Seet W., Robertson I., Morrison R., Balasubramaniam D., Kirby G., Mickan K.: An Active Architecture Approach to COTS Integration. IEEE Software, Special Issue on Incorporating COTS into the Development Process. Vol. 22, No. 4, 2005.]]
[74]
Warboys B. C., Greenwood R. M., Robertson I., Morrison R., Balasubramaniam D., Kirby G., Mickan K.: The ArchWare Tower: The Implementation of an Active Software Engineering Environment using a π-calculus based Architecture Description Language. Proceedings of the Second European Workshop on Software Architecture (EWSA'05), Pisa, Italy, Springer-Verlag, LNCS, 2005.]]
[75]
IEEE Std 1471-2000: IEEE Recommended Practice for Architectural Description of Software-Intensive Systems, October 2000.]]
[76]
Fitzgerald J., Larsen P.: Modelling Systems: Practical Tools and Techniques for Software Development, Cambridge University Press, 1998.]]
[77]
Miller J., Mukerji J.: MDA Guide Version 1.0.1, Document Number: OMG/2003-06-01, Object Management Group, June 2003.]]

Cited By

View all
  • (2021)A model transformation approach for multiscale modeling of software architectures applied to smart citiesConcurrency and Computation: Practice and Experience10.1002/cpe.629834:7Online publication date: 13-Jun-2021
  • (2017)A multi-scale modeling approach for systems of systems architecturesACM SIGAPP Applied Computing Review10.1145/3161534.316153617:3(17-26)Online publication date: 14-Nov-2017
  • (2017)COSE: A composable ocean simulation environmentOCEANS 2017 - Aberdeen10.1109/OCEANSE.2017.8084712(1-6)Online publication date: Jun-2017
  • 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 3
May 2006
171 pages
ISSN:0163-5948
DOI:10.1145/1127878
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 May 2006
Published in SIGSOFT Volume 31, Issue 3

Check for updates

Author Tags

  1. architecture analysis languages
  2. architecture description languages
  3. architecture transformation/refinement languages
  4. architecture-centric software engineering
  5. component-based software engineering
  6. formal methods
  7. model-driven development
  8. software architectures

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

Cited By

View all
  • (2021)A model transformation approach for multiscale modeling of software architectures applied to smart citiesConcurrency and Computation: Practice and Experience10.1002/cpe.629834:7Online publication date: 13-Jun-2021
  • (2017)A multi-scale modeling approach for systems of systems architecturesACM SIGAPP Applied Computing Review10.1145/3161534.316153617:3(17-26)Online publication date: 14-Nov-2017
  • (2017)COSE: A composable ocean simulation environmentOCEANS 2017 - Aberdeen10.1109/OCEANSE.2017.8084712(1-6)Online publication date: Jun-2017
  • (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
  • (2013)Self-Adaptive System Architecture Modeling Based on DoDAFInternational Journal of Computer Theory and Engineering10.7763/IJCTE.2013.V5.745(538-542)Online publication date: 2013
  • (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)MODELING AND VERIFYING COMPOSITE DYNAMIC EVOLUTION OF SOFTWARE ARCHITECTURES USING HYPERGRAPH GRAMMARSInternational Journal of Software Engineering and Knowledge Engineering10.1142/S021819401350020423:06(775-799)Online publication date: Aug-2013
  • 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