40,007 research outputs found
An abstract machine for Oz
Oz is a concurrent constraint language providing for first-class procedures, concurrent objects, and encapsulated search. DFKI Oz is an interactive implementation of Oz competitive in performance with commercial Prolog and Lisp systems. This paper describes AMOZ, the abstract machine underlying DFKI Oz. AMOZ implements rational tree constraints, first-class procedures, local computation spaces for deep guards, and preemptive and fair threads
Model checking object-Z using ASM
A major problem with creating tools for Object-Z is that its high-level abstractions are difficult to deal with directly. Integrating Object-Z with a more concrete notation is a sound strategy. With this in mind, in this paper we introduce an approach to model-checking Object-Z specifications based on first integrating Object-Z with the Abstract State Machine (ASM) notation to get the notation OZ-ASM. We show that this notation can be readily translated into the specification language ASM-SL, a language that can be automatically translated into the language of the temporal logic model checker SMV
Creating a Distributed Programming System Using the DSS: A Case Study of OzDSS
This technical report describes the integration of the Distribution Subsystem (DSS) to the programming system Mozart. The result, OzDSS, is described in detail. Essential when coupling a programming system to the DSS is how the internal model of threads and language entities are mapped to the abstract entities of the DSS. The model of threads and language entities of Mozart is described at a detailed level to explain the design choices made when developing the code that couples the DSS to Mozart. To show the challenges associated with different thread implementations, the C++DSS system is introduced. C++DSS is a C++ library which uses the DSS to implement different types of distributed language entities in the form of C++ classes. Mozart emulates threads, thus there is no risk of multiple threads accessing the DSS simultaneously. C++DSS, on the other hand, makes use of POSIX threads, thus simultaneous access to the DSS from multiple POSIX threads can happen. The fundamental differences in how threads are treated in a system that emulates threads (Mozart) to a system that make use of native-threads~(C++DSS) is discussed. The paper is concluded by a performance comparison between the OzDSS system and other distributed programming systems. We see that the OzDSS system outperforms ``industry grade'' Java-RMI and Java-CORBA implementations
SICStus MT - A Multithreaded Execution Environment for SICStus Prolog
The development of intelligent software agents and other
complex applications which continuously interact with their
environments has been one of the reasons why explicit concurrency has
become a necessity in a modern Prolog system today. Such applications
need to perform several tasks which may be very different with respect
to how they are implemented in Prolog. Performing these tasks
simultaneously is very tedious without language support.
This paper describes the design, implementation and evaluation of a
prototype multithreaded execution environment for SICStus Prolog. The
threads are dynamically managed using a small and compact set of
Prolog primitives implemented in a portable way, requiring almost no
support from the underlying operating system
Classically-Controlled Quantum Computation
Quantum computations usually take place under the control of the classical
world. We introduce a Classically-controlled Quantum Turing Machine (CQTM)
which is a Turing Machine (TM) with a quantum tape for acting on quantum data,
and a classical transition function for a formalized classical control. In
CQTM, unitary transformations and measurements are allowed. We show that any
classical TM is simulated by a CQTM without loss of efficiency. The gap between
classical and quantum computations, already pointed out in the framework of
measurement-based quantum computation is confirmed. To appreciate the
similarity of programming classical TM and CQTM, examples are given.Comment: 20 page
- …