skip to main content
A formal approach to software architecture
Publisher:
  • Carnegie Mellon University
  • Schenley Park Pittsburgh, PA
  • United States
ISBN:978-0-591-64744-0
Order Number:AAI9813815
Pages:
231
Reflects downloads up to 05 Feb 2025Bibliometrics
Skip Abstract Section
Abstract

As software systems become more complex, the overall system structure--or software architecture--becomes a central design problem. A system's architecture provides a model of the system that suppresses implementation detail, allowing the architect to concentrate on the analyses and decisions that are most crucial to structuring the system to satisfy its requirements.

Unfortunately, current representations of software architecture are informal and ad hoc. While architectural concepts are often embodied in infrastructure to support specific architectural styles and in the initial conceptualization of a system configuration, the lack of an explicit, independently-characterized architecture or architectural style significantly limits the benefits of software architectural design in current practice.

In this dissertation, I show that an Architecture Description Language based on a formal, abstract model of system behavior can provide a practical means of describing and analyzing software architectures and architectural styles.

This dissertation demonstrates this claim through W scRIGHT, an architectural description language based on the formal description of the abstract behavior of architectural components and connectors. W scRIGHT provides a practical formal basis for the description of both architectural configurations and of architectural styles. It is distinguished by the use of explicit, independent connector types as interaction patterns, the ability to describe the abstract behavior of components using a CSP-like notation, the characterization of styles using predicates over system instances, and a collection of static checks to determine the consistency and completeness of an architectural specification. We introduce techniques to support the analysis of large-scale systems, and demonstrate W scRIGHT's expressiveness and practicality through three case studies.

