3,828 research outputs found
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
Recommended from our members
A survey on online monitoring approaches of computer-based systems
This report surveys forms of online data collection that are in current use (as well as being the subject of research to adapt them to changing technology and demands), and can be used as inputs to assessment of dependability and resilience, although they are not primarily meant for this use
The ciao system
Abstract is not available
SNR: Software Library for Introductory Robotics
This thesis introduces SNR, a Python library for programming robotic systems in the context of introductory robotics courses. Greater demand for roboticists has pressured educational institutions to expand robotics curricula. Students are now more likely to take robotics courses earlier and with less prior programming experience. Students may be attempting to simultaneously learn a systems programming language, a library API, and robotics concepts. SNR is written purely in Python to present familiar semantics, eliminating one of these learning curves. Industry standard robotics libraries such as ROS often require additional build tools and configuration languages. Students in introductory courses frequently lack skills needed for these tools. SNR does not use any additional build tools, so students are faced with fewer compounding learning curves. SNR presents students with concepts important to robotic systems programming such as modular and event driven architectures to bridge the gap between introductory programming courses and industry standard libraries
Recommended from our members
A graded Monad for deadlock-free concurrency (functional pearl)
We present a new type-oriented framework for writing shared memory multithreaded programs that the Haskell type system guarantees are deadlock-free. The implementation wraps all concurrent computation inside a graded monad and assumes a total order is defined between locks. The grades within the type of such a computation specify which locks it acquires and releases. This information is drawn from an algebra that ensures that types can, in principle, be inferred in polynomial time.Trinity College, Cambridg
- …