Results 1 
4 of
4
Algebraic Topology And Concurrency
 Theoretical Computer Science
, 1998
"... This article is intended to provide some new insights about concurrency theory using ideas from geometry, and more specifically from algebraic topology. The aim of the paper is twofold: we justify applications of geometrical methods in concurrency through some chosen examples and we give the mathem ..."
Abstract

Cited by 40 (8 self)
 Add to MetaCart
This article is intended to provide some new insights about concurrency theory using ideas from geometry, and more specifically from algebraic topology. The aim of the paper is twofold: we justify applications of geometrical methods in concurrency through some chosen examples and we give the mathematical foundations needed to understand the geometric phenomenon that we identify. In particular we show that the usual notion of homotopy has to be refined to take into account some partial ordering describing the way time goes. This gives rise to some new interesting mathematical problems as well as give some common grounds to computerscientific problems that have not been precisely related otherwise in the past. The organization of the paper is as follows. In Section 2 we explain to which extent we can use some geometrical ideas in computer science: we list a few of the potential or well known areas of application and try to exemplify some of the properties of concurrent (and distributed) systems we are interested in. We first explain the interest of using some geometric ideas for semantical reasons. Then we take the example of concurrent databases with the problem of finding deadlocks and with some aspects of serializability theory. More general questions about schedules can be asked as well and related to some geometric considerations, even for scheduling microinstructions (and not only coarsegrained transactions as for databases). The final example is the one of faulttolerant protocols for distributed systems, where subtle scheduling properties go into play. In Section 3 we give the first few definitions needed for modeling the topological spaces arising from Section 2. Basically, we need to define a topological space containing all traces of executions of the concu...
An Extensible Interpreter for ValuePassing CCS
, 1995
"... We describe an interpreter for a valuepassing version of CCS implemented in the lazy functional programming language Haskell. Starting from a base interpreter, we then show how to modify the interpreter for CCS extensions including, additional nonprimitive combinators, new primitive operators (an ..."
Abstract
 Add to MetaCart
We describe an interpreter for a valuepassing version of CCS implemented in the lazy functional programming language Haskell. Starting from a base interpreter, we then show how to modify the interpreter for CCS extensions including, additional nonprimitive combinators, new primitive operators (an interrupt operator), a time domain with a timeout operator useful in describing realtime systems, and higher order CCS where processes may be passed on channels. Keywords: Parallel programming, process algebra, functional programming, executable semantics. 1 Introduction Interpreters for computer languages are useful for many reasons. An interpreter may serve as an initial prototype of an implementation while more sophisticated tools are being developed. An interpreter allows a language designer to experiment with extensions or variations of a language. The ability to write and execute programs early in the language design process provides important feedback to the language designer for ...
Policies of System Level Pipeline Modeling (Workshop on Generative Technologies 2008 )
 ENTCS
"... Pipelining is a well understood and often used implementation technique for increasing the performance of a hardware system. We develop several SystemC/C++ modeling techniques that allow us to quickly model, simulate, and evaluate pipelines. We employ a small domain specific language (DSL) based on ..."
Abstract
 Add to MetaCart
Pipelining is a well understood and often used implementation technique for increasing the performance of a hardware system. We develop several SystemC/C++ modeling techniques that allow us to quickly model, simulate, and evaluate pipelines. We employ a small domain specific language (DSL) based on resource usage patterns that automates the drudgery of boilerplate code needed to configure connectivity in simulation models. The DSL is embedded directly in the host modeling language SystemC/C++. Additionally we develop several techniques for parameterizing a pipeline’s behavior based on policies of function, communication, and timing (performance modeling).
Policies of System Level Pipeline Modeling Abstract
, 801
"... Pipelining is a well understood and often used implementation technique for increasing the performance of a hardware system. We develop several SystemC/C++ modeling techniques that allow us to quickly model, simulate, and evaluate pipelines. We employ a small domain specific language (DSL) based on ..."
Abstract
 Add to MetaCart
Pipelining is a well understood and often used implementation technique for increasing the performance of a hardware system. We develop several SystemC/C++ modeling techniques that allow us to quickly model, simulate, and evaluate pipelines. We employ a small domain specific language (DSL) based on resource usage patterns that automates the drudgery of boilerplate code needed to configure connectivity in simulation models. The DSL is embedded directly in the host modeling language SystemC/C++. Additionally we develop several techniques for parameterizing a pipeline’s behavior based on policies of function, communication, and timing (performance modeling).