1,165 research outputs found
Some comments on CPO-semantics and metric space semantics for imperative languages
Zu dieser Veröffentlichung liegt kein Abstract vor
Recommended from our members
Modeling and analysis of concurrent systems
A survey of modeling and analysis techniques in common use for modeling and analyzing concurrent systems. The models surveyed are CSP (Communicating Sequential Processes), Path Expressions, CCS (Calculus of Communicating Systems), CIRCAL, Petri Nets, Coloured Petri Nets, Predicate-Action Nets, Numerical Petri Nets, Contour-Transition Nets, and several varieties of Timed Petri Nets. The analysis techniques are state-space analysis, temporal logic, structural analysis, and inductive analysis
Symmetric and Synchronous Communication in Peer-to-Peer Networks
Motivated by distributed implementations of game-theoretical algorithms, we
study symmetric process systems and the problem of attaining common knowledge
between processes. We formalize our setting by defining a notion of
peer-to-peer networks(*) and appropriate symmetry concepts in the context of
Communicating Sequential Processes (CSP), due to the common knowledge creating
effects of its synchronous communication primitives. We then prove that CSP
with input and output guards makes common knowledge in symmetric peer-to-peer
networks possible, but not the restricted version which disallows output
statements in guards and is commonly implemented.
(*) Please note that we are not dealing with fashionable incarnations such as
file-sharing networks, but merely use this name for a mathematical notion of a
network consisting of directly connected peers "treated on an equal footing",
i.e. not having a client-server structure or otherwise pre-determined roles.)Comment: polished, modernized references; incorporated referee feedback from
MPC'0
A Concurrency-Agnostic Protocol for Multi-Paradigm Concurrent Debugging Tools
Today's complex software systems combine high-level concurrency models. Each
model is used to solve a specific set of problems. Unfortunately, debuggers
support only the low-level notions of threads and shared memory, forcing
developers to reason about these notions instead of the high-level concurrency
models they chose.
This paper proposes a concurrency-agnostic debugger protocol that decouples
the debugger from the concurrency models employed by the target application. As
a result, the underlying language runtime can define custom breakpoints,
stepping operations, and execution events for each concurrency model it
supports, and a debugger can expose them without having to be specifically
adapted.
We evaluated the generality of the protocol by applying it to SOMns, a
Newspeak implementation, which supports a diversity of concurrency models
including communicating sequential processes, communicating event loops,
threads and locks, fork/join parallelism, and software transactional memory. We
implemented 21 breakpoints and 20 stepping operations for these concurrency
models. For none of these, the debugger needed to be changed. Furthermore, we
visualize all concurrent interactions independently of a specific concurrency
model. To show that tooling for a specific concurrency model is possible, we
visualize actor turns and message sends separately.Comment: International Symposium on Dynamic Language
Operational Semantics of Process Monitors
CSPe is a specification language for runtime monitors that can directly
express concurrency in a bottom-up manner that composes the system from
simpler, interacting components. It includes constructs to explicitly flag
failures to the monitor, which unlike deadlocks and livelocks in conventional
process algebras, propagate globally and aborts the whole system's execution.
Although CSPe has a trace semantics along with an implementation demonstrating
acceptable performance, it lacks an operational semantics. An operational
semantics is not only more accessible than trace semantics but also
indispensable for ensuring the correctness of the implementation. Furthermore,
a process algebra like CSPe admits multiple denotational semantics appropriate
for different purposes, and an operational semantics is the basis for
justifying such semantics' integrity and relevance. In this paper, we develop
an SOS-style operational semantics for CSPe, which properly accounts for
explicit failures and will serve as a basis for further study of its
properties, its optimization, and its use in runtime verification
- …