Skip to main content

2007 | Buch

Coordination Models and Languages

9th International Conference, COORDINATION 2007, Paphos, Cyprus, June 6-8, 2007. Proceedings

herausgegeben von: Amy L. Murphy, Jan Vitek

Verlag: Springer Berlin Heidelberg

Buchreihe : Lecture Notes in Computer Science

insite
SUCHEN

Inhaltsverzeichnis

Frontmatter

Session 1. Middleware

A Coordination Model for Triplespace Computing
Abstract
Recent advances in middleware technologies propose semantics- aware tuplespaces as an instrument for coping with the requirements of scalability, heterogeneity and dynamism arising in highly distributed environments such as the Web or the emerging Semantic Web. In particular, Semantic Web services have inherited the Web service communication model, which is based on synchronous message exchange, thus being incompatible with the REST architectural model of the Web. Analogously to the conventional Web, truly Web- compliant service communication should, however, be based on persistent publication instead of message passing. This paper reconsiders “triplespace computing”, a coordination middleware for the Semantic Web. We look at how a coordination model for triplespace systems could look like - in order to manage formal knowledge representations in a space and to support the interaction patterns characteristic for the Semantic Web and Semantic Web services - as a precursor to the design and implementation of a triplespace platform in the context of the TripCom project.
Elena Simperl, Reto Krummenacher, Lyndon Nixon
Requirements for Routing in the Application Layer
Abstract
In the application layer of networks, many application servers are middleboxes in the paths of messages from source to destination. Applications require, as a basic coordination mechanism, a way to route messages through the proper servers. This paper elaborates and justifies the requirements for such a coordination mechanism. It presents what is known about satisfying these requirements, and what questions still need to be answered.
Pamela Zave
Context-Aware Publish Subscribe in Mobile Ad Hoc Networks
Abstract
The publish-subscribe communication paradigm is enjoying increasing popularity thanks to its ability to simplify the development of complex distributed applications. However, existing solutions in the publish-subscribe domain address only part of the challenges associated with the development of applications in dynamic scenarios such as mobile ad hoc networks. Mobile applications must be able to assist users in a variety of situations, responding not only to their inputs but also to the characteristics of the environment in which they operate. In this paper, we address these challenges by extending the publish-subscribe paradigm with the ability to manage and exploit context information when matching events against subscriptions. We present our extension in terms of a formal model of context-aware publish-subscribe. We propose a solution for its implementation in MANETs; and finally we validate our approach by means of extensive simulations.
Davide Frey, Gruia-Catalin Roman

Session 2. Logic Programming

A Prolog-Based Language for Workflow Programming
Abstract
Workflow management systems control activities that are performed in a distributed manner by a number of human or automated participants. There is a wide variety of workflow systems in use, mostly commercial products, and no standard language has been defined in which to express workflow specifications. In this paper we propose Workflow Prolog, a new extension of Prolog. The language allows workflow systems to be implemented in a novel declarative style, while preserving the existing properties of Prolog, such as its familiarity and efficiency. We then demonstrate the expressiveness of the language by showing how it can express each of the workflow patterns that have previously been identified as the requirements of a workflow language.
Steve Gregory, Martha Paschali
Reactors: A Data-Oriented Synchronous/Asynchronous Programming Model for Distributed Applications
Abstract
Our aim is to define the kernel of a simple and uniform programming model—the reactor model—suitable for building and evolving internet-scale programs. A reactor consists of two principal components: mutable state, in the form of a fixed collection of relations, and code, in the form of a fixed collection of rules in the style of datalog. A reactor’s code is executed in response to an external stimulus, which takes the form of an attempted update to the reactor’s state. As in classical process calculi, the reactor model accommodates collections of distributed, concurrently executing processes. However, unlike classical process calculi, our observable behaviors are sequences of states, rather than sequences of messages. Similarly, the interface to a reactor is simply its state, rather than a collection of message channels, ports, or methods. One novel feature of our model is the ability to compose behaviors both synchronously and asynchronously. Also, our use of datalog-style rules allows aspect-like composition of separately-specified functional concerns in a natural way
John Field, Maria-Cristina Marinescu, Christian Stefansen

Session 3. Formal Approaches

