Distributed systems: methods and tools for specification. An advanced course
Distributed systems: methods and tools for specification. An advanced course
MULTILISP: a language for concurrent symbolic computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Computing Surveys (CSUR)
Foundations of logic programming; (2nd extended ed.)
Foundations of logic programming; (2nd extended ed.)
Programming languages for distributed computing systems
ACM Computing Surveys (CSUR)
The family of concurrent logic programming languages
ACM Computing Surveys (CSUR)
Handbook of theoretical computer science (vol. A)
The C++ programming language (2nd ed.)
The C++ programming language (2nd ed.)
Concurrent constraint programming
Concurrent constraint programming
Introduction to distributed algorithms
Introduction to distributed algorithms
Concurrent programming in ERLANG (2nd ed.)
Concurrent programming in ERLANG (2nd ed.)
Understanding CORBA (Common Object Request Broker Architecture)
Understanding CORBA (Common Object Request Broker Architecture)
Constraint satisfaction in distributed concurrent logic programming
Journal of Symbolic Computation - Special issue on parallel symbolic computation
ACM Computing Surveys (CSUR) - Special issue: position statements on strategic directions in computing research
Theoretical Computer Science - Special issue: principles and practice of constraint programming
Mobile objects in distributed Oz
ACM Transactions on Programming Languages and Systems (TOPLAS)
An overview of the design of Distributed Oz
PASCO '97 Proceedings of the second international symposium on Parallel symbolic computation
Objects for concurrent constraint programming
Objects for concurrent constraint programming
Programming languages for distributed applications
New Generation Computing
A Machine-Oriented Logic Based on the Resolution Principle
Journal of the ACM (JACM)
An Efficient Unification Algorithm
ACM Transactions on Programming Languages and Systems (TOPLAS)
Distributed Constraint Logic Programming
Distributed Constraint Logic Programming
Parallel Machines: Parallel Machine Languages
Parallel Machines: Parallel Machine Languages
Distributed Operating Systems and Algorithms
Distributed Operating Systems and Algorithms
The Java Language Specification
The Java Language Specification
Concurrent Constraint Programming Based on Functional Programming (Extended Abstract)
ESOP '98 Proceedings of the 7th European Symposium on Programming: Programming Languages and Systems
A Survey of Distributed Garbage Collection Techniques
IWMM '95 Proceedings of the International Workshop on Memory Management
A Portable and Efficient Implementation of KL1
PLILP '94 Proceedings of the 6th International Symposium on Programming Language Implementation and Logic Programming
Improving Distributed Unification through Type Analysis
Euro-Par '97 Proceedings of the Third International Euro-Par Conference on Parallel Processing
Concurrent Programming in Java(TM): Design Principles and Patterns (3rd Edition) (Java (Addison-Wesley))
DRL: A distributed real-time logic language
Computer Languages
Contribution to simplifying the mobile agent programming
Proceedings of the 22nd international conference on Software engineering
Logic Programming Languages for the Internet
Computational Logic: Logic Programming and Beyond, Essays in Honour of Robert A. Kowalski, Part I
IHM '02 Proceedings of the 14th French-speaking conference on Human-computer interaction (Conférence Francophone sur l'Interaction Homme-Machine)
Logic programming in the context of multiparadigm programming: the Oz experience
Theory and Practice of Logic Programming
GHolo: a multiparadigm model oriented to development of grid systems
Future Generation Computer Systems
A concurrent lambda calculus with futures
Theoretical Computer Science - Applied semantics
Oz/K: a kernel language for component-based open programming
GPCE '07 Proceedings of the 6th international conference on Generative programming and component engineering
GHolo: a multiparadigm model oriented to development of grid systems
Future Generation Computer Systems
Communicating sequential processes for distributed constraint satisfaction
Information Sciences: an International Journal
Programming constraint services: high-level programming of standard and new constraint services
Programming constraint services: high-level programming of standard and new constraint services
Convergence in language design: a case of lightning striking four times in the same place
FLOPS'06 Proceedings of the 8th international conference on Functional and Logic Programming
Failure handling in a network-transparent distributed programming language
Advanced Topics in Exception Handling Techniques
A concurrent lambda calculus with futures
FroCoS'05 Proceedings of the 5th international conference on Frontiers of Combining Systems
MOZ'04 Proceedings of the Second international conference on Multiparadigm Programming in Mozart/Oz
A declarative coordination language
Computer Languages
Hi-index | 0.00 |
We define a practical algorithm for distrubuted rational tree unification and prove its correctness in both the off-line and on-line cases. We derive the distributed algorithm from a centralized one, showing clearly the trade-offs between local and distributed execution. The algorithm is used to realize logic variables in the Mozart Programming System, which implements the Oz language (see http://www/mozart-oz.org). Oz appears to the programmer as a concurrent object-oriented language with dataflow synchronization. Logic variables implement the dataflow behavior. We show that lohgic variables can easily be added to the more restricted models of Java and ML, thus providing an alternative way to do concurent programming in these languages. We present common distributed programming idioms in a network-transparent way using logic variables. We show that in common cases the algorithm maintains the same message latency as explicit message passing. In addition, it is able to handle uncommon cases that arise from the properties of latency tolerance and third-party independence. This is evidence that using logic variables in distributed computing is beneficial at both the system and language levels. At the system level, they improve latency tolerance and third-party independence. At the language level, they help make network-transparent distribution practical.