An Incremental Model Projection Applied to Streamline Software Architecture Assessment and Monitoring

An Incremental Model Projection Applied to Streamline Software Architecture Assessment and Monitoring

Salim Kadri, Sofiane Aouag, Djalal Hedjazi
Copyright: © 2021 |Pages: 17
DOI: 10.4018/IJISMD.2021070102
OnDemand:
(Individual Articles)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Managing software architecture represents a big challenge throughout the development lifecycle. The complexity of the involved structural elements and the relations among them make the specified models look oversized and fuzzy, which makes the architecture incomprehensible, hard to maintain, and difficult to assess its quality. This paper's goal is to propose a powerful methodology for simplifying and reducing models' complexity to increase understandability, smoothing maintenance, and facilitating architecture monitoring and assessment. For this purpose, the authors rely heavily on two major concepts, multi-view modeling, and incremental model projection. The multi-viewing requires that all models must have two main views to describe the architecture and the mapping to its relevant quality attributes. The incremental projection is a methodology used to specialize and minimize models progressively to make them simpler and clearer. The results show that projecting models incrementally can reduce and narrow them significantly.
Article Preview
Top

1. Introduction

Model-driven engineering MDE (Arboleda & Royer, 2013) is a promising approach that uses models as the first artifact to define software development methodologies, to develop systems at any abstraction level, and to organize and automate systems testing and validation. In the domain of software architecture, modeling is used frequently to specify architectures in order to amplify reasoning and enriching software documentation with domain, design, and source code models. In this context, stakeholders may perform many activities on these models, such as updating, transformations, and code generation (Blouin et al., 2015) to satisfy tasks such as maintenance and coding. Additionally, and most importantly in this paper, the specified models are used by evaluation frameworks to perform complex assessment activities to monitor architecture quality and check the adherence of that architecture to these models. These activities require a good comprehension of these models, which consists of understanding the involved architectural elements, the relationships among them, and the constraints defined on both of them. However, models are often too large, oversized, and full of details due to architecture’s high complexity, which may decrease understandability significantly and make their usefulness in quality assessment difficult and impractical. In this paper, we proposed two main concepts to overcome these problems in order to streamline quality assessment and monitoring.

The first concept consists of involving stakeholders’ quality attributes (Non- Functional Requirements (ISO 25010, n.d.)) in the modeling process. Usually, to promote a quality attribute, a set of architectural decisions are made. These decisions include architectural styles, tactics (Bass et al., 2012), and design constraints. In this regard, we proposed to describe models with two interweaved views: an architectural view and a quality view. The first view depicts the architectural decisions made in favor of quality attributes represented in the quality view. It describes architectural elements (components, classes …etc.), their external properties, and the relationships among them. The second view describes quality attributes promoted by the first view. These two views are attached to construct illustrative models at different abstraction levels to describe the architecture and to express the mapping between quality attributes and that architecture at the same time.

Multi-view modeling in this paper is a powerful methodology used to expanding the vision from a single system view to a multi-view according to stakeholders’ quality attributes. Besides, this representation can boost up the understandability and the reasoning behind the resulting design. Although these benefits, multi-view models may encapsulate in their turns various nested views, which make these models oversized, complex, and difficult to navigate. Many visualization tools that consist of physical zooming, scroll bars, and filters are proposed to facilitate navigation and visualization (Blouin et al., 2015; Gračanin et al., 2005). These tools require combining sequences of zooming, scrolling, and filtering operations to get the desired model parts. They are more focalized on improving model rendering than reducing models’ complexity and size. Besides, most of these tools’ algorithms manipulate one type of model, which is the UML class diagram, and they are not designed for general-purpose usage. The downsides of these tools and the need to reduce models to facilitate quality control, led us to propose the second concept, which is the parameterized model projection.

Model projection is a procedure that extracts from parent models only elements of interest according to the inputted projection criteria and SQL-like queries to construct newly simplified and easy-to-understand destination models. The projection algorithm focuses on reducing and narrowing models rather than rendering models and interacting visually with their elements. The projection can be applied incrementally and iteratively according to the complexity level. The empirical study showed that the specified multi-view models became smaller and narrower after applying the projection iteratively, which enhanced the understandability and the navigation experience.

Complete Article List

Search this Journal:
Reset
Volume 15: 1 Issue (2024)
Volume 14: 1 Issue (2023)
Volume 13: 8 Issues (2022): 7 Released, 1 Forthcoming
Volume 12: 4 Issues (2021)
Volume 11: 4 Issues (2020)
Volume 10: 4 Issues (2019)
Volume 9: 4 Issues (2018)
Volume 8: 4 Issues (2017)
Volume 7: 4 Issues (2016)
Volume 6: 4 Issues (2015)
Volume 5: 4 Issues (2014)
Volume 4: 4 Issues (2013)
Volume 3: 4 Issues (2012)
Volume 2: 4 Issues (2011)
Volume 1: 4 Issues (2010)
View Complete Journal Contents Listing