Systematically reviewing the layered architectural pattern principles and their use to reconstruct software architectures

12/02/2021
by   Alvine B. Belle, et al.
0

Architectural reconstruction is a reverse engineering activity aiming at recovering the missing decisions on a system. It can help identify the components, within a legacy software application, according to the application's architectural pattern. It is useful to identify architectural technical debt. We are interested in identifying layers within a layered application since the layered pattern is one of the most used patterns to structure large systems. Earlier component reconstruction work focusing on that pattern relied on generic component identification criteria, such as cohesion and coupling. Recent work has identified architectural-pattern specific criteria to identify components within that pattern. However, the architectural-pattern specific criteria that the layered pattern embodies are loosely defined. In this paper, we present a first systematic literature review (SLR) of the literature aiming at inventorying such criteria for layers within legacy applications and grouping them under four principles that embody the fundamental design principles under-lying the architectural pattern. We identify six such criteria in the form of design rules. We also perform a second systematic literature review to synthesize the literature on software architecture reconstruction in the light of these criteria. We report those principles, the rules they encompass, their representation, and their usage in software architecture reconstruction.

READ FULL TEXT

page 10

page 12

page 14

page 15

research
06/04/2019

Design principles, architectural smells and refactorings for microservices: A multivocal review

Potential benefits such as agile service delivery have led many companie...
research
06/06/2021

Redefining measures of Layered Architecture

Layered architecture represents the software structure in the form of la...
research
05/17/2020

Capturing Software Architecture Knowledge for Pattern-Driven Design

Context: Software architecture is a knowledge-intensive field. One mecha...
research
03/23/2018

APR: Architectural Pattern Recommender

This paper proposes Architectural Pattern Recommender (APR) system which...
research
02/11/2022

Software Architecture for Quantum Computing Systems – A Systematic Review

Quantum computing systems rely on the principles of quantum mechanics to...
research
07/09/2020

A Reference Software Architecture for Social Robots

Social Robotics poses tough challenges to software designers who are req...
research
04/11/2019

Prolific Compositions

Under what circumstances might every extension of a combinatorial struct...

Please sign up or login with your details

Forgot password? Click here to reset