21 research outputs found

    Reconfigurable SCA Applications with the FraSCAti Platform

    Get PDF
    CORE A. Acceptance rate: 18% (35/189).International audienceThe Service Component Architecture (SCA) is a technology agnostic standard for developing and deploying distributed service-oriented applications. However, SCA does not define standard means for runtime manageability (including introspection and reconfiguration) of SOA applications and of their supporting environment. This paper presents the FraSCAti platform, which brings runtime management features to SCA, and discusses key principles in its design: the adoption of an extended SCA component model for the implementation of SOA applications and of the FraSCAti platform itself; the use of component-based interception techniques for dynamically weaving non-functional services such as transaction management with components. The paper presents micro-benchmarks that show that runtime manageability in the FraSCAti platform is achieved without hindering its performance relative to the de facto reference SCA implementation, Apache's Tuscany

    A Framework for Agile Development of Component-Based Applications

    Get PDF
    Agile development processes and component-based software architectures are two software engineering approaches that contribute to enable the rapid building and evolution of applications. Nevertheless, few approaches have proposed a framework to combine agile and component-based development, allowing an application to be tested throughout the entire development cycle. To address this problematic, we have built CALICO, a model-based framework that allows applications to be safely developed in an iterative and incremental manner. The CALICO approach relies on the synchronization of a model view, which specifies the application properties, and a runtime view, which contains the application in its execution context. Tests on the application specifications that require values only known at runtime, are automatically integrated by CALICO into the running application, and the captured needed values are reified at execution time to resume the tests and inform the architect of potential problems. Any modification at the model level that does not introduce new errors is automatically propagated to the running system, allowing the safe evolution of the application. In this paper, we illustrate the CALICO development process with a concrete example and provide information on the current implementation of our framework

    FraSCAti Studio : création en ligne de services et déploiement dans les nuages

    Get PDF
    National audienceNous présentons dans cette démonstration FraSCAti Studio, un environnement de création en ligne de services déployables automatiquement dans les nuages. Cet environnement s'appuie sur le modèle SCA et notre plate-forme FraSCAti d'exécution de services

    Connecting your Mobile Shopping Cart to the Internet-of-Things

    Get PDF
    International audienceOnline shopping has reached an unforeseen success during the last decade thanks to the explosion of the Internet and the development of dedicated websites. Nonetheless, the wide diversity of e-commerce websites does not really foster the sales, but rather leaves the customer in the middle of dense jungle. In particular, finding the best offer for a specific product might require to spend hours browsing the Internet without being sure of finding the best deal in the end. While some websites are providing comparators to help the customer in finding the best offer meeting her/his requirements, the objectivity of these websites remains questionable, the comparison criteria are statically defined, while the nature of products they support is restricted to specific categories (e.g., electronic devices). In this paper, we introduce MACCHIATO as a user-centered platform leveraging online shopping. MACCHIATO implements the principles of the Internet-of-Things by adopting the REST architectural style and semantic web standards to navigate product databases exposed on the Internet. By doing so, customers keep the control of their shopping process by selecting the stores and comparing the offers according to their own preferences

    Combining Separation of Concerns and Performance in Distributed Software Reconfiguration

    Get PDF
    International audienceDistributed software and infrastructures continue to become more and more complex and dynamic. Therefore, there is a need for models assist- ing their management, including their reconfiguration. Existing reconfiguration models are either specific to a subset of reconfigurations or are unable to provide both good performance and high separation of concerns between the actors interacting with them. In this article, we present our plans to extend Madeus, a non-specific and efficient deployment model, to support reconfiguration and to provide a good separation of concerns

    Design process enabling adaptation in pervasive heterogeneous contexts

    Get PDF
    International audienceIn the next decades, the growth in population ageing will cause important problems to most industrialized countries. To tackle this issue, Ambient Assistive Living (AAL) systems can reinforce the well-being of elderly people, by providing emergency, autonomy enhancement, and comfort services. These services will postpone the need of a medicalized environment, and will allow the elderly to stay longer at home. However, each elderly has specific needs and a deployment environment of such services is likely unique. Furthermore, the needs evolve over time, and so does the deployment environment of the system. In this paper, we propose the use of a model-based development method, the adaptive medium approach, to enable dynamic adaptation of AAL systems. We also propose improvements to make it more suited to the AAL domain, such as considering heterogeneity and a composition model. The paper includes an evaluation of the prototype implementing the approach, and a comparison with related work

    Flexible adaptation loop for component-based soa applications

    Get PDF
    Best paperInternational audienceThe Service Oriented Architecture (SOA) modelfosters dynamic interactions of heteregeneous and loosely-coupled service providers and consumers. Specifications likethe Service Component Architecture (SCA) have been used totackle the complexity of developing such dynamic applications;however, concerns like runtime management and adaptationare often left as platform specific matters. At the same time,runtime QoS requirements stated in Service Level Agreements(SLA) may also evolve at runtime, and not only the appli-cation needs to adapt to them, but also the monitoring andmanagement tasks. This work presents a component basedframework that provides flexible monitoring and managementtasks and allows to introduce adaptivity to component-basedSOA applications. The framework implements each phase ofthe autonomic control loop as a separate component, and allowsmultiple implementations on each phase, giving enough run-time flexibility to support evolving non functional requirementson the application. We present an illustrative scenario thatis dynamically augmented with components to tackle non-functional concerns and support adaptation as it is needed.We use an SCA compliant platform that allows distributionand architectural reconfiguration of component

    The DigiHome Service-Oriented Platform

    Get PDF
    International audienceNowadays, the computational devices are everywhere. In malls, offices, streets, cars, and even homes, we can find devices providing and consuming functionality to improve the user satisfaction. These devices include sensors that provide information about the environment state (e.g., temperature, occupancy, light levels), service providers (e.g., Internet TVs, GPS), smartphones (that contain user preferences), and actuators that act on the environment (e.g., closing the blinds, activating the alarm, changing the temperature). Although these devices exhibit communication capabilities, their integration into a larger monitoring system remains a challenging task, partly because of the strong heterogeneity of technologies and protocols. Therefore, in this article, we focus on home environments and propose a middleware solution, called DigiHome, that applies the Service Component Architecture (SCA) component model to integrate data and events generated by heterogeneous devices in this kind of environments. DigiHome exploits the SCA extensibility to incorporate the REpresentational State Transfer (REST) architectural style and, in this way, leverages on the integration of multiscale systems-of-systems (from wireless sensor networks to the Internet). Additionally, the platform applies Complex Event Processing technology that detects application-specific situations. We claim that the modularization of concerns fostered by DigiHome and materialized in a service-oriented architecture, makes it easier to incorporate new services and devices in smart home environments. The benefits of the DigiHome platform are demonstrated on smart home scenarios covering home automation, emergency detection, and energy saving situations

    Optimal and Automated Microservice Deployment: formal definition, implementation and validation of a deployment engine

    Get PDF
    The main purpose of this work was to study the problem of optimal and automated deployment and reconfiguration (at the architectural level) of microservice systems, proving formal properties and realizing an implemented solution. It started from the Aeolus component model, which was used to formally define the problem of deploying component-based software systems and to prove different results about decidability and complexity. In particular, the Aeolus authors formally prove that, in the general case, such problem is undecidable. Starting from these results we expanded on the analysis of automated deployment and scaling, focusing on microservice architecture. Using a model inspired by Aeolus, considering the characteristics of microservices, we formally proved that the optimal and automated deployment and scaling for microservice architectures are algorithmically treatable. However, the decision version of the problem is NP-complete and to obtain the optimal solution it is necessary to solve an NP-optimization problem. To show the applicability of our approach we decided to also realize a model of a simple but realistic case-study. The model is developed using the Abstract Behavioral Specification (ABS) language, and to calculate the different deployment and scaling plans we used an ABS tool called SmartDepl. To solve the problem, SmartDepl relies on Zephyrus2. Zephyrus2 is a configuration optimizer that allows to compute the optimal deployment configuration of described applications. This work resulted in an extended abstract accepted at the Microservices 2019 conference in Dortmund (Germany), a paper accepted at the FASE 2019 (part of ETAPS) conference in Prague (Czech Republic), and an accepted book chapter

    Aeolus: a Component Model for the Cloud

    Get PDF
    International audienceWe introduce the Aeolus component model, which is specifically designed to capture realistic scenarii arising when configuring and deploying distributed applications in the so-called cloud environments, where interconnected components can be deployed on clusters of heterogeneous virtual machines, which can be in turn created, destroyed, and connected on-the-fly. The full Aeolus model is able to describe several component characteristics such as dependencies, conflicts, non-functional requirements (replication requests and load limits), as well as the fact that component interfaces to the world might vary depending on the internal component state. When the number of components needed to build an application grows, it becomes important to be able to automate activities such as deployment and reconfiguration. This correspond, at the level of the model, to the ability to decide whether a desired target system configuration is reachable, which we call the achievability problem, and producing a path to reach it. In this work we show that the achievability problem is undecidable for the full Aeolus model, a strong limiting result for automated configuration in the cloud. We also show that the problem becomes decidable, but Ackermann-hard, as soon as one drops non-functional requirements. Finally, we provide a polynomial time algorithm for the further restriction of the model where support for inter-component conflicts is also removed
    corecore