initial commit

This commit is contained in:
Logsol 2013-03-22 13:19:22 +01:00
parent 964b81ba65
commit c9d4120384
13 changed files with 6684 additions and 0 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

View file

@ -0,0 +1 @@
This paper describes an attempt to design and assemble a basic monophonic synthesizer prototype consisting of some standard modules that are to be found in virtually every classical synthesizer device, such as an oscillator, an envelope, and a filter.

BIN
facharbeit-10-mar.lyx Normal file

Binary file not shown.

736
facharbeit-28-feb.lyx Normal file
View file

@ -0,0 +1,736 @@
#LyX 2.0 created this file. For more info see http://www.lyx.org/
\lyxformat 413
\begin_document
\begin_header
\textclass report
\begin_preamble
\usepackage{tocloft}
\usepackage{calc}
\usepackage{graphicx}
\usepackage[compact]{titlesec}
\usepackage[absolute]{textpos}
\usepackage[authoryear]{natbib}
\oddsidemargin 0.0in
\textwidth 6.2in
% CHAPTER TITLE
% \titleformat command shape format label sep before after
\titleformat
{\chapter}
[display]
{\normalfont}
{\LARGE\raggedright\thechapter}
{-32pt}
{\LARGE\raggedleft}
[{\titlerule[1pt]}]
\end_preamble
\use_default_options true
\maintain_unincluded_children false
\language english
\language_package default
\inputencoding auto
\fontencoding global
\font_roman newcent
\font_sans default
\font_typewriter default
\font_default_family rmdefault
\use_non_tex_fonts false
\font_sc false
\font_osf false
\font_sf_scale 100
\font_tt_scale 100
\graphics default
\default_output_format default
\output_sync 0
\bibtex_command default
\index_command default
\paperfontsize 11
\spacing onehalf
\use_hyperref false
\papersize a4paper
\use_geometry true
\use_amsmath 1
\use_esint 1
\use_mhchem 1
\use_mathdots 1
\cite_engine natbib_authoryear
\use_bibtopic false
\use_indices false
\paperorientation portrait
\suppress_date false
\use_refstyle 0
\index Index
\shortcut idx
\color #008000
\end_index
\paperwidth 11in
\paperheight 8.5in
\leftmargin 0cm
\topmargin 0cm
\rightmargin 2.5cm
\bottommargin 3cm
\headsep 1cm
\secnumdepth 2
\tocdepth 2
\paragraph_separation indent
\paragraph_indentation default
\quotes_language english
\papercolumns 1
\papersides 1
\paperpagestyle empty
\tracking_changes false
\output_changes false
\html_math_output 0
\html_css_as_file 0
\html_be_strict false
\end_header
\begin_body
\begin_layout Standard
\begin_inset ERT
status open
\begin_layout Plain Layout
% Raised Rule Command:
\end_layout
\begin_layout Plain Layout
% Arg 1 (Optional) - How high to raise the rule
\end_layout
\begin_layout Plain Layout
% Arg 2 - Thickness of the rule
\end_layout
\begin_layout Plain Layout
\backslash
newcommand{
\backslash
raisedrule}[2][0em]{
\backslash
leaders
\backslash
hbox{
\backslash
rule[#1]{1pt}{#2}}
\backslash
hfill}
\end_layout
\begin_layout Plain Layout
\end_layout
\begin_layout Plain Layout
\backslash
begin{textblock*}{
\backslash
paperwidth}(0mm,40mm)
\end_layout
\begin_layout Plain Layout
\backslash
begin{center}
\end_layout
\begin_layout Plain Layout
\backslash
includegraphics[width=
\backslash
paperwidth-400px]{graphics/logo}
\end_layout
\begin_layout Plain Layout
\backslash
end{center}
\end_layout
\begin_layout Plain Layout
\backslash
end{textblock*}
\end_layout
\begin_layout Plain Layout
\end_layout
\begin_layout Plain Layout
\backslash
begin{textblock*}{
\backslash
paperwidth}(21mm,240mm)
\end_layout
\begin_layout Plain Layout
SAE Berlin
\end_layout
\begin_layout Plain Layout
\end_layout
\begin_layout Plain Layout
Student Id: 18128
\end_layout
\begin_layout Plain Layout
\end_layout
\begin_layout Plain Layout
Course: AED412
\end_layout
\begin_layout Plain Layout
\end_layout
\begin_layout Plain Layout
Headinstructor: Boris Kummerer
\end_layout
\begin_layout Plain Layout
\end_layout
\begin_layout Plain Layout
Berlin, Germany 2012
\end_layout
\begin_layout Plain Layout
\end_layout
\begin_layout Plain Layout
\backslash
end{textblock*}
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
author{
\end_layout
\begin_layout Plain Layout
by Karl Pannek
\end_layout
\begin_layout Plain Layout
}
\end_layout
\begin_layout Plain Layout
\end_layout
\begin_layout Plain Layout
\backslash
title{
\backslash
LARGE{Prototyping a Modular Analog Synthesizer}}
\end_layout
\begin_layout Plain Layout
\backslash
maketitle{ }
\end_layout
\begin_layout Plain Layout
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
pagenumbering{arabic}
\end_layout
\begin_layout Plain Layout
\backslash
setcounter{page}{2}
\end_layout
\begin_layout Plain Layout
\backslash
renewcommand
\backslash
contentsname{Table of Contents}
\end_layout
\begin_layout Plain Layout
\backslash
renewcommand{
\backslash
cfttoctitlefont}{
\backslash
hfill
\backslash
Large}
\backslash
renewcommand{
\backslash
cftaftertoctitle}{
\backslash
hfill}
\end_layout
\begin_layout Plain Layout
\backslash
renewcommand
\backslash
cftpartdotsep{6.6}
\end_layout
\begin_layout Plain Layout
\backslash
renewcommand
\backslash
cftchapdotsep{6.6}
\end_layout
\end_inset
\end_layout
\begin_layout Chapter*
About this paper
\end_layout
\begin_layout Section*
Description
\end_layout
\begin_layout Standard
This paper describes an attempt to design and assemble a basic monophonic
synthesizer prototype consisting of some standard modules that are to be
found in virtually every classical synthesizer device, such as an oscillator,
an envelope, and a filter.
\end_layout
\begin_layout Standard
The first sections represent the research on the history and theoretical
background of analog synthesizers in general and modular systems in particular.
These findings are applied to building an experimental device.
First, different circuit concepts will be introduced for each module, so
that the most suitable ones can be identified, whereby comprehensibility
and prices of electronic components play a significant role in the choice
of a circuit design.
The process of building the prototype includes working with an oscilloscope
to examine and verify the shape of various waveforms before and after modulatio
n.
\end_layout
\begin_layout Standard
To make it playable with a keyboard, a MIDI input module is added.
It features an Arduino microprocessor to convert digital MIDI messages
into control voltage outputs that other modules can connect to.
It is the only digital component of the synthesizer, while tone generation
and processing are analog.
\end_layout
\begin_layout Section*
Motivation and Goal
\end_layout
\begin_layout Standard
The project was inspired by the film
\emph on
moog
\emph default
, a documentary about Dr.
Robert Moog, electronic instrument pioneer and inventor.
Its goal is to attain a better understanding of the working of electronic
components and circuits as well as their influence on audio signals.
Another goal is to create a functional synthesizer that is fun to play
and experiment with and therefore obtain some practical experience in the
field of artificial sound generation.
\end_layout
\begin_layout Chapter
Introduction
\end_layout
\begin_layout Chapter
History of the synthesizer
\end_layout
\begin_layout Section
Definition
\end_layout
\begin_layout Standard
A modular analog synthesizer is an electronic instrument, where sound generators
, processors and control facilities are presented as separate independent
entities called modules .
These modules are not wired in a preconceived way, but connected together
with patchchords.
Another essential part of modular synthesis is the concept of control voltage
(short: CV) with which modules may modulate or control the behaviour of
other modules.
\end_layout
\begin_layout Section
Evolution of synthesizers
\end_layout
\begin_layout Subsection
Early Development Milestones
\end_layout
\begin_layout Standard
Around 1900 the inventor Thadedeus Cahill initiated a new era of music by
inventing a 200 ton machine known as the Dynamophone or Thelharmonium
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
citetext{
\backslash
citealp[p.~12]{Humpert1987}}
\end_layout
\end_inset
.
It was an electrical sound generatior, that produced alternating sine wave
currents of different audio frequencies.
A modified electrical dynamo was used in conjunction with several specially
geared shafts and inductors to create the signals.
The Dynamophone could be played with a polyphonic keyboard and featured
special acoustic horns to convert the electrical vibrations into sound.
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
citetext{
\backslash
citealp[p.~12]{Manning1985}}
\end_layout
\end_inset
The timbre of the instrument was shaped from fundamentals and overtones.
This is known as the principle of additive synthesis
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
citetext{
\backslash
citealp[p.~730]{Bode1984}}
\end_layout
\end_inset
.
\end_layout
\begin_layout Standard
In 1924 Leon Theremin created the Aetherophone, which would later be known
as the Theremin.
Unlike most electric instrument developed around that time, the Theremin
had no keyboard.
It was played merely by hand motion around two capacitive detecors, that
generated electrical fields.
These were affected by the electric capacity of the human body.
One of these detectors was a vertical rod to control dynamics and the other
a horizontal loop to change the pitch
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
citetext{
\backslash
citealp[p.~12]{Manning1985}}
\end_layout
\end_inset
.
\end_layout
\begin_layout Standard
\begin_inset Note Note
status open
\begin_layout Plain Layout
Electric instruments at that time were developed primarily to imitate and
evolve the sounds of classical instruments and therefore satisfy traditional
ideas of musical writing
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
citetext{
\backslash
citealp[p.~12]{Manning1985}}
\end_layout
\end_inset
\end_layout
\begin_layout Plain Layout
Theremin
\end_layout
\begin_layout Plain Layout
Ondes Martenot
\end_layout
\begin_layout Plain Layout
Trautonium
\end_layout
\begin_layout Plain Layout
Hammond
\end_layout
\begin_layout Plain Layout
Melochord
\end_layout
\begin_layout Plain Layout
Elektronische Musik Cologne
\end_layout
\begin_layout Plain Layout
Karlheinz Stockhausen
\end_layout
\begin_layout Plain Layout
Poem Electronique
\end_layout
\begin_layout Plain Layout
RCA Mark 2 Synthesizer
\end_layout
\begin_layout Plain Layout
Moog Synthesizer
\end_layout
\end_inset
\end_layout
\begin_layout Subsection
Invention of the modular synthesizer
\end_layout
\begin_layout Section
Relevance in today's electronic music
\end_layout
\begin_layout Chapter
Theory of analog sound synthesis
\end_layout
\begin_layout Section
Wave Synthesis
\end_layout
\begin_layout Standard
The process of wave synthesis is called oscillation and can be described
as the creation of a periodic electronic wave, that oscillates between
voltage minima and maxima.
This part is generally known as the oscillator, which creates a basic wave
signal, that can later be processed and modulated in several ways.
Afterwards it is amplified and projected onto a speaker, that converts
the electronic wave into audible sound waves.
\end_layout
\begin_layout Standard
The waveform (shape of the wave) determines the overtone structure and therefore
the timbre of this basic sound.
Oscillators often provide several waveforms between which it is possible
to switch or even morph back and forth.
The most established synthesizer waveforms are sine, triangle, saw and
square.
\end_layout
\begin_layout Standard
The pitch of the output signal is defined by the frequency that the wave.
\end_layout
\begin_layout Standard
Different approaches to oscillation
\end_layout
\begin_layout Standard
Difference between poly and monophonic synthesis (voices, mono: store last
note value)
\end_layout
\begin_layout Standard
trying to get a wide variety of possible base sounds established different
wave types from soft (sine) to fat (saw) to harsh (square)
\end_layout
\begin_layout Standard
square wave pulse width (modulation)
\end_layout
\begin_layout Standard
LFO
\end_layout
\begin_layout Standard
electronic vibration
\end_layout
\begin_layout Section
Processing
\end_layout
\begin_layout Standard
Subtractive synthesis - filtering and amplitude subtraction
\end_layout
\begin_layout Section
The modular approach
\end_layout
\begin_layout Chapter
Building a concrete prototype
\end_layout
\begin_layout Section
Voltage Controlled Oscillator
\end_layout
\begin_layout Standard
monophonic
\end_layout
\begin_layout Section
Voltage Controlled Filter
\end_layout
\begin_layout Section
Voltage Controlled Amplifier
\end_layout
\begin_layout Section
Input and Output
\end_layout
\begin_layout Chapter
Conclusion
\end_layout
\begin_layout Chapter*
List of figures
\end_layout
\begin_layout Standard
\begin_inset CommandInset bibtex
LatexCommand bibtex
bibfiles "synth_bibliography"
options "plainnat"
\end_inset
\end_layout
\begin_layout Chapter*
Declaration of academic honesty
\end_layout
\begin_layout Chapter*
Appendix
\end_layout
\end_body
\end_document

BIN
facharbeit-6-mar.lyx Normal file

Binary file not shown.

BIN
facharbeit.lyx Normal file

Binary file not shown.

BIN
facharbeit.lyx~ Normal file

Binary file not shown.

BIN
facharbeit.pdf Normal file

Binary file not shown.

BIN
graphics/.DS_Store vendored Normal file

Binary file not shown.

5498
graphics/logo.eps Normal file

File diff suppressed because one or more lines are too long

BIN
graphics/logo.pdf Normal file

Binary file not shown.

312
opposition.lyx Executable file
View file

@ -0,0 +1,312 @@
#LyX 2.0 created this file. For more info see http://www.lyx.org/
\lyxformat 413
\begin_document
\begin_header
\textclass article
\use_default_options true
\maintain_unincluded_children false
\language english
\language_package default
\inputencoding auto
\fontencoding global
\font_roman default
\font_sans default
\font_typewriter default
\font_default_family default
\use_non_tex_fonts false
\font_sc false
\font_osf false
\font_sf_scale 100
\font_tt_scale 100
\graphics default
\default_output_format default
\output_sync 0
\bibtex_command default
\index_command default
\paperfontsize default
\spacing single
\use_hyperref false
\papersize a4paper
\use_geometry true
\use_amsmath 1
\use_esint 1
\use_mhchem 1
\use_mathdots 1
\cite_engine basic
\use_bibtopic false
\use_indices false
\paperorientation portrait
\suppress_date false
\use_refstyle 1
\index Index
\shortcut idx
\color #008000
\end_index
\leftmargin 2.5cm
\secnumdepth 3
\tocdepth 3
\paragraph_separation indent
\paragraph_indentation default
\quotes_language english
\papercolumns 1
\papersides 1
\paperpagestyle default
\tracking_changes false
\output_changes false
\html_math_output 0
\html_css_as_file 0
\html_be_strict false
\end_header
\begin_body
\begin_layout Title
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
Huge{Erlang Embedded Simulation Opposition}
\end_layout
\end_inset
\end_layout
\begin_layout Author
Jonatan Pålsson
\begin_inset Newline newline
\end_inset
Richard Pannek
\begin_inset Newline newline
\end_inset
Mattias Pettersson
\begin_inset Newline newline
\end_inset
Niklas Landin
\end_layout
\begin_layout Standard
Simulating hardware devices in Erlang is a very interesting topic.
The concurrent nature of Erlang should allow interesting hardware composed
of several systems, such as industrial robots to be simulated.
This thesis is valuable for the industry since it is based on an already
existing industrial experiment (Erlang Embedded), and it is interesting
to see a tool which can so readily be used in the industry to improve the
workflow and product quality in the field of embedded devices.
\end_layout
\begin_layout Standard
The abstract is clear and concise, it provides the reader with a good overview
of the thesis.
\end_layout
\begin_layout Section*
Unclear points
\end_layout
\begin_layout Standard
When reading this thesis some questions came to mind:
\end_layout
\begin_layout Itemize
Is there any research suggesting superiority of simulators over real hardware
or emulators during the development process?
\end_layout
\begin_layout Itemize
It is unclear if actual simulators have been developed, or if a re-playing
software has been developed.
What makes the software a simulator and not a re-player?
\end_layout
\begin_layout Itemize
Is a re-playing software also to be considered a simulator, even though
it can only carry out pre-defined sequences of commands?
\end_layout
\begin_layout Itemize
It is stated that “recording has a great value for embedded simulation,
but also elsewhere”, why is this exactly?
\end_layout
\begin_layout Itemize
Which uses are there of recording, precisely?
\end_layout
\begin_layout Itemize
Why is recording favoured over emulation, for example? How can recorded
data be used for simulation and not only for play-back?
\end_layout
\begin_layout Standard
Specifically:
\end_layout
\begin_layout Itemize
4.1: What are “simple stubs” and are they really simulators?
\end_layout
\begin_layout Itemize
4.1: Is hand waving the best approach to analysing the quality of the supervisors
? Also, what is the “old work flow” in this context?
\end_layout
\begin_layout Itemize
4.2: This section states a simulation library and support for creating new
simulators.
Yet these are not explained like for example the convenience scripts.
\end_layout
\begin_layout Itemize
5.2: Exactly how is the quality of the simulators measured? Which metrics
are used? Some metrics are presented here, but not motivated, also results
are not shown.
\end_layout
\begin_layout Itemize
7.1: mentions a generic module to support the development of simulators.
Furthermore the section describes some simulators developed using the gen_fsm
behaviour.
Which additional features are provided by the software described in this
thesis, which are not already present in the gen_fsm behaviour?
\end_layout
\begin_layout Itemize
According to 7.4, API:s and simulators must be created when they don't already
exist, why is this not represented in the first flow chart? Does your applicati
on provide any ways to reduce development time of simulators? The quality
of a simulator may vary..
You created three simple device simulators.
How long did it take to create them? Case studies of developing these could
motivate the usage of simulators over hardware.
\end_layout
\begin_layout Standard
A future improvement to the project is creating a finite state machine from
the log files.
It is unclear to us how this improves the system.
\end_layout
\begin_layout Standard
Also, there are some factual errors; processes do share data, and data is
shared through message passing.
Memory is however not shared, perhaps this was what was intended to be
written.
PIDs can indeed be converted to lists, using the pid_to_list/1 function.
\end_layout
\begin_layout Section*
Results
\end_layout
\begin_layout Standard
What are the results from using the software discussed compared to the old
technique, of developing straight on the bare metal? Are there any results
in the terms of speed, reliability, cost effectiveness, usability (hard
to quantify)?
\end_layout
\begin_layout Standard
It would be interesting to see a case study of some software developed using
a simulator versus software developed using the actual hardware.
In which scenarios are simulators cost effective compared to actual hardware?
In which scenarios do simulators speed up the development of software?
\end_layout
\begin_layout Standard
Concerning the actual results, the following points remain unclear:
\end_layout
\begin_layout Itemize
How long does it take to upload the code to the hardware and how often is
this done during development, on average?
\end_layout
\begin_layout Itemize
How long does it take to get to know your system, write the simulators and
follow the steps you described? Is the workflow more efficient using your
system?
\end_layout
\begin_layout Itemize
Did you calculate a difference of time between development on the hardware
versus in a simulated environment?
\end_layout
\begin_layout Standard
The graphs provided are inconclusive and lack good descriptive texts.
It is unclear which metrics are used on each axis, and exactly what is
being measured; for instance, what is a
\begin_inset Quotes eld
\end_inset
sample
\begin_inset Quotes erd
\end_inset
?
\end_layout
\begin_layout Standard
The accuracy of the simulators was presented in a graph, and it can be seen
from the graph that the accuracy is not 100%.
Why is this, and is this not exceptionally alarming for a simulator? Which
impacts does this have on the simulation?
\end_layout
\begin_layout Section*
Language
\end_layout
\begin_layout Standard
The language style in the thesis is not formal as it would be expected in
an academical paper, such as a bachelors thesis.
Many subject-verb agreement mistakes have been made which makes it rather
hard to follow.
\end_layout
\begin_layout Standard
Some terms could be introduced better; OTP, Beagle Board, Gumstix, Ångström/Angs
trom, distro, NAT, OS, Panda Board, VM, stub, public/subscribe, request-response
, OS variable and SSH.
Erlang is introduced properly, and the same could perhaps be done for these
terms as well.
The structure of function calls (fun/num of pars) is not obvious to the
reader, perhaps it could be explained.
\end_layout
\begin_layout Standard
It is hard to refer to the figures since they are not numbered.
\end_layout
\begin_layout Section*
What we would like to see ...
\end_layout
\begin_layout Standard
It would be interesting to see this system combined with a testing framework,
like QuickCheck, in order to create a powerful test suite which generates
tests using real data samples.
If the data generated by the recorder could be used as input to a testing
framework, like QuickCheck, a very powerful and random test suite could
be created.
\end_layout
\begin_layout Standard
A graphical user interface could be useful to present the simulators in
a more efficient way to the users of the simulator.
Providing a framework for creating graphical simulators would be a nice
improvement.
\end_layout
\end_body
\end_document

137
synth_bibliography.bib Normal file
View file

@ -0,0 +1,137 @@
@BOOK{Anwander2011,
AUTHOR = {Anwander, Florian},
YEAR = {2011},
TITLE = {Synthesizer - So funktioniert elektronische Klangerzeugung},
EDITION = {6. Aufl.},
ISBN = {978-3-941-53170-3},
PUBLISHER = {PPV Medien GmbH},
ADDRESS = {Bergkirchen},
}
@book{Manning1985,
title={Electronic and computer music},
author={Manning, P.},
isbn={9780193119185},
lccn={lc84007618},
year={1985},
publisher={Clarendon Press},
address={Oxford}
}
@BOOK{Humpert1987,
AUTHOR = {Humpert, Hans Ulrich},
YEAR = {1987},
TITLE = {Elektronische Musik},
EDITION = {},
ISBN = {978-3-795-71786-5},
PUBLISHER = {Schott},
ADDRESS = {Wien},
}
@BOOK{Ruschkowski1990,
AUTHOR = {Ruschkowski, Andre},
YEAR = {1990},
TITLE = {Soundscapes - elektronische Klangerzeugung und Musik},
EDITION = {1. Auflage,},
ISBN = {978-3-733-20058-9},
PUBLISHER = {Lied der Zeit},
ADDRESS = {Berlin},
}
@book{Pinch2004,
title={Analog days: The invention and impact of the Moog synthesizer},
author={Pinch, Trevor J and Trocco, Frank and Pinch, TJ},
year={2004},
publisher={Harvard University Press},
address={Cambridge, Massachusetts, and London, England}
}
@book{Friesecke2007,
title={Die Audio-Enzyklop{\"a}die: Ein Nachschlagewerk f{\"u}r Tontechniker},
author={Friesecke, Andreas},
year={2007},
publisher={KG Saur Verlag Gmbh \& Company}
}
@book{Sontheimer2004,
title={Audio-Schaltungstechnik},
author={Sontheimer, Robert},
isbn={9783895761546},
year={2004},
publisher={Elektor},
address = {Aachen}
}
@BOOK{Hutchins1975,
AUTHOR = {Hutchins, Bernie A.},
YEAR = {1975},
TITLE = {Musical Engineer's Handbook - Musical Engineering for Electronic Music},
EDITION = {first},
ISBN = {},
PUBLISHER = {Electronotes},
ADDRESS = {Ithaca, NY},
}
@article{Bode1984,
title={History of electronic sound modification},
author={Bode, Harald},
journal={Journal of the Audio Engineering Society},
volume={32},
number={10},
pages={736--9},
year={1984}
}
@article{Dunn1992,
title={A History of Electronic Music Pioneers},
author={Dunn, David},
journal={ders.(Hrsg.), Eigenwelt der Apparate-Welt.(Katalog), Linz},
pages={21--62},
year={1992}
}
@MISC{Burns:website,
AUTHOR = "Dr. Kristine H. Burns",
TITLE = "History of Electronic Music",
MONTH = "February",
YEAR = {2013},
URL = "http://www.djmaquiavelo.com/History.html"
}
article{Vinoski:2007:RE:1304062.1304553,
author = {Vinoski, Steve},
title = {Reliability with Erlang},
journal = {IEEE Internet Computing},
volume = {11},
issue = {6},
month = {November},
year = {2007},
issn = {1089-7801},
pages = {79--81},
numpages = {3},
url = {http://portal.acm.org/citation.cfm?id=1304062.1304553},
doi = {10.1109/MIC.2007.132},
acmid = {1304553},
publisher = {IEEE Educational Activities Department},
address = {Piscataway, NJ, USA},
keywords = {toward integration, Erlang, programming language, middleware, telecommunications, reliability, enterprise-integration},
}
misc{armstrong2011,
author = {Joe Armstrong},
title = {If Erlang is the answer, then what is the question?},
year = {2011},
address = {IT University, Gothenburg},
}
phdthesis{Agha:1985:AMC:912083,
author = {Agha, Gul Abdulnabi},
title = {Actors: a model of concurrent computation in distributed systems (parallel processing, semantics, open, programming languages, artificial intelligence)},
year = {1985},
note = {AAI8520855},
publisher = {University of Michigan},
address = {Ann Arbor, MI, USA},
}