Results 1  10
of
46
KLAIM: a Kernel Language for Agents Interaction and Mobility
 IEEE Transactions on Software Engineering
, 1997
"... We investigate the issue of designing a kernel programming language for Mobile Computing and describe Klaim, a language that supports a programming paradigm where processes, like data, can be moved from one computing environment to another. The language consists of a core Linda with multiple tuple s ..."
Abstract

Cited by 253 (58 self)
 Add to MetaCart
(Show Context)
We investigate the issue of designing a kernel programming language for Mobile Computing and describe Klaim, a language that supports a programming paradigm where processes, like data, can be moved from one computing environment to another. The language consists of a core Linda with multiple tuple spaces and of a set of operators for building processes. Klaim naturally supports programming with explicit localities. Localities are firstclass data (they can be manipulated like any other data), but the language provides coordination mechanisms to control the interaction protocols among located processes. The formal operational semantics is useful for discussing the design of the language and provides guidelines for implementations. Klaim is equipped with a type system that statically checks access rights violations of mobile agents. Types are used to describe the intentions (read, write, execute, etc.) of processes in relation to the various localities. The type system is used...
Priorities in process algebra
, 1999
"... This chapter surveys the semantic rami cations of extending traditional process algebras with notions of priority that allow for some transitions to be given precedence over others. The need for these enriched formalisms arises when one wishes to model system features such asinterrupts, prioritized ..."
Abstract

Cited by 120 (12 self)
 Add to MetaCart
(Show Context)
This chapter surveys the semantic rami cations of extending traditional process algebras with notions of priority that allow for some transitions to be given precedence over others. The need for these enriched formalisms arises when one wishes to model system features such asinterrupts, prioritized choice, orrealtime behavior. Approaches to priority in process algebras can be classi ed according to whether the induced notion of preemption on transitions is global or local and whether priorities are static or dynamic. Early work in the area concentrated on global preemption and static priorities and led to formalisms for modeling interrupts and aspects of realtime, such as maximal progress, in centralized computing environments. More recent research has investigated localized notions of preemption in which the distribution of systems is taken into account, as well as dynamic priority approaches, i.e., those where priority values may change as systems evolve. The latter allows one to model behavioral phenomena such as scheduling algorithms and also enables the e cient encoding of realtime semantics. Technically, this chapter studies the di erent models of priorities by presenting extensions of Milner's Calculus of Communicating Systems (CCS) with static and dynamic priority as well as with notions of global and local preemption. In each case the operational semantics of CCS is modi ed appropriately, behavioral theories based on strong and weak bisimulation are given, and related approaches for di erent processalgebraic settings are discussed.
Localities and Failures
 In Proc. 14th Foundations of Software Technology and Theoretical Computer Science
, 1995
"... We present a simple extension of the ßcalculus with located actions and channels and with location names as firstclass data, which models the notion of locality and failure present in the higherorder, distributed programming language Facile. The interaction between localities and failures disting ..."
Abstract

Cited by 59 (0 self)
 Add to MetaCart
We present a simple extension of the ßcalculus with located actions and channels and with location names as firstclass data, which models the notion of locality and failure present in the higherorder, distributed programming language Facile. The interaction between localities and failures distinguishes our approach from previous ones where the notion of locality is considered in isolation. We argue that the combination of these two features leads, at least from the distributed programming viewpoint, to a more natural semantics. We then discuss the translation of this calculus into a standard simplysorted ßcalculus and show its adequacy with respect to a barbed bisimulation based semantics. In the translation each location is represented by a special process which interacts, by means of a simple protocol, with any process of the original program that wants to access resources depending on that location. We also employ our translation in the verification of a very simple faulttoler...
History Dependent Automata
, 2001
"... In this paper we present historydependent automata (HDautomata in brief). They are an extension of ordinary automata that overcomes their limitations in dealing with historydependent formalisms. In a historydependent formalism the actions that a system can perform carry information generated i ..."
Abstract

Cited by 50 (11 self)
 Add to MetaCart
In this paper we present historydependent automata (HDautomata in brief). They are an extension of ordinary automata that overcomes their limitations in dealing with historydependent formalisms. In a historydependent formalism the actions that a system can perform carry information generated in the past history of the system. The most interesting example is calculus: channel names can be created by some actions and they can then be referenced by successive actions. Other examples are CCS with localities and the historypreserving semantics of Petri nets. Ordinary
Reversible communicating systems
 in: CONCUR’04, LNCS 3170 (2004
, 2004
"... Abstract. One obtains in this paper a process algebra RCCS, in the style of CCS, where processes can backtrack. Backtrack, just as plain forward computation, is seen as a synchronization and incurs no additional cost on the communication structure. It is shown that, given a past, a computation step ..."
Abstract

Cited by 40 (5 self)
 Add to MetaCart
Abstract. One obtains in this paper a process algebra RCCS, in the style of CCS, where processes can backtrack. Backtrack, just as plain forward computation, is seen as a synchronization and incurs no additional cost on the communication structure. It is shown that, given a past, a computation step can be taken back if and only if it leads to a causally equivalent past. 1
Process and Term Tile Logic
, 1998
"... In a similar way as 2categories 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 sideeffects and rewriting synchronization are considered. Since rewriting logic is the semantic basis o ..."
Abstract

Cited by 34 (25 self)
 Add to MetaCart
In a similar way as 2categories 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 sideeffects 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) processlike and usual term structures are employed. Corresponding to these two cases, we introduce two ca...
Locality and Noninterleaving Semantics in calculi for mobile processes
 Theoretical Computer Science
