5,531 research outputs found
Innocent strategies as presheaves and interactive equivalences for CCS
Seeking a general framework for reasoning about and comparing programming
languages, we derive a new view of Milner's CCS. We construct a category E of
plays, and a subcategory V of views. We argue that presheaves on V adequately
represent innocent strategies, in the sense of game semantics. We then equip
innocent strategies with a simple notion of interaction. This results in an
interpretation of CCS.
Based on this, we propose a notion of interactive equivalence for innocent
strategies, which is close in spirit to Beffara's interpretation of testing
equivalences in concurrency theory. In this framework we prove that the
analogues of fair and must testing equivalences coincide, while they differ in
the standard setting.Comment: In Proceedings ICE 2011, arXiv:1108.014
Full abstraction for fair testing in CCS
In previous work with Pous, we defined a semantics for CCS which may both be
viewed as an innocent presheaf semantics and as a concurrent game semantics. It
is here proved that a behavioural equivalence induced by this semantics on CCS
processes is fully abstract for fair testing equivalence. The proof relies on a
new algebraic notion called playground, which represents the 'rule of the
game'. From any playground, two languages, equipped with labelled transition
systems, are derived, as well as a strong, functional bisimulation between
them.Comment: 15 pages, to appear in CALCO '13. To appear Lecture notes in computer
science (2013
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
- …