5 research outputs found

    LNCS

    Get PDF
    State-transition systems communicating by shared variables have been the underlying model of choice for applications of model checking. Such formalisms, however, have difficulty with modeling process creation or death and communication reconfigurability. Here, we introduce “dynamic reactive modules” (DRM), a state-transition modeling formalism that supports dynamic reconfiguration and creation/death of processes. The resulting formalism supports two types of variables, data variables and reference variables. Reference variables enable changing the connectivity between processes and referring to instances of processes. We show how this new formalism supports parallel composition and refinement through trace containment. DRM provide a natural language for modeling (and ultimately reasoning about) biological systems and multiple threads communicating through shared variables

    An interactive semantics of logic programming

    Full text link
    We apply to logic programming some recently emerging ideas from the field of reduction-based communicating systems, with the aim of giving evidence of the hidden interactions and the coordination mechanisms that rule the operational machinery of such a programming paradigm. The semantic framework we have chosen for presenting our results is tile logic, which has the advantage of allowing a uniform treatment of goals and observations and of applying abstract categorical tools for proving the results. As main contributions, we mention the finitary presentation of abstract unification, and a concurrent and coordinated abstract semantics consistent with the most common semantics of logic programming. Moreover, the compositionality of the tile semantics is guaranteed by standard results, as it reduces to check that the tile systems associated to logic programs enjoy the tile decomposition property. An extension of the approach for handling constraint systems is also discussed.Comment: 42 pages, 24 figure, 3 tables, to appear in the CUP journal of Theory and Practice of Logic Programmin

    Rely-Guarantee Based Reasoning for Message-Passing Programs

    Get PDF
    The difficulties of verifying concurrent programs lie in their inherent non-determinism and interferences. Rely-Guarantee reasoning is one useful approach to solve this problem for its capability in formally specifying inter- thread interferences. However, modern verification requires better locality and modularity. It is still a great challenge to verify a message-passing program in a modular and composable way. In this paper, we propose a new reasoning system for message-passing programs. It is a novel logic that supports Hoare style triples to specify and verify distributed programs modularly. We concretize the concept of event traces to represent interactions among distributed agents, and specify behav- iors of agents by their local traces with regard to environmental assumptions — an idea inspired by Rely-Guarantee reasoning. Based on trace semantics, the verification is compositional in both temporal and spatial dimensions. To show validity, we apply our logic to modularly prove several examples

    Designing and experimenting coordination primitives for service oriented computing

    Get PDF
    Service Oriented Architecture (SOA) and Web Services (WS) are becoming a widely accepted device for designing and implementing distributed systems. SOAs have given an important contribution to software engineering providing a model where applications are defined by assembling together certain functionalities, called services, possibly provided by remote suppliers. The characterizing issue of SOAs consists of defining common principles to make services accessible and usable regardless their execution context. Nevertheless, the architectural specification is far from giving a complete reference application model on which systems should rely on. The specification just includes principles for achieving interoperability and reusability of services; other aspects are left to the implementing platforms. As a consequence, it is understood how services are specified in isolation and how their functionalities are made available to the requesters, but the definition of languages for describing service composition are far from being widely accepted and reveals to be an impelling challenge. In the last years, several solutions have been proposed for describing aggregated services. However, they often lack a formally defined semantics. Moreover, these solutions are often specific for a platform (e.g. WSs) and are difficult to adapt to other platforms since they rely on low level assumptions that are out of the SOA specifications. This thesis aims at providing new methodologies for implementing the coordination of services. Our framework proposes to be flexible enough to support high level languages and to provide reliable tools for testing correctness of implementation. Our approach relies on a formal model that takes the form of a process calculus specifically designed to deal with services and their coordination. The process calculus has been the main tool driving the specification issues as well the implementation issues. Indeed, it acts as a bridge between the high level specification language and the run-time environment. A distinguished feature of our proposal is that our formal model, i.e. the process calculus, describes distributed processes relying on an event notification mechanism as machinery for interactions. Services are represented by certain components that embody local computations and react to changes of the overall environment in which they are involved. The adoption of event notification results particularly fashionable for tackling service coordination. The principles studied at specification level are from one side understood within a theoretical framework that provides instruments for checking correctness of interaction policies and from the other side offers the core model for implementing and experimenting a programming middleware

    Razvoj i analiza formalnih modela za korišćenje i deljenje resursa u distribuiranim softverskim sistemima

    Get PDF
    This thesis investigates problems of formal, mathematically based, representation and analysis of controlled usage and sharing of resources in distributed software systems. We present a model for confidential name passing, and a model for controlled resource usage. For the second model we also introduce a type system for performing a static verification that can ensure absence of unauthorized usages of resources in the system.У тези су разматрани проблеми формалног описа и анализе дељења и коришћења ресурса у дистрибуираним софтверским системима. Уведен је један рачун који моделира поверљиво дељење имена и један који моделира контролисано коришћење ресурса. За други модел предложен је и типски систем за статичку проверу који осигурава одсуство неауторизованог коришћења ресурса у систему.U tezi su razmatrani problemi formalnog opisa i analize deljenja i korišćenja resursa u distribuiranim softverskim sistemima. Uveden je jedan račun koji modelira poverljivo deljenje imena i jedan koji modelira kontrolisano korišćenje resursa. Za drugi model predložen je i tipski sistem za statičku proveru koji osigurava odsustvo neautorizovanog korišćenja resursa u sistemu
    corecore