English
Related papers

Related papers: A Model of Cooperative Threads

200 papers

We develop a denotational model for probabilistic and concurrent imperative programs, a class of programs with standard control flow via conditionals and while-loops, as well as probabilistic actions and parallel composition. Whereas…

Programming Languages · Computer Science 2025-06-10 Noam Zilberstein , Daniele Gorla , Alexandra Silva

Traces and their extension called combined traces (comtraces) are two formal models used in the analysis and verification of concurrent systems. Both models are based on concepts originating in the theory of formal languages, and they are…

Logic in Computer Science · Computer Science 2015-07-01 Lukasz Mikulski

Multi-threaded programs have traditionally fallen into one of two domains: cooperative and competitive. These two domains have traditionally remained mostly disjoint, with cooperative threading used for increasing throughput in…

Programming Languages · Computer Science 2018-07-11 Stefan K. Muller , Umut A. Acar , Robert Harper

A grammar model for concurrent, object-oriented natural language parsing is introduced. Complete lexical distribution of grammatical knowledge is achieved building upon the head-oriented notions of valency and dependency, while inheritance…

cmp-lg · Computer Science 2008-02-03 Norbert Broeker , Udo Hahn , Susanne Schacht

We develop new methods to statically bound the resources needed for the execution of systems of concurrent, interactive threads. Our study is concerned with a \emph{synchronous} model of interaction based on cooperative threads whose…

Programming Languages · Computer Science 2007-06-13 Roberto Amadio , Silvano Dal Zilio

This thesis embarks on a comprehensive exploration of formal computational models that underlie typed programming languages. We focus on programming calculi, both functional (sequential) and concurrent, as they provide a compelling rigorous…

Logic in Computer Science · Computer Science 2024-08-16 Joseph William Neal Paulus

The proposed framework provides a general model of concurrent imperative programming. Programs are modeled as formal languages and concurrency as an interleaving (or shuffle) operator. This yields a simple and elegant algebra of programs.…

Programming Languages · Computer Science 2012-09-11 Stephan van Staden

We propose a novel, operational framework to formally describe the semantics of concurrent programs running within the context of a relaxed memory model. Our framework features a "temporary store" where the memory operations issued by the…

Programming Languages · Computer Science 2012-08-30 Gérard Boudol , Gustavo Petri , Bernard Serpette

Understanding how ideas develop and flow in small-group conversations is critical for analyzing collaborative learning. A key structural feature of these interactions is threading, the way discourse talk naturally organizes into interwoven…

Computation and Language · Computer Science 2025-10-28 Prerna Ravi , Dong Won Lee , Beatriz Flamia , Jasmine David , Brandon Hanks , Cynthia Breazeal , Emma Anderson , Grace Lin

Co-operative and pre-emptive scheduling are usually considered to be complementary models of threading. In the case of virtual machines, we show that they can be unified using a single concept, the bounded execution of a thread of control,…

Programming Languages · Computer Science 2013-12-11 Simon Dobson , Alan Dearle , Barry Porter

Common approaches to concurrent programming begin with languages whose semantics are naturally sequential and add new constructs that provide limited access to concurrency, as exemplified by futures. This approach has been quite successful,…

Programming Languages · Computer Science 2023-06-22 Klaas Pruiksma , Frank Pfenning

We describe a denotational semantics for an abstract effect system for a higher-order, shared-variable concurrent programming language. We prove the soundness of a number of general effect-based program equivalences, including a…

Programming Languages · Computer Science 2015-10-12 Nick Benton , Martin Hofmann , Vivek Nigam

In search for a foundational framework for reasoning about observable behavior of programs that may not terminate, we have previously devised a trace-based big-step semantics for While. In this semantics, both traces and evaluation…

Logic in Computer Science · Computer Science 2019-07-16 Keiko Nakata , Tarmo Uustalu

In this paper we propose a new approach to the description of a network of interacting processes in a traditional programming language. Special programming languages or extensions to sequential languages are usually designed to express the…

Programming Languages · Computer Science 2017-02-17 Sergey Vostokin

In this tutorial, we program big-step and small-step total interpreters for the While language extended with input and output primitives. While is a simple imperative language consisting of skip, assignment, sequence, conditional and loop.…

Programming Languages · Computer Science 2011-09-06 Keiko Nakata

We derive an abstract computational model from a sequential computational model that is generally used for function execution. This abstract computational model allows for the concurrent execution of functions. We discuss concurrent models…

Software Engineering · Computer Science 2011-11-23 Bob Diertens

Execution of concurrent programs implies frequent switching between different thread contexts. This property perplexes analyzing and reasoning about concurrent programs. Trace simplification is a technique that aims at alleviating this…

Software Engineering · Computer Science 2014-05-20 Mohamed A. El-Zawawy , Mohammad N. Alanazi

Modular reasoning about class invariants is challenging in the presence of dependencies among collaborating objects that need to maintain global consistency. This paper presents semantic collaboration: a novel methodology to specify and…

Software Engineering · Computer Science 2014-05-08 Nadia Polikarpova , Julian Tschannen , Carlo A. Furia , Bertrand Meyer

While loops are present in virtually all imperative programming languages. They are important both for practical reasons (performing a number of iterations not known in advance) and theoretical reasons (achieving Turing completeness). In…

Programming Languages · Computer Science 2023-09-26 David Nowak , Vlad Rusu

Making threaded programs safe and easy to reason about is one of the chief difficulties in modern programming. This work provides an efficient execution model for SCOOP, a concurrency approach that provides not only data race freedom but…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-07-28 Scott West , Sebastian Nanz , Bertrand Meyer
‹ Prev 1 2 3 10 Next ›