Abstracting timed preemption with engines
Computer Languages
The SCHEME programming language
The SCHEME programming language
Speculative computation in multilisp
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
PPOPP '90 Proceedings of the second ACM SIGPLAN symposium on Principles & practice of parallel programming
New ideas in parallel Lisp: language design, implementations, and programming tools
Proceedings of the US/Japan workshop on Parallel Lisp on Parallel Lisp: languages and systems
Locality, causality and continuations
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
The semantics of future and its use in program optimization
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Models of control and their implications for programming language design
Models of control and their implications for programming language design
Representing control in the presence of one-shot continuations
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
The semantics of Scheme with future
Proceedings of the first ACM SIGPLAN international conference on Functional programming
Revised report on the algorithmic language scheme
ACM SIGPLAN Lisp Pointers
The New Hacker's Dictionary
Information Technology-Portable Operating System Interface
Information Technology-Portable Operating System Interface
The Semantics of pcall and fork in the Presence of First-Class Continuations and Side-Effects
PSLS '95 Proceedings of the International Workshop on Parallel Symbolic Languages and Systems
Sharing Mutable Objects and Controlling Groups of Tasks in a Concurrent and Distributed Language
TPPP '94 Proceedings of the International Workshop on Theory and Practice of Parallel Programming
Speculative Computation in Multilisp
Proceedings of the US/Japan Workshop on Parallel Lisp: Languages and Systems
A Type-Based Approach to Program Security
TAPSOFT '97 Proceedings of the 7th International Joint Conference CAAP/FASE on Theory and Practice of Software Development
Correctness of a Distributed-Memory Model for Scheme
Euro-Par '96 Proceedings of the Second International Euro-Par Conference on Parallel Processing - Volume I
CONCUR '96 Proceedings of the 7th International Conference on Concurrency Theory
An Asynchronous Model of Locality, Failurem and Process Mobility
COORDINATION '97 Proceedings of the Second International Conference on Coordination Languages and Models
Static Analysis of Communication for Asynchronous Concurrent Programming Languages
SAS '95 Proceedings of the Second International Symposium on Static Analysis
The Architecture of the Ara Platform for Mobile Agents
MA '97 Proceedings of the First International Workshop on Mobile Agents
Design of a Concurrent and Distributed Language
Proceedings of the US/Japan Workshop on Parallel Symbolic Computing: Languages, Systems, and Applications
Engines build process abstractions
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
Operating system support for mobile agents
HOTOS '95 Proceedings of the Fifth Workshop on Hot Topics in Operating Systems (HotOS-V)
Common Lisp: The Language
Agent Tcl: a flexible and secure mobile-agent system
TCLTK'96 Proceedings of the 4th conference on USENIX Tcl/Tk Workshop, 1996 - Volume 4
PLAN: a packet language for active networks
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
A distributed garbage collector with diffusion tree reorganisation and mobile objects
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Where have you been from here? Trials in hypertext systems
ACM Computing Surveys (CSUR)
The influence of browsers on evaluators or, continuations to program web servers
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
Portable resource control in Java
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Tree Rerooting in Distributed Garbage Collection: Implementation and Performance Evaluation
Higher-Order and Symbolic Computation
Resource Management for Safe Languages
ECOOP '02 Proceedings of the Workshops and Posters on Object-Oriented Technology
Higher-Order and Symbolic Computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
A scalable approach to multi-agent resource acquisition and control
Proceedings of the fourth international joint conference on Autonomous agents and multiagent systems
A layered architecture for real-time distributed multi-agent systems
SELMAS '05 Proceedings of the fourth international workshop on Software engineering for large-scale multi-agent systems
Programming mobile intelligent agents: An operational semantics
Web Intelligence and Agent Systems
Adaptive mobile multi-agent systems
CEEMAS'05 Proceedings of the 4th international Central and Eastern European conference on Multi-Agent Systems and Applications
Hierarchical resource usage coordination for large-scale multi-agent systems
MMAS'04 Proceedings of the First international conference on Massively Multi-Agent Systems
MMAS'04 Proceedings of the First international conference on Massively Multi-Agent Systems
Hi-index | 0.00 |
This paper describes the semantics of Quantum, a language that was specifically designed to control resource consumption of distributed computations, such as mobile agent style applications. In Quantum, computations can be driven by mastering their resource consumption. Resources can be understood as processors cycles, geographical expansion, bandwidth or duration of communications, etc. We adopt a generic view by saying that computations need energy to be performed. Quantum relies on three new primitives that deal with energy. The first primitive creates a tank of energy associated with a computation. Asynchronous notifications inform the user of energy exhaustion and computation termination. The other two primitives allow us to implement suspension and resumption of computations by emptying a tank and by supplying more energy to a tank. The semantics takes the form of an abstract machine with explicit parallelism and energy-related primitives.