Discrete time process algebra: absolute time, relative time and parametric time
Fundamenta Informaticae
Programming languages for mobile code
ACM Computing Surveys (CSUR)
Communicating and mobile systems: the &pgr;-calculus
Communicating and mobile systems: the &pgr;-calculus
Resource access control in systems of mobile agents
Information and Computation
Secure implementations of typed channel abstractions
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A Distributed Pi-Calculus
Acute: High-level programming language design for distributed computation
Journal of Functional Programming
A Parametric Calculus for Mobile Open Code
Electronic Notes in Theoretical Computer Science (ENTCS)
Information and Computation
Modelling and verification of timed interaction and migration
FASE'08/ETAPS'08 Proceedings of the Theory and practice of software, 11th international conference on Fundamental approaches to software engineering
Behavioural equivalences over migrating processes with timers
FMOODS'12/FORTE'12 Proceedings of the 14th joint IFIP WG 6.1 international conference and Proceedings of the 32nd IFIP WG 6.1 international conference on Formal Techniques for Distributed Systems
A timed mobility semantics based on rewriting strategies
SEFM'12 Proceedings of the 10th international conference on Software Engineering and Formal Methods
Hi-index | 0.00 |
We introduce and study a process algebra able to model the systems composed of processes (agents) which may migrate within a distributed environment comprising a number of distinct locations. Two processes may communicate if they are present in the same location and, in addition, they have appropriate access permissions to communicate over a channel. Access permissions are dynamic, and processes can acquire new access permissions or lose some existing permissions while migrating from one location to another. Timing constraints coordinate and control both the communication between processes and migration between locations. We completely characterise those situations when a process is always guaranteed to possess safe access permissions. The consequences of such a result are twofold. First, we are able to validate systems where one does not need to check (at least partially) access permissions as they are guaranteed not to be violated, improving efficiency of implementation. Second, one can design systems in which processes are not blocked (deadlocked) because of the lack of dynamically changing access permissions.