English
Related papers

Related papers: ModARO: A Modular Approach to Architecture Reconst…

200 papers

While Microservices are a preferred choice for modern cloud-based applications, the migration and architectural refactoring of existing legacy systems is still a major challenge in industry. To address this, academia has proposed many…

Software Engineering · Computer Science 2023-11-10 Jonas Fritzsch , Filipe Correia , Justus Bogner , Stefan Wagner

A large number of techniques for analyzing and optimizing mobile apps have emerged in the past decade. However, those techniques' components are notoriously difficult to extract and reuse outside their original tools. This paper introduces…

Software Engineering · Computer Science 2019-02-26 Yixue Zhao , Nenad Medvidovic

We show the design of the software of the microcontroller unit of a weeding robot based on the Process Control architectural style and design patterns. The design consists of 133 modules resulting from using 8 design patterns for a total of…

Microservice architecture refers to the use of numerous small-scale and independently deployed services, instead of encapsulating all functions into one monolith. It has been a challenge in software engineering to decompose a monolithic…

Software Engineering · Computer Science 2021-05-18 Yuyang Wei , Yijun Yu , Minxue Pan , Tian Zhang

Modular programming is a cornerstone in software development, as it allows to build complex systems from the assembly of simpler components, and support reusability and substitution principles. In a distributed setting, component assembly…

Programming Languages · Computer Science 2018-01-25 Marco Carbone , Fabrizio Montesi , Hugo Torres Vieira

Distributed programs are hard to get right because they are required to be open, scalable, long-running, and tolerant to faults. In particular, the recent approaches to distributed software based on (micro-)services where different services…

Programming Languages · Computer Science 2017-08-25 Ian Cassar , Adrian Francalanza , Claudio Antares Mezzina , Emilio Tuosto

Microservice is a popular software architecture that relies on decentralized teams and clear service ownership to support modularity and scalability. However, in practice, developers frequently contribute across multiple services, creating…

Software Engineering · Computer Science 2026-04-27 Xiaozhou Li

The enormous quantity of data produced every day together with advances in data analytics has led to a proliferation of data management and analysis systems. Typically, these systems are built around highly specialized monolithic operators…

Databases · Computer Science 2021-09-30 Dimitrios Koutsoukos , Ingo Müller , Renato Marroquín , Ana Klimovic , Gustavo Alonso

Disaggregated memory architectures provide benefits to applications beyond traditional scale out environments, such as independent scaling of compute and memory resources. They also provide an independent failure model, where computations…

Component-based software engineering aims to reduce software development effort by reusing established components as building blocks of complex systems. Defining components in general-purpose programming languages restricts their reuse to…

Software Engineering · Computer Science 2014-12-10 Jan Oliver Ringert , Bernhard Rumpe , Andreas Wortmann

Microservice architectures provide an intuitive promise of high maintainability and evolvability due to loose coupling. However, these quality attributes are notably vulnerable to technical debt (TD). Few studies address TD in microservice…

Software Engineering · Computer Science 2025-06-23 Klara Borowa , Andrzej Ratkowski , Roberto Verdecchia

ML-Enabled Systems (MLES) are inherently complex since they require multiple components to achieve their business goal. This experience report showcases the software architecture reusability techniques applied while building Ocean Guard, an…

Software Engineering · Computer Science 2025-12-10 Renato Cordeiro Ferreira , Aditya Dhinavahi , Rowanne Trapmann , Willem-Jan van den Heuvel

The paper is devoted to the problem of erasure coding in distributed storage. We consider a model of storage that assumes that nodes are organized into equally sized groups, called racks, that within each group the nodes can communicate…

Information Theory · Computer Science 2019-01-15 Zitan Chen , Alexander Barg

We propose Sliceable Monolith, a new methodology for developing microservice architectures and perform their integration testing by leveraging most of the simplicity of a monolith: a single codebase and a local execution environment that…

Programming Languages · Computer Science 2021-07-20 Fabrizio Montesi , Marco Peressotti , Valentino Picotti

Microservice resilience, the ability of microservices to recover from failures and continue providing reliable and responsive services, is crucial for cloud vendors. However, the current practice relies on manually configured rules specific…

Software Engineering · Computer Science 2024-03-22 Tianyi Yang , Cheryl Lee , Jiacheng Shen , Yuxin Su , Yongqiang Yang , Michael R. Lyu

Network codes designed specifically for distributed storage systems have the potential to provide dramatically higher storage efficiency for the same availability. One main challenge in the design of such codes is the exact repair problem:…

Information Theory · Computer Science 2011-09-02 Dimitris S. Papailiopoulos , Jianqiang Luo , Alexandros G. Dimakis , Cheng Huang , Jin Li

AI-assisted development tools enable rapid prototyping of services but often lack awareness of architectural constraints, infrastructure dependencies, and organizational standards required in production environments. Consequently, generated…

Grids enable the aggregation, virtualization and sharing of massive heterogeneous and geographically dispersed resources, using files, applications and storage devices, to solve computation and data intensive problems, across institutions…

Software Engineering · Computer Science 2007-07-06 David Manset , Herve Verjus , Richard McClatchey

The stakeholders of a system are legitimately interested in whether and how its architecture reflects their respective concerns at each point of its development and maintenance processes. Having such knowledge available at all times would…

Software Engineering · Computer Science 2019-03-19 Daniel Link , Pooyan Behnamghader , Ramin Moazeni , Barry Boehm

A fundamental ambition of grid and distributed systems is to be capable of sustaining evolution and allowing for adaptability ((F. Losavio et al., 2002), (S. Radhakrishnan, 2005)). Furthermore, as the complexity and sophistication of theses…

Distributed, Parallel, and Cluster Computing · Computer Science 2012-03-05 Pierre de Leusse , Panos Periorellis , Paul Watson , Andreas Maierhofer