A Theory for Strong Service Compliance
Abstract
We investigate, in a process algebraic setting, a new notion of compliance that we call strong service compliance: composed services are strong compliant if their composition is both deadlock and livelock free (this is the traditional notion of compliance) and whenever a message can be sent to invoke a service, this service is ensured to be ready to serve the invocation. We define also a new notion of refinement, called strong subcontract pre-order, suitable for strong compliance: given a composition of strong compliant services each one executing according to some specific contracts, we can replace the services with other services executing corresponding strong subcontracts preserving strong compliance. Finally, we present a characterization of the strong subcontract pre-order resorting to the theory of (should) testing pre-order.
Mario Bravetti, Gianluigi Zavattaro
Towards a Theory of Refinement in Timed Coordination Languages
Abstract
Building upon previous work on timed coordination languages, this paper presents a novel notion of refinement for these languages which satisfies the substitutability property: if the implementation I refines the specification S and if C[S] is deadlock free, for some context C, then C[I] is also deadlock free.
Jean-Marie Jacquet, Isabelle Linden
A Calculus for Mobile Ad Hoc Networks
(Extended Abstract)
Abstract
We suggest a Calculus for Mobile Ad Hoc Networks,CMAN. A node in a network is a process equipped with a location, it may communicate with other nodes using synchronous spatially oriented broadcast where only the current neighbors receive the message. Nodes may autonomously change their neighbor relationship and thereby change the network topology. We define a natural reduction semantics and a reduction congruence as well as a labeled transition semantics and prove a weak contextual bisimulation to be a sound and complete co-inductive characterization of the reduction congruence. Finally, we apply CMAN on a small example of a cryptographic routing protocol.
Jens Chr. Godskesen

Session 4. Concurrency

A Theory of Nested Speculative Execution
Abstract
Implementing distributed applications is a challenging task. Developers are confronted with issues like fault-tolerance, efficient synchronization mechanisms, and the correctness of the distributed code. Transactions are a simple and powerful mechanism for establishing fault-tolerance. To allow multiple processes to cooperate in a transaction we relax the isolation property. We call the new abstraction a speculation. This paper introduces a new programming model based on speculative execution. Speculations provide distributed coordinated rollback and enable optimistic execution of synchronization points. We present an operational semantics for nested speculative execution that specifies distributed speculations precisely. We also discuss two approaches to implementing support for speculations.
Cristian Ţăpuş, Jason Hickey
Actors That Unify Threads and Events
Abstract
There is an impedance mismatch between message-passing concurrency and virtual machines, such as the JVM. VMs usually map their threads to heavyweight OS processes. Without a lightweight process abstraction, users are often forced to write parts of concurrent applications in an event-driven style which obscures control flow, and increases the burden on the programmer.
In this paper we show how thread-based and event-based programming can be unified under a single actor abstraction. Using advanced abstraction mechanisms of the Scala programming language, we implemented our approach on unmodified JVMs. Our programming model integrates well with the threading model of the underlying VM.
Philipp Haller, Martin Odersky
Generalized Committed Choice
Abstract
We present a generalized committed choice construct for concurrent programs that interact with a shared store. The generalized committed choice (GCC) allows multiple computations from different alternatives to occur concurrently and later commit to one of them. GCC generalizes the traditional committed choice in Dijkstra’s Guarded Command Language to handle don’t know non-determinism and also allows for speculative computation. The main contribution of the paper is to introduce the GCC programming construct and the associated semantics framework for formalizing GCC. We give some experimental results which show that the power of GCC can be made practical.
Joxan Jaffar, Roland H. C. Yap, Kenny Q. Zhu

Session 5. Components and Services I

Combining Formal Methods and Aspects for Specifying and Enforcing Architectural Invariants
Abstract
Several types of invariants should be maintained when the architecture of a software application evolves. To specify these invariants in a reliable way, formal methods are used. However, current approaches suffer from two limitations. First, they support only certain types of invariants. Second, checking and enforcing the invariants is generally done by adding appropriate logic to the application implementation in a manual way, which is error-prone and may lead to architectural erosion.
In this paper, we combine the Z notation and Petri nets to specify formally architectural invariants in distributed object-oriented software applications. Moreover, we use a generative aspect-based approach to checking and enforcing these invariants. Thus, we bridge the gap between the formal specification and the implementation. Our approach brings several other benefits as the code that checks and enforces invariants is generated automatically and well-modularized in aspects.
Slim Kallel, Anis Charfi, Mira Mezini, Mohamed Jmaiel

Session 6. Manet

