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
- 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.
- 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.
- Papapostolu A and Birov D Structured Component and Connector Communication Proceedings of the 8th Balkan Conference in Informatics, (1-4)
- 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)
- 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)
- Guessi M, Moreira D, Abdalla G, Oquendo F and Nakagawa E OntolAD Proceedings of the 30th Annual ACM Symposium on Applied Computing, (1417-1424)
- 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.
- 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.
- 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.
- Guessi M, Oquendo F and Nakagawa E Variability viewpoint to describe reference architectures Proceedings of the WICSA 2014 Companion Volume, (1-6)
- 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)
- 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)
- 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.
- 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)
- Solms F What is software architecture? Proceedings of the South African Institute for Computer Scientists and Information Technologists Conference, (363-373)
- 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)
- 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)
- 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)
- Krüger I, Demchak B and Menarini M Dynamic service composition and deployment with openrichservices Software Service and Application Engineering, (120-146)
- Deiters C and Rausch A A constructive approach to compositional architecture design Proceedings of the 5th European conference on Software architecture, (75-82)
- 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.
- Deiters C and Rausch A Assuring architectural properties during compositional architecture design Proceedings of the 10th international conference on Software composition, (141-148)
- 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)
- 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)
- 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.
- 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)
- 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)
- 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.
- 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.
- 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)
- 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)
- Auguston M (2009). Software architecture built from behavior models, ACM SIGSOFT Software Engineering Notes, 34:5, (1-15), Online publication date: 2-Oct-2009.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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)
- 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.
- Ramos R, Sampaio A and Mota A Framework composition conformance via refinement checking Proceedings of the 2008 ACM symposium on Applied computing, (119-125)
- 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)
- 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.
- 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)
- 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)
- Waignier G, Le Meur A and Duchien L FIESTA Proceedings of the First European conference on Software Architecture, (76-91)
- 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)
- 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
- Ling X, Maibaum T and Aguirre N Design in CommUnity with extension morphisms Formal methods and hybrid real-time systems, (435-466)
- Sarjoughian H Model composability Proceedings of the 38th conference on Winter simulation, (149-158)
- Fabresse L, Dony C and Huchard M SCL Proceedings of the 14th international conference on Advances in smalltalk, (91-110)
- 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)
- Ryoo J and Saiedian H (2006). AVDL, Journal of Systems and Software, 79:8, (1180-1206), Online publication date: 1-Aug-2006.
- 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)
- Oquendo F (2006). π-Method, ACM SIGSOFT Software Engineering Notes, 31:3, (1-13), Online publication date: 1-May-2006.
- 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.
- Mateescu R and Oquendo F (2006). π-AAL, ACM SIGSOFT Software Engineering Notes, 31:2, (1-19), Online publication date: 1-Mar-2006.
- Zheng Y and Chan A (2006). MobiGATE, IEEE Transactions on Software Engineering, 32:1, (35-50), Online publication date: 1-Jan-2006.
- 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)
- 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)
- 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)
- 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.
- 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)
- 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.
- 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)
- 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)
- Wu W and Kelly T Failure modelling in software architecture design for safety Proceedings of the 2005 workshop on Architecting dependable systems, (1-7)
- Oquendo F (2004). π-ADL, ACM SIGSOFT Software Engineering Notes, 29:3, (1-14), Online publication date: 1-May-2004.
- 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.
- 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.
- 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)
- Wile D (2003). Revealing component properties through architectural styles, Journal of Systems and Software, 65:3, (209-214), Online publication date: 15-Mar-2003.
- Gokhale S, Horgan J and Trivedi K Specification Architecting dependable systems, (245-266)
- Garlan D, Cheng S and Schmerl B Increasing system dependability through architecture-based self-repair Architecting dependable systems, (61-89)
- 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.
- 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)
- Ambriola V and Kmiecik A Architectural transformations Proceedings of the 14th international conference on Software engineering and knowledge engineering, (275-278)
- 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)
- 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)
- 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)
- 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)
- 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)
- DeLine R (2001). Avoiding Packaging Mismatch with Flexible Packaging, IEEE Transactions on Software Engineering, 27:2, (124-143), Online publication date: 1-Feb-2001.
- Wile D (2001). Modeling Architecture Description Languages Using AML, Automated Software Engineering, 8:1, (63-88), Online publication date: 1-Jan-2001.
- 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)
- 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.
- Plasil F, Besta M and Visnovsky S Bounding Component Behavior via Protocols Proceedings of the Technology of Object-Oriented Languages and Systems
- Monroe R Modeling and analyzing software architectures Proceedings of the 21st international conference on Software engineering, (690-691)
- 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)
- 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.
- Zhao J On assessing the complexity of software architectures Proceedings of the third international workshop on Software architecture, (163-166)
- Wang Z Architecture abstraction tower Proceedings of the third international workshop on Software architecture, (151-154)
- Rice M and Seidman S An approach to architectural analysis and testing Proceedings of the third international workshop on Software architecture, (121-123)
- Hilliard R and Rice T Expressiveness in architecture description languages Proceedings of the third international workshop on Software architecture, (65-68)
- Andersson J Reactive dynamic architectures Proceedings of the third international workshop on Software architecture, (1-4)
- 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)
Recommendations
Generating Formal Software Architecture Descriptions from Semi-Formal SysML-Based Models: A Model-Driven Approach
Computational Science and Its Applications – ICCSA 2021AbstractThe critical nature of many complex software-intensive systems requires formal architecture descriptions for supporting automated architectural analysis regarding correctness properties. Due to the challenges of adopting formal approaches, many ...
Specifying Software Architectures Using a Formal-Based Approach
ASWEC '08: Proceedings of the 19th Australian Conference on Software EngineeringArchitecture description languages (ADLs) describe the abstracted structure of a system. In this paper we describe a new ADL based on extension of the existing CARE language used in formally specifying and implementing reusable software components. The ...
Software architecture: reflections on an evolving discipline
ESEC/FSE '11: Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineeringSoftware Architecture emerged in the 1990's as an important sub-field of software engineering. While good architectural design had long been recognized as critical to the success of any complex software system, before then the practice of architecting ...