43 research outputs found

    Software architectures: multi-scale refinement

    Get PDF
    We propose a multi-scale modeling approach for complex software system architecture description. The multi-scale description may help to obtain meaningful granularities of these systems and to understand and master their complexity. This vision enables an architect designer to express constraints concerning different description levels, oriented to facilitate adaptability management. We define a correct-by-design approach that allows a given abstract architectural description to be refined into architecture models. We follow a progressive refinement process based on model transformations; it begins with a coarse-grain description and ends with a fine-grain description that specifies design details. The adaptability property management is performed through model transformation operations. The model transformation ensures the correctness of UML description, and the correctness of the modeled system. We experimented our approach with a use case that models a smart home system for the monitoring of elderly and disabled persons at home

    A Graph Transformation-Based Approach for the Validation of Checkpointing Algorithms in Distributed Systems

    Get PDF
    International audience—Autonomic Computing Systems are oriented to pre-vente the human intervention and to enable distributed systems to manage themselves. One of their challenges is the efficient monitoring at runtime oriented to collect information from which the system can automatically repair itself in case of failure. Quasi-Synchronous Checkpointing is a well-known technique, which allows processes to recover in spite of failures. Based on this technique, several checkpointing algorithms have been developed. According to the checkpoint properties detected and ensured, they are classified into: Strictly Z-Path Free (SZPF), Z-Path Free (ZPF) and Z-Cycle Free (ZCF). In the literature, the simulation has been the method adopted for the performance evaluation of checkpointing algorithms. However, few works have been designed to validate their correctness. In this paper, we propose a validation approach based on graph transformation oriented to automatically detect the previous mentioned checkpointing properties. To achieve this, we take the vector clocks resulting from the algorithm execution, and we model it into a causal graph. Then, we design and use transformation rules oriented to verify if in such a causal graph, the algorithm is exempt from non desirable patterns, such as Z-paths or Z-cycles, according to the case

    An Operational Semantics Dedicated to the Coordination of Cooperating Agents

    Get PDF
    Abstract. This paper presents a contribution towards rigourous reasoning about coordinating agents. First, it defines formal models for coordination and coordinating agents. These models enable to specify the relations between the concepts of: plan, plan proposal and resource allocation, on the one hand, and concepts of: knowledge, belief and capability, on the other hand. Second, it provides a structured coordination language enabling to specify primitives, protocols and processes of coordination. This language is defined by a precise syntax, and it is formally interpreted using a transition system leading to an operational semantics for coordinating agents

    A Formal Model of a Multi-step Coordination Protocol for Self-adaptive Software Using Coloured Petri Nets

    No full text
    International audienceTechnology advances continue to make computing environments ever changing and more complex. In the presence of such environments software systems are increasingly expected to continue operating at run-time. As human intervention becomes costly, time-consuming and error-prone, these systems should be equipped with self-adaptation capabilities in order to adapt themselves in response to environmental changes. While most of the research in this area focuses on individual parts of an adaptive system, our work leverages on this research but tackles the problem where interdependent and distributed adaptations are concurrently performed. In this paper, we approach behavioural changes of component-based systems in two stages. First, we propose a process to individually adapt one component at a time. Second, we elaborate a coordination protocol to maintain globally consistent state when implementing distributed adaptations. To achieve correct coordination, rather than only considering dependency relations between multiple adaptations, our approach further focuses on dependency relations between components at run-time. Motivated by the potential benefits of using formalisms, we construct a formal model of our protocol using Coloured Petri Nets in order for an adaptive system to be trusted after adaptation. In the model, we make sufficient abstraction of details, but still deal with the core of the protocol. This makes the model simpler and the analysis easier due to restricted state space size. We verify key behavioural properties and conduct CTL model checking to assess the correctness of the model and thereby the correctness of the protocol

    Vérification des propriétés non-fonctionnelles pour l'orchestration de services web

    No full text
    La composition de services est une tĂąche primordiale dans le dĂ©veloppement de systĂšmes orientĂ©s service. L'orchestration se prĂ©sente comme un ensemble de mĂ©canismes pour la composition d'un nouveau service web formĂ© d'un ensemble de services atteignables. Afin de valider une telle composition, deux classes de propriĂ©tĂ©s non fonctionnelles doivent ĂȘtre prises en considĂ©ration Ă  savoir les propriĂ©tĂ©s gĂ©nĂ©riques et les propriĂ©tĂ©s spĂ©cifiques. Les propriĂ©tĂ©s gĂ©nĂ©riques peuvent ĂȘtre vĂ©rifiĂ©es pour tous les services web invoquĂ©s dans une orchestration. Les propriĂ©tĂ©s spĂ©cifiques constituent les relations d'interdĂ©pendance entre les diffĂ©rentes activitĂ©s au sein d'un processus d'orchestration. Ces propriĂ©tĂ©s ne peuvent pas ĂȘtre vĂ©rifiĂ©es directement sur le processus, l'utilisation donc d'une technique formelle s'avĂšre intĂ©ressante. Pour se faire, nous prĂ©senterons dans cet article notre approche formelle pour la validation d'une orchestration de services web. L'approche adopte BPEL 2.0 (Business Process Execution Language) comme langage d'orchestration de services web et utilise le model-checker SPIN pour la vĂ©rification. La spĂ©cification BPEL est traduite en code Promela, le langage de spĂ©cification de SPIN, afin de vĂ©rifier aussi bien les propriĂ©tĂ©s gĂ©nĂ©riques que les propriĂ©tĂ©s spĂ©cifiques exprimĂ©es en LTL (Linear Temporal Logic). L'outil de transformation de BPEL en Promela est dĂ©veloppĂ© en utilisant ANTLR (ANother Tool for Language Recognition). Ce travail a Ă©tĂ© couronnĂ© par le dĂ©veloppement de l'outil {\sc BpelVT} (BPEL Verification Tool) afin de consolider l'approche proposĂ©e

    An Approach for Modeling and Formalizing SOA Design Patterns

    No full text
    11 pagesInternational audienceAlthough design patterns has become increasingly popular, most of them are presented in an informal way, which can give rise to ambiguity and may lead to their incorrect usage. Patterns proposed by the SOA design pattern community are described with informal visual notations. Modeling SOA design patterns with a standard formal notation contributes to avoid misunderstanding by software architects and helps endowing design methods with refinement approaches for mastering system architectures complexity. In this paper, we present a formal architecture-centric approach that aims, first, to model message-oriented SOA design patterns with the SoaML standard language, and second to formally specify these patterns at a high level of abstraction using the Event-B method. These two steps are performed before undertaking the effective coding of a design pattern providing correct by construction patternbased software architectures. Our approach is experimented through an example we present in this paper. We implemented our approach under the Rodin platform, which we use to prove model consistency

    Towards an Approach for Modeling and Formalizing SOA Design Patterns with Event-B

    No full text
    International audienceThis paper introduces a formal architecture-centric approach, which allows ïŹrst to model message-oriented SOA design patterns with the SoaML standard language, and second to formally specify these patterns at a high level of abstraction using the Event-B method. These two steps are performed before undertaking the eïŹ€ective coding of a design pattern providing correct by construction pattern-based software architectures. We implement our approach under the Rodin platform which we use to prove model consistency

    Position paper: An integration approach of service composition models: from choreography to orchestration

    No full text
    This paper introduces an approach addressing the transition from choreography to orchestration. As far as validation method is achieved through the use of model-checker. We are interested in various levels of transformations. Initially, the process of transformation is based on a set of heterogeneous business protocols. This unit will consequently provide a choreography as result, which unifies them. Then, this choreography will be transformed into an orchestration. Thus, coherence between choreography and orchestration must be checked while showing the relation of conformity between these two different composition models. Indeed, this passage is accompanied by a verification phase. A set of properties will be preserved, the ones, which refer to the choreography and others, which are relative to those checked by the orchestration. Towards the end of this process, and in order to validate the transformation, we must check the maintained properties. This checking will be illustrated by the use of the model-checker, which depends on the properties

    Towards an Approach for Modeling and Formalizing SOA Design Patterns with Event-B

    No full text
    International audienceThis paper introduces a formal architecture-centric approach, which allows ïŹrst to model message-oriented SOA design patterns with the SoaML standard language, and second to formally specify these patterns at a high level of abstraction using the Event-B method. These two steps are performed before undertaking the eïŹ€ective coding of a design pattern providing correct by construction pattern-based software architectures. We implement our approach under the Rodin platform which we use to prove model consistency

    Feature Model as a Design-Pattern-based Service Contract for the Service Provider in the Service Oriented Architecture

    No full text
    International audienceIn Service Oriented Architecture (SOA), many feature modeling approaches of Service Provider (SP) have been proposed, notably: the two widely used service contracts WSDL and WADL. By studying these approaches , we found that they suffer from several problems, notably: they only work for specific communication technologies (e.g., SOAP or REST) and they do not explicitly model SOA Design Pattern (DPs) and their compounds. One major benefit of using a DP or a compound DP is to develop SPs with proven design solutions. In this paper, in order to overcome these problems, we propose an approach that integrates Software Product Line (SPL) techniques in the development of SPs. Essentially, we propose a Feature Model (FM), which is the defacto standard for variability modeling in SPL, for the feature modeling of SP. This FM, named F M SP , is designed as a DP-based service contract for SP that models different features including 16 SOA DPs and their compounds that are related to the service messaging category. Its objective to enable developers to generate fully functional, valid, DP-based and highly customized SPs for different communication technologies. Through a practical case study and a developed tool, we validate our F M SP and demonstrate that it reduces the development costs (effort and time) of SPs
    corecore