906 research outputs found
A New Linear Logic for Deadlock-Free Session-Typed Processes
The π -calculus, viewed as a core concurrent programming language, has been used as the target of much research on type systems for concurrency. In this paper we propose a new type system for deadlock-free session-typed π -calculus processes, by integrating two separate lines of work. The first is the propositions-as-types approach by Caires and Pfenning, which provides a linear logic foundation for session types and guarantees deadlock-freedom by forbidding cyclic process connections. The second is Kobayashi’s approach in which types are annotated with priorities so that the type system can check whether or not processes contain genuine cyclic dependencies between communication operations. We combine these two techniques for the first time, and define a new and more expressive variant of classical linear logic with a proof assignment that gives a session type system with Kobayashi-style priorities. This can be seen in three ways: (i) as a new linear logic in which cyclic structures can be derived and a CYCLE -elimination theorem generalises CUT -elimination; (ii) as a logically-based session type system, which is more expressive than Caires and Pfenning’s; (iii) as a logical foundation for Kobayashi’s system, bringing it into the sphere of the propositions-as-types paradigm
Connectors meet Choreographies
We present Cho-Reo-graphies (CR), a new language model that unites two
powerful programming paradigms for concurrent software based on communicating
processes: Choreographic Programming and Exogenous Coordination. In CR,
programmers specify the desired communications among processes using a
choreography, and define how communications should be concretely animated by
connectors given as constraint automata (e.g., synchronous barriers and
asynchronous multi-casts). CR is the first choreography calculus where
different communication semantics (determined by connectors) can be freely
mixed; since connectors are user-defined, CR also supports many communication
semantics that were previously unavailable for choreographies. We develop a
static analysis that guarantees that a choreography in CR and its user-defined
connectors are compatible, define a compiler from choreographies to a process
calculus based on connectors, and prove that compatibility guarantees
deadlock-freedom of the compiled process implementations
A framework for deadlock detection in core ABS
We present a framework for statically detecting deadlocks in a concurrent
object-oriented language with asynchronous method calls and cooperative
scheduling of method activations. Since this language features recursion and
dynamic resource creation, deadlock detection is extremely complex and
state-of-the-art solutions either give imprecise answers or do not scale. In
order to augment precision and scalability we propose a modular framework that
allows several techniques to be combined. The basic component of the framework
is a front-end inference algorithm that extracts abstract behavioural
descriptions of methods, called contracts, which retain resource dependency
information. This component is integrated with a number of possible different
back-ends that analyse contracts and derive deadlock information. As a
proof-of-concept, we discuss two such back-ends: (i) an evaluator that computes
a fixpoint semantics and (ii) an evaluator using abstract model checking.Comment: Software and Systems Modeling, Springer Verlag, 201
Choreography automata
Automata models are well-established in many areas of computer science and are supported by a wealth of theoretical results including a wide range of algorithms and techniques to specify and analyse systems. We introduce choreography automata for the choreographic modelling of communicating systems. The projection of a choreography automaton yields a system of communicating finite-state machines. We consider both the standard asynchronous semantics of communicating systems and a synchronous variant of it. For both, the projections of well-formed automata are proved to be live as well as lock- and deadlock-free
The combinatorics of resource sharing
We discuss general models of resource-sharing computations, with emphasis on
the combinatorial structures and concepts that underlie the various deadlock
models that have been proposed, the design of algorithms and deadlock-handling
policies, and concurrency issues. These structures are mostly graph-theoretic
in nature, or partially ordered sets for the establishment of priorities among
processes and acquisition orders on resources. We also discuss graph-coloring
concepts as they relate to resource sharing.Comment: R. Correa et alii (eds.), Models for Parallel and Distributed
Computation, pp. 27-52. Kluwer Academic Publishers, Dordrecht, The
Netherlands, 200
Scheduling and discrete event control of flexible manufacturing systems based on Petri nets
A flexible manufacturing system (FMS) is a computerized production system that can simultaneously manufacture multiple types of products using various resources such as robots and multi-purpose machines. The central problems associated with design of flexible manufacturing systems are related to process planning, scheduling, coordination control, and monitoring. Many methods exist for scheduling and control of flexible manufacturing systems, although very few methods have addressed the complexity of whole FMS operations. This thesis presents a Petri net based method for deadlock-free scheduling and discrete event control of flexible manufacturing systems. A significant advantage of Petri net based methods is their powerful modeling capability. Petri nets can explicitly and concisely model the concurrent and asynchronous activities, multi-layer resource sharing, routing flexibility, limited buffers and precedence constraints in FMSs. Petri nets can also provide an explicit way for considering deadlock situations in FMSs, and thus facilitate significantly the design of a deadlock-free scheduling and control system.
The contributions of this work are multifold. First, it develops a methodology for discrete event controller synthesis for flexible manufacturing systems in a timed Petri net framework. The resulting Petri nets have the desired qualitative properties of liveness, boundedness (safeness), and reversibility, which imply freedom from deadlock, no capacity overflow, and cyclic behavior, respectively. This precludes the costly mathematical analysis for these properties and reduces on-line computation overhead to avoid deadlocks. The performance and sensitivity of resulting Petri nets, thus corresponding control systems, are evaluated. Second, it introduces a hybrid heuristic search algorithm based on Petri nets for deadlock-free scheduling of flexible manufacturing systems. The issues such as deadlock, routing flexibility, multiple lot size, limited buffer size and material handling (loading/unloading) are explored. Third, it proposes a way to employ fuzzy dispatching rules in a Petri net framework for multi-criterion scheduling. Finally, it shows the effectiveness of the developed methods through several manufacturing system examples compared with benchmark dispatching rules, integer programming and Lagrangian relaxation approaches
Combining behavioural types with security analysis
Today's software systems are highly distributed and interconnected, and they
increasingly rely on communication to achieve their goals; due to their
societal importance, security and trustworthiness are crucial aspects for the
correctness of these systems. Behavioural types, which extend data types by
describing also the structured behaviour of programs, are a widely studied
approach to the enforcement of correctness properties in communicating systems.
This paper offers a unified overview of proposals based on behavioural types
which are aimed at the analysis of security properties
A bunch of sessions:a propositions-as-sessions interpretation of bunched implications in channel-based concurrency
The emergence of propositions-as-sessions, a Curry-Howard correspondence between propositions of Linear Logic and session types for concurrent processes, has settled the logical foundations of message-passing concurrency. Central to this approach is the resource consumption paradigm heralded by Linear Logic. In this paper, we investigate a new point in the design space of session type systems for message-passing concurrent programs. We identify O’Hearn and Pym’s Logic of Bunched Implications (BI) as a fruitful basis for an interpretation of the logic as a concurrent programming language. This leads to a treatment of non-linear resources that is radically different from existing approaches based on Linear Logic. We introduce a new π-calculus with sessions, called πBI; its most salient feature is a construct called spawn, which expresses new forms of sharing that are induced by structural principles in BI. We illustrate the expressiveness of πBI and lay out its fundamental theory: type preservation, deadlock-freedom, and weak normalization results for well-typed processes; an operationally sound and complete typed encoding of an affine λ-calculus; and a non-interference result for access of resources
Complete Multiparty Session Type Projection with Automata
Multiparty session types (MSTs) are a type-based approach to verifying
communication protocols. Central to MSTs is a projection operator: a partial
function that maps protocols represented as global types to
correct-by-construction implementations for each participant, represented as a
communicating state machine. Existing projection operators are syntactic in
nature, and trade efficiency for completeness. We present the first projection
operator that is sound, complete, and efficient. Our projection separates
synthesis from checking implementability. For synthesis, we use a simple
automata-theoretic construction; for checking implementability, we present
succinct conditions that summarize insights into the property of
implementability. We use these conditions to show that MST implementability is
PSPACE-complete. This improves upon a previous decision procedure that is in
EXPSPACE and applies to a smaller class of MSTs. We demonstrate the
effectiveness of our approach using a prototype implementation, which handles
global types not supported by previous work without sacrificing performance.Comment: 24 pages, 44 pages including appendix; CAV 202
- …