Results 1 -
6 of
6
The interdisciplinary study of coordination
- ACM Computing Surveys
, 1994
"... This survey characterizes an emerging research area, sometimes called coordination theory, that focuses on the interdisciplinary study of coordination. Research in this area uses and extends ideas about coordination from disciplines such as computer science, organization theory, operations research, ..."
Abstract
-
Cited by 480 (14 self)
- Add to MetaCart
This survey characterizes an emerging research area, sometimes called coordination theory, that focuses on the interdisciplinary study of coordination. Research in this area uses and extends ideas about coordination from disciplines such as computer science, organization theory, operations research, economics, linguistics, and psychology. A key insight of the framework presented here is that coordination can be seen as the process of managing dependencies among activities. Further progress, therefore, should be possible by characterizing different kinds of dependencies and identifying the coordination processes that can be used to manage them. A variety of processes are analyzed from this perspective, and commonalities across disciplines are identified. Processes analyzed include those for managing shared resources, producer/consumer relationships, simultaneity constraints, and tank/subtask dependencies. Section 3 summarizes ways of applying a coordination perspective in three different domains: (1) understanding the effects of information technology on human organizations and markets, (2) designing cooperative work tools, and (3) designing distributed and parallel computer systems. In the final section, elements of a research
Concurrent Monadic Interfacing
- 10th International Workshop on the Implementation of Functional Languages (IFL '98), volume 1595 of LNCS
, 1998
"... . In this paper we present the Brisk 1 monadic framework, in which the usual monadic style of interfacing is adapted to accommodate a deterministic form of concurrency. Its main innovation is to allow actions on state components. This is a key issue which enables state splitting, a technique which ..."
Abstract
-
Cited by 11 (1 self)
- Add to MetaCart
. In this paper we present the Brisk 1 monadic framework, in which the usual monadic style of interfacing is adapted to accommodate a deterministic form of concurrency. Its main innovation is to allow actions on state components. This is a key issue which enables state splitting, a technique which assigns to each new thread a part of the state, a substate, to act upon. Distinct concurrent threads are restricted to access disjoint substates. A purely functional prototype implementation is presented to demonstrate these ideas. The resulting system acts as a basis for offering a purely functional form of concurrency, extending the expressiveness of functional languages without spoiling the semantics by introducing non-determinism. 1 Introduction The use of monads has provided a new insight into the handling of stateful computations as state threads in the purely functional language Haskell [1]. The monadic approach has been further developed [8, 10] and incorporated into compilers su...
The Essence of Multitasking
- Proceedings of the 11th International Conference on Algebraic Methodology and Software Technology, volume 4019 of Lecture Notes in Computer Science
, 2006
"... Abstract. This article demonstrates how a powerful and expressive abstraction from concurrency theory—monads of resumptions—plays a dual rôle as a programming tool for concurrent applications. The article demonstrates how a wide variety of typical OS behaviors may be specified in terms of resumption ..."
Abstract
-
Cited by 6 (3 self)
- Add to MetaCart
Abstract. This article demonstrates how a powerful and expressive abstraction from concurrency theory—monads of resumptions—plays a dual rôle as a programming tool for concurrent applications. The article demonstrates how a wide variety of typical OS behaviors may be specified in terms of resumption monads known heretofore exclusively in the literature of programming language semantics. We illustrate the expressiveness of the resumption monad with the construction of an exemplary multitasking kernel in the pure functional language Haskell. 1
Explicit Message Passing for Concurrent Clean
- Proc. of Implementation of Functional Languages, IFL'98
, 1998
"... . In this paper we look at Concurrent Clean and concurrency and notice that the language has some shortcomings with respect to communication. It does not provide non-determinism, efficient multicasting and data-driven communication. A message passing extension for Concurrent Clean is proposed which ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
. In this paper we look at Concurrent Clean and concurrency and notice that the language has some shortcomings with respect to communication. It does not provide non-determinism, efficient multicasting and data-driven communication. A message passing extension for Concurrent Clean is proposed which provides efficient many-to-many communication. In contrast to other solutions, we chose to have an asynchronous system where sending and receiving do not have to occur simultaneously. We discuss design decisions with respect to concurrent evaluation and unique messages. Furthermore, we show some implementation aspects of this message passing system. 1 Introduction An important topic in computer science is concurrency. It is getting more attention nowadays with the introduction of shared memory machines, like multiPentium computers. For these systems, concurrency is often provided through a library which enables the programmer to create processes or threads and have communication between the...
Eekelen. Reasoning About Deterministic Concurrent Functional I/O
- Proceedings of IFL 2004, volume LNCS3474
, 2005
"... Abstract. This paper develops a language for reasoning about concurrent functional I/O. We assume that the API is specified as statetransformers on a single world state. We then prove that under certain conditions evaluation in this language is deterministic, and give some examples. All properties w ..."
Abstract
-
Cited by 5 (2 self)
- Add to MetaCart
Abstract. This paper develops a language for reasoning about concurrent functional I/O. We assume that the API is specified as statetransformers on a single world state. We then prove that under certain conditions evaluation in this language is deterministic, and give some examples. All properties were machine-verified using the Sparkle proofassistant and using Core-Clean as a meta-language. 1
September 1999 CSPHD
- Department of Computer Science, University of Bristol
, 1999
"... This thesis presents the Brisk Machine #54#, a machine for executing functional languages, designed to be simple and #exible to support a number of run-time execution models for the Brisk compiler. Design considerations have been made to support dynamic loading, deterministic concurrency #23,51#, di ..."
Abstract
- Add to MetaCart
This thesis presents the Brisk Machine #54#, a machine for executing functional languages, designed to be simple and #exible to support a number of run-time execution models for the Brisk compiler. Design considerations have been made to support dynamic loading, deterministic concurrency #23,51#, distribution, debugging tools and logic programming #76#. To achieve this, the compiler's intermediate language, the Brisk Kernel Language BKL is simpler than the STG language #100#, as evaluation, extension and optimisation issues are relegated to special built-in functions. Moreover, function calls are saturated, as any function has an known arity and in every call to it, is applied to the rightnumber of arguments, which makes the machine dynamic and supports dynamic loading.