Object-Oriented Coordination in Mobile Ad Hoc Networks
Abstract
We introduce an object-oriented referencing abstraction to express coordination between objects hosted on mobile devices interconnected by a wireless ad hoc network. On the one hand, we notice that the most popular communication paradigms for mobile ad hoc networks, such as publish/subscribe and tuple space architectures, promote loose coupling of collaborating participants. On the other hand, the paradigm in which many applications are developed is object-oriented, and traditional object referencing abstractions typically lack the beneficial loose coupling properties of aforementioned paradigms. This paper proposes to close the paradigmatic gap between an object-oriented language and its distributed communication infrastructure by introducing ambient references: loosely-coupled remote object references designed for mobile ad hoc networks.
Tom Van Cutsem, Jessie Dedecker, Wolfgang De Meuter
Coordinating Workflow Allocation and Execution in Mobile Environments
Abstract
Workflows have been used successfully to model collaborative activities that have a well-defined structure. Workflow management systems today can execute workflows that range from a simple sequence of tasks to complex business processes, but have a common restriction in that they can only function in settings where the network is stable. This paper represents an initial investigation into the possibility of using workflows in a challenging new domain - that of an ad hoc mobile network - and for a wider purpose - that of supporting arbitary collaborations among groups of people. Moving to a mobile setting introduces many challenges, as the mobility of the participants in a workflow imposes constraints on the allocation of workflow tasks, coordination among participants, and the marshaling of results. We present an algorithm that heuristically allocates tasks to participants based on their capabilities and mobility, and a system that uses spatiotemporal coordination to control and manage workflow execution in a mobile environment.
Rohan Sen, Gregory Hackmann, Mart Haitjema, Gruia-Catalin Roman, Christopher Gill
Fact Spaces: Coordination in the Face of Disconnection
Abstract
Coordination languages for ad hoc networks with a fluid topology do not offer adequate support to detect and deal with device disconnection. Such a disconnection is particularly relevant if the device provided context information rather than emitting messages, as such context information then becomes invalid. This paper proposes the Fact Space Model which establishes a logic coordination language on top of Lime’s federated tuple space. In the model, the federated space offers applications a consistent view of their environment over which they can reason using logic rules. These rules encode which conclusions may be drawn from the presence of particular facts, and are similarly used to ensure the consistency of these conclusions when devices go out of range. By allowing applications to add application-specific hooks to these rules, the application programmer is offered a general-purpose mechanism to respond to the discovery and disconnection of devices.
Stijn Mostinckx, Christophe Scholliers, Eline Philips, Charlotte Herzeel, Wolfgang De Meuter

Session 7. Components and Services II

Component Connectors with QoS Guarantees
Abstract
Connectors have emerged as a powerful concept for composition and coordination of concurrent activities encapsulated as components and services. Compositional coordination models and languages serve as a means to formally specify and implement component and service connectors. They support large-scale distributed applications by allowing construction of complex component connectors out of simpler ones. Modelling, analysis, and ensuring end-to-end Quality of Service (QoS) represent key concerns in such large-scale distributed applications. In this paper we introduce a compositional model of QoS, called Quantitative Constraint Automata, that reflects the underlying architecture of component/service composition represented by the Reo connector circuits. These can support compositional reasoning about component/service connectors, modelled as Reo circuits with QoS properties.
Farhad Arbab, Tom Chothia, Sun Meng, Young-Joo Moon
Context-Based Adaptation of Component Behavioural Interfaces
Abstract
In the development of component-based systems, components need to be adapted in most of the occasions to work under certain conditions which were not initially predicted by their developers. These conditions are likely to change at runtime, therefore it is very important to provide systems with the ability to alter their behaviour while they are running, depending on the changing conditions of the environment. This paper presents an expressive and graphically-based notation to specify flexible adaptation policies (or mappings) between the interfaces of two or more components to be integrated. In a second step, we propose an algorithm which automatically derives the resulting adaptor from a mapping, and a description of component interfaces. We illustrate our proposal using an E-book system.
Javier Cubo, Gwen Salaün, Javier Cámara, Carlos Canal, Ernesto Pimentel
Backmatter
Metadaten
Titel
Coordination Models and Languages
herausgegeben von
Amy L. Murphy
Jan Vitek
Copyright-Jahr
2007
Verlag
Springer Berlin Heidelberg
Electronic ISBN
978-3-540-72794-1
Print ISBN
978-3-540-72793-4
DOI
https://doi.org/10.1007/978-3-540-72794-1

Premium Partner