As a contributing author of the documents listed in this page, I have made available our work electronically to ensure timely dissemination of scientific and technical contributions on a non-commercial basis. Nevertheless, copyright and all rights therein are maintained by the authors or by other copyright holders (e.g., the publisher). It is understood that all persons accessing this information will adhere to the appropriate copyright rules. In particular, these works may not be reposted without the explicit permission of the copyright holder.
Note: This page has been generated on-the-fly from a search page.
Keywords: Hierarchical graphs, gs-monoidal theories, term-graphs
(Postscript) (PDF)Abstract
We propose a sound and complete axiomatisation of a class of graphs with nesting and either locally or globally restricted nodes. Such graphs allow to represent explicitly and at the right level of abstraction some relevant topological and logical features of models and systems, including nesting, hierarchies, sharing of resources, and pointers or links. We also provide an encoding of the proposed algebra into terms of a gs-monoidal theory, and through these into a suitable class of well-scoped term graphs, showing that this encoding is sound and complete with respect to the axioms of the algebra.
Keywords: Hierarchical graphs, process calculi
Abstract
We define an algebraic theory of hierarchical graphs, whose axioms characterise graph isomorphism: two terms are equated exactly when they represent the same graph. Our algebra can be understood as a high-level language for describing graphs with a node-sharing, embedding structure, and it is then well suited for defining graphical representations of software models where nesting and linking are key aspects. In particular, we propose the use of our graph formalism as a convenient way to describe configurations in process calculi equipped with inherently hierarchical features such as sessions, locations, transactions, membranes or ambients. The graph syntax can be seen as an intermediate representation language, that facilitates the encodings of algebraic specifications, since it provides primitives for nesting, name restriction and parallel composition. In addition, proving soundness and correctness of an encoding (i.e. proving that structurally equivalent processes are mapped to isomorphic graphs) becomes easier as it can be done by induction over the graph syntax.
Keywords: Hierarchical graphs, service oriented architecture, process calculi, CaSPiS
(Postscript) (PDF)Abstract
Graph transformation techniques have been applied successfully to the modelling of process calculi, for example for equipping them with a truly concurrent semantics. Recently, there has been an increasing interest towards hierarchical structures both at the level of graph-based models, in order to represent explicitly the interplay between linking and containment (like in Milner's bigraphs), and at the level of process calculi, in order to deal with several logical notions of scoping (ambients, sessions and transactions, among others). In this paper we show how to encode a sophisticated calculus of services and nested sessions by exploiting a suitable flavour of hierarchical graphs. For the encoding of the processes of this calculus we benefit from a recently proposed algebra of graphs with nesting.
Keywords: Hierarchical graphs, process calculi
(Postscript) (PDF)Abstract
We define an algebraic theory of hierarchical graphs, whose axioms characterise graph isomorphism: two terms are equated exactly when they represent the same graph. Our algebra can be understood as a high-level language for describing graphs with a node-sharing, embedding structure, and it is then well suited for defining graphical representations of software models where nesting and linking are key aspects.
Keywords: Hierarchical graphs, process calculi
(Postscript) (PDF)Abstract
We propose a class of hierarchical graphs equipped with a simple algebraic syntax as a convenient way to describe configurations in languages with inherently hierarchical features such as sessions, fault-handling scopes or transactions. The graph syntax can be seen as an intermediate representation language, that facilitates the encoding of structured specifications and, in particular, of process calculi, since it provides primitives for nesting, name restriction and parallel composition. The syntax is based on an algebraic presentation that faithfully characterises families of hierarchical graphs, meaning that each term of the language uniquely identifies an equivalence class of graphs (modulo graph isomorphism). Proving soundness and correctness of an encoding (i.e. proving that structurally equivalent processes are mapped to isomorphic graphs) is then facilitated and can be done by structural induction. Summing up, the graph syntax facilitates the definition of faithful encodings, yet allowing a precise visual representation. We illustrate our work with an application to a workflow language and a service-oriented calculus.
Keywords: Hierarchical graphs, service oriented architecture, process calculi, gs-monoidal theories, term graphs, mobile ambients
(Postscript) (PDF)Abstract
We present an algebra for graphs with nesting and restriction features as a handy linear syntax for denoting a class of hierarchical graphs. We discuss how such graphs can be encoded into term graphs, showing that through this translation we can borrow definitions and results from the established theory of term graph rewriting.
Keywords: Sagas, cCSP, concurrent semantics, compensations, long-running transactions
(Postscript) (PDF)Abstract
We propose new, optimal, operational and denotational semantics for parallel Sagas with interruption and prove the correspondence between the two. The new semantics guarantees that distributed compensations may only be observed after a fault actually occurred.
Keywords: Rule-based specifications, hierarchical models, MOF, multi-criteria optimisation, Maude
(Postscript) (PDF)Abstract
Rule-based specifications have been very successful as a declarative approach in many domains, due to the handy yet solid foundations offered by rule-based machineries like term and graph rewriting. Realistic problems, however, call for suitable techniques to guarantee scalability. For instance, many domains exhibit a hierarchical structure that can be exploited conveniently. This is particularly evident for composition associations of models. We propose an explicit representation of such structured models and a methodology that exploits it for the description and analysis of model- and rule-based systems. The approach is presented in the framework of rewriting logic and its efficient implementation in the rewrite engine Maude and is illustrated with a case study.
Keywords: Service oriented systems, Software engineering, UML4SOA, ADR
(Postscript) (PDF)Abstract
We present a UML Profile for the description of service oriented applications. The profile focuses on style-based design and reconfiguration aspects at the architectural level. Moreover, it has formal support in terms of an approach called Architectural Design Rewriting, which enables formal analysis of the UML specifications. We show how our prototypical implementation can be used to analyse and verify properties of a service oriented application.
Keywords: Hierarchical graphs, software architectures, ADR
(Postscript) (PDF)Abstract
This paper extends the invited talk by the first author about the virtues of structured graphs. The motivation behind the talk and this paper relies on our experience on the development of ADR, a formal approach for the design of style-conformant, reconfigurable software systems. ADR is based on hierarchical graphs with interfaces and it has been conceived in the attempt of reconciling software architectures and process calculi by means of graphical methods. We have tried to write an ADR agnostic paper where we raise some drawbacks of flat, unstructured graphs for the design and analysis of software systems and we argue that hierarchical, structured graphs can alleviate such drawbacks.
Keywords: Petri nets, Workflow nets, Zero-safe nets, Contracts, Unfolding, Non-deterministic processes
(Postscript) (PDF)Abstract
Loosely coupled interactions permeate modern distributed systems, where autonomous applications need to collaborate by dynamical assembly. We can single out three different phases occurring in every collaboration: 1) negotiation of some sort of contracts, mediating the needs of prospective participants; 2) acceptance or rejection of the contract; 3) contract-guarantee execution. The above scheme, called NCE for short (Negotiation, Commit, Execution), covers a wide range of situations, ranging from sessions and transactions to proof-carrying code. In the paper we concentrate on the notion of open transaction and on Zero-Safe Nets, a model developed by the authors for modelling long transactions. We extend the latter to cover the three-phase process above.
Keywords: Control Flow Analysis, Service Oriented Computing, CaSPiS
(Postscript) (PDF)Abstract
Application or business logic, used in the development of services, has to do with the operations that define the application functionalities and not with the platform ones. Often security problems can be found at this level, because circumventing or misusing the required operations can lead to unexpected behaviour or to attacks, called {em application logic attacks}. We investigate this issue, by using the CaSPiS calculus to model services, and by providing a Control Flow Analysis able to detect and prevent some possible misuses.
Keywords: Reo, Tile model
(Postscript) (PDF)Abstract
Reo is an exogenous coordination model for software components. The informal semantics of Reo has been matched by several proposals of formalization, exploiting co-algebraic techniques, constraint-automata, and coloring tables. We aim to show that the Tile Model offers a flexible and adequate semantic setting for Reo, such that: (i) it is able to capture context-aware behavior; (ii) it is equipped with a natural notion of behavioral equivalence which is compositional; (iii) it offers a uniform setting for representing not only the ordinary execution of Reo systems but also dynamic reconfiguration strategies.
Keywords: CCS, pi-calculus, Orc, CaSPiS, services, sessions, transactions
(Postscript) (PDF)Abstract
It is widely recognised that process calculi stay to concurrent computing as lambda-calculus stays to sequential computing; in fact, they lay abstract, rigorous foundations for the analysis of interactive, communicating systems. Nowadays, the increasing popularity of Service-Oriented Computing (SOC) challenges the quest for novel abstractions tailored to the well-disciplined handling of specific issues, like long running interactions, orchestration, and unexpected events. In fact, these features emerge neatly in most SOC applications and need to be studied as first-class aspects, whereas they would be obfuscated if dealt with by sophisticated encoding in traditional process calculi. This paper overviews some of the most recent proposals emerged in the literature, pointing out their main characteristics and presents in more detail one such proposal, called caspis, by providing several examples to give evidence of its flexibility. No prior acquaintance with process calculi is assumed, indeed a gentle introduction to their basics is provided before the more advanced material be presented.
Keywords: Concurrency, abstract machine, process calculi, services, sessions
(Postscript) (PDF)Abstract
A number of formalisms have been defined to support the specification and analysis of service oriented applications. These formalisms have been equipped with tools (types or logics) to guarantee the correct behavior of the specified services. Due to the semantic gap between the specification formalism and the programming languages of service oriented overlay computers a critical issue is guaranteeing that correctness is preserved when running the specified systems over available implementations. We have defined a service oriented abstract machine, equipped with a formal structural semantics, that can be used to implement service specification formalisms. We use our abstract machine to implement different service oriented formalisms that have been recently proposed, each posing specific challenges that we can address successfully. By exploiting the SOS semantics of the abstract machine and those of the considered service oriented formalisms we do prove that our implementations are correct (sound and complete). We also discuss possible implementations of other formalisms.
Keywords: Open systems, Abstract Semantics, Nominal Calculi, Type Systems
(Postscript) (PDF)Abstract
Under several regards, various of the recently proposed computational paradigms are open-ended, i.e. they may comprise components whose behaviour is not or cannot be fully specified. For instance, applications can be distributed across different administration domains that do not fully disclose their internal business processes to each other, or the dynamics of the system may allow reconfigurations and dynamic bindings whose specification is not available at design time. While a large set of mature design and analysis techniques for closed systems have been developed, their lifting to the open case is not always straightforward. Some existing approaches in the process calculi community are based on the need of proving properties for components that may hold in any, or significantly many, execution environments. Dually, frameworks describing the dynamics of systems with unspecified components have also been presented. In this paper we lay some preliminary ideas on how to extend a symbolic semantics model for open systems in order to deal with name-based calculi. Moreover, we also discuss how the use of a simple type system based on name-decoration for unknown components can improve the expressiveness of the framework. The approach is illustrated on a simple, paradigmatic calculus of web crawlers, which can be understood as a term representation of a simple class of graphs.
Keywords: Maude, Rewriting Logic, SOS, Graphs, Software Architectures, ADR
(Postscript) (PDF)Abstract
Architectural Design Rewriting (ADR) is a rule-based approach for the design of dynamic software architectures. The key features that make ADR a suitable and expressive framework are the algebraic presentation and the use of conditional rewrite rules. These features enable, e.g. hierarchical (top-down, bottom-up or composition-based) design and inductively-defined reconfigurations. The contribution of this paper is twofold: we define Hierarchical Design Rewriting (HDR) and present our prototypical tool support. HDR is a flavour of ADR that exploits the concept of hierarchical graph to deal with system specifications combining both symbolic and interpreted parts. Our prototypical implementation is based on Maude and its presentation serves several purposes. First, we show that HDR is not only a well-founded formal approach but also a tool-supported framework for the design and analysis of software architectures. Second, our illustration tailored to a particular algebra of designs and a particular scenario traces a general methodology for the reuse and exploitation of ADR concepts in other scenarios.
Keywords: Behavioural type systems, Deadlock freedom, Dyadic sessions, Service oriented calculi, SCC
(Postscript) (PDF)Abstract
The notion of a session is fundamental in service-oriented applications, as it serves to separate interactions between clients and different instances of the same service, and to group together logical units of work. Recently, the Service Centered Calculus (SCC) has been proposed as a process calculus designed around the concept of a dyadic session between a service side and an invoker side, where interaction protocols and service orchestration can be conveniently expressed. In this paper we propose a generic type system to collect services' behaviours and then we fix a class of well-typed processes that are guaranteed to be deadlock free, in the sense that they either diverge by invoking new service instances or reach a normal form. The type system is based on previous research on traditional mobile calculi, here conveniently extended and simplified thanks to the neat discipline imposed by the linguistic primitives of SCC.
Keywords: Process calculi, name mobility, synchronization algebra with mobility, operational semantics, bisimulation congruences, pi-calculus, Fusion calculus.
Abstract
We present and compare P-PRISMA and F-PRISMA, two parametric calculi that can be instantiated with different interaction policies, defined as synchronization algebras with mobility of names (SAMs). In particular, P-PRISMA is based on name transmission (P-SAM), like pi-calculus, and thus exploits directional (input-output) communication only, while F-PRISMA is based on name fusion (F-SAM), like Fusion calculus, and thus exploits a more symmetric form of communication. However, P-PRISMA and F-PRISMA can easily accommodate many other high-level synchronization mechanisms than the basic ones available in pi-calculus and Fusion, hence allowing for the development of a general meta-theory of mobile calculi. We define for both the labeled operational semantics and a form of strong bisimilarity, showing that the latter is compositional for any SAM. We also discuss reduction semantics and weak bisimilarity. We give several examples based on heterogeneous SAMs, we investigate the case studies of pi-calculus and Fusion calculus giving correspondence theorems, and we show how P-PRISMA can be encoded in F-PRISMA. Finally, we show that basic categorical tools can help to relate and to compose SAMs and PRISMA processes in an elegant way.
Keywords: Dynamic software architectures, graph grammars, automotive software systems
(Postscript) (PDF)Abstract
Several recent research efforts have focused on the dynamic aspects of software architectures providing suitable models and techniques for handling the run-time modification of the structure of a system. A large number of heterogeneous proposals for addressing dynamic architectures at many different levels of abstraction have been provided, such as programmable, ad-hoc, self-healing and self-repairing among others. It is then important to have a clear picture of the relations among these proposals by formulating them into a uniform framework and contrasting the different verification aspects that can be reasonably addressed by each proposal. Our work is a contribution in this line. In particular, we map several notions of dynamicity into the same formal framework in order to distill the similarities and differences among them. As a result we explain different styles of architectural dynamisms in term of graph grammars and get some better insights on the kinds of formal properties that can be naturally associated to such different specification styles. We take a simple automotive scenario as a running example to illustrate main ideas.
Keywords: Maude, Alloy, Rewriting Logic, SOS, Graphs, Software Architectures, ADR
(Postscript) (PDF)Abstract
We illustrate two ways to address the specification, modelling and analysis of dynamic software architectures using: i) ordinary typed graph transformation techniques implemented in Alloy; ii) a process algebraic presentation of graph transformation implemented in Maude. The two approaches are compared by showing how different aspects can be tackled, including representation issues, modelling phases, property specification and analysis.
Keywords: Reo, Tile model
(Postscript) (PDF)Abstract
Reo is an exogenous coordination model for software components. The informal Reo's semantics has been matched by several proposals of formalisation, exploiting co-algebraic techniques, constraint-automata, and colouring tables. We aim to show that the Tile Model offers a flexible and adequate semantic setting for Reo. The definition of a tile semantics for Reo has specific features: (i) concurrency aspects can be taken into account; (ii) tile bisimilarity and tile trace equivalence offer standard abstract equivalences; and (iii) meta-theoretical results can be exploited to guarantee that tile bisimilarity is a congruence, thus reconciling the algebraic and co-algebraic views of connectors. Finally, we observe that the Tile Model can offer a uniform setting for representing not only the ordinary execution of Reo systems but also dynamic reconfiguration strategies.
Keywords: Service oriented calculi, pipelines, nested sessions, process calculi, SCC, CaSPiS
(Postscript) (PDF)Abstract
Service-oriented computing is calling for novel computational models and languages with primitives for client-server interaction, orchestration and unexpected events handling. We present CaSPiS, a process calculus where the notions of session and pipelining play a central role. Sessions are two-sided and can be equipped with protocols executed by each side. Pipelining permits orchestrating the flow of data produced by different sessions. The calculus is also equipped with operators for handling (unexpected) termination of the partner's side of a session. Several examples are presented to provide evidence for the flexibility of the chosen set of primitives. Our main result shows that in CaSPiS it is possible to program a graceful termination of nested sessions, which guarantees that no session is forced to hang forever after the loss of its partner.
Keywords: Multiparty sessions, Process calculi, Service composition, Type system, Compatibility
(Postscript) (PDF)Abstract
Muse (after MUltiparty SEssions) is a process calculus for expressing computations where endpoints dynamically join existing multiparty sessions. We consider muse without name passing and intra-site communication and sketch a type system aimed to guarantee a weak form of compatibility, in the sense that all the interactions required by each local task can be provided either by endpoints currently participating to its session or by endpoints that can join that session later.
Keywords: Multiparty sessions, Process calculi, Service composition
(Postscript) (PDF)Abstract
Service oriented applications feature interactions among several participants over the network. Mechanisms such as correlation sets and two-party sessions have been proposed in the literature to separate messages sent to different instances of the same service. This paper presents a process calculus featuring dynamically evolving multiparty sessions to model interactions that spread over several participants. The calculus also provides primitives for service definition/invocation and for structured communication in order to highlight the interactions among the different concepts. Several examples from the SOC area show the suitability of our approach.
Keywords: Hierarchical Design, Software Architectures, Style-preserving Reconfigurations, ADR
(Postscript) (PDF)Abstract
Architectural Design Rewriting (ADR) is a declarative rule-based approach for the design of dynamic software architectures. The key features that make ADR a suitable and expressive framework are the algebraic presentation of graph-based structures and the use of conditional rewrite rules. These features enable the modelling of, e.g. hierarchical design, inductively defined reconfigurations and ordinary computation. Here, we promote ADR as an Architectural Description Language.
Keywords: Behavioural type systems, Deadlock freedom, Dyadic sessions, Service oriented calculi, SCC
(Postscript) (PDF)Abstract
The notion of a session is fundamental in service oriented applications, as it serves to separate interactions between different instances of the same services, and to group together logical units of work. Recently, SCC has been proposed as a calculus centered around the concept of a dyadic session, where service interaction protocols and service orchestration can be conveniently expressed. In this paper we propose a generic type system to collect services' behaviors and then we fix a class of well typed processes that are guaranteed to be deadlock free. The type system is based on previous research on traditional mobile calculi, here conveniently extended and simplified thanks to the neat discipline imposed by the linguistic primitives of SCC.
Keywords: Hierarchical Design, Software Architectures, Style-preserving Reconfigurations, ADR
(Postscript) (PDF)Abstract
We propose Architectural Design Rewriting (ADR), an approach to formalise the development and reconfiguration of software architectures based on term-rewriting. An architectural style consists of a set of architectural elements and operations called productions which define the well-formed compositions of architectures. Roughly, a term built out of such ingredients constitutes the proof that a design was constructed according to the style, and the value of the term is the constructed software architecture. A main advantage of ADR is that it naturally supports style-preserving reconfigurations. The usefulness of our approach is shown by applying ADR to SRML, an emergent paradigm inspired by the Service Component Architecture. We model the complex operation that composes several SRML modules in a single one by means of suitable rewrite rules. Our approach guarantees that the resulting module respects SRML's metamodel.
Keywords: Software Architectures, Architectural Styles, Reconfiguration, Graphs, Term Rewriting, ADR
(Postscript) (PDF)Abstract
We introduce Architectural Design Rewriting (ADR), an approach to the design of reconfigurable software architectures whose key features are: (i) rule-based approach (over graphs); (ii) hierarchical design; (iii) algebraic presentation; and (iv) inductively-defined reconfigurations. Architectures are modelled by graphs whose edges and nodes represent components and connection ports. Architectures are designed hierarchically by a set of edge replacement rules that fix the architectural style. Depending on their reading, productions allow: (i) top-down design by refinement, (ii) bottom-up typing of actual architectures, and (iii) well-formed composition of architectures. The key idea is to encode style proofs as terms and to exploit such information at run-time for guiding reconfigurations. The main advantages of ADR are that: (i) instead of reasoning on flat architectures, ADR specifications provide a convenient hierarchical structure, by exploiting the architectural classes introduced by the style, (ii) complex reconfiguration schemes can be defined inductively, and (iii) style-preservation is guaranteed.
Keywords: Synchronization algebras, mobile calculi, bisimilarity congruences, fusion calculus, category theory
(Postscript) (PDF)Abstract
We present PRISMA, a parametric calculus that can be instantiated with different interaction policies, defined as synchronization algebras with mobility of names (SAMs). We define both operational semantics and observational semantics of PRISMA, showing that the second one is compositional for any SAM. We give examples based on heterogeneous SAMs, a case study on Fusion Calculus and some simple applications. Finally, we show that basic categorical tools can help to relate and to compose SAMs and PRISMA processes in an elegant way.
Keywords: Open systems, symbolic bisimulation, unification
Abstract
We propose a general methodology for analysing the behaviour of open systems modelled as coordinators, i.e., open terms of suitable process calculi. A coordinator is understood as a process with holes or place-holders where other coordinators and components (i.e., closed terms) can be plugged in, thus influencing its behaviour. The operational semantics of coordinators is given by means of a symbolic transition system, where states are coordinators and transitions are labelled by spatial/modal formulae expressing the potential interaction that plugged components may enable. Behavioural equivalences for coordinators, like strong and weak bisimilarities, can be straightforwardly defined over such a transition system. Differently from other approaches based on universal closures, i.e., where two coordinators are considered equivalent when all their closed instances are equivalent, our semantics preserves the openness of the system during its evolution, thus allowing dynamic instantiation to be accounted for in the semantics. To further support the adequacy of the construction, we show that our symbolic equivalences provide correct approximations of their universally closed counterparts, coinciding with them over closed components. For process calculi in suitable formats, we show how tractable symbolic semantics can be defined constructively using unification.
Keywords: Software Architectures, Architectural Styles, Reconfiguration, Graphs, Term Rewriting, ADR
(Postscript) (PDF)Abstract
We introduce Architectural Design Rewriting (ADR), an approach to deal with the design of reconfigurable software architectures. The key features we promote are: (i) rule-based approach (over graphs); (ii) hierarchical design; (iii) algebraic presentation; and (iv) inductively-defined reconfigurations. Architectures are suitably modeled by graphs whose edges and nodes respectively represent components and connection ports. Architectures are designed hierarchically by a set of edge replacement rules that fix the architectural style. Depending on their reading, productions allow: (i) top-down design by refinement, (ii) bottom-up typing of actual architectures, and (iii) well-formed composition of architectures. The key idea is to encode style proofs as terms and to exploit such information at run-time for guiding reconfigurations. The main advantages of ADR are that: (i) instead of reasoning on flat architectures, ADR specifications provide a convenient hierarchical structure, by exploiting the architectural classes introduced by the style, (ii) complex reconfiguration schemes can be defined inductively, and (iii) style-preservation is guaranteed.
Keywords: Biological systems, Brane calculus, symbolic evolution
(Postscript) (PDF)Abstract
We show how a symbolic approach to the semantics of process algebras can be fruitfully applied to the modeling and analysis of partially unspecified biological systems, i.e., systems whose components are not fully known, cannot be described entirely, or whose functioning is not completely understood. This adds a novel deductive perspective to the use of process algebras within systems biology: the investigation of the behavioural or structural properties that unspecified components must satisfy to interact within the system. These can be computationally inferred, extending the effectiveness of the in silico experiments. The use of the approach is illustrated by means of case studies.
Keywords: Distributed negotiations, mobile ad-hoc networks, JoCaml, Polyphonic C#, D2PC
(Postscript) (PDF)Abstract
We present a prototype application for coordinating distributed agreements in multi-parties negotiations, where participants can dynamically join ongoing negotiations and where participants know only those parties they have interacted with. Our prototype is tailored to Ad-Hoc network scenarios involving the assignment of tasks for a rescue team operating over disaster areas. Our application is based on asynchronous communication and it exploits the D2PC protocol for committing or aborting a negotiation. Parties have been developed both in Jocaml+Perl and Polyphonic C#. The implementation of the commit protocol allows components of both types to participate within the same negotiation.
Keywords: Dynamic graph grammars, event structures, join calculus
(PDF)Abstract
Dynamic graph grammars (DGGs) are a reflexive extension of Graph Grammars that have been introduced to represent mobile reflexive systems and calculi at a convenient level of abstraction. Persistent graph grammars (PGGs) are a class of graph grammars that admits a fully satisfactory concurrent semantics thanks to the fact that all so-called asymmetric conflicts (between items that are read by some productions and consumed by other) are avoided. In this paper we introduce a slight variant of DGGs, called persistent dynamic graph grammars (PDGGs), that can be encoded in PGGs preserving concurrency. Finally, PDGGs are exploited to define a concurrent semantics for the join calculus enriched with persistent messaging (if preferred, the latter can be naively seen as dynamic nets with read arcs).
Keywords: Connectors, synchronization, axiomatization, normal form
Abstract
The conceptual separation between computation and coordination in distributed computing systems motivates the use of peculiar entities commonly called connectors, whose task is managing the interaction among distributed components. Different kinds of connectors exist in the literature at different levels of abstraction. We focus on an algebra of connectors that exploits five kinds of basic connectors (plus their duals), namely symmetry, synchronization, mutual exclusion, hiding and inaction. Basic connectors can be composed in series and in parallel. We first define the operational, observational and denotational semantics of connectors, then we show that the observational and denotational semantics coincide and finally we give a complete normal-form axiomatization. The expressiveness of the framework is witnessed by the ability to model all the (stateless) connectors of the architectural design language CommUnity and of the coordination language Reo.
Keywords: Dynamic graph grammars, reflexivity, join calculus
(Postscript) (PDF)Abstract
We introduce an extension of Graph Grammars (GGs), called Dynamic Graph Grammars (DynGGs), where the right-hand side of a production can spawn fresh parts of the type graph and fresh productions operating on it. The features of DynGGs make them suitable for the straightforward modeling of reflexive mobile systems like dynamic nets and the join calculus. Our main result shows that each DynGG can be modeled as a (finite) GG, so that the dynamically generated structure can be typed statically, still preserving exactly all derivations.
Keywords: Service Oriented Computing, interaction protocols, SCC, PSC, Orc
(Postscript) (PDF)Abstract
We seek for a small set of primitives that might serve as a basis for formalising and programming {service} oriented applications over global computers. As an outcome of this study we introduce here SCC, a process calculus that features explicit notions of service definition, service invocation and session handling. Our proposal has been influenced by Orc, a programming model for structured orchestration of services, but the SCC's session handling mechanism allows for the definition of structured interaction protocols, more complex than the basic request-response provided by Orc. We present syntax and operational semantics of SCC and a number of simple but nontrivial programming examples that demonstrate flexibility of the chosen set of primitives. A few encodings are also provided to relate our proposal with existing ones.
Keywords: Orc, Petri nets, reset arcs, inhibitor arcs, join calculus
(Postscript) (PDF)Abstract
Cook and Misra's Orc is an elegant language for orchestrating distributed services, able to cover e.g. van der Aalst's workflow patterns. We aim to understand the key novel features of Orc by comparing it with variations of Petri nets. The comparison shows that Orc hides powerful mechanisms for name handling (creation and passing) and for atomic distributed termination. Petri nets with static topology can encode Orc under severe restrictions while the full language (up to a more realistic cancellation strategy) can be encoded in join (that can be seen as a higher-order extension of Petri nets). As an overall result, we promote join calculus as an elegant language embedding orchestration and computation.
Keywords: Event structures, persistent graph grammars, Join calculus, pi-calculus
(Postscript) (PDF)Abstract
Event structures have been used for giving true concurrent semantics to languages and models of concurrency such as CCS, Petri nets and graph grammars. Although certain nominal calculi have been modeled with graph grammars, and hence their event structure semantics could be obtained as instances of the general case, the main limitation is that in the case of graph grammars the construction is more complex than strictly necessary for dealing with usual nominal calculi and, speaking in categorical terms, it is not as elegant as in the case of Petri nets. The main contribution of this work is the definition of a particular class of graph grammars, called persistent, that are expressive enough to model name passing calculi while simplifying the denotational domain construction, which can be expressed as an adjunction. Finally, we apply our technique to derive event structure semantics for pi-calculus and join-calculus processes.
Keywords: Conditional rewriting logic, Frozen operators, Partial Membership Equational Logic, Concurrent semantics
Abstract
Since its introduction, more than one decade ago, rewriting logic has attracted the interest of both theorists and practitioners, who have contributed in showing its generality as a semantic and logical framework and also as a programming paradigm. The experimentation conducted in these years has suggested that some significant extensions to the original definition of the logic would be very useful in practice. In particular, the Maude system now supports subsorting and conditional sentences in the equational logic for data, and also frozen arguments to block undesired nested rewrites; moreover, it allows equality and membership assertions in rule conditions. In this paper, we give a detailed presentation of the inference rules, model theory, and completeness of such generalized rewrite theories.
Keywords: Dynamic nets, process semantics, unfolding semantics
(Postscript) (PDF)Abstract
Dynamic nets are an extension of Petri nets where the net topology may change dynamically. This is achieved by allowing (i) tokens to be coloured with place names (carried on as data), (ii) transitions to designate places where to spawn new tokens on the basis of the colours in the fetched tokens, and (iii) firings to add fresh places and transitions to the net. Dynamic nets have been given step or interleaving semantics but, to the best of our knowledge, their non-sequential truly concurrent semantics has not been addressed in the literature. To fill this gap, we extend the ordinary notions of processes and unfolding to dynamic nets, providing two different constructions: (i) a specific process and unfolding for a particular initial marking, and (ii) processes and unfolding patterns that abstract away from the colours of the token initially available.
Keywords: Flow composition, compensation, trace semantics, JTWS
(Postscript) (PDF)Abstract
We address the problem of composing Web Services in long-running transactional business processes, where compensations must be dealt with appropriately. The framework presented in this paper is a Java API called Java Transactional Web Services (JTWS), which provides suitable primitives for wrapping and invoking Web Services as activities in long-running transactions. JTWS adheres to a process calculi formalisation of long-running transactions, called Sagas, which fixes unambiguously the implemented compensation policy. In particular, the primitives provided by JTWS are in one-to-one correspondence with the primitives of Sagas, and they are abstract enough to hide the complex details of their realization, thus favouring usability. Moreover, JTWS orchestrates business processes in a distributed way.
Keywords: Flow composition, compensation, orchestration, CSP, trace semantics
(Postscript) (PDF)Abstract
Web services composition is an emerging paradigm for the integration of long running business processes, attracting the interest of both Industry, in terms of XML-based standards for business description, and Academy, exploiting process description languages. The key challenging aspects to model are orchestration workflows, choreography of exchanged messages, fault handling, and transactional integrity with compensation mechanisms. Few recent proposals attempted to mitigate the explosion of XML-constructs in ad hoc standards by a careful selection of a small set of primitives related to the above aspects. This papers clarifies analogies and differences between two such recent process description languages: one based on interleaving trace semantics and the other on concurrent traces. We take advantage of their comparison to characterise and relate four different coordination policies for compensating parallel processes. Such policies differ on the way in which the abort of a process influences the execution of sibling processes, and whether compensation is distributed or centralised.
Keywords: Relative push-outs, 2-categories, double categories, reactive systems, labelled transition systems, weak bisimilarity
(Postscript) (PDF)Abstract
The focus of process calculi is interaction rather than computation, and for this very reason: (i) their operational semantics is conveniently expressed by labelled transition systems (LTSs) whose labels model the possible interactions of a process with the environment; (ii) their abstract semantics is conveniently expressed by observational congruences. However, many current-day process calculi are more easily equipped with reduction semantics, where the notion of observable action is missing. Recent techniques attempted to bridge this gap by synthesising LTSs whose labels are process contexts that enable reactions and for which bisimulation is a congruence. Starting from Sewell's set-theoretic construction, category-theoretic techniques were defined and based on Leifer and Milner's relative pushouts, later refined by Sassone and the fourth author to deal with structural congruences given as groupoidal 2-categories. Building on recent works concerning observational equivalences for tile logic, the paper demonstrates that double categories provide an elegant setting in which the aforementioned contributions can be studied. Moreover, the formalism allows for a straightforward and natural definition of weak observational congruence.
Keywords: Connectors, Normal Forms, Algebraic Semantics, Axiomatization, Monoidal Categories
(Postscript) (PDF)Abstract
The conceptual separation between computation and coordination in distributed computing systems motivates the use of peculiar entities commonly called connectors, whose task is managing the interaction among distributed components. Different kinds of connectors exist in the literature, at different levels of abstraction. We focus on a basic algebra of connectors which is expressive enough to model, e.g., all the architectural connectors of CommUnity. We first define the operational, observational and denotational semantics of connectors, then we show that the observational and denotational semantics coincide and finally we give a complete normal-form axiomatization.
Keywords: Bisimulation, SOS Formats, Dynamic Bisimulation, Tile Logic
Abstract
The SOS formats that ensure that bisimilarity is a congruence fail in the presence of structural axioms on states. Dynamic bisimulation, introduced to characterize the coarsest congruence for CCS which is also a weak bisimulation, reconciles the bisimilarity is a congruence property with structural axioms and also with the specification of open ended systems, where states can be reconfigured at runtime. We show that the compositional framework offered by tile logic handles structural axioms and specifications of reconfigurable systems successfully. This allows for a finitary presentation of dynamic context closure, as internalized in the tile language. The case study of the pi-calculus illustrates the main features of our approach. Moreover, duality is exploited to model a second kind of reconfiguration: dynamic specialization.
Keywords: Connectors, Normal Forms, Algebraic Semantics, Axiomatization, Monoidal Categories
(Postscript) (PDF)Abstract
The conceptual separation between computation and coordination in distributed computing systems motivates the use of peculiar entities commonly called connectors, whose task is managing the interaction among distributed components. Different kinds of connectors exist in the literature at different levels of abstraction. We focus on a basic algebra of connectors which is expressive enough to model e.g. all the architectural connectors of CommUnity. We first define the operational, observational and denotational semantics of connectors, then we show that the observational and denotational semantics coincide and finally we give a complete normal-form axiomatization.
Keywords: Open systems, symbolic bisimulation, symbolic traces, unification
(Postscript) (PDF)Abstract
Behavioural equivalences on open systems are usually defined by comparing system behaviour in all environments. Due to this universal quantification over the possible hosting environments, such equivalences are often difficult to check in a direct way. Here, working in the setting of process calculi, we introduce a hierarchy of behavioural equivalences for open systems, building on a previously defined symbolic approach. The hierarchy comprises both branching, bisimulation-based, and non-branching, trace-based, equivalences. Symbolic equivalences are amenable to effective analysis techniques (e.g., the symbolic transition system is finitely branching under mild assumptions), which result to be sound, but often not complete due to redundant information. Two kinds of redundancy, syntactic and semantic, are discussed and one class of symbolic equivalences is identified that deals satisfactorily with syntactic redundant transitions, which are a primary source of incompleteness.
Keywords: Solo diagrams, Term graph rewriting, Synchronized hyperedge replacement, Bigraphs, Tile systems, Interactive systems
(Postscript) (PDF)Abstract
This paper is an informal summary of different encoding techniques from process calculi and distributed formalisms to graphic frameworks. The survey includes the use of solo diagrams, term graphs, synchronized hyperedge replacement systems, bigraphs, tile models and interactive systems, all presented at the Dagstuhl Seminar 04241. The common theme of all techniques recalled here is having a graphic presentation that, at the same time, gives both an intuitive visual rendering (of processes, states, etc.) and a rigorous mathematical framework.
Keywords: CommUnity, tile model, categorical semantics, algebraic semantics, software architectures, connectors
(Postscript) (PDF)Keywords: Flow composition, compensation, process calculi, long-running transactions
(Postscript) (PDF)Abstract
A key aspect when aggregating business processes and web services is to assure transactional properties of process executions. Since transactions in this context may require long periods of time to complete, traditional mechanisms for guaranteeing atomicity are not always appropriate. Generally the concept of long running transactions relies on a weaker notion of atomicity based on compensations. For this reason, programming languages for service composition cannot leave out two key aspects: compensations, i.e. ad hoc activities that can undo the effects of a process that fails to complete, and transactional boundaries to delimit the scope of a transactional flow. This paper presents a hierarchy of transactional calculi with increasing expressiveness. We start from a very small language in which activities can only be composed sequentially. Then, we progressively introduce parallel composition, nesting, programmable compensations and exception handling. A running example illustrates the main features of each calculus in the hierarchy.
Keywords: Coalgebraic semantics, pi-calculus, theta-automata
(Postscript) (PDF)Abstract
In this paper, we model fresh names in the pi-calculus using abstractions with respect to a new binding operator theta. Both the theory and the metatheory of the pi-calculus benefit from this simple extension. The operational semantics of this new calculus is finitely branching. Bisimulation can be given without mentioning any constraint on names, thus allowing for a straightforward definition of a coalgebraic semantics, within a category of coalgebras over permutation algebras. Following previous work by Montanari and Pistore, we present also a finite representation for finitary processes and a finite state verification procedure for bisimilarity, based on the new notion of theta-automaton.
Keywords: Join, Distributed negotiations, Zero-safe nets, Orchestration
(Postscript) (PDF)Abstract
Committed Join (cJoin) is an extension of Join with high-level primitives for programming dynamic nested negotiations with compensations. In this paper we show that flat cJoin processes (i.e. processes without sub-negotiations) can be encoded in the ordinary Join calculus by exploiting a distributed two-phase commit protocol. In particular, we first define a type system that singles out flat processes and prove subject reduction for it. Then, we show that all flat cJoin processes can be written in an equivalent canonical form, where a few elementary definition patterns are used. Finally, we show that canonical flat processes can be implemented in Join. It is worth noting that negotiation primitives are encoded as fully distributed agreements between all participants, thus avoiding a centralized coordinator.
Keywords: Join, Distributed negotiations, Nested negotiations, Compensation on abort, Committed choice languages, Zero safe nets, Orchestration, AKL, Serializability
(Postscript) (PDF)Abstract
In global computing applications the availability of a mechanism for some form of committed choice can be useful, and sometimes necessary. It can conveniently handle, e.g., distributed agreements and negotiations with nested choice points. We propose a linguistic extension of the Join calculus for programming nested commits, called Committed Join (cJoin). It provides primitives for explicit abort, programmable compensations and interactions between negotiations. We give the operational semantics of cJoin in the reflexive CHAM style. Then we discuss its expressiveness on the basis of a few examples and encodings. Finally, we provide a big-step semantics for cJoin processes that can be typed as shallow and we show that shallow processes are serializable.
Keywords: CommUnity, tile model, categorical semantics, algebraic semantics, software architectures, connectors
(Postscript) (PDF)Abstract
This work is a first step toward the reconciliation of the two main approaches to composition in system modeling, namely the categorical one and the algebraic one. In particular, we present a mapping from CommUnity, which uses the categorical approach based on colimits, into the Tile Model, which uses algebraic operators for composition. Our results include a standard decomposition for CommUnity programs. We also establish a strong link between the colimit computation of the categorical approach and the abstract semantics of configurations in the algebraic approach by proving that the encoding of a CommUnity diagram is behaviorally equivalent to the encoding of its colimit.
Keywords: Tile Logic, Rewriting Logic, Category Theory, Transactions, Zero Safe Nets, Petri Nets
(Postscript) (PDF)Abstract
We propose a modular high-level approach to the specification of transactions in rewriting logic, where the operational and the abstract views are related by suitable adjunctions between categories of tile theories and of rewrite theories.
Keywords: Zero-safe nets, Colured nets, Reconfigurable nets, Dynamic nets
(Postscript) (PDF)Abstract
As web applications become more and more complex, primitives for handling interaction patterns among independent components become essential. In fact, distributed applications require new forms of transactions for orchestrating the progress of their negotiations and agreements. Still we lack foundational models that accurately explain the crucial aspects of the problem. In this work we explore how to model transactions in coloured, reconfigurable and dynamic nets, (i.e., high-level/high-order Petri nets that can express mobility and can extend themselves dynamically during their execution). Starting from zero-safe nets --- a well-studied extension of Place/Transition Petri nets with a transactional mechanism based on a distinction between consistent (observable) and transient (hidden) states --- we show how the zero-safe approach can be smoothly applied to a hierarchy of nets of increasing expressiveness.
Keywords: Zero Safe Nets, Contextual Nets, Transactions, Coordination, Linda, PMEqtl, Refinement
Abstract
Nowadays concepts, languages and models for coordination cannot leave aside the needs of the increasing number of commercial applications based on global computing over the (inter)net. For example, platforms like Microsoft .NET and Sun Microsystems Java come equipped with packages for supporting ad hoc transactional features, which are essential for most business applications. We show how to extend the coordination language par excellence (i.e. Linda) with basic primitives for transactions, while retaining a formal model for its concurrent computations. This is achieved by exploiting a variation of Petri nets, called zero-safe nets, where transactions can be suitably modeled by distinguishing between stable places (ordinary ones) and zero places (where tokens can only be temporarily allocated, defining hidden states). The relevance of the transaction mechanism is illustrated in terms of expressive power. Finally, it is shown that stable places and transactions viewed as atomic steps define an abstract semantics that is apt to a fully algebraic treatment, demonstrated via categorical adjunctions between suitable categories of nets.
Keywords: Distributed negotiations, mobile ad-hoc networks, JoCaml, D2PC
(Postscript) (PDF)Abstract
We present a prototype application for distributed agreements in multi-parties negotiations, where the number of participants is statically unknown, new participants can dynamically join ongoing negotiations and each participant knows only those parties with whom interacted. The application is based on asynchronous communication and it exploits the D2PC protocol for committing or aborting the negotiation. The software architecture consists of three modular layers, with the D2PC compiled in the bottom layer and completely transparent to final users. Our prototype is tailored to the running scenario of Ad-Hoc networks used by rescue teams for disaster recovery.
Keywords: Open systems, symbolic bisimulation, symbolic traces, unification
(Postscript) (PDF)Abstract
Behavioural equivalences on open systems are usually defined by comparing system behaviour in all environments. Here, we introduce a hierarchy of behavioural equivalences for open systems in the setting of process calculi, building on a symbolic approach proposed in a previous paper. The hierarchy comprises both branching, bisimulation-based, and non-branching, trace-based, equivalences. Symbolic equivalences are amenable to effective analysis techniques (e.g., the symbolic transition system is finitely branching under mild assumptions), which result to be correct, but often not complete due to redundant information. Two kinds of redundancy, syntactic and semantic, are discussed and one class of symbolic equivalences is identified that deals satisfactorily with syntactic redundant transitions, which are a primary source of incompleteness.
Keywords: Software architectures for mobility, UML, Statecharts, Open KLAIM, CommUnity, graph transformation
(Postscript) (PDF)Abstract
Architecture-based approaches have been promoted as a means of controlling the complexity of system construction and evolution, in particular for providing systems with the agility required to operate in turbulent environments and to adapt very quickly to changes in the enterprise world. Recent technological advances in communication and distribution have made mobility an additional factor of complexity, one for which current architectural concepts and techniques can be hardly used. The AGILE project is developing an architectural approach in which mobility aspects can be modelled explicitly and mapped on the distribution and communication topology made available at physical levels. The whole approach is developed over a uniform mathematical framework based on graph-oriented techniques that support sound methodological principles, formal analysis, and refinement. This paper describes the AGILE project and some of the results gained during the first project year.
Keywords: Petri nets, Pre-nets, Functorial semantics, Processes, Unfolding
(Postscript) (PDF)Abstract
Pre-nets have been recently proposed as a means of providing a functorial algebraic semantics to Petri nets (possibly with read arcs), overcoming some previously unsolved subtleties of the classical model. Here we develop a functorial semantics for pre-nets following a sibling classical approach based on an unfolding construction. Any pre-net is mapped to an acyclic branching net, representing its behaviour, then to a prime event structure and finally to a finitary prime algebraic domain. Then the algebraic and unfolding view are reconciled: we exploit the algebraic semantics to define a functor from the category of pre-nets to the category of domains that is shown to be naturally isomorphic to the unfolding-based functor. All the results are extended to pre-nets with read arcs.
Keywords: Contextual Pre-Nets, Partial Membership Equational Logic, Algebraic Semantics, Monoidal Categories
(Postscript) (PDF)Abstract
The algebraic models of computation for contextual nets that have been proposed in the literature either rely on a non-free monoid of objects, or introduce too many fictitious behaviors that must be somewhat filtered out. In this paper, we exploit partial membership equational logic to define a suitable theory of models, where the meaningful concurrent computations can be selected by means of membership predicates.
Keywords: Conditional rewriting logic, Frozen operators, Partial Membership Equational Logic, Concurrent semantics
(Postscript) (PDF)Abstract
Since its introduction, more than a decade ago, rewriting logic has attracted the interest of both theorists and practitioners, who have contributed in showing its generality as a semantic and logical framework and also as a programming paradigm. The experimentation conducted in these years has suggested that some significant extensions to the original definition of the logic would be very useful in practice. In particular, the Maude system now supports subsorting and conditions in the equational logic for data, and also frozen arguments to block undesired nested rewritings; moreover, it allows equality and membership assertions in rule conditions. In this paper, we give a detailed presentation of the inference rules, model theory, and completeness of such generalized rewrite theories.
Keywords: Petri nets, Pre-nets, Functorial semantics, Processes, Unfolding
(Postscript) (PDF)Abstract
P/T Petri nets are one of the most widely known models of concurrency. Since their introduction, the conceptual simplicity of the model and its intuitive graphical presentation have attracted the interest of both theoreticians and practitioners. Nevertheless, the concurrent semantics of Petri nets present several subtleties that still cannot be considered fully understood. In this presentation, we concentrate on the semantic interpretations arising from the so-called individual token philosophy (ITPh) as opposed to the collective token philosophy (CTPh), the latter being less amenable to the full variety of aspects that can be studied in the ITPh. Our twofold aim is: (1) to emphasise the missing fragments of the overall picture arising from the different semantic frameworks for P/T Petri nets (roughly classified in process-oriented, unfolding, algebraic, logical, categorical); (2) to outline some preliminary ideas and results for bridging the gaps in a formal and satisfactory way.
Keywords: Distributed Systems, Normal Forms, Sigma-Spaces, Partitions, Relations, (Co)Gs-Monoidal Categories
Abstract
Recent years have seen a growing interest towards algebraic structures that are able to express formalisms different from the standard, tree-like presentation of terms. Many of these approaches reveal a specific interest towards the application to the `distributed and concurrent systems' field, but an exhaustive comparison between them is sometimes difficult, because their presentations can be quite dissimilar. This work is a first step towards a unified view: Focusing on the primitive ingredients of distributed spaces (namely interfaces, links and basic modules), we introduce a general schema for describing a normal form presentation of many algebraic formalisms, and show that those normal forms can be thought of as arrows of suitable monoidal categories.
Keywords: Open systems, symbolic bisimulation, unification, ambient calculus
(Postscript) (PDF)Abstract
We propose a methodology for the analysis of open systems based on process calculi and bisimilarity. Open systems are seen as coordinators (i.e. terms with place-holders), that evolve when suitable components (i.e. closed terms) fill in their place-holders. The distinguishing feature of our approach is the definition of a symbolic operational semantics for coordinators that exploits spatial/modal formulae as labels of transitions and avoids the universal closure of coordinators w.r.t. all components. Two kinds of bisimilarities are then defined, called strict and large, which differ in the way formulae are compared. Strict bisimilarity implies large bisimilarity which, in turn, implies the one based on universal closure. Moreover, for process calculi in suitable formats, we show how the symbolic semantics can be defined constructively, using unification. Our approach is illustrated on a toy process calculus with CCS-like communication within ambients.
Keywords: Zero Safe Nets, Join Calculus, BizTalk, Orchestration, Concurrent Semantics, Transactions
(Postscript) (PDF)Abstract
We discuss the principles of distributed transactions, then we define an operational model which meets the basic requirements and we give a prototyping implementation for it in join-calculus. Our model: (1) extends BizTalk with multiway transactions; (2) exploits an original algorithm, for distributed commit; (3) can deal with dynamically changing communication topology; (4) is almost language-independent. In fact, the model is based on a two-level classification of resources, which should be easily conveyed to distributed calculi and languages, providing them with a uniform transactional mechanism.
Keywords: Zero Safe Nets, Join Calculus, BizTalk, Orchestration, Concurrent Semantics, Transactions
(Postscript) (PDF)Abstract
We discuss the principles of distributed transactions, then we define an operational model which meets the basic requirements and we give a prototyping implementation for it in join-calculus. Our model: (1) extends BizTalk with multiway transactions; (2) exploits an original algorithm, for distributed commit; (3) can deal with dynamically changing communication topology; (4) is almost language-independent. In fact, the model is based on a two-level classification of resources, which should be easily conveyed to distributed calculi and languages, providing them with a uniform transactional mechanism.
Keywords: Contextual Pre-Nets, Partial Membership Equational Logic, Algebraic Semantics, Monoidal Categories
(Postscript) (PDF)Abstract
The algebraic models of computation for contextual nets that have been proposed in the literature either rely on non-free monoid of objects, or introduce too many behaviors that must be somewhat filtered out. In this report, we exploit partial membership equational logic to define a suitable theory of models, where the meaningful concurrent computations can be selected by means of membership predicates.
Keywords: Coalgebraic semantics, pi-calculus, theta-automata
(Postscript) (PDF)Abstract
In this paper, we model fresh names in the pi-calculus using abstractions w.r.t. a new binding operator theta. Both the theory and the metatheory of the pi-calculus benefit from this simple extension. The operational semantics of this new calculus is finitely branching. Bisimulation can be given without mentioning any constraint on names, thus allowing for a straightforward definition of a coalgebraic semantics. This is cast within a category of coalgebras over algebras with infinitely many unary operators, in order to capitalize on theta. Following previous work by Montanari and Pistore, we present also a finite representation for finitary processes and a finite state verification procedure for bisimilarity, based on the new notion of theta-automaton. Finally, we improve previous encodings of the pi-calculus in the Calculus of Inductive Constructions.
Keywords: Tile Logic, Distributed Systems, Concurrent Semantics, Causal Semantics, Connectors, Process Rewrite Systems, Basic Parallel Processes
Abstract
We propose a meta-theoretic approach to the definition of operational and abstract concurrent semantics for systems where name handling is a key issue. The main ingredients of our framework are connectors and tile logic. The former allow for the modeling of various kinds of graph-like and term-like structures, which can be useful in representing system distribution and causal histories. The latter is used to combine the use of connectors in space and in time (i.e., according to configurations and computations). As a detailed case study, we show how to define a concurrent operational semantics and causal weak bisimilarity for a flavour of basic parallel processes.
Keywords: Category Theory, Double Categories, Tile Logic, Distributed Systems
Abstract
Tile systems offer a general paradigm for modular descriptions of concurrent systems, based on a set of rewriting rules with side-effects. Monoidal double categories are a natural semantic framework for tile systems, because the mathematical structures describing system states and synchronizing actions (called configurations and observations, respectively, in our terminology) are monoidal categories having the same objects (the interfaces of the system). In particular, configurations and observations based on net-process-like and term structures are usually described in terms of symmetric monoidal and cartesian categories, where the auxiliary structures for the rearrangement of interfaces correspond to suitable natural transformations. In this paper we discuss the lifting of these auxiliary structures to double categories. We notice that the internal construction of double categories produces a pathological asymmetric notion of natural transformation, which is fully exploited in one dimension only (for example, for configurations or for observations, but not for both). Following Ehresmann (1963), we overcome this biased definition, introducing the notion of generalized natural transformation between four double functors (rather than two). As a consequence, the concepts of symmetric monoidal and cartesian (with consistently chosen products) double categories arise in a natural way from the corresponding ordinary versions, giving a very good relationship between the auxiliary structures of configurations and observations. Moreover, the Kelly-MacLane coherence axioms can be lifted to our setting without effort, thanks to the characterization of two suitable diagonal categories that are always present in a double category. Then, symmetric monoidal and cartesian double categories are shown to offer an adequate semantic setting for process and term tile systems.
Keywords: Petri Nets, Pre-Nets, Concurrent Transition Systems, Category Theory, Monoidal Categories, PMEqtl
Abstract
We show that although the algebraic semantics of place/transition Petri nets under the collective token philosophy can be fully explained in terms of strictly symmetric monoidal categories, the analogous construction under the individual token philosophy is not completely satisfactory, because it lacks universality and also functoriality. We introduce the notion of pre-nets to overcome this, obtaining a fully satisfactory categorical treatment, where the operational semantics of nets yields an adjunction. This allows us to present a uniform logical description of net behaviors under both the collective and the individual token philosophies in terms of theories and theory morphisms in partial membership equational logic. Moreover, since the universal property of adjunctions guarantees that colimit constructions on nets are preserved in our algebraic models, the resulting semantic framework has good compositional properties.
Keywords: Tile Logic, Logic Programming, Open Systems
Abstract
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.
Keywords: Zero Safe Nets, Petri Nets, Contextual Nets, Distributed Systems, Unfolding, Transactions, Refinement
(Postscript) (PDF)Abstract
When employing Petri nets to model distributed systems, one must be aware that the basic activities of each component can vary in duration and can involve smaller internal activities, i.e., that transitions are conceptually refined into transactions. We present an approach to the modeling of transactions based on zero-safe nets. They extend ordinary PT nets with a simple mechanism for transition synchronization. We show that the net theory developed under the two most diffused semantic interpretations (collective token and individual token philosophies) can be uniformly adapted to zero-safe nets. In particular, we show that each zero-safe net has associated two PT nets which represent the abstract counterparts of the modeled system according to the two philosophies. We show several applications of the framework, a distributed interpreter for ZS nets based on classical net unfolding (here extended with a commit rule) and discuss some extensions to other net flavours to show that the concept of zero place provides a unifying notion of transaction for several different kinds of Petri nets.
Keywords: Petri Nets, Contextual Nets, Monoidal Categories
(Postscript) (PDF)Abstract
We show that the so-called `Petri nets are monoids' approach initiated by Meseguer and Montanari can be extended from ordinary place/transition Petri nets to contextual nets by considering suitable non-free monoids of places. The algebraic characterizations of net concurrent computations we provide cover both the collective and the individual token philosophy, uniformly along the two interpretations, and coincide with the classical proposals for place/transition Petri nets in the absence of read-arcs.
Keywords: Logical Framework, Tile Logic, HOAS
(Postscript) (PDF)Abstract
In recent years, logical frameworks and tile logic have been separately proposed by our research groups, respectively in Udine and in Pisa, as suitable metalanguages with higher-order features for encoding and studying nominal calculi. This paper discusses the main features of the two approaches, tracing differences and analogies on the basis of two case studies: late pi-calculus and lazy simply typed lambda-calculus.
Keywords: Zero Safe Nets, Contextual Nets, Transactions, Coordination, Linda
(Postscript) (PDF)Abstract
Zero-safe nets are a variation of Petri nets, where transactions can be suitably modeled. The idea is to distinguish between stable places (whose markings define observable states) and zero-safe places (where tokens can only be temporarily allocated, defining hidden states): Transactions must start and end in observable states. We propose an extension of the coordination language Linda, called TraLinda, where a few basic primitives for expressing transactions are introduced by means of different typing of tuples. By exploiting previous results of Busi, Gorrieri and Zavattaro on the net modeling of Linda-like languages, we define a concurrent operational semantics based on zero-safe nets for TraLinda, where the typing of tuples reflects evidently on the distinction between stable and zero-safe places.
Keywords: (Co)Spans, Relations, Partitions
(Postscript) (PDF)Abstract
This paper investigates some key algebraic properties of the categories of spans and cospans (up to isomorphic supports) over the category Set of (small) sets and functions, analyzing the monoidal structures induced over both spans and cospans by cartesian product and disjoint union of sets. Our results find analogous counterparts in (and are partly inspired by) the theory of relational algebras, thus our paper also sheds some light on the relationship between (co)spans and the categories of (multi)relations and of equivalence relations. And, since (co)spans yield an intuitive presentation of dynamical systems with input and output interfaces, our results introduce an expressive, two-fold algebra that can serve as a specification formalism for rewriting systems and for composing software modules.
Keywords: Tile Logic, Bisimilarity Congruences, Open Systems
(Postscript) (PDF)Keywords: Tile Logic, Bisimilarity Congruences, Term Graphs, Open Systems
(Postscript) (PDF)Abstract
The definition of SOS formats ensuring that bisimilarity on closed terms is a congruence has received much attention in the last two decades. For dealing with open terms, the congruence is usually lifted from closed terms by instantiating the free variables in all possible ways; the only alternatives considered in the literature are Larsen and Xinxin's context systems and Rensink's conditional transition systems. We propose an approach based on tile logic, where closed and open terms are managed uniformly, and study the `bisimilarity as congruence' property for several tile formats, accomplishing different concepts of open system.
Keywords: Tile Logic, Dynamic Bisimilarity, Open Systems
(Postscript) (PDF)Abstract
The SOS formats ensuring that bisimilarity is a congruence often fail in the presence of structural axioms on the algebra of states. Dynamic bisimulation, introduced to characterize the coarsest congruence for CCS which is also a (weak) bisimulation, reconciles the bisimilarity as congruence property with such axioms and with the specification of open ended systems, where states can be reconfigured at run-time, at the cost of an infinitary operation at the meta-level. We show that the compositional framework offered by tile logic is suitable to deal with structural axioms and open ended systems specifications, allowing for a finitary presentation of context closure.
Keywords: Petri Nets, Contextual Nets, Monoidal Categories
(Postscript) (PDF)Abstract
We extend the algebraic approach of Meseguer and Montanari from ordinary place/transition Petri nets to contextual nets, covering both the collective and the individual token philosophy uniformly along the two interpretations of net behaviors.
Keywords: Zero Safe Nets, Petri Nets, Unfolding, Transactions, Refinement, Distributed Systems
(Postscript) (PDF)Abstract
Distributed systems are often composed by many heterogeneous agents that can work concurrently and exchange information. Therefore, in their modeling via PT nets we must be aware that the basic activities of each system can vary in duration and can be constituted by smaller internal activities, i.e., transitions are conceptually refined into transactions. We address the issue of modeling transactions in distributed systems by using zero-safe nets, which extend PT nets with a simple mechanism for transition synchronization. In particular, starting from the zero-safe net that represents a certain system, we give a distributed algorithm for executing the transactions of the system as transitions of a more abstract PT net. Among the advantages of our approach, we emphasize that the zero-safe net can be much smaller than its abstract counterpart, due to the synchronization mechanism.
Keywords: Tile Logic, Bisimilarity Congruences, Term Graphs, Open Systems
(Postscript) (PDF)Abstract
The definition of SOS formats ensuring that bisimilarity on closed terms is a congruence has received much attention in the last two decades. For dealing with open system specifications, the congruence is usually lifted from closed terms to open terms by instantiating the free variables in all possible ways; the only alternatives considered in the literature relying on Larsen and Xinxin's context systems and Rensink's conditional transition systems. We propose a different approach based on tile logic, where both closed and open terms are managed analogously. In particular, we analyze the `bisimilarity as congruence' property for several tile formats that accomplish different concepts of subterm sharing.
Keywords: Zero Safe Nets, Petri Nets, Category Theory, Transactions, Refinement
Abstract
The main feature of zero-safe nets is a primitive notion of transition synchronization. To this aim, besides ordinary places, called stable places, zero-safe nets are equipped with zero places, which in an observable marking cannot contain any token. This yields the notion of transaction: a basic atomic computation, which may use zero tokens as triggers, but defines an evolution between observable markings only. The abstract counterpart of a generic zero-safe net B consists of an ordinary P/T net whose places are the stable places of B, and whose transitions represent the transactions of B. The two nets offer both the refined and the abstract model of the same system, where the former can be much smaller than the latter, because of the transition synchronization mechanism. Depending on the chosen approach -- collective vs individual token philosophy -- two notions of transaction may be defined, each leading to different operational and abstract models. Their comparison is fully discussed on the basis of a multicasting system example. In the second part of the paper, we make use of category theory to analyze and motivate our framework. More precisely, the two operational semantics of zero-safe nets are characterized as adjunctions, and the derivation of abstract P/T nets as coreflections.
Keywords: Zero Safe Nets, Refinement, Transactions, Petri Nets
(Postscript) (PDF)Keywords: Zero Safe Nets, Petri Nets, Unfolding, Distributed Transactions
(Postscript) (PDF)Abstract
Zero-safe nets have been introduced to extend classical Petri nets with a primitive notion of transition synchronization. To this aim, besides ordinary places, called stable, zero-safe nets are equipped with zero places, which cannot contain any token in a stable marking. An evolution between two stable markings is called transaction and can be a complex computation that involves zero places, with the restriction that no stable token generated in a transaction can be reused in the same transaction. The abstract counterpart of a generic zero-safe net B consists of an ordinary PT net whose places are the stable places of B, and whose transitions are the transactions of B. The two nets offer the refined and the abstract model of the same system, where the former can be much smaller than the latter, because of the transition synchronization mechanism. Depending on the chosen approach -- collective vs individual token philosophy -- two notions of transaction may be defined, each leading to different operational and abstract models. We survey the two approaches, discussing their main properties and showing several applications.
Keywords: Petri Nets, Pre-Nets, Category Theory, Monoidal Categories, PMEqtl
(Postscript) (PDF)Abstract
Although the algebraic semantics of place/transition Petri nets under the collective token philosophy has been fully explained in terms of (strictly) symmetric (strict) monoidal categories, the analogous construction under the individual token philosophy is not completely satisfactory because it lacks universality and also functoriality. We introduce the notion of pre-net to recover these aspects, obtaining a fully satisfactory categorical treatment centered on the notion of adjunction. This allows us to present a purely logical description of net behaviours under the individual token philosophy in terms of theories and theory morphisms in partial membership equational logic, yielding a complete match with the theory developed by the authors for the collective token view of nets.
Keywords: Category Theory, Double Categories, Pi-Calculus
(Postscript) (PDF)Abstract
We introduce the notion of cartesian closed double category to provide mobile calculi for communicating systems with specific semantic models: One dimension is dedicated to compose systems and the other to compose their computations and their observations. Also, inspired by the connection between simply typed lambda-calculus and cartesian closed categories, we define a new typed framework, called double lambda-notation, which is able to express the abstraction/application and pairing/projection operations in all dimensions. In this development, we take the categorical presentation as a guidance in the interpretation of the formalism. A case study of the pi-calculus, where the double lambda-notation straightforwardly handles name passing and creation, concludes the presentation.
Keywords: Tile Logic, Rewriting Logic, Strategies, PMEqtl, Maude
(Postscript) (PDF)Abstract
Tile logic extends rewriting logic by taking into account side-effects and rewriting synchronization. These aspects are very important when we model process calculi, because they allow us to express the dynamic interaction between processes and ``the rest of the world''. Since rewriting logic is the semantic basis of several language implementation efforts, we can define an executable specification of tile systems by mapping tile logic back into rewriting logic. In particular, this implementation requires the development of a metalayer to control rewritings, i.e., to discard computations that do not correspond to any deduction in tile logic. Our methodology is applied to term tile systems that cover and extend a wide-class of SOS formats for the specification of process calculi. The case study of full CCS, where the term tile format is needed to deal with recursion (in the form of the replicator operator), is discussed in detail.
Keywords: Zero Safe Nets, Tile Logic, Petri Nets, Rewriting Logic, Strategies, PMEqtl, Maude, Transactions, Category Theory, 2-Categories, Double Categories, Monoidal Categories
(Postscript)Abstract
Tile logic is a framework to reason about the dynamic evolution of concurrent systems in a modular way. It extends rewriting logic (in the unconditional case) by adding rewriting synchronization and side effects. This dissertation concerns both theoretical and implementation issues of tile models of computation where the mathematical structures representing configurations (i.e., system states) and observations (i.e., observable actions) rely on the same common auxiliary structure (e.g., for tupling, projecting, etc.).
We proceed by considering maybe the simplest tile model (whose configurations and observations are just commutative monoids, and their sequential and parallel compositions coincide) and showing that it yields an original net model, called zero-safe net, which comes equipped with a primitive notion of transition synchronization, which is missing in ordinary Petri nets. The operational and abstract semantics of the model are expressed in the language of Net Theory and also as universal constructions in the language of Category Theory.
Then, two original versions of tile logic (called process and term tile logic respectively) are fully discussed, where net-process-like and usual term structures are employed for modelling configurations and observations. The categorical models for the two logics are introduced in terms of suitable classes of double categories. Then, the new model theory of 2EVH-categories is proposed to relate the categorical models of tile logic and rewriting logic. This is particularly important, because rewriting logic is the semantic basis of several language implementation efforts (Cafe, ELAN, Maude), and therefore a conservative mapping of tile logic back into rewriting logic can be useful to get executable specifications of tile systems.
The theory required to relate the two logics is presented in partial membership equational logic, a recently developed framework, which is particularly suitable to deal with categorical structures. The comparison yields a correct rewriting implementation of tile logic that uses a meta-layer to make sure that only tile computations are performed. Exploiting the reflective capabilities of the Maude language, such meta-layer is specified in terms of internal strategies. Several detailed examples illustrating the implementation of tile systems for concurrent process calculi conclude the presentation.
Keywords: Tile Logic, Rewriting Logic, Strategies, PMEqtl, Maude
(Postscript) (PDF)Keywords: Petri Nets, Concurrent Transition Systems, Category Theory, PMEqtl, Maude
(Postscript) (PDF)Abstract
In recent years, several semantics for place/transition Petri nets have been proposed that adopt the collective token philosophy. We investigate distinctions and similarities between three such models, namely configuration structures, concurrent transition systems, and (strictly) symmetric (strict) monoidal categories. We use the notion of adjunction to express each connection. We also present a purely logical description of the collective token interpretation of net behaviours in terms of theories and theory morphisms in partial membership equational logic.
Keywords: Tile Logic, Rewriting Logic, Strategies, PMEqtl, Maude
(Postscript) (PDF)Abstract
This work reports on some useful applications of the tile model to the specification and execution of CCS-like process calculi. This activity is part of our ongoing research on the relation between tile logic and rewriting logic.
Keywords: Tile Logic, Rewriting Logic, Strategies, PMEqtl, Maude
(Postscript) (PDF)Abstract
Tile logic extends rewriting logic, taking into account rewriting with side-effects and rewriting synchronization. Since rewriting logic is the semantic basis of several language implementation efforts, it is interesting to map tile logic back into rewriting logic in a conservative way, to obtain executable specifications of tile systems. The resulting implementation requires a meta-layer to control the rewritings, so that only tile proofs are accepted. However, by exploiting the reflective capabilities of the Maude language, such meta-layer can be specified as a kernel of internal strategies. It turns out that the required strategies are very general and can be reformulated in terms of search algorithms for non-confluent systems equipped with a notion of success. We formalize such strategies, giving their detailed description in Maude, and showing their application to modeling uniform tile systems.
Keywords: Tile Logic, Rewriting Logic, Strategies, PMEqtl, Maude
(Postscript) (PDF)Abstract
Tile logic is a framework to reason about the dynamic evolution of concurrent systems in a modular way, and it extends rewriting logic (in the unconditional case) by rewriting synchronization and side effects. The subject of this dissertation concerns some interesting tile models of computation such that the mathematical structures representing configurations (i.e., system states) and effects (i.e., observable actions) have in common some auxiliary structure (e.g., for tupling, projecting, etc.). In particular, two such logics (called process and term tile logic respectively) are fully discussed, where net-process-like and usual term structures are employed. The categorical models for the two logics are introduced in terms of suitable classes of double categories. Then, the new model theory of 2EVH-categories is proposed to relate the categorical models of tile logic and rewriting logic. This is particularly important, because rewriting logic is the semantic basis of several language implementation efforts (Cafe, ELAN, Maude), and therefore a conservative mapping of tile logic back into rewriting logic can be useful to get executable specifications of tile systems. The new model theory required to relate the two logics is presented in partial membership equational logic, a recently developed framework, which is particularly suitable to deal with categorical structures. The comparison yields a correct rewriting implementation of tile logic that uses a meta-layer to make sure that only tile proofs are performed. Exploiting the reflective capabilities of the Maude language, such meta-layer is specified in terms of internal strategies. Some detailed examples illustrating the implementation of tile systems for interesting concurrent process calculi conclude the presentation.
Keywords: Tile Logic, Rewriting Logic, Strategies, PMEqtl, Maude, 2-Categories, Double Categories
(Postscript)Abstract
In a similar way as 2-categories can be regarded as a special case of double categories, rewriting logic (in the unconditional case) can be embedded into the more general tile logic, where also side-effects and rewriting synchronization are considered. Since rewriting logic is the semantic basis of several language implementation efforts, it is useful to map tile logic back into rewriting logic in a conservative way, to obtain executable specifications of tile systems. We extend the results of earlier work by two of the authors, focusing on some interesting cases where the mathematical structures representing configurations (i.e., states) and effects (i.e., observable actions) are very similar, in the sense that they have in common some auxiliary structure (e.g., for tupling, projecting, etc.). In particular, we give in full detail the descriptions of two such cases where (net) process-like and usual term structures are employed. Corresponding to these two cases, we introduce two categorical notions, namely, symmetric strict monoidal double category and cartesian double category with consistently chosen products, which seem to offer an adequate semantic setting for process and term tile systems. The new model theory of 2EVH-categories required to relate the categorical models of tile logic and rewriting logic is presented making use of a recently developed framework, called partial membership equational logic, particularly suitable to deal with categorical structures. Consequently, symmetric strict monoidal and cartesian classes of double categories and 2-categories are compared through their embedding in the corresponding versions of 2EVH-categories. As a result of this comparison, we obtain a correct rewriting implementation of tile logic. This implementation uses a meta-layer to control the rewritings, so that only tile proofs are accepted. Making use of the reflective capabilities of the Maude language, some (general) internal strategies are then defined to implement the mapping from tile systems into rewriting systems, and some interesting applications related to the implementation of concurrent process calculi are presented.
Keywords: Distributed Systems, Normal Forms, Sigma-Spaces, Partitions, Relations, (Co)Gs-Monoidal Categories
(Postscript) (PDF)Abstract
In recent times there has been a growing interest towards algebraic structures which are able to express formalisms different from the well-known, tree-like presentation of terms. Many of the approaches adopted for such descriptions reveal a common, specific interest towards their application in the ``distributed and concurrent systems'' field, but an exhaustive comparison between them is very difficult because their presentations can be quite different. This work is a first step towards a unified view, which is able to recast all those formalisms into a more general one, where they can be easily compared. We introduce a general schema for describing a characteristic normal form for many interesting algebraic formalisms, and show that those normal forms can be thought of as arrows of suitable concrete monoidal categories, whose operations preserve the normal form itself.
Keywords: Petri Nets, Zero Safe Nets, Category Theory, Transactions, Refinement
(Postscript) (PDF)Abstract
In addition to ordinary places, called stable, zero-safe nets are equipped with zero places, which in a stable marking cannot contain any token. An evolution between two stable markings, instead, can be a complex computation called stable transaction, which may use zero places, but which is atomic when seen from stable places: no stable token generated in a transaction can be reused in the same transaction. Every zero-safe net has an ordinary Place-Transition net as its abstract counterpart, where only stable places are maintained, and where every transaction becomes a transition. The two nets allow us to look at the same system from both an abstract and a refined viewpoint. To achieve this result no new interaction mechanism is used, besides the ordinary token-pushing rules of nets. The refined zero-safe nets can be much smaller than their corresponding abstract P/T nets, since they take advantage of a transition synchronization mechanism. For instance, when transactions of unlimited length are possible in a zero safe net, the abstract net becomes infinite, even if the refined net is finite. In the second part of the paper two universal constructions - both following the Petri nets are monoids approach and the collective token philosophy - are used to give evidence of the naturality of our definitions. More precisely, the operational semantics of zero-safe nets is characterized as an adjunction, and the derivation of abstract P/T nets as a coreflection.
Keywords: Petri Nets, Zero Safe Nets, Category Theory, Transactions, Refinement
(Postscript) (PDF)Abstract
In this paper we provide both an operational and an abstract concurrent semantics for zero-safe nets under the individual token philosophy. The main feature of zero-safe nets is a primitive notion of transition synchronization. Besides ordinary places, called stable places, zero-saf nets come equipped with zero places, which are empty in any stable marking. Connected transactions represent basic atomic computations of the system between stable markings. They must satisfy two main requirements: 1) to model interacting activities which cannot be decomposed into disjoint sub-activities, and 2) not to consume stable tokens which were generated in the same transaction. Zero tokens acts as triggers for the firings of the transitions which compose the transaction. The abstract counterpart of a zero-safe net consists of a P/T net where each transition locates a distinguished transaction. In the second part of the paper, following the Petri nets are monoids approach, we make use of category theory to analyze and motivate our framework. More precisely, the operational semantics of zero-safe nets is characterized as an adjunction, and the derivation of abstract P/T nets as a coreflection.
created: Tue Nov 30 2010 16:20:50 GMT+0100 (CET) |