14 research outputs found

    QPLEX: Realizing the Integration of Quantum Computing into Combinatorial Optimization Software

    Full text link
    Quantum computing has the potential to surpass the capabilities of current classical computers when solving complex problems. Combinatorial optimization has emerged as one of the key target areas for quantum computers as problems found in this field play a critical role in many different industrial application sectors (e.g., enhancing manufacturing operations or improving decision processes). Currently, there are different types of high-performance optimization software (e.g., ILOG CPLEX and Gurobi) that support engineers and scientists in solving optimization problems using classical computers. In order to utilize quantum resources, users require domain-specific knowledge of quantum algorithms, SDKs and libraries, which can be a limiting factor for any practitioner who wants to integrate this technology into their workflows. Our goal is to add software infrastructure to a classical optimization package so that application developers can interface with quantum platforms readily when setting up their workflows. This paper presents a tool for the seamless utilization of quantum resources through a classical interface. Our approach consists of a Python library extension that provides a backend to facilitate access to multiple quantum providers. Our pipeline enables optimization software developers to experiment with quantum resources selectively and assess performance improvements of hybrid quantum-classical optimization solutions.Comment: Accepted for the IEEE International Conference on Quantum Computing and Engineering (QCE) 202

    Análisis descriptivo del proceso de implementación del nivel 2 del modelo CMMI en una empresa regional de desarrollo de software

    Get PDF
    CMMI (Capability Maturity Model Integration) is basically a continu­ous-improvement inspired model to classify software development organizations according to a five-level maturity and capability scale. The classification in a given level is based on the dominance that an organization shows evidence to have over the areas of that level, which in turn reflects the degree of maturity of the organization and of the processes that it follows to develop software. This article presents a preliminary descriptive analysis of a level 2 implementation process of the CMMI model in a Colombian software devel­opment company, making an overall presentation of how it was brought into practice the theory of the model in the processes of the company, to be compliant with the conditions, goals and practices defined in the level 2 process areas of the model. The arti­cle also describes the problems which arose in the execution of the project, as well as how they were solved. As preliminary results are presented some of the indicators defined by the company for the software processes, and the software tools that were ac­quired or developed for the support of the implementation of the process areas. Finally, some conclusions and recommendations which can be found of use and application are given for similar projects.El Modelo de Capacidad y Madurez (Capability Maturity Model Integration, CMMI), es un modelo inspirado en el mejoramiento continuo que permite clasificar a las organizaciones de desarrollo de software según una escala de cinco niveles de madurez y capacidad. La clasificación en un determinado nivel se realiza sobre la base del dominio que una organización evidencia tener acerca de las áreas de proceso de dicho nivel, lo cual a su vez refleja el grado de madurez de la misma y de los procesos que ella realiza para desarrollar software. En este artículo se presenta un análisis descriptivo preliminar del proceso de implementación del nivel 2 del modelo CMMI en una empresa regional de desarrollo de software, exponiendo de manera general cómo se realizó la aplicación de la teoría del modelo en los procesos requeridos para cumplir con las condiciones, metas y prácticas de las áreas de proceso del nivel 2 del modelo, así como los problemas e inconvenientes presentados en la ejecución del proyecto, junto con sus respectivas soluciones. A modo de resultados preliminares, se presentan algunos de los indicadores definidos por la empresa para esos procesos, las herramientas de apoyo que se adquirieron o desarrollaron para la implementación de las áreas de proceso. Finalmente, se dan algunas conclusiones y recomendaciones de aplicación que pueden ser útiles para proyectos similares

    A Framework for Automated and Composable Testing of Component-based Services

    Get PDF
    International audienceThe vision of service-oriented computing has been largely developed on the fundamental principle of building systems by composing and orchestrating services in their flow of control. Therefore, software development is nowadays notably influenced by service-oriented architectures (SOAs), in which the quality of software systems is determined by the quality of the involved services and their actual composition. Despite the efforts on improving their individual quality, adding or replacing services in an evolving system can introduce failures, thus compromising the satisfaction of the system's functional and extra-functional requirements, which is translated as a lack of trust in the SOA vision. Thus, a key issue for the industrial adoption of SOA is providing service providers, integrators, and consumers the means to build confidence that services behave according to the contracted quality conditions. In this paper we present a first version of PASCANI, a framework for specifying and executing automated, composable, and traceable test specifications for service-oriented systems. From a test specification, PASCANI generates a configuration of testing services compliant with the Service Component Architecture (SCA) specification, that can be composed to integrate different testing strategies, being their tests traceable in an automated way. Our evaluation results show the applicability of the framework and a substantial gain in the tester's effort for developing tests

    What Can Control Theory Teach Us About Assurances in Self-Adaptive Software Systems?

    Get PDF
    International audienceSelf-adaptive software (SAS) systems monitor their own behavior and autonomously make dynamic adjustments to maintain desired properties in response to changes in the systems’ operational contexts. Control theory provides verifiable feedback models to realize this kind of autonomous control for a broad class of systems for which precise quantitative or logical discrete models can be defined. Recent MAPE-K models, and variants such as the hierarchical ACRA and similar others, address a broader range of tasks, but they do not provide the inherent assurances that control theory does, as they do not explicitly identify the properties that reliable controllers should have. These properties, in general, result not from the abstract models, but from the specifics of control strategies, which precisely these models fail to analyze. We show that, even for systems too complex for direct application of classical control theory, the abstractions of control theory provide design guidance that identifies important control characteristics and raises critical design issues about the details of the strategy that determine the controllability of the resulting systems. This in turn enables careful reasoning about whether the control characteristics are in fact achieved. In this chapter we examine the control theory approach, explain several control strategies illustrated with examples from both domains, classical control theory and SAS, and show how the issues addressed by these strategies can and should be seriously considered in the design of self-adaptive software systems. From this examination we distill challenges for developing principles that may serve as the basis of a control theory for self-adaptive software systems

    Software engineering for self-adaptive systems:research challenges in the provision of assurances

    Get PDF
    The important concern for modern software systems is to become more cost-effective, while being versatile, flexible, resilient, dependable, energy-efficient, customisable, configurable and self-optimising when reacting to run-time changes that may occur within the system itself, its environment or requirements. One of the most promising approaches to achieving such properties is to equip software systems with self-managing capabilities using self-adaptation mechanisms. Despite recent advances in this area, one key aspect of self-adaptive systems that remains to be tackled in depth is the provision of assurances, i.e., the collection, analysis and synthesis of evidence that the system satisfies its stated functional and non-functional requirements during its operation in the presence of self-adaptation. The provision of assurances for self-adaptive systems is challenging since run-time changes introduce a high degree of uncertainty. This paper on research challenges complements previous roadmap papers on software engineering for self-adaptive systems covering a different set of topics, which are related to assurances, namely, perpetual assurances, composition and decomposition of assurances, and assurances obtained from control theory. This research challenges paper is one of the many results of the Dagstuhl Seminar 13511 on Software Engineering for Self-Adaptive Systems: Assurances which took place in December 2013

    Software Engineering for Self-Adaptive Systems: A second Research Roadmap

    Get PDF
    The goal of this roadmap paper is to summarize the state of-the-art and identify research challenges when developing, deploying and managing self-adaptive software systems. Instead of dealing with a wide range of topics associated with the field, we focus on four essential topics of self-adaptation: design space for adaptive solutions, processes, from centralized to decentralized control, and practical run-time verification and validation. For each topic, we present an overview, suggest future directions, and focus on selected challenges. This paper complements and extends a previous roadmap on software engineering for self-adaptive systems published in 2009 covering a different set of topics, and reflecting in part on the previous paper. This roadmap is one of the many results of the Dagstuhl Seminar 10431 on Software Engineering for Self-Adaptive Systems, which took place in October 2010

    Análisis descriptivo del proceso de implementación del nivel 2 del modelo CMMI en una empresa regional de desarrollo de software

    No full text
    CMMI (Capability Maturity Model Integration) is basically a continu­ous-improvement inspired model to classify software development organizations according to a five-level maturity and capability scale. The classification in a given level is based on the dominance that an organization shows evidence to have over the areas of that level, which in turn reflects the degree of maturity of the organization and of the processes that it follows to develop software. This article presents a preliminary descriptive analysis of a level 2 implementation process of the CMMI model in a Colombian software devel­opment company, making an overall presentation of how it was brought into practice the theory of the model in the processes of the company, to be compliant with the conditions, goals and practices defined in the level 2 process areas of the model. The arti­cle also describes the problems which arose in the execution of the project, as well as how they were solved. As preliminary results are presented some of the indicators defined by the company for the software processes, and the software tools that were ac­quired or developed for the support of the implementation of the process areas. Finally, some conclusions and recommendations which can be found of use and application are given for similar projects.El Modelo de Capacidad y Madurez (Capability Maturity Model Integration, CMMI), es un modelo inspirado en el mejoramiento continuo que permite clasificar a las organizaciones de desarrollo de software según una escala de cinco niveles de madurez y capacidad. La clasificación en un determinado nivel se realiza sobre la base del dominio que una organización evidencia tener acerca de las áreas de proceso de dicho nivel, lo cual a su vez refleja el grado de madurez de la misma y de los procesos que ella realiza para desarrollar software. En este artículo se presenta un análisis descriptivo preliminar del proceso de implementación del nivel 2 del modelo CMMI en una empresa regional de desarrollo de software, exponiendo de manera general cómo se realizó la aplicación de la teoría del modelo en los procesos requeridos para cumplir con las condiciones, metas y prácticas de las áreas de proceso del nivel 2 del modelo, así como los problemas e inconvenientes presentados en la ejecución del proyecto, junto con sus respectivas soluciones. A modo de resultados preliminares, se presentan algunos de los indicadores definidos por la empresa para esos procesos, las herramientas de apoyo que se adquirieron o desarrollaron para la implementación de las áreas de proceso. Finalmente, se dan algunas conclusiones y recomendaciones de aplicación que pueden ser útiles para proyectos similares

    Author manuscript, published in "8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (2013)" Improving Context-Awareness in Self-Adaptation using the DYNAMICO Reference Model

    Get PDF
    Abstract—Self-adaptation mechanisms modify target systems dynamically to address adaptation goals, which may evolve continuously due to changes in system requirements. These changes affect values and thresholds of observed context variables and monitoring logic, or imply the addition and/or deletion of context variables, thus compromising self-adaptivity effectiveness under static monitoring infrastructures. Nevertheless, self-adaptation approaches often focus on adapting target systems only rather than monitoring infrastructures. Previously, we proposed DY-NAMICO, a reference model for self-adaptive systems where adaptation goals and monitoring requirements change dynamically. This paper presents an implementation of DYNAMICO comprising our SMARTERCONTEXT monitoring infrastructure and QOS-CARE adaptation framework in a self-adaptation solution that maintains its context-awareness relevance. To evaluate our reference model we use self-adaptive system properties and the Znn.com exemplar to compare the Rainbow system with our DYNAMICO implementation. The results of the evaluation demonstrate the applicability, feasibility, and effectiveness of DYNAMICO, especially for self-adaptive systems with contextawareness requirements. I

    What Can Control Theory Teach Us About Assurances in Self-Adaptive Software Systems?

    Get PDF
    International audienceSelf-adaptive software (SAS) systems monitor their own behavior and autonomously make dynamic adjustments to maintain desired properties in response to changes in the systems’ operational contexts. Control theory provides verifiable feedback models to realize this kind of autonomous control for a broad class of systems for which precise quantitative or logical discrete models can be defined. Recent MAPE-K models, and variants such as the hierarchical ACRA and similar others, address a broader range of tasks, but they do not provide the inherent assurances that control theory does, as they do not explicitly identify the properties that reliable controllers should have. These properties, in general, result not from the abstract models, but from the specifics of control strategies, which precisely these models fail to analyze. We show that, even for systems too complex for direct application of classical control theory, the abstractions of control theory provide design guidance that identifies important control characteristics and raises critical design issues about the details of the strategy that determine the controllability of the resulting systems. This in turn enables careful reasoning about whether the control characteristics are in fact achieved. In this chapter we examine the control theory approach, explain several control strategies illustrated with examples from both domains, classical control theory and SAS, and show how the issues addressed by these strategies can and should be seriously considered in the design of self-adaptive software systems. From this examination we distill challenges for developing principles that may serve as the basis of a control theory for self-adaptive software systems
    corecore