823 research outputs found

    Specifying Adaptations through a DSL with an Application to Mobile Robot Navigation

    Get PDF
    Developing applications for resource-constrained embedded systems is a challenging task specially when applications must adapt to changes in their operating conditions or environment. To ensure an appropriate response at all times, it is highly desirable to develop applications that can dynamically adapt their behavior at run-time. In this paper we introduce an architecture that allows the specification of adaptable behavior through an external, high-level and platform-independent domain-specific language (DSL). The DSL is used here to define adaptation rules that change the run-time behavior of the application depending on various operational factors, such as time constraints. We illustrate the use of the DSL in an application to mobile robot navigation using smartphones, where experimental results highlight the benefits of specifying the adaptable behavior in a flexible and external way to the main application logic

    IoT@run-time: a model-based approach to support deployment and self-adaptations in IoT systems

    Get PDF
    Today, most Internet of Things (IoT) systems leverage edge and fog computing to meet increasingly restrictive requirements and improve quality of service (QoS). Although these multi-layer architectures can improve system performance, their design is challenging because the dynamic and changing IoT environment can impact the QoS and system operation. In this thesis, we propose a modeling-based approach that addresses the limitations of existing studies to support the design, deployment, and management of self-adaptive IoT systems. We have designed a domain specific language (DSL) to specify the self-adaptive IoT system, a code generator that generates YAML manifests for the deployment of the IoT system, and a framework based on the MAPE-K loop to monitor and adapt the IoT system at runtime. Finally, we have conducted several experimental studies to validate the expressiveness and usability of the DSL and to evaluate the ability and performance of our framework to address the growth of concurrent adaptations on an IoT system.Hoy en día, la mayoría de los sistemas de internet de las cosas (IoT, por su sigla en inglés) aprovechan la computación en el borde (edge computing) y la computación en la niebla (fog computing) para cumplir requisitos cada vez más restrictivos y mejorar la calidad del servicio. Aunque estas arquitecturas multicapa pueden mejorar el rendimiento del sistema, diseñarlas supone un reto debido a que el entorno de IoT dinámico y cambiante puede afectar a la calidad del servicio y al funcionamiento del sistema. En esta tesis proponemos un enfoque basado en el modelado que aborda las limitaciones de los estudios existentes para dar soporte en el diseño, el despliegue y la gestión de sistemas de IoT autoadaptables. Hemos diseñado un lenguaje de dominio específico (DSL) para modelar el sistema de IoT autoadaptable, un generador de código que produce manifiestos YAML para el despliegue del sistema de IoT y un marco basado en el bucle MAPE-K para monitorizar y adaptar el sistema de IoT en tiempo de ejecución. Por último, hemos llevado a cabo varios estudios experimentales para validar la expresividad y usabilidad del DSL y evaluar la capacidad y el rendimiento de nuestro marco para abordar el crecimiento de las adaptaciones concurrentes en un sistema de IoT.Avui dia, la majoria dels sistemes d'internet de les coses (IoT, per la sigla en anglès) aprofiten la informàtica a la perifèria (edge computing) i la informàtica a la boira (fog computing) per complir requisits cada cop més restrictius i millorar la qualitat del servei. Tot i que aquestes arquitectures multicapa poden millorar el rendiment del sistema, dissenyar-les suposa un repte perquè l'entorn d'IoT dinàmic i canviant pot afectar la qualitat del servei i el funcionament del sistema. En aquesta tesi proposem un enfocament basat en el modelatge que aborda les limitacions dels estudis existents per donar suport al disseny, el desplegament i la gestió de sistemes d'IoT autoadaptatius. Hem dissenyat un llenguatge de domini específic (DSL) per modelar el sistema d'IoT autoadaptatiu, un generador de codi que produeix manifestos YAML per al desplegament del sistema d'IoT i un marc basat en el bucle MAPE-K per monitorar i adaptar el sistema d'IoT en temps d'execució. Finalment, hem dut a terme diversos estudis experimentals per validar l'expressivitat i la usabilitat del DSL i avaluar la capacitat i el rendiment del nostre marc per abordar el creixement de les adaptacions concurrents en un sistema d'IoT.Tecnologies de la informació i de xarxe

    AMon: A domain-specific language and framework for adaptive monitoring of Cyber–Physical Systems

    Get PDF
    Cyber–Physical Systems (CPS) are increasingly used in safety–critical scenarios where ensuring their correct behavior at runtime becomes a crucial task. Therefore, the behavior of the CPS needs to be monitored at runtime so that violations of requirements can be detected. With the inception of edge devices that facilitate runtime analysis at the edge and the increasingly diverse environments that CPS operate in, flexible monitoring approaches are needed that consider the data that needs to be monitored and the analyses performed on that data. In this paper, we propose AMon, a flexible adaptive monitoring framework that supports the specification and validation of monitoring adaptation rules, using a domain-specific language. Based on these rules, AMon automatically generates code for direct deployment onto devices. We evaluated AMon by applying it to TurtleBot Robots and a fleet of Unmanned Aerial Vehicles. Furthermore, we conducted a user study assessing the understandability and ease of use of our language. Results show that creating multiple adaptation rules with our DSL is feasible with minimal effort, and that adaptive monitoring can reduce the amount of runtime data transmitted from the edge device according to the current state of the system and its monitoring needs

    Early aspects: aspect-oriented requirements engineering and architecture design

    Get PDF
    This paper reports on the third Early Aspects: Aspect-Oriented Requirements Engineering and Architecture Design Workshop, which has been held in Lancaster, UK, on March 21, 2004. The workshop included a presentation session and working sessions in which the particular topics on early aspects were discussed. The primary goal of the workshop was to focus on challenges to defining methodical software development processes for aspects from early on in the software life cycle and explore the potential of proposed methods and techniques to scale up to industrial applications

    Systematic adaptation of dynamically generated source code via domain-specific examples

    Get PDF
    In modern web-based applications, an increasing amount of source code is generated dynamically at runtime. Web applications commonly execute dynamically generated code (DGC) emitted by third-party, black-box generators, run at remote sites. Web developers often need to adapt DGC before it can be executed: embedded HTML can be vulnerable to cross-site scripting attacks; an API may be incompatible with some browsers; and the program\u27s state created by DGC may not be persisting. Lacking any systematic approaches for adapting DGC, web developers resort to ad-hoc techniques that are unsafe and error-prone. This study presents an approach for adapting DGC systematically that follows the program-transformation-byexample paradigm. The proposed approach provides predefined, domain-specific before/after examples that capture the variability of commonly used adaptations. By approving or rejecting these examples, web developers determine the required adaptation transformations, which are encoded in an adaptation script operating on the generated code\u27s abstract syntax tree. The proposed approach is a suite of practical JavaScript program adaptations and their corresponding before/after examples. The authors have successfully applied the approach to real web applications to adapt third-party generated JavaScript code for security, browser compatibility, and persistence

    Aspects of Assembly and Cascaded Aspects of Assembly: Logical and Temporal Properties

    Full text link
    Highly dynamic computing environments, like ubiquitous and pervasive computing environments, require frequent adaptation of applications. This has to be done in a timely fashion, and the adaptation process must be as fast as possible and mastered. Moreover the adaptation process has to ensure a consistent result when finished whereas adaptations to be implemented cannot be anticipated at design time. In this paper we present our mechanism for self-adaptation based on the aspect oriented programming paradigm called Aspect of Assembly (AAs). Using AAs: (1) the adaptations process is fast and its duration is mastered; (2) adaptations' entities are independent of each other thanks to the weaver logical merging mechanism; and (3) the high variability of the software infrastructure can be managed using a mono or multi-cycle weaving approach.Comment: 14 pages, published in International Journal of Computer Science, Volume 8, issue 4, Jul 2011, ISSN 1694-081
    corecore