English
Related papers

Related papers: Evolution Patterns: Designing and Reusing Architec…

200 papers

Anyone in need of a data system today is confronted with numerous complex options in terms of system architectures, such as traditional relational databases, NoSQL and NewSQL solutions as well as several sub-categories like column-stores,…

Databases · Computer Science 2017-06-20 Stratos Idreos , Lukas M. Maas , Mike S. Kester

Software systems development nowadays has moved towards dynamic composition of services that run on distributed infrastructures aligned with continuous changes in the system requirements. Consequently, software developers need to tailor…

Software Engineering · Computer Science 2020-05-12 Mahdi Fahmideh , Mohsen Sharifi , Fereidoon Shams , Hasan Haghighi

Real-world software applications must constantly evolve to remain relevant. This evolution occurs when developing new applications or adapting existing ones to meet new requirements, make corrections, or incorporate future functionality.…

Software Engineering · Computer Science 2023-08-31 Sebastian Hönel

A new model for evolving Evolutionary Algorithms (EAs) is proposed in this paper. The model is based on the Multi Expression Programming (MEP) technique. Each MEP chromosome encodes an evolutionary pattern that is repeatedly used for…

Neural and Evolutionary Computing · Computer Science 2021-10-13 Mihai Oltean

Software Engineering Discipline is constantly achieving momentum from past two decades. In last decade, remarkable progress has been observed. New process models that are introduced from time to time in order to keep pace with…

Software Engineering · Computer Science 2013-02-08 Sukhpal Singh , Inderveer Chana

We are interested in supporting software evolution caused by changing requirements and/or environmental settings. For example, users of a system may require new functionality (changing requirements), or performance enhancements to cope with…

Software Engineering · Computer Science 2016-07-05 Chi Mai Nguyen , Roberto Sebastiani , Paolo Giorgini , John Mylopoulos

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

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

Enabling observability in software systems brings many benefits. It can, for example, ease the identification of issues or the implementation of improvements. It is especially critical to be able to observe sustainability-related dimensions…

Software Engineering · Computer Science 2026-04-13 Klervie Toczé , Andrei Dragomir , Vincenzo Stoico , Patricia Lago

The technological landscape changes daily, making it nearly impossible for a single person to be aware of all trends or available tools that may or may not be suitable for their software project. This makes tool selection and architectural…

Software Engineering · Computer Science 2025-09-15 Sebastian Copei , Oliver Hohlfeld , Jens Kosiol

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

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

When engineering complex and distributed software and hardware systems (increasingly used in many sectors, such as manufacturing, aerospace, transportation, communication, energy, and health-care), quality has become a big issue, since…

Software Engineering · Computer Science 2009-10-06 Antonio Bucchiarone , Davide Di Ruscio , Henry Muccini , Patrizio Pelliccione

Design patterns are well practices to share software development experiences. These patterns allow enhancing reusability, readability and maintainability of architecture and code of software applications. As simulation applies computerized…

Software Engineering · Computer Science 2020-08-24 Maamar El Amine Hamri

In the web age systems must be flexible, reconfigurable and adaptable in addition to being quick to develop. As a consequence, designing systems to cater for change is becoming not only desirable but required by industry. Allowing systems…

Instrumentation and Detectors · Physics 2009-09-29 Florida Estrella , Richard McClatchey , Zsolt Kovacs , Jean-Marie Le Goff , Steven Murray

The Gisela framework for declarative programming was developed with the specific aim of providing a tool that would be useful for knowledge representation and reasoning within real-world applications. To achieve this, a complete integration…

Software Engineering · Computer Science 2007-05-23 Goran Falkman , Olof Torgersson

As software systems evolve, their architecture is meant to adapt accordingly by following the changes in requirements, the environment, and the implementation. However, in practice, the evolving system often deviates from the architecture,…

Software Engineering · Computer Science 2021-03-23 Ruiyin Li , Peng Liang , Mohamed Soliman , Paris Avgeriou

In the last 15 years, software architecture has emerged as an important software engineering field for managing the development and maintenance of large, software- intensive systems. Software architecture community has developed numerous…

Software Engineering · Computer Science 2017-01-24 Davide Falessi , Muhammad Ali Babar , Giovanni Cantone , Philippe Kruchten

In the age of the Cloud and so-called Big Data systems must be increasingly flexible, reconfigurable and adaptable to change in addition to being developed rapidly. As a consequence, designing systems to cater for evolution is becoming…

Software Engineering · Computer Science 2014-02-25 Richard McClatchey , Andrew Branson , Jetendr Shamdasani

The ability to independently deploy parts of a software system is one of the cornerstones of modern software development, and allows for these parts to evolve independently and at different speeds. A major challenge of such independent…

Software Engineering · Computer Science 2021-03-24 Holger Knoche , Wilhelm Hasselbring