data types for shared memory and message passing communication that extends Concurrent Haskell with a concept of dynamic types, thread identity, thread local state and selective communication as found in CML. Notable features of the toolkit are its support
The UniForM Concurrency Toolkit and its Extensions to Concurrent Haskell Einar W. Karlsen Bremen Institute for Safe Systems (BISS) FB3 Mathematik und Informatik Universitat Bremen, Germany ewk@informatik.uni-bremen.de
Abstract. The UniForM Concurrency Toolkit is a comprehensive library of abstract data types for shared memory and message passing communication that extends Concurrent Haskell with a concept of dynamic types, thread identity, thread local state and selective communication as found in CML. Notable features of the toolkit are its support for reentrant monitors, interactors providing iterative choice and the uniform representation of internal channel events as well as external tool events of the environment in the form of rst class synchronous event values.
1 Introduction The UniForM Concurrency ToolKit 1 has primarily been designed to support the development of reactive systems using Concurrent Haskell PJGF96]. The toolkit provides, partially backed up by a class system, a number of archetypical shared memory abstractions such as semaphores, locks and shared variables. The most important contribution, however, is the concept of reentrant monitors, whose main advantage over MVar's is that recursion (and thus abstraction) is adequately supported. The message passing model is very similar to the one of Concurrent ML Rep92] by representing events in terms of rst class composable event values that can be combined using guarded choice and the event-action combinator. Internal channel events, as well as external tool events of the environment, such as OS, GUI or DBMS events, can however be given a uniform representation by interposing adaptors between the event source and the internal set of listening agents. The remainder of this paper is organized as follows. The next section de nes the concept of threads, thread identity and thread local state. The third section presents shared memory concepts such as critical regions and reentrant monitors. The fourth section presents the operations of relevance to synchronous events. The fth section gives a brief overview of external events and their related operators. The last sections compare the approach to CML with respect to performance and discusses the results. 1 This work has been supported by the German Ministry of Research (BMBF) in the Project UniForM KBPO+ 96] ("Universal Formal Methods WorkBench")
Norzel The UniForM Concurrency ToolKitNorzel The UniForM Concurrency ToolKit隐藏>> The UniForM Concurrency ToolKit Version 0.2 Reference Manual Einar W. ...
Norzel The UniForM Concurrency ToolKitNorzel The UniForM Concurrency ToolKit隐藏>> The UniForM Concurrency ToolKit Version 0.2 Reference Manual Einar W. ...
我要评论