Cited By

  1. Krinkin K, Vodyaho A, Kulikov I and Zhukova N (2022). Forecasting Telecommunication Network States on the Basis of Log Patterns Analysis and Knowledge Graphs Modeling, International Journal of Embedded and Real-Time Communication Systems, 13:1, (1-27), Online publication date: 14-Jan-2022.
  2. Marmsoler D and Gidey H (2019). Interactive verification of architectural design patterns in FACTum, Formal Aspects of Computing, 31:5, (541-610), Online publication date: 1-Nov-2019.
  3. ACM
    Papapostolu A and Birov D Structured Component and Connector Communication Proceedings of the 8th Balkan Conference in Informatics, (1-4)
  4. ACM
    Guessi M, Oliveira L, Garcés L and Oquendo F Towards a Formal Description of Reference Architectures for Embedded Systems Proceedings of the 1st International Workshop on Exploring Component-based Techniques for Constructing Reference Architectures, (17-20)
  5. ACM
    Guessi M, Neto V, Bianchi T, Felizardo K, Oquendo F and Nakagawa E A systematic literature review on the description of software architectures for systems of systems Proceedings of the 30th Annual ACM Symposium on Applied Computing, (1433-1440)
  6. ACM
    Guessi M, Moreira D, Abdalla G, Oquendo F and Nakagawa E OntolAD Proceedings of the 30th Annual ACM Symposium on Applied Computing, (1417-1424)
  7. ACM
    Siroky S, Podorozhny R and Yang G (2015). Verification of Architectural Constraints on Sequences of Method Invocations, ACM SIGSOFT Software Engineering Notes, 40:1, (1-4), Online publication date: 6-Feb-2015.
  8. Qiu X and Zhang L (2014). Specifying redundancy tactics as crosscutting concerns using aspect-oriented modeling, Frontiers of Computer Science: Selected Publications from Chinese Universities, 8:6, (977-995), Online publication date: 1-Dec-2014.
  9. Li G and Wei M (2014). Everything-as-a-service platform for on-demand virtual enterprises, Information Systems Frontiers, 16:3, (435-452), Online publication date: 1-Jul-2014.
  10. ACM
    Guessi M, Oquendo F and Nakagawa E Variability viewpoint to describe reference architectures Proceedings of the WICSA 2014 Companion Volume, (1-6)
  11. ACM
    Nakagawa E, Gonçalves M, Guessi M, Oliveira L and Oquendo F The state of the art and future perspectives in systems of systems software architectures Proceedings of the First International Workshop on Software Engineering for Systems-of-Systems, (13-20)
  12. That M, Sadou S, Oquendo F and Borne I Composition-Centered architectural pattern description language Proceedings of the 7th European conference on Software Architecture, (1-16)
  13. ACM
    Zhang H, Zhang L, Urtado C, Vauttier S and Huchard M (2012). A three-level component model in component based software development, ACM SIGPLAN Notices, 48:3, (70-79), Online publication date: 10-Apr-2013.
  14. Op de beeck S, van Dooren M, Lagaisse B and Joosen W Modularity and variability of distributed software architectures through multi-view refinement of AO-Connectors Transactions on Aspect-Oriented Software Development X, (109-147)
  15. ACM
    Solms F What is software architecture? Proceedings of the South African Institute for Computer Scientists and Information Technologists Conference, (363-373)
  16. ACM
    Zhang H, Zhang L, Urtado C, Vauttier S and Huchard M A three-level component model in component based software development Proceedings of the 11th International Conference on Generative Programming and Component Engineering, (70-79)
  17. ACM
    Guessi M, Nakagawa E, Oquendo F and Maldonado J Architectural description of embedded systems Proceedings of the 3rd international ACM SIGSOFT symposium on Architecting Critical Systems, (31-40)
  18. ACM
    Op de beeck S, van Dooren M, Lagaisse B and Joosen W Multi-view refinement of AO-connectors in distributed software systems Proceedings of the 11th annual international conference on Aspect-oriented Software Development, (251-262)
  19. Krüger I, Demchak B and Menarini M Dynamic service composition and deployment with openrichservices Software Service and Application Engineering, (120-146)
  20. Deiters C and Rausch A A constructive approach to compositional architecture design Proceedings of the 5th European conference on Software architecture, (75-82)
  21. Bouanaka C, Belala F and Barkaoui K (2011). A tile logic-based semantics for mobile software architectures, International Journal of Critical Computer-Based Systems, 2:3/4, (288-308), Online publication date: 1-Sep-2011.
  22. Deiters C and Rausch A Assuring architectural properties during compositional architecture design Proceedings of the 10th international conference on Software composition, (141-148)
  23. ACM
    Tibermacine C, Sadou S, Dony C and Fabresse L Component-based specification of software architecture constraints Proceedings of the 14th international ACM Sigsoft symposium on Component based software engineering, (31-40)
  24. Tibermacine C, Dony C, Sadou S and Fabresse L Software architecture constraints as customizable, reusable and composable entities Proceedings of the 4th European conference on Software architecture, (505-509)
  25. ACM
    Pyka R, Klein F, Marwedel P and Mamagkakis S (2010). Versatile system-level memory-aware platform description approach for embedded MPSoCs, ACM SIGPLAN Notices, 45:4, (9-16), Online publication date: 13-Apr-2010.
  26. ACM
    Pyka R, Klein F, Marwedel P and Mamagkakis S Versatile system-level memory-aware platform description approach for embedded MPSoCs Proceedings of the ACM SIGPLAN/SIGBED 2010 conference on Languages, compilers, and tools for embedded systems, (9-16)
  27. Tiberghien A, Merle P and Seinturier L Specifying self-configurable component-based systems with fractoy Proceedings of the Second international conference on Abstract State Machines, Alloy, B and Z, (91-104)
  28. ACM
    Cassou D, Bertran B, Loriant N and Consel C (2009). A generative programming approach to developing pervasive computing systems, ACM SIGPLAN Notices, 45:2, (137-146), Online publication date: 1-Feb-2010.
  29. Derdour M, Roose P, Dalmau M, Zine N and Alti A (2010). MMSA, Advances in Multimedia, 2010, (1-17), Online publication date: 1-Jan-2010.
  30. ACM
    López-Sanz M, Vara J, Marcos E and Cuesta C A model-driven approach to weave architectural styles into service-oriented architectures Proceedings of the first international workshop on Model driven service engineering and data quality and security, (53-60)
  31. ACM
    Cassou D, Bertran B, Loriant N and Consel C A generative programming approach to developing pervasive computing systems Proceedings of the eighth international conference on Generative programming and component engineering, (137-146)
  32. ACM
    Auguston M (2009). Software architecture built from behavior models, ACM SIGSOFT Software Engineering Notes, 34:5, (1-15), Online publication date: 2-Oct-2009.
  33. ACM
    Woodcock J, Larsen P, Bicarregui J and Fitzgerald J (2009). Formal methods, ACM Computing Surveys, 41:4, (1-36), Online publication date: 1-Oct-2009.
  34. Kim S, Kim D, Lu L and Park S (2009). Quality-driven architecture development using architectural tactics, Journal of Systems and Software, 82:8, (1211-1231), Online publication date: 1-Aug-2009.
  35. Andova S, Groenewegen L and de Vink E (2009). Dynamic Consistency in Process Algebra, Electronic Notes in Theoretical Computer Science (ENTCS), 229:2, (3-20), Online publication date: 1-Jul-2009.
  36. Nguyen T, Kolp M and Penserini L (2009). A development framework for component-based agent-oriented business services, International Journal of Agent-Oriented Software Engineering, 3:2/3, (328-367), Online publication date: 1-Mar-2009.
  37. Beneš N, Černá I, Sochor J, Vařeková P and Zimmerova B (2008). A Case Study in Parallel Verification of Component-Based Systems, Electronic Notes in Theoretical Computer Science (ENTCS), 220:2, (67-83), Online publication date: 1-Dec-2008.
  38. Desnos N, Huchard M, Tremblay G, Urtado C and Vauttier S (2008). Search-based many-to-one component substitution, Journal of Software Maintenance and Evolution: Research and Practice, 20:5, (321-344), Online publication date: 1-Sep-2008.
  39. ACM
    Amirat A and Oussalah M Enhanced connectors to support hierarchical dependencies in software architecture Proceedings of the 8th international conference on New technologies in distributed systems, (1-10)
  40. ACM
    Lallchandani J and Mall R (2008). Slicing UML architectural models, ACM SIGSOFT Software Engineering Notes, 33:3, (1-9), Online publication date: 1-May-2008.
  41. ACM
    Ramos R, Sampaio A and Mota A Framework composition conformance via refinement checking Proceedings of the 2008 ACM symposium on Applied computing, (119-125)
  42. ACM
    Lalchandani J and Mall R Regression testing based-on slicing of component-based software architectures Proceedings of the 1st India software engineering conference, (67-76)
  43. Boucke N and Holvoet T (2008). View composition in multiagent architectures, International Journal of Agent-Oriented Software Engineering, 2:1, (3-33), Online publication date: 1-Jan-2008.
  44. ACM
    Jean-Paul B, Raphaël C, David C, Mamoun F and Jean-François R A mapping from AADL to Java-RTSJ Proceedings of the 5th international workshop on Java technologies for real-time and embedded systems, (165-174)
  45. Jerad C, Barkaoui K and Touzi A Hierarchical verification in maude of Lf P software architectures Proceedings of the First European conference on Software Architecture, (156-170)
  46. Waignier G, Le Meur A and Duchien L FIESTA Proceedings of the First European conference on Software Architecture, (76-91)
  47. Desnos N, Huchard M, Urtado C, Vauttier S and Tremblay G Automated and unanticipated flexible component substitution Proceedings of the 10th international conference on Component-based software engineering, (33-48)
  48. Paula V and Batista T Revisiting a Formal Framework for Modeling Aspects in the Design Phase Proceedings of the Early Aspects at ICSE: Workshops in Aspect-Oriented Requirements Engineering and Architecture Design
  49. Ling X, Maibaum T and Aguirre N Design in CommUnity with extension morphisms Formal methods and hybrid real-time systems, (435-466)
  50. Sarjoughian H Model composability Proceedings of the 38th conference on Winter simulation, (149-158)
  51. Fabresse L, Dony C and Huchard M SCL Proceedings of the 14th international conference on Advances in smalltalk, (91-110)
  52. Li M, Peng H and Hu J Research on modeling and description of software architecture of cooperation-oriented system Proceedings of the 9th Pacific Rim international conference on Agent Computing and Multi-Agent Systems, (546-551)
  53. Ryoo J and Saiedian H (2006). AVDL, Journal of Systems and Software, 79:8, (1180-1206), Online publication date: 1-Aug-2006.
  54. Hnětynka P and Plášil F Dynamic reconfiguration and access to services in hierarchical component models Proceedings of the 9th international conference on Component-Based Software Engineering, (352-359)
  55. ACM
    Oquendo F (2006). π-Method, ACM SIGSOFT Software Engineering Notes, 31:3, (1-13), Online publication date: 1-May-2006.
  56. ACM
    Brim L, Černá I, Vařeková P and Zimmerova B (2005). Component-interaction automata as a verification-oriented component-based system specification, ACM SIGSOFT Software Engineering Notes, 31:2, (4-es), Online publication date: 1-Mar-2006.
  57. ACM
    Mateescu R and Oquendo F (2006). π-AAL, ACM SIGSOFT Software Engineering Notes, 31:2, (1-19), Online publication date: 1-Mar-2006.
  58. Zheng Y and Chan A (2006). MobiGATE, IEEE Transactions on Software Engineering, 32:1, (35-50), Online publication date: 1-Jan-2006.
  59. Mesquita W, Sampaio A and De Melo A A Strategy for the Formal Composition of Frameworks Proceedings of the Third IEEE International Conference on Software Engineering and Formal Methods, (404-413)
  60. ACM
    Brim L, Černá I, Vařeková P and Zimmerova B Component-interaction automata as a verification-oriented component-based system specification Proceedings of the 2005 conference on Specification and verification of component-based systems, (4-es)
  61. ACM
    Shen J, Sun X, Huang G, Jiao W, Sun Y and Mei H Towards a unified formal model for supporting mechanisms of dynamic component update Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering, (80-89)
  62. ACM
    Shen J, Sun X, Huang G, Jiao W, Sun Y and Mei H (2005). Towards a unified formal model for supporting mechanisms of dynamic component update, ACM SIGSOFT Software Engineering Notes, 30:5, (80-89), Online publication date: 1-Sep-2005.
  63. Barais O, Duchien L and Le Meur A A Framework to Specify Incremental Software Architecture Transformations Proceedings of the 31st EUROMICRO Conference on Software Engineering and Advanced Applications, (62-69)
  64. ACM
    Wu W and Kelly T (2005). Failure modelling in software architecture design for safety, ACM SIGSOFT Software Engineering Notes, 30:4, (1-7), Online publication date: 1-Jul-2005.
  65. Cîmpan S, Leymonerie F and Oquendo F Handling dynamic behaviour in software architectures Proceedings of the 2nd European conference on Software Architecture, (77-93)
  66. Tian L, Zhang L, Zhou B and Qian G A gradually proceeded software architecture design process Proceedings of the 2005 international conference on Unifying the Software Process Spectrum, (192-205)
  67. ACM
    Wu W and Kelly T Failure modelling in software architecture design for safety Proceedings of the 2005 workshop on Architecting dependable systems, (1-7)
  68. ACM
    Oquendo F (2004). π-ADL, ACM SIGSOFT Software Engineering Notes, 29:3, (1-14), Online publication date: 1-May-2004.
  69. Apvrille L, De Saqui-Sannes P, Sénac P and Lohr C (2004). Verifying Service Continuity in a Dynamic Reconfiguration Procedure, Automated Software Engineering, 11:2, (167-191), Online publication date: 1-Apr-2004.
  70. ACM
    Baresi L, Heckel R, Thöne S and Varró D (2003). Modeling and validation of service-oriented architectures, ACM SIGSOFT Software Engineering Notes, 28:5, (68-77), Online publication date: 1-Sep-2003.
  71. ACM
    Baresi L, Heckel R, Thöne S and Varró D Modeling and validation of service-oriented architectures Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering, (68-77)
  72. Wile D (2003). Revealing component properties through architectural styles, Journal of Systems and Software, 65:3, (209-214), Online publication date: 15-Mar-2003.
  73. Gokhale S, Horgan J and Trivedi K Specification Architecting dependable systems, (245-266)
  74. Garlan D, Cheng S and Schmerl B Increasing system dependability through architecture-based self-repair Architecting dependable systems, (61-89)
  75. Plasil F and Visnovsky S (2002). Behavior Protocols for Software Components, IEEE Transactions on Software Engineering, 28:11, (1056-1076), Online publication date: 1-Nov-2002.
  76. ACM
    Dabrowski C, Mills K and Elder J Understanding consistency maintenance in service discovery architectures during communication failure Proceedings of the 3rd international workshop on Software and performance, (168-178)
  77. ACM
    Ambriola V and Kmiecik A Architectural transformations Proceedings of the 14th international conference on Software engineering and knowledge engineering, (275-278)
  78. ACM
    Schmerl B and Garlan D Exploiting architectural design knowledge to support self-repairing systems Proceedings of the 14th international conference on Software engineering and knowledge engineering, (241-248)
  79. ACM
    Faucou S, Dplanche A and Trinquet Y Timing fault detection for safety-critical real-time embedded systems Proceedings of the 10th workshop on ACM SIGOPS European workshop, (247-250)
  80. Reussner R, Poernomo I and Schmidt H Using the TrustME Tool Suite for Automatic Component Protocol Adaptation Proceedings of the International Conference on Computational Science-Part II, (854-863)
  81. ACM
    Muchaluat-Saade D and Soares L Towards the convergence between hypermedia authoring languages and architecture description languages Proceedings of the 2001 ACM Symposium on Document engineering, (48-57)
  82. Ruiz-Garcia J, Thévenod-Fosse P and Fabre J A Strategy for Testing MetaObject Protocols in Reflective Architectures Proceedings of the 2001 International Conference on Dependable Systems and Networks (formerly: FTCS), (327-336)
  83. DeLine R (2001). Avoiding Packaging Mismatch with Flexible Packaging, IEEE Transactions on Software Engineering, 27:2, (124-143), Online publication date: 1-Feb-2001.
  84. Wile D (2001). Modeling Architecture Description Languages Using AML, Automated Software Engineering, 8:1, (63-88), Online publication date: 1-Jan-2001.
  85. Kandé M and Strohmeier A Towards a UML profile for software architecture descriptions Proceedings of the 3rd international conference on The unified modeling language: advancing the standard, (513-527)
  86. Medvidovic N and Taylor R (2000). A Classification and Comparison Framework for Software Architecture Description Languages, IEEE Transactions on Software Engineering, 26:1, (70-93), Online publication date: 1-Jan-2000.
  87. Plasil F, Besta M and Visnovsky S Bounding Component Behavior via Protocols Proceedings of the Technology of Object-Oriented Languages and Systems
  88. ACM
    Monroe R Modeling and analyzing software architectures Proceedings of the 21st international conference on Software engineering, (690-691)
  89. ACM
    Di Nitto E and Rosenblum D Exploiting ADLs to specify architectural styles induced by middleware infrastructures Proceedings of the 21st international conference on Software engineering, (13-22)
  90. ACM
    Allen R, Garlan D and Ivers J (1998). Formal modeling and analysis of the HLA component integration standard, ACM SIGSOFT Software Engineering Notes, 23:6, (70-79), Online publication date: 1-Nov-1998.
  91. ACM
    Zhao J On assessing the complexity of software architectures Proceedings of the third international workshop on Software architecture, (163-166)
  92. ACM
    Wang Z Architecture abstraction tower Proceedings of the third international workshop on Software architecture, (151-154)
  93. ACM
    Rice M and Seidman S An approach to architectural analysis and testing Proceedings of the third international workshop on Software architecture, (121-123)
  94. ACM
    Hilliard R and Rice T Expressiveness in architecture description languages Proceedings of the third international workshop on Software architecture, (65-68)
  95. ACM
    Andersson J Reactive dynamic architectures Proceedings of the third international workshop on Software architecture, (1-4)
  96. ACM
    Allen R, Garlan D and Ivers J Formal modeling and analysis of the HLA component integration standard Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering, (70-79)
Contributors
  • Boeing Corporation
  • Carnegie Mellon University

Recommendations