5,889 research outputs found
mRUBiS: An Exemplar for Model-Based Architectural Self-Healing and Self-Optimization
Self-adaptive software systems are often structured into an adaptation engine
that manages an adaptable software by operating on a runtime model that
represents the architecture of the software (model-based architectural
self-adaptation). Despite the popularity of such approaches, existing exemplars
provide application programming interfaces but no runtime model to develop
adaptation engines. Consequently, there does not exist any exemplar that
supports developing, evaluating, and comparing model-based self-adaptation off
the shelf. Therefore, we present mRUBiS, an extensible exemplar for model-based
architectural self-healing and self-optimization. mRUBiS simulates the
adaptable software and therefore provides and maintains an architectural
runtime model of the software, which can be directly used by adaptation engines
to realize and perform self-adaptation. Particularly, mRUBiS supports injecting
issues into the model, which should be handled by self-adaptation, and
validating the model to assess the self-adaptation. Finally, mRUBiS allows
developers to explore variants of adaptation engines (e.g., event-driven
self-adaptation) and to evaluate the effectiveness, efficiency, and scalability
of the engines
DeSyRe: on-Demand System Reliability
The DeSyRe project builds on-demand adaptive and reliable Systems-on-Chips (SoCs). As fabrication technology scales down, chips are becoming less reliable, thereby incurring increased power and performance costs for fault tolerance. To make matters worse, power density is becoming a significant limiting factor in SoC design, in general. In the face of such changes in the technological landscape, current solutions for fault tolerance are expected to introduce excessive overheads in future systems. Moreover, attempting to design and manufacture a totally defect and fault-free system, would impact heavily, even prohibitively, the design, manufacturing, and testing costs, as well as the system performance and power consumption. In this context, DeSyRe delivers a new generation of systems that are reliable by design at well-balanced power, performance, and design costs. In our attempt to reduce the overheads of fault-tolerance, only a small fraction of the chip is built to be fault-free. This fault-free part is then employed to manage the remaining fault-prone resources of the SoC. The DeSyRe framework is applied to two medical systems with high safety requirements (measured using the IEC 61508 functional safety standard) and tight power and performance constraints
Microservice Transition and its Granularity Problem: A Systematic Mapping Study
Microservices have gained wide recognition and acceptance in software
industries as an emerging architectural style for autonomic, scalable, and more
reliable computing. The transition to microservices has been highly motivated
by the need for better alignment of technical design decisions with improving
value potentials of architectures. Despite microservices' popularity, research
still lacks disciplined understanding of transition and consensus on the
principles and activities underlying "micro-ing" architectures. In this paper,
we report on a systematic mapping study that consolidates various views,
approaches and activities that commonly assist in the transition to
microservices. The study aims to provide a better understanding of the
transition; it also contributes a working definition of the transition and
technical activities underlying it. We term the transition and technical
activities leading to microservice architectures as microservitization. We then
shed light on a fundamental problem of microservitization: microservice
granularity and reasoning about its adaptation as first-class entities. This
study reviews state-of-the-art and -practice related to reasoning about
microservice granularity; it reviews modelling approaches, aspects considered,
guidelines and processes used to reason about microservice granularity. This
study identifies opportunities for future research and development related to
reasoning about microservice granularity.Comment: 36 pages including references, 6 figures, and 3 table
A survey on engineering approaches for self-adaptive systems (extended version)
The complexity of information systems is increasing in recent years, leading to increased effort for maintenance and configuration. Self-adaptive systems (SASs) address this issue. Due to new computing trends, such as pervasive computing, miniaturization of IT leads to mobile devices with the emerging need for context adaptation. Therefore, it is beneficial that devices are able to adapt context. Hence, we propose to extend the definition of SASs and include
context adaptation. This paper presents a taxonomy of self-adaptation and a survey on engineering SASs. Based on the taxonomy and the survey, we motivate a new perspective on SAS including context adaptation
Kompics: a message-passing component model for building distributed systems
The Kompics component model and programming framework was designedto simplify the development of increasingly complex distributed systems. Systems built with Kompics leverage multi-core machines out of the box and they can be dynamically reconfigured to support hot software upgrades. A simulation framework enables deterministic debugging and reproducible performance evaluation of unmodified Kompics distributed systems.
We describe the component model and show how to program and compose event-based distributed systems. We present the architectural patterns and abstractions that Kompics facilitates and we highlight a case study of a complex
distributed middleware that we have built with Kompics. We show how our approach enables systematic development and evaluation of large-scale and dynamic distributed systems
Architectural Support for Software Performance in Continuous Software Engineering: A Systematic Mapping Study
The continuous software engineering paradigm is gaining popularity in modern
development practices, where the interleaving of design and runtime activities
is induced by the continuous evolution of software systems. In this context,
performance assessment is not easy, but recent studies have shown that
architectural models evolving with the software can support this goal. In this
paper, we present a mapping study aimed at classifying existing scientific
contributions that deal with the architectural support for performance-targeted
continuous software engineering. We have applied the systematic mapping
methodology to an initial set of 215 potentially relevant papers and selected
66 primary studies that we have analyzed to characterize and classify the
current state of research. This classification helps to focus on the main
aspects that are being considered in this domain and, mostly, on the emerging
findings and implications for future researc
- âŠ