• Corpus ID: 59646985

Concurrent programming in erlang (second edition)

  title={Concurrent programming in erlang (second edition)},
  author={Joe L. Armstrong and Robert Virding and Mike Williams},
Note to readers: This manuscript contains the complete text of Part I of Concurrent programming in Erlang (ISBN 0-13-508301-X). Prentice Hall has given us permission to make the text available. Note that since Part II of the text (Applications) is missing all references to pages and sections in Part II of the book are invalid and have been replaced by question marks \??". 
A soft-typing system for Erlang
A soft-typing system for the programming language Erlang is presented based on a (forward) data flow analysis that determines upper approximations of the possible values of expressions and other constructs, and a specification language that allows the programmer to specify the interface of a module.
An Interpretation of Erlang into Value-passing Calculus
A new process calculus VPC is at least as expressive as VPC and it is more effective for verification with some built-in functions and the soundness of the interpretation is proved with respect to late symbolic bisimulation.
Semi-automated verification of Erlang code
The paper investigates the problem of semi-automating the verification task by identifying the proof parameters crucial for successful proof search by using a rich verification framework for goal-directed, proof system-based verification.
Trace analysis of Erlang programs
The paper reports on an experiment to provide the Erlang programming language with a tool package for convenient trace generation, collection and to support analysis of traces using a set of
ARMISTICE: an experience developing management software with Erlang
Experiences of using the concurrent functional language Erlang to implement a classical vertical application, a risk management information system, are presented and the gap between classical software engineering and the functional programming paradigm has been successfully fullfiled.
Concurrency in Java and in Erlang
Concurrency (and Java’s threads in particular) is a very important tool for writing programs that must communicate with many other programs or with several people. The most important example of a
Message analysis for concurrent programs using message passing
The analysis is effective enough to discover most data which is to be used as a message, and to allow the allocation scheme to combine the best performance characteristics of both a process-centric and a communal memory architecture.
Veriication of Erlang Programs: Factoring out the Side-eeect-free Fragment
An idea for compositional reasoning about the behaviour of an Erlang system modulo replacement of side-eeect-free Erlang expressions with the result of their evaluation is outlined.
Hierarchical module namespaces in Erlang
This paper describes how the Erlang language has been extended with a hierarchical namespace for modules, generally known as "packages", similar to that used for classes in Java.
On the verification of open distributed systems
A logic and proof system is introduced for specifying and proving properties of open distributed systems, including the verification of process networks with a changing interconnection structure, and where new processes can be continuously spawned.


Programming in Prolog
This second edition of ''Programming in Prolog'' is a textbook as well as a reference work for everyone who wants to study and use Prolog as a practical programming language.
Use of Prolog for developing a new programming language
This paper describes how Prolog was used for the development of a new concurrent real-time symbolic programming language called Erlang, and some of the key events which l a y b e t ween the simple prototype and the currentersion of the language.
ACTORS - a model of concurrent computation in distributed systems
  • G. Agha
  • Computer Science
    MIT Press series in artificial intelligence
  • 1985
A foundational model of concurrency is developed and issues in the design of parallel systems and why the actor model is suitable for exploiting large-scale parallelism are addressed.
Implementing remote procedure calls
The overall structure of the RPC mechanism, the facilities for binding RPC clients, the transport level communication protocol, and some performance measurements are described, including some optimizations used to achieve high performance and to minimize the load on server machines that have many clients.
Programming Distributed Systems
The Computer Science Department of the University of Rochester has, from its inception in 1974, directed much of its research effort toward a better understanding of distributed computing.
Time, clocks, and the ordering of events in a distributed system
A distributed algorithm is given for synchronizing a system of logical clocks which can be used to totally order the events, and a bound is derived on how far out of synchrony the clocks can become.
Functional programming using standard ML
  • Å. Wikström
  • Economics
    Prentice Hall International Series in Computer Science
  • 1987
When you read more every page of this functional programming using standard ml, what you will obtain is something great.
Object-Oriented Software Engineering
A text on industrial system development using object- oriented techniques, rather than a book on object-oriented programming. Will be useful to systems developers and those seeking a deeper
Object-oriented analysis
  • Gil Smith
  • Computer Science
    J. Inf. Technol.
  • 1993
No formal transition technique has been developed to allow the software engineer to use the traditional structured analysis techniques coupled with object- orlented design, and no tool presently supports object-orlented analysls.
Principles Of Database And Knowledge-Base Systems
This book goes into the details of database conception and use, it tells you everything on relational databases. from theory to the actual used algorithms.