English
Related papers

Related papers: Using Dependence Analysis to Support Software Arch…

200 papers

One of the goals of Software design is to model a system in such a way that it is reused. Actively reusing designs or code allows taking advantage of the investment made on reusable components. However development of domain specific…

Software Engineering · Computer Science 2014-06-17 N. Md Jubair Basha , Salman Abdul Moiz

To facilitate understanding the architecture of a software system, we developed SArF Map technique that visualizes software architecture from feature and layer viewpoints using a city metaphor. SArF Map visualizes implicit software features…

Software Engineering · Computer Science 2013-06-06 Kenichi Kobayashi , Manabu Kamimura , Keisuke Yano , Koki Kato , Akihiko Matsuo

Documentation is an important mechanism for disseminating software architecture knowledge. Software project teams can employ vastly different formats for documenting software architecture, from unstructured narratives to standardized…

Software Engineering · Computer Science 2023-05-30 Neil A. Ernst , Martin P. Robillard

Background: The literature offers various methods for capturing software architectural knowledge (AK), including views, viewpoints, and architecture decision records (ADRs). In parallel, sustainability has gained prominence in software…

Software Engineering · Computer Science 2023-09-22 Haben Birhane Gebreweld

Software development has steadily embraced agile software development methodology/method (ASDM) and has been moving away from the plan driven software development methodology (PDM) approaches like waterfall. Given the iterative nature of…

Software Engineering · Computer Science 2021-03-02 Vinod Menon , Roopak Sinha , Stephen MacDonell

Large Language Models (LLMs) are used for many different software engineering tasks. In software architecture, they have been applied to tasks such as classification of design decisions, detection of design patterns, and generation of…

Software Engineering · Computer Science 2025-05-23 Larissa Schmid , Tobias Hey , Martin Armbruster , Sophie Corallo , Dominik Fuchß , Jan Keim , Haoyu Liu , Anne Koziolek

To preserve access to digital content, we must preserve the representation information that captures the intended interpretation of the data. In particular, we must be able to capture performance dependency requirements, i.e. to identify…

Digital Libraries · Computer Science 2011-11-04 Andrew N. Jackson

The purpose of this paper is to evaluate the impact of emerging network-centric software systems on the field of software architecture. We first develop an insight concerning the term "network-centric" by presenting its origin and its…

Software Engineering · Computer Science 2007-05-23 Amine Chigani , James D. Arthur

As modern software systems are increasingly developed for running in distributed environments, it is crucial to provide fundamental techniques such as dependence analysis for checking, diagnosing, and evolving those systems. However,…

Software Engineering · Computer Science 2021-11-11 Haipeng Cai , Xiaoqin Fu

Complex software systems must be maintained for years or decades, and the effort and cost to maintain them are often high, involving continuous refactoring to ensure their longevity in the face of changing requirements. In this article, we…

Software Engineering · Computer Science 2018-02-13 Rafael Capilla , Elisa Yumi Nakagawa , Uwe Zdun , Carlos Carrillo

This chapter defines and presents different kinds of software ecosystems. The focus is on the development, tooling and analytics aspects of software ecosystems, i.e., communities of software developers and the interconnected software…

Software Engineering · Computer Science 2023-07-31 Tom Mens , Coen De Roover

A software architecture is the result of multiple decisions made by a software architect. These decisions are called architectural decisions, as they bring solutions to architectural problems. Relations between decisions can be captured in…

Software Engineering · Computer Science 2018-07-10 Marcin Szlenk

Dependency analysis is a technique to identify and determine data dependencies between service protocols. Protocols evolving concurrently in the service composition need to impose an order in their execution if there exist data…

Software Engineering · Computer Science 2010-07-30 Javier Cubo , Ernesto Pimentel , Gwen Salaün , Carlos Canal

Computer systems are so complex, so they are usually designed and analyzed in terms of layers of abstraction. Complexity is still a challenge facing logical reasoning tools that are used to find software design flaws and implementation…

Software Engineering · Computer Science 2021-06-18 Ramy Shahin

The architectural design of software systems is not a trivial task, requiring sometimes large experience and knowledge accumulated for years. Reference architectures have been increasingly adopted as a means to support such task, also…

Software Engineering · Computer Science 2022-09-30 Edilson Soares Palma , Elisa Yumi Nakagawa , Débora Maria Barroso Paiva , Maria Istela Cagnin

Self-adaptive software can assess and modify its behavior when the assessment indicates that the program is not performing as intended or when improved functionality or performance is available. Since the mid-1960s, the subject of system…

Software Engineering · Computer Science 2023-02-14 Tarik A. Rashid , Bryar A. Hassan , Abeer Alsadoon , Shko Qader , S. Vimal , Amit Chhabra , Zaher Mundher Yaseen

Context: As the adoption of continuous delivery practices increases in software organizations, different scenarios struggle to make it scales for their products in long-term evolution. This study looks at the concrete software architecture…

Software Engineering · Computer Science 2021-08-24 Breno Bernard Nicolau de França , Paulo Sérgio Medeiros dos Santos , Santiago Matalonga

With the increased dependence on software, there is a pressing need for engineering long-lived software. As architectures have a profound effect on the life-span of the software and the provisioned quality of service, stable architectures…

Software Engineering · Computer Science 2019-12-12 Maria Salama , Rami Bahsoon , Rajkumar Buyya

Software architecture knowledge transfer is essential for software development, but related documentation is often incomplete or ambiguous, making oral explanations a common means. Our broader aim is to explore how such explanations might…

Software Engineering · Computer Science 2025-09-03 Satrio Adi Rukmono , Filip Zamfirov , Lina Ochoa , Floris Pex , Michel Chaudron

The nature of software re-engineering is to improve or transform existing software so it can be understood, controlled and reused as new software. Needs, the necessity of re-engineering software has greatly increased. The system software…

Software Engineering · Computer Science 2011-12-20 Phuc V. Nguyen