4 research outputs found

    Bringing Coq Into the World of GCM Distributed Applications

    Get PDF
    International audienceAmong all programming paradigms, component-based engineering stands as one of the most followed approaches for real world software devel- opment. Its emphasis on clean separation of concerns and reusability makes it appealing for both industrial and research purposes. The Grid Component Model (GCM) endorses this approach in the con- text of distributed systems by providing all the means to define, compose and dynamically reconfigure component-based applications. While structural re- configuration is one of the key features of GCM applications, this ability to evolve at runtime poses several challenges w.r.t reliability. In this paper we present Mefresa, a framework for reasoning on the struc- ture of GCM applications. This contribution comes in the form of a formal specification mechanized in the Coq Proof Assistant. Our aim is to demon- strate the benefits of interactive theorem proving for the reasoning on software architectures. We provide a configuration and reconfiguration language for the safe instantiation of distributed systems

    Formally Reasoning on a Reconfigurable Component-Based System --- A Case Study for the Industrial World

    Get PDF
    International audienceThe modularity offered by component-based systems made it one of the most employed paradigms in software engineering. Precise structural specification is a key ingredient that enables their verification and consequently their reliability. This gains special relevance for reconfigurable component-based systems. To this end, the Grid Component Model (GCM) provides all the means to define such reconfigurable component-based applications. In this paper we report our experience on the formal specification and verification of a reconfigurable GCM application as an industrial case study

    Programming distributed and adaptable autonomous components--the GCM/ProActive framework

    Get PDF
    International audienceComponent-oriented software has become a useful tool to build larger and more complex systems by describing the application in terms of encapsulated, loosely coupled entities called components. At the same time, asynchronous programming patterns allow for the development of efficient distributed applications. While several component models and frameworks have been proposed, most of them tightly integrate the component model with the middleware they run upon. This intertwining is generally implicit and not discussed, leading to entangled, hard to maintain code. This article describes our efforts in the development of the GCM/ProActive framework for providing distributed and adaptable autonomous components. GCM/ProActive integrates a component model designed for execution on large-scale environments, with a programming model based on active objects allowing a high degree of distribution and concurrency. This new integrated model provides a more powerful development, composition, and execution environment than other distributed component frameworks. We illustrate that GCM/ProActive is particularly adapted to the programming of autonomic component systems, and to the integration into a service-oriented environment

    A graphical specification environnement for GCM component-based applications

    Get PDF
    National audienceAccording to the paradigm of component-based software engineering a software system can be represented as a set of independent reusable modules which communicate with each other. The OASIS team is working on a Grid Component Model (GCM) which defines how a distributed component-based application should be designed, deployed and developed. This work is focused on the modeling aspect of GCM-based applications. First, we define a formal model for the GCM-based applications architecture. Second, we provide a formalized set of consistency constraints for the GCM-based architecture validation. The created set consists of the validation rules gathered from different sources. Finally, we implement a graphical editor for the GCM-based applications architecture and behavior specifications. It has an architecture validation module which allows to verify the formalized set of constraints
    corecore