19 research outputs found

    mRUBiS: An Exemplar for Model-Based Architectural Self-Healing and Self-Optimization

    Full text link
    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

    Get PDF
    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

    Get PDF
    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

    Full text link
    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

    Get PDF
    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

    Get PDF
    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
    corecore