Hernán Melgratti

Hernán Melgratti
University of Buenos Aires | UBA · Department of Computer Sciences (FCEN)

About

49
Publications
2,376
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
800
Citations
Introduction
Skills and Expertise

Publications

Publications (49)
Conference Paper
Full-text available
Replicated Data Types (rdts) have been introduced as a suitable abstraction for dealing with weakly consistent data stores, which may (temporarily) expose multiple, inconsistent views of their state. In the literature, rdts are commonly specified in terms of two relations: visibility, which accounts for the different views that a store may have, an...
Chapter
Petri Nets are a well-known model of concurrency and provide an ideal setting for the study of fundamental aspects in concurrent systems. Despite their simplicity, they still lack a satisfactory causally reversible semantics. We develop such semantics for Place/Transitions Petri Nets (P/T nets) based on two observations. Firstly, a net that explici...
Preprint
Recent work by the authors equips Petri occurrence nets (PN) with probability distributions which fully replace nondeterminism. To avoid the so-called confusion problem, the construction imposes additional causal dependencies which restrict choices within certain subnets called structural branching cells (s-cells). Bayesian nets (BN) are usually st...
Conference Paper
Assigning a satisfactory truly concurrent semantics to Petri nets with confusion and distributed decisions is a long standing problem, especially if one wants to resolve decisions by drawing from some probability distribution. Here we propose a general solution based on a recursive, static decomposition of (occurrence) nets in loci of decision, cal...
Article
Full-text available
Event structures are a well-accepted model of concurrency. In a seminal paper by Nielsen, Plotkin and Winskel, they are used to establish a bridge between the theory of domains and the approach to concurrency proposed by Petri. A basic role is played by an unfolding construction that maps (safe) Petri nets into a subclass of event structures, calle...
Article
Full-text available
Assigning a satisfactory truly concurrent semantics to Petri nets with confusion and distributed decisions is a long standing problem, especially if one wants to fully replace nondeterminism with probability distributions and no stochastic structure is desired/allowed. Here we propose a general solution based on a recursive, static decomposition of...
Article
Contracts have proved to be an effective mechanism that helps developers in identifying those modules of a program that violate the contracts of the functions and objects they use. In recent years, sessions have established as a key mechanism for realizing inter-module communications in concurrent programs. Just like values flow into or out of a fu...
Conference Paper
“Weak consistency” refers to a family of properties concerning the state of a distributed system. One of the key issues in their description is the way in which systems are specified. In this regard, a major advance is represented by the introduction of Replicated Data Types (rdts), in which the meaning of operators is given in terms of two relatio...
Article
Full-text available
Variants of the must testing approach have been successfully applied in Service Oriented Computing for analysing the compliance between (contracts exposed by) clients and servers or, more generally, between two peers. It has however been argued that multiparty scenarios call for more permissive notions of compliance because partners usually do not...
Conference Paper
The Global Sequence Protocol (GSP) is an operational model for replicated data stores, in which updates propagate asynchronously. We introduce the GSP-calculus as a formal model for GSP. We give a formal account for its proposed implementation, which addresses communication failures and compact representation of data, and use simulation to prove th...
Conference Paper
Variants of the must testing approach have been successfully applied in Service Oriented Computing for analysing the compliance between (contracts exposed by) clients and servers or, more generally, between two peers. It has however been argued that multiparty scenarios call for more permissive notions of compliance because partners usually do not...
Chapter
In this paper we consider a calculus of connectors that allows for the most general combination of synchronisation, non-determinism and buffering. According to previous results, this calculus is tightly related to a flavour of Petri nets with interfaces for composition, called Petri nets with boundaries. The calculus and the net version are equippe...
Article
Full-text available
Managing data over cloud infrastructures raises novel challenges with respect to existing and well-studied approaches such as ACID and long-running transactions. One of the main requirements is to provide availability and partition tolerance in a scenario with replicas and distributed control. This comes at the price of a weaker consistency, usuall...
Article
We focus on hierarchical BIP, an extension of Joseph Sifakis et al’s BIP component framework, to provide a semantics-preserving, compositional encoding in the Petri calculus, a recently proposed algebra of stateless connectors and one-position buffers.
Conference Paper
Resolving non-deterministic choices of choreographies is a crucial task. We introduce a novel notion of realisability for choreographies -called whole-spectrum implementation- that rules out deterministic implementations of roles that, no matter which context they are placed in, will never follow one of the branches of a non-deterministic choice. W...
Article
This paper proposes a formal approach to the design and programming of long running transactions (LRTs). We exploit techniques from process calculi to define cJoin, which is an extension of the Join calculus with few well-disciplined primitives for LRT. Transactions in cJoin are intended to describe the transactional interaction of several partners...
Article
The growth and diffusion of reconfigurable and adaptive systems motivate the foundational study of models of software connectors that can evolve dynamically, as opposed to the better understood notion of static connectors. In this paper we investigate the interplay of behaviour, interaction and dynamics in the context of the BIP component framework...
Article
Full-text available
A quite flourishing research thread in the recent literature on component-based systems is concerned with the algebraic properties of different classes of connectors. In a recent paper, an algebra of stateless connectors was presented that consists of five kinds of basic connectors, namely symmetry, synchronization, mutual exclusion, hiding and ina...
Chapter
Recent years have witnessed an increasing interest about a rigorous modelling of (different classes of) connectors. Here, the term connector is used to name entities that can regulate the interaction of possibly heterogeneous components. Thus, connectors must take care of exogenous coordination, handling all those aspects that lie outside the scope...
Conference Paper
Full-text available
In the area of component-based software architectures, the term connector has been coined to denote an entity (e.g. the communica-tion network, middleware or infrastructure) that regulate the interaction of independent components. Hence, a rigorous mathematical foundation for connectors is crucial for the study of coordinated systems. In recent yea...
Conference Paper
A quite flourishing research thread in the recent literature on component-based system is concerned with the algebraic properties of various kinds of connectors for defining well-engineered systems. In a recent paper, an algebra of stateless connectors was presented that consists of five kinds of basic connectors, plus their duals. The connectors c...
Conference Paper
Full-text available
Correlation sets are a programming primitive that allows instance identification in orchestration languages. A correlation set is a set of properties (i.e., values carried on by messages) that are used to associate each received message with a process instance: every time a service receives a message, it explores its content and determines a servic...
Article
Full-text available
Contracts are a well-established approach for describing and analyzing behavioral aspects of web service compositions. The theory of contracts comes equipped with a notion of compatibility between clients and servers that ensures that every possible interaction between compatible clients and servers will complete successfully. It is generally agree...
Conference Paper
Full-text available
Orchestrators are descriptions at implementation level and may contain sensitive information that should be kept private. Consequently, orchestration languages come equipped with a notion of abstract processes, which enable the interaction among parties while hiding private information. An interesting question is whether an abstract process accurat...
Conference Paper
Full-text available
Service oriented applications feature interactions among sev- eral participants over the network. Mechanisms such as correlation sets and two-party sessions have been proposed in the literature to sepa- rate messages sent to different instances of the same service. This paper presents a process calculus featuring dynamically evolving multiparty ses...
Article
Full-text available
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...
Conference Paper
Full-text available
In this paper we analyze how a powerful synchronization mechanism such as synchronous multiparty synchronizations, which is able to specify atomic reconfigurations of large systems, can be implemented using binary synchronizations combined with a transactional mechanism. To this aim we show a mapping from SHR, a graph transformation framework allow...
Conference Paper
Full-text available
Several models based on process calculi have addressed the definition of linguistic primitives for handling long running transactions and Service Level Agreement (SLA) in service oriented applications. Nevertheless, the approaches appeared in the literature deal with these aspects as independent features. We claim that transactional mechanisms are...
Article
Full-text available
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 ope...
Article
Full-text available
Service Oriented Computing (SOC) is aimed at providing the bases for building software by assembling independent, loosely coupled services. As any software development activity, also building a composite service requires strategies for performing quality assessment of applications and, in particular, testing. In this paper, we analyse the main alte...
Article
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 asymmet...
Conference Paper
Full-text available
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 di...
Conference Paper
Full-text available
A central point when integrating services concerns to the description, agreement and enforcement of the quality aspect of service interaction, usually known as Service Level Agreement (SLA). This paper presents a framework for SLA negotiation based on fuzzy sets. We propose (i) a request language for clients to describe quality preferences, (ii) a...
Conference Paper
Full-text available
We introduce an extension of Graph Grammars (GGs), called Dy- namic 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 ca...
Conference Paper
Full-text available
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 t...
Conference Paper
Full-text available
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) rings to add fresh places and transitions...
Article
Full-text available
Dynamic graph grammars (DGGs) are a reflexive extension of Graph Grammars that have been introduced to represent mobile reflexive systems and cal- culi 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 asymm...
Conference Paper
Full-text available
Web services composition is an emerging paradigm for the integra- tion of long running business processes, attracting the interest of both Industry, in terms of XML-based standards for business description, and Academy, ex- ploiting process description languages. The key challenging aspects to model are orchestration workflows, choreography of exch...
Conference Paper
Full-text available
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 w...
Conference Paper
Full-text available
We address the problem of composing Web Services in long-running transactional business processes, where compensations must be dealt with ap- propriately. Long-running transactions differ from typic al data-bases transactions since data-bases relies on perfect rollback mechanisms. The framework presented in this paper is a Java API called Java Tran...
Article
Full-text available
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 pro- cesses (i.e. processes without sub-negotiations) can be encoded in ordinary Join calculus by exploiting a distributed two-phase commit protocol (D2PC). In particular, we...
Article
Full-text available
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 (...
Conference Paper
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 a...
Article
Full-text available
Variants of must testing approach have been successfully applied in Service Oriented Computing for capturing compliance between (contracts ex-posed by) a client and a service and for characterising safe replacement, namely the fact that compliance is preserved when a service exposing a 'smaller' contract is replaced by another one with a 'larger' c...

Network

Cited By