7 research outputs found
Applying Software Product Lines to Build Autonomic Pervasive Systems
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
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-
Feature-based generation of pervasive systems architectures utilizing software product line concepts
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
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
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