Supporting the Understandability of Architecural Component Models
Supporting the Understandability of Architecural Component Models
Disciplines
Computer Sciences (80%); Mathematics (20%)
Keywords
-
Software Architecture,
Architectural Components,
Component and Connector View,
Model Understandability,
Empirical Software Engineering
Component models are frequently used as a central view of architectural descriptions of software systems. Even though architectural components are a major research topic in the software architecture field, rigorous studies on the design of component models and their use in architectural descriptions of software systems have not yet been conducted. Such foundational research is however essential to provide guidelines and tools to software architects, based on sound evidence, to help them understand how to design component models that are appropriate for the architectural understanding of a software system and how to best map them to software design models (such as class diagrams) and code. In the ARCOM project, we are interested in better understanding factors that influence the understandability of component models and how to best realize the refinements by and relationships to the implementation classes. This will be studied by systematically investigating which kinds of metrics can be used to assess the understandability of an architectural component model and in how far explicit trace links from architectural component models to code models (in form of class diagrams) are beneficial for architectural understanding of a software system. We will perform a series of four empirical experiments in which both research questions will be studied with both professional expert software architects and students of software architecture with little professional experience as subjects of the experiments. The results of the experiments will be used to create a catalogue of component design guidelines (best practices), a formalization of those design guidelines using formal constraints, and a realization of the design guideline constraints and the positively assessed metrics in a model-driven software development tool.
Software architecture describes the fundamental structures of and decision in a software system. It represents both a main design activity and a main design view in todays software development. As our society is increasingly dependent on software-intensive systems, it becomes increasingly important that software systems are developed at a high quality level. A well-designed, maintainable software architecture is seen as key to reaching a high quality level. Component models are frequently used as central views in architectural descriptions of software systems. However, before the ARCS project, almost no rigorous, empirical studies on the design of component models and their use in architectural descriptions of software systems have been conducted. Empirical research plays a fundamental role in modern science to support the scientific method. It can help to create trust in new technologies and approaches. Unless we understand how certain factors affect tools and methods, the development and use of a particular technology will essentially be a random act. The ARCS project focuses on providing empirical evidence, guidelines and tools for supporting the understandability of architectural component models, which is an important foundation for higher quality design and maintenance of software architectures. We have focused on studying metrics and traceability links, which are both suggested in the literature as major methods to support a high level of understandability and consequently better software system quality. In particular, we have conducted several empirical studies to examine which software metrics and/or other relevant factors affect the understandability. Our results show that several existing metrics that are applicable for component models affect or can be used to predict (1) the understandability of the component models' representation in the process of diagram comprehension and (2) the understandability of component models with regard to their relations to the system implementation. We have also performed five controlled experiments on architecture traceability. Among other results, the experiments provide strong evidence that using traceability links leads to a higher level understandability of the software architecture and that understanding the impact of changes in software architecture is more efficient when supported by traceability links. Based on the empirical findings, tool support and best practices for construction and maintenance of software architecture traceability links and metrics-based design guidance have been developed. The provided empirical evidence, tool support and best practices is an important foundational step towards the wide adoption of understandability metrics and architecture traceability in industry and other professional projects.
- Universität Wien - 100%
- Frank Leymann, Universität Stuttgart - Germany
- Uwe Van Heesch, Fontys Hogeschool Techniek en Logistiek - Netherlands
- Paris Avgeriou, University of Groningen - Netherlands
Research Output
- 139 Citations
- 18 Publications
-
2016
Title Exploring the Understandability of Components in Architectural Component Models Using Component Level Metrics and Participants' Experience DOI 10.1109/cbse.2016.8 Type Conference Proceeding Abstract Author Stevanetic S Pages 1-6 -
2015
Title Cost-Effective Traceability Links for Architecture-Level Software Understanding DOI 10.1145/2811681.2811695 Type Conference Proceeding Abstract Author Javed M Pages 69-73 -
2015
Title Tool Support for the Architectural Design Decisions in Software Ecosystems DOI 10.1145/2797433.2797480 Type Conference Proceeding Abstract Author Stevanetic S Pages 1-6 -
2015
Title On the effects of traceability links in differently sized software systems DOI 10.1145/2745802.2745812 Type Conference Proceeding Abstract Author Javed M Pages 1-10 -
2015
Title The Impact of Hierarchies on the Architecture-Level Software Understandability - A Controlled Experiment DOI 10.1109/aswec.2015.21 Type Conference Proceeding Abstract Author Stevanetic S Pages 98-107 -
2015
Title Software metrics for measuring the understandability of architectural structures DOI 10.1145/2745802.2745822 Type Conference Proceeding Abstract Author Stevanetic S Pages 1-14 -
2014
Title Supporting Software Evolution by Integrating DSL-based Architectural Abstraction and Understandability Related Metrics. Type Conference Proceeding Abstract Author Stevanetic S Conference Vienna, Austria, 2014 -
2018
Title Supporting the analyzability of architectural component models - empirical findings and tool support DOI 10.1007/s10664-017-9583-4 Type Journal Article Author Stevanetic S Journal Empirical Software Engineering Pages 3578-3625 -
2018
Title Supporting the evolution of event-driven service-oriented architectures using change patterns DOI 10.1016/j.infsof.2018.04.005 Type Journal Article Author Tragatschnig S Journal Information and Software Technology Pages 133-146 -
2014
Title Exploring the Relationships Between the Understandability of Architectural Components and Graph-Based Component Level Metrics DOI 10.1109/qsic.2014.21 Type Conference Proceeding Abstract Author Stevanetic S Pages 353-358 -
2014
Title The Supportive Effect of Traceability Links in Architecture-Level Software Understanding: Two Controlled Experiments DOI 10.1109/wicsa.2014.43 Type Conference Proceeding Abstract Author Javed M Pages 215-224 -
2014
Title Empirical evaluation of the understandability of architectural component diagrams DOI 10.1145/2578128.2578230 Type Conference Proceeding Abstract Author Stevanetic S Pages 1-8 -
2014
Title Empirical Study on the Effect of a Software Architecture Representation's Abstraction Level on the Architecture-Level Software Understanding DOI 10.1109/qsic.2014.20 Type Conference Proceeding Abstract Author Stevanetic S Pages 359-364 -
2014
Title The Supportive Effect of Traceability Links in Change Impact Analysis for Evolving Architectures – Two Controlled Experiments DOI 10.1007/978-3-319-14130-5_10 Type Book Chapter Author Javed M Publisher Springer Nature Pages 139-155 -
2014
Title Exploring the relationships between the understandability of components in architectural component models and component level metrics DOI 10.1145/2601248.2601264 Type Conference Proceeding Abstract Author Stevanetic S Pages 1-10 -
2014
Title A systematic literature review of traceability approaches between software architecture and source code DOI 10.1145/2601248.2601278 Type Conference Proceeding Abstract Author Javed M Pages 1-10 -
2014
Title Supporting Software Evolution by Integrating DSL-based Architectural Abstraction and Understandability Related Metrics DOI 10.1145/2642803.2642822 Type Conference Proceeding Abstract Author Stevanetic S Pages 1-8 -
2014
Title The Supportive Effect of Traceability Links in Architecture-Level Software Understanding: Two Controlled Experiments. Type Conference Proceeding Abstract Author Javed Ma Conference Proceedings of the 11th Working IEEE/IFIP Conference on Software Architecture. WICSA '14. Sydney, Australia, 2014