Process Interaction ModelsThe methods and mechanisms by which processes interact.
§1
Process interaction Models is the title of my doctoral thesis. I continue to have an interest in
the subject but now that interest extends beyond computer architecture to the physical world. In particular,
I am interested in molecular level interaction that is constrained by membranes (esp. sensory manifolds) and
the higher level interaction mechanics between meta-processes.
§2
This interest has historically extended to the study of the effects and affects that programming models and
languages have upon engineering behavior. I have especially been interested in these issues as the relate to
programming with concurrency.
The Carnap Programming LanguageA new language for manycore devices and many-manycore systems.
§3
"The primitive process of a Carnap program is called an action. An action determines a local or
shared state. Actions are assembled by construction to form the component processes of a
program. Programs consist of concurrent processes that construct and interact via logically shared data
structures and resources called contexts.
§4
In this way the application programmer is able to separate concerns, reasoning separately about the two
primary aspects of Carnap programs: data structures and the concurrent processes that act upon them.
§5
Contexts are associative and statically typed. Two system level contexts allow concurrent access to SQL
databases and any system that will respond to a standard universal resource identifier (URI).
Concurrency control is provided by the Carnap primitives (initial implementations will include a File
Server, PostgreSQL and Apache 2.0).
§6
The primary goal of Carnap is to ease the general purpose programming of applications that can utilize
the concurrency of future many-core and many many-core systems." The Carnap Programming Language
Manual.
§7
Thus begins the reference manual for a new language.
Process Oriented ProgrammingA separation of concerns; logically shared data structures and the concurrent processes that act upon them.
§8
Carnap is derived from my work at Yale University and in Paris at ENSMPnote:1 and Paris VInote:2, designed to ease the programming of parallel machines. The Ease process oriented
programming model has found its way into a variety of applications and systems and has recently been
used in large scale distributed systems where its light weight concurrency model is preferable to
conventional transaction models.
§11
This work(ref.1)
proposes a new language for parallel computation and related (distributed) data structures. The
language provides a type associative storage model that can be efficiently implemented on a range of
parallel machine memory architectures.
§12
Ease is a general purpose, high level, imperative programming language designed to enable the simple
expression of concurrent algorithms on parallel machines. Parallel machine in this context refers
not only to general purpose parallel machines but also to specialised (perhaps massively parallel)
super computers, embedded systems and real time control systems.
§13
A program is described as a collection of processes that execute concurrently, constructing and
interacting via strictly typed distributed data structures called "contexts". Ease provides a
separation of concerns; distinguishing between potentially large scale data structures and the
concurrent processes that act upon them.
§14
Ease is novel in the following regard: a "context" provides a priority oriented and strictly typed
intermediary in which distributed data structures are constructed and by which processes may
interact. Ease provides simple and symmetric binding operators which allow complex data structures
to be constructed and exchanged efficiently. Ease provides constructions for both cooperative and
subordinate concurrency.
§15
Ease is a development and synthesis of several concepts that exist in the domain of parallel
processing. The principal synthesis in Ease is between the formal process calculus and constructor
concepts of CSP and the ideas of distributed data structures found in the tuple space concepts of
Linda.
§16
Unlike the generalised Tuple Space of Linda, Ease contexts are strictly typed and perform no matching
at runtime.
§17
Ease is designed to exploit opportunities for efficiency on a range of machine architectures, whilst
remaining architecture independent.
§18
The main requirements when designing Ease were that it should be an expressive, well defined
language, efficient to implement and applicable to a wide range of applications in general purpose
computing and embedded systems, and be suited as a target formalism for automatic generation.
Research StatementA research statement by Steven Ericsson-Zenith
§19
Much work has been done in the past thirty years identifying and formalizing primitive mechanisms of
communication with strong locality, such as point-to-point communication. Observations in quantum
mechanics, and perhaps biophysics, suggest that other primitive mechanisms may also exist. But whatever
the primitive mechanisms are, the means by which meta-processes interact in the world involves
additional intermediary mechanisms and process structures.
§20
Our understanding of these intermediary mechanisms in molecular biology is limited but is gradually
being disclosed by current work in the field, as illustrated by recent breakthroughs to our
understanding of the biological clocks that are involved in the operation of physiology and in the
genetic mechanics behind system wide sensory modalities, such as pain (reported recently in NATURE (ref.2)).
§21
Our development of these intermediary interaction mechanisms in computer systems architecture has been
limited to low-level memory and communication mechanics. Nonlocal computer system memory architecture
represents a primitive intermediary by which processes interact. Well-known problems related to
concurrent access to nonlocal memory are solved by allowing process sequences to capture and relinquish
exclusive access to data structures in memory, and simple mechanisms can be provided to implement this,
as shown in our earlier work on the Ease interaction model, recently reworked for the language Carnap.
§22
However, that research is incomplete and new data from biophysics suggest that higher level dynamics in
biological systems provide alternative models for large scale interaction. The processes involved may
not be primitive and the order of their complexity is currently difficult to determine. They clearly
involve autonomous abstracted meta-processes and hierarchical membranes whose role and collaboration
with the other processes of the system is not solely by point-to-point communication with strong
locality but rather manifests a spread of related conformance with possible non-local interactions,
though this is by no means certain. For example, we see this uncertainty in models of the conformance of
protein chemotaxis, where both strong locality and non-locality are proposed in competing standard
models.
§23
The difference between the interaction models used in existing computing architectures and the models we
see in biology may be related to the difference between the fundamental mechanics of logical operation.
Biological implementation of logical operations is potentially large scale differentiation across the
entire system. This is very different from the strong locality and integration of logical parts that
exists in the current logical operations of today's computing systems.
§24
Basic research across the spectrum of science is the reverse engineering of meta-processes like these and
their interaction. Basic research across the spectrum of engineering tends to follow the opposite
approach by taking incremental steps from what is known to work. We strongly believe that these
approaches combined inform each other.
§25
Thus our research in this area is both theoretical and practical. We seek to understand the mechanics of
the world and to prove theories related to these mechanics by proof-in-practice, applying successful
theories to new engineering applications.
New WorkMore recent developments and ongoing projects. The Carnap Programming Language project site. A start-up project that is providing support for Many Core architectures and devices. IASE primary research area, focused on understanding the natural engineering of the recognition problems. Previous Work (Ease)The Ease model or Process Oriented Programming.
§26
The above link is dedicated to my doctoral work begun at Yale University while doing research work with Professor David
Gelernter and completed at Universite Pierre et Marie Curie, PARIS (VI) - traditionally the science
department of the Sorbonne - and the Ecole NS des Mines de Paris. I successfully defended Process
Interaction Models(ref.3) in July 1992.
§27
The work provides a critical review of existing process interaction models in computer science
engineering and makes a new proposal, called Ease, designed to provide a general purpose
parallel programming model that addresses the issues raised. The work also begins to deal with the
semeiotics issues related to the effect that engineering languages have upon problem solving behavior.
§28
This work is strongly influenced by my industry experience with the UK semiconductor company INMOS (now STMicroelectronics) and the
development of the transputer microprocessor and Occam.
§29
I wrote papers on Ease in 1990 that are published by Yale University and may still be available. You can find detailed references to them
here. In particular, Yale University technical report TR809 Programming with Ease: A
Semiotic definition of the language(ref.4) was widely distributed and, in
essence, is the foundation of my Ph.D. thesis. You can see the
original announcement of Ease on July 12th, 1990 in the record of comp.arch. An intermediate
paper I wrote while in France A Rationale for Programming with Ease can be found in Springer's "Lecture
Notes In Computer Science; Vol. 574, Research Directions in High-Level Parallel Programming
Languages ."(ref.5) This is a
good volume that captures a snapshot of most of the work going on at the time. You
can Google Book this paper too. Post thesis, Ease; the model and its implementation
was published in the January
1993 edition of ACM SIGPLAN Notices, Volume 28 Issue 1.(ref.6)
DownloadsA free collection of documents. THESE de DOCTORAT de l.UNIVERSITE PARIS VI. The full thesis. An overview of the proposal The proposal added to a conventional language The original Ease Bison/Flex grammar |