19 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
Modern software cybernetics: new trends
Software cybernetics research is to apply a variety of techniques from cybernetics research to software engineering research. For more than fifteen years since 2001, there has been a dramatic increase in work relating to software cybernetics. From cybernetics viewpoint, the work is mainly on the first-order level, namely, the software under observation and control. Beyond the first-order cybernetics, the software, developers/users, and running environments influence each other and thus create feedback to form more complicated systems. We classify software cybernetics as Software Cybernetics I based on the first-order cybernetics, and as Software Cybernetics II based on the higher order cybernetics. This paper provides a review of the literature on software cybernetics, particularly focusing on the transition from Software Cybernetics I to Software Cybernetics II. The results of the survey indicate that some new research areas such as Internet of Things, big data, cloud computing, cyber-physical systems, and even creative computing are related to Software Cybernetics II. The paper identifies the relationships between the techniques of Software Cybernetics II applied and the new research areas to which they have been applied, formulates research problems and challenges of software cybernetics with the application of principles of Phase II of software cybernetics; identifies and highlights new research trends of software cybernetic for further research
Modern software cybernetics: New trends
The file attached to this record is the author's final peer reviewed version. The Publisher's final version can be found by following the DOI link.Software cybernetics research is to apply a variety of techniques from cybernetics research to software engineering research. For more than fifteen years since 2001, there has been a dramatic increase in work relating to software cybernetics. From cybernetics viewpoint, the work is mainly on the first-order level, namely, the software under observation and control. Beyond the first-order cybernetics, the software, developers/users, and running environments influence each other and thus create feedback to form more complicated systems. We classify software cybernetics as Software Cybernetics I based on the first-order cybernetics, and as Software Cybernetics II based on the higher order cybernetics. This paper provides a review of the literature on software cybernetics, particularly focusing on the transition from Software Cybernetics I to Software Cybernetics II. The results of the survey indicate that some new research areas such as Internet of Things, big data, cloud computing, cyber-physical systems, and even creative computing are related to Software Cybernetics II. The paper identifies the relationships between the techniques of Software Cybernetics II applied and the new research areas to which they have been applied, formulates research problems and challenges of software cybernetics with the application of principles of Phase II of software cybernetics; identifies and highlights new research trends of software cybernetic for further research
Efficient Utility-Driven Self-Healing Employing Adaptation Rules for Large Dynamic Architectures
Self-adaptation can be realized in various ways. Rule-based approaches
prescribe the adaptation to be executed if the system or environment satisfy
certain conditions and result in scalable solutions, however, with often only
satisfying adaptation decisions. In contrast, utility-driven approaches
determine optimal adaptation decisions by using an often costly optimization
step, which typically does not scale well for larger problems. We propose a
rule-based and utility-driven approach that achieves the beneficial properties
of each of these directions such that the adaptation decisions are optimal
while the computation remains scalable since an expensive optimization step can
be avoided. The approach can be used for the architecture-based self-healing of
large software systems. We define the utility for large dynamic architectures
of such systems based on patterns capturing issues the self-healing must
address and we use patternbased adaptation rules to resolve the issues.
Defining the utility as well as the adaptation rules pattern-based allows us to
compute the impact of each rule application on the overall utility and to
realize an incremental and efficient utility-driven self-healing. We
demonstrate the efficiency and optimality of our scheme in comparative
experiments with a static rule-based scheme as a baseline and a utility-driven
approach using a constraint solver
Infraestructura para recuperaci贸n autom谩tica ante fallos de sistemas de software mediante modelos de control en tiempo real: aplicaci贸n a plataformas Java EE
El aseguramiento de calidad de servicio en sistemas inform谩ticos mediante auto-adaptaci贸n (self-healing) ofrece ventajas particulares cuando se aplican t茅cnicas de control a lazo cerrado. Sin embargo, se carece de herramientas robustas que faciliten combinar pr谩cticas de ingenier铆a de control e ingenier铆a de software. En este trabajo se presenta DECSS (Discrete Event Control of Software Systems), una herramienta gen茅rica y flexible para incorporar r谩pidamente capacidades de self-healing a sistemas de software y su hardware asociado. DECSS implementa control a lazo cerrado basado en modelos de simulaci贸n interactuando en tiempo real con el sistema supervisado, facilitando el dise帽o de modelos multiformalismo y eliminando riesgos en la transici贸n hacia controladores productivos.
Se implement贸 exitosamente un control sencillo para limitar el consumo de CPU y memoria de una aplicaci贸n Web sobre Java EE. Los ensayos expusieron din谩micas inesperadas de la aplicaci贸n controlada, y DECSS mostr贸 flexibilidad para adaptar el control utilizando los nuevos conocimientos adquiridos.Sociedad Argentina de Inform谩tica e Investigaci贸n Operativ
Infraestructura para recuperaci贸n autom谩tica ante fallos de sistemas de software mediante modelos de control en tiempo real: aplicaci贸n a plataformas Java EE
El aseguramiento de calidad de servicio en sistemas inform谩ticos mediante auto-adaptaci贸n (self-healing) ofrece ventajas particulares cuando se aplican t茅cnicas de control a lazo cerrado. Sin embargo, se carece de herramientas robustas que faciliten combinar pr谩cticas de ingenier铆a de control e ingenier铆a de software. En este trabajo se presenta DECSS (Discrete Event Control of Software Systems), una herramienta gen茅rica y flexible para incorporar r谩pidamente capacidades de self-healing a sistemas de software y su hardware asociado. DECSS implementa control a lazo cerrado basado en modelos de simulaci贸n interactuando en tiempo real con el sistema supervisado, facilitando el dise帽o de modelos multiformalismo y eliminando riesgos en la transici贸n hacia controladores productivos.
Se implement贸 exitosamente un control sencillo para limitar el consumo de CPU y memoria de una aplicaci贸n Web sobre Java EE. Los ensayos expusieron din谩micas inesperadas de la aplicaci贸n controlada, y DECSS mostr贸 flexibilidad para adaptar el control utilizando los nuevos conocimientos adquiridos.Sociedad Argentina de Inform谩tica e Investigaci贸n Operativ