7 research outputs found

    Applying Software Product Lines to Build Autonomic Pervasive Systems

    Full text link
    In this Master Thesis, we have proposed a model-driven Software Product Line (SPL) for developing autonomic pervasive systems. The work focusses on reusing the Variability knowledge from the SPL design to the SPL products. This Variability knowledge enables SPL products to deal with adaptation scenarios (evolution and involution) in an autonomic way.Cetina Englada, C. (2008). Applying Software Product Lines to Build Autonomic Pervasive Systems. http://hdl.handle.net/10251/12447Archivo delegad

    Context-dependent reconfiguration of autonomous vehicles in mixed traffic

    Get PDF
    Human drivers naturally adapt their behaviour depending on the traffic conditions, such as the current weather and road type. Autonomous vehicles need to do the same, in a way that is both safe and efficient in traffic composed of both conventional and autonomous vehicles. In this paper, we demonstrate the applicability of a reconfigurable vehicle controller agent for autonomous vehicles that adapts the parameters of a used car-following model at runtime, so as to maintain a high degree of traffic quality (efficiency and safety) under different weather conditions.We follow a dynamic software product line approach to model the variability of the car-following model parameters, context changes and traffic quality, and generate specific configurations for each particular context. Under realistic conditions, autonomous vehicles have only a very local knowledge of other vehicles' variables.We investigate a distributed model predictive controller agent for autonomous vehicles to estimate their behavioural parameters at runtime, based on their available knowledge of the system.We show that autonomous vehicles with the proposed reconfigurable controller agent lead to behaviour similar to that achieved by human drivers, depending on the context.Junta de Andalucía MAGIC P12-TIC1814Ministerio de Ciencia, Innovación y Universidades HADAS TIN2015-64841-

    Variability in Software Systems – Extracted Data and Supplementary Material from a Systematic Literature Review

    Get PDF

    Feature-based generation of pervasive systems architectures utilizing software product line concepts

    Get PDF
    As the need for pervasive systems tends to increase and to dominate the computing discipline, software engineering approaches must evolve at a similar pace to facilitate the construction of such systems in an efficient manner. In this thesis, we provide a vision of a framework that will help in the construction of software product lines for pervasive systems by devising an approach to automatically generate architectures for this domain. Using this framework, designers of pervasive systems will be able to select a set of desired system features, and the framework will automatically generate architectures that support the presence of these features. Our approach will not compromise the quality of the architecture especially as we have verified that by comparing the generated architectures to those manually designed by human architects. As an initial step, and in order to determine the most commonly required features that comprise the widely most known pervasive systems, we surveyed more than fifty existing architectures for pervasive systems in various domains. We captured the most essential features along with the commonalities and variabilities between them. The features were categorized according to the domain and the environment that they target. Those categories are: General pervasive systems, domain-specific, privacy, bridging, fault-tolerance and context-awareness. We coupled the identified features with well-designed components, and connected the components based on the initial features selected by a system designer to generate an architecture. We evaluated our generated architectures against architectures designed by human architects. When metrics such as coupling, cohesion, complexity, reusability, adaptability, modularity, modifiability, packing density, and average interaction density were used to test our framework, our generated architectures were found comparable, if not better than the human generated architectures

    Desarrollo de una Herramienta para el Diseño de Reconfiguraciones Seguras en Sistemas de Computación Autónoma

    Full text link
    Cada vez más los sistemas software necesitan adaptar su comportamiento dinámicamente como respuesta a eventos de su propia infraestructura o del entorno físico que los rodea. La adaptabilidad se está convirtiendo en una capacidad básica para los sistemas software, particularmente para los sistemas altamente dinámicos como es el caso de los sistemas sensibles al contexto o los sistemas ubicuos. Sin embargo, estos sistemas han alcanzado un nivel de complejidad donde el esfuerzo requerido para mantenerlos operativos es demasiado elevado. El trabajo desarrollado en esta tesina de máster combina las técnicas de líneas de producto software y el desarrollo dirigido por modelos para la construcción de software que siga las bases de la computación autónoma. Un sistema software con propiedades autónomas es capaz de instalar, configurar, adaptar y mantener sus componentes en tiempo de ejecución para seguir ofreciendo su funcionalidad. Este tipo de sistema trabaja en entornos cambiantes y su comportamiento debe evolucionar con el tiempo sin necesidad de intervención humana. Con el propósito de gestionar los cambios en el entorno se utilizan los modelos de variabilidad. Esta técnica de modelado permite definir las modificaciones que el sistema debe aplicar para ajustar su comportamiento Los principios básicos de la metodología de líneas de producto también proporcionan técnicas que contribuyen al desarrollo de software autónomo y reconfigurable. La característica principal de esta técnica es promocionar la reutilización de componentes. Aplicar la visión del paradigma de desarrollo dirigido por modelos pretende aprovechar las facilidades que proporciona el uso de los modelos como pieza principal del desarrollo. La construcción de software de acuerdo a estas iniciativas permitirá dar respuesta a las necesidades que surjan en entornos que evolucionan. Para cumplir esas necesidades el sistema deberá modificar su comportamiento de acuerdo a las condiciones del entorno sin la intervención humana y de una forma totalmente dinámica. Los continuos cambios de comportamiento pueden conducir, en ocasiones, la configuración del sistema a situaciones no válidas. Los estados no válidos se alcanzan cuando la configuración de los diferentes componentes que forman el sistema no cumplen las restricciones. Obviamente, dichos estados no son deseables en el sistema. Por una parte, este trabajo surge con el objetivo de proporcionar algún mecanismo que gestione estas situaciones no deseadas. Deberá detectar y resolver las condiciones que dejan al sistema en dicho estado. En definitiva, impedir que el sistema alcance configuraciones inadecuadas pero sin perjudicar su funcionalidad. Por otra parte, se pretende desarrollar una herramienta que de soporte a las técnicas presentadas. Esta herramienta facilitará la especificación inicial del sistema, el estudio de los cambios en la configuración, ayudará a definir restricciones acerca del comportamiento y validará las diferentes configuraciones que permiten al sistema evolucionar. Además, implementará los mecanismos que identifican y resuelven las situaciones anómalas y dejan el sistema libre de errores. Por último, mediante el planteamiento de casos de estudio aplicados a contextos reales se persigue que las técnicas propuestas sean comprobadas haciendo uso de la herramienta de soporte.Ibiza Molines, S. (2010). Desarrollo de una Herramienta para el Diseño de Reconfiguraciones Seguras en Sistemas de Computación Autónoma. http://hdl.handle.net/10251/11350Archivo delegad

    Achieving Autonomic Computing through the Use of Variability Models at Run-time

    Full text link
    Increasingly, software needs to dynamically adapt its behavior at run-time in response to changing conditions in the supporting computing infrastructure and in the surrounding physical environment. Adaptability is emerging as a necessary underlying capability, particularly for highly dynamic systems such as context-aware or ubiquitous systems. By automating tasks such as installation, adaptation, or healing, Autonomic Computing envisions computing environments that evolve without the need for human intervention. Even though there is a fair amount of work on architectures and their theoretical design, Autonomic Computing was criticised as being a \hype topic" because very little of it has been implemented fully. Furthermore, given that the autonomic system must change states at runtime and that some of those states may emerge and are much less deterministic, there is a great challenge to provide new guidelines, techniques and tools to help autonomic system development. This thesis shows that building up on the central ideas of Model Driven Development (Models as rst-order citizens) and Software Product Lines (Variability Management) can play a signi cant role as we move towards implementing the key self-management properties associated with autonomic computing. The presented approach encompass systems that are capable of modifying their own behavior with respect to changes in their operating environment, by using variability models as if they were the policies that drive the system's autonomic recon guration at runtime. Under a set of recon guration commands, the components that make up the architecture dynamically cooperate to change the con guration of the architecture to a new con guration. This work also provides the implementation of a Model-Based Recon guration Engine (MoRE) to blend the above ideas. Given a context event, MoRE queries the variability models to determine how the system should evolve, and then it provides the mechanisms for modifying the system.Cetina Englada, C. (2010). Achieving Autonomic Computing through the Use of Variability Models at Run-time [Tesis doctoral no publicada]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/7484Palanci
    corecore