, 1994
"... Process algebra semantics can be categorised into noninterleaving semantics, where parallel composition is considered a primitive operator, and interleaving semantics, where concurrency is reduced to sequentiality plus nondeterminism. The former have an appealing intuitive justification, but the la ..."
Abstract

Cited by 25 (4 self)
 Add to MetaCart
(Show Context)
Process algebra semantics can be categorised into noninterleaving semantics, where parallel composition is considered a primitive operator, and interleaving semantics, where concurrency is reduced to sequentiality plus nondeterminism. The former have an appealing intuitive justification, but the latter are mathematically more tractable. This paper addresses the study of noninterleaving semantics in the framework of process algebras for mobile systems, like calculus [MPW92, Mil91]. We focus on location bisimulation ( ` ), in our opinion one of the most convincing noninterleaving equivalences, which aims to describe the spatial dependencies on processes. We introduce ` in calculus following the definition for CCS given in [BCHK91b]. Our main contribution is to show that in calculus ` can be expressed, or implemented, within the ordinary interleaving observation equivalence [Mil89, MPW92] by means of a fairly simple and fully abstract encoding. Thus, we can take advantage of the...
Basic Observables for Processes
 Information and Computation
, 1999
"... A general approach for defining behavioural preorders over process terms as the maximal precongruences induced by basic observables is examined. Three different observables, that provide information about the initial communication capabilities of processes and about the possibility that processes ..."
Abstract

Cited by 23 (6 self)
 Add to MetaCart
(Show Context)
A general approach for defining behavioural preorders over process terms as the maximal precongruences induced by basic observables is examined. Three different observables, that provide information about the initial communication capabilities of processes and about the possibility that processes get engaged in divergent computations, will be considered. We show that the precongruences induced by our basic observables coincide with intuitive and/or widely studied behavioural preorders. In particular, we retrieve in our setting the must preorder of De Nicola and Hennessy and the fair/should preorder introduced by Cleaveland and Natarajan and by Brinksma, Rensink and Vogler. A new form of testing preorder, which we call safemust, also emerges. The alternative characterizations we offer shed light on the differences between these preorders, and on the role played in their definition by tests for divergence. 1 Introduction In the classical theory of functional programming, the point...
Internal Strategies in a Rewriting Implementation of Tile Systems
 Rewriting Logic and its Applications, volume 15 of Electronic Notes in Theoretical Computer Science. Elsevier Sciences
, 1998
"... Tile logic extends rewriting logic, taking into account rewriting with sideeffects 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 ex ..."
Abstract

Cited by 17 (11 self)
 Add to MetaCart
(Show Context)
Tile logic extends rewriting logic, taking into account rewriting with sideeffects 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 metalayer to control the rewritings, so that only tile proofs are accepted. However, by exploiting the reflective capabilities of the Maude language, such metalayer 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 nonconfluent 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. 1 Introduction The evolution of a process in a concurrent system often depends on the ...
HistoryDependent Automata
 ELECTR. NOTES IN TH. COMP. SCI
, 1998
"... In this paper we present historydependent automata (HDautomata in brief). They are an extension of ordinary automata that overcomes their limitations in dealing with historydependent formalisms. In a historydependent formalism the actions that a system can perform carry information generated in ..."
Abstract

Cited by 17 (1 self)
 Add to MetaCart
In this paper we present historydependent automata (HDautomata in brief). They are an extension of ordinary automata that overcomes their limitations in dealing with historydependent formalisms. In a historydependent formalism the actions that a system can perform carry information generated in the past history of the system. The most interesting example is calculus: channel names can be created by some actions and they can then be referenced by successive actions. Other examples are CCS with localities and the historypreserving semantics of Petri nets. Ordinary automata are an unsatisfactory operational model for these formalisms: infinite automata are obtained for all the systems with in nite computations, even for very simple ones; moreover, the ordinary definition of bisimulation does not apply in these cases, thus preventing the reusage of standard theories and algorithms. In this paper we show that HDautomata are an adequate model for the historydependent formalisms. We pr...