Skip to content
Browse files

Added text on properties of erlang, much can be added here

  • Loading branch information...
1 parent 4ffc1ac commit 36b7f15fe8338acb1693df5967c2ce9b8c90f131 @jonte committed May 1, 2011
Showing with 202 additions and 4 deletions.
  1. +36 −1 bibliography.bib
  2. +166 −3 report.lyx
View
37 bibliography.bib
@@ -178,7 +178,7 @@ @MISC{nethack:website
@MISC{thenumbers:website,
AUTHOR = "Nash Information Services, LLC",
- TITLE = "US Movie Market Summary 1995 to 2011",
+ TITLE = "U.S Movie Market Summary 1995 to 2011",
MONTH = "April",
YEAR = {2011},
URL = "http://www.the-numbers.com/market/"
@@ -191,3 +191,38 @@ @MISC{esa:website
YEAR = {2011},
URL = "http://www.theesa.com/facts/index.asp"
}
+
+
+@article{Armstrong:2010:ERL:1810891.1810910,
+ author = {Armstrong, Joe},
+ title = {Erlang},
+ journal = {Commun. ACM},
+ issue_date = {September 2010},
+ volume = {53},
+ issue = {9},
+ month = {September},
+ year = {2010},
+ issn = {0001-0782},
+ pages = {68--75},
+ numpages = {8},
+ url = {http://doi.acm.org.proxy.lib.chalmers.se/10.1145/1810891.1810910},
+ doi = {http://doi.acm.org.proxy.lib.chalmers.se/10.1145/1810891.1810910},
+ acmid = {1810910},
+ publisher = {ACM},
+ address = {New York, NY, USA},
+}
+@inproceedings{Armstrong:2007:HE:1238844.1238850,
+ author = {Armstrong, Joe},
+ title = {A history of Erlang},
+ booktitle = {Proceedings of the third ACM SIGPLAN conference on History of programming languages},
+ series = {HOPL III},
+ year = {2007},
+ isbn = {978-1-59593-766-7},
+ location = {San Diego, California},
+ pages = {6-1--6-26},
+ url = {http://doi.acm.org/10.1145/1238844.1238850},
+ doi = {http://doi.acm.org/10.1145/1238844.1238850},
+ acmid = {1238850},
+ publisher = {ACM},
+ address = {New York, NY, USA},
+}
View
169 report.lyx
@@ -321,7 +321,7 @@ Zork,
\emph default
or
\emph on
-Pac Man.
+Pacman.
\end_layout
\begin_layout Standard
@@ -527,8 +527,18 @@ Moving back to the gaming industry.
for game companies to expand its customer base.
Reliable game servers are one improvement that will create a good image
of a company.
- In general the downtime of game servers are much higher than the downtime
- of telecom system.
+ In general the downtime of game servers is much higher than the downtime
+ of telecom system
+\begin_inset Note Note
+status open
+
+\begin_layout Plain Layout
+Citation needed...
+\end_layout
+
+\end_inset
+
+.
The structure of the system is similar in many ways and it should be possible
to reuse solutions from the telecom system to improve game servers.
@@ -716,6 +726,14 @@ key "Armstrong03"
.
The same language is used to develop the prototype of the GGS.
+ Usage of Erlang in the GGS is discussed in further detail in section
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sec:The-usage-of-erlang"
+
+\end_inset
+
+.
Chapter
\begin_inset CommandInset ref
LatexCommand vref
@@ -2243,6 +2261,13 @@ Because P2P game architectures are a constant goal for cheaters and because
\begin_layout Subsection
UUID
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:UUID"
+
+\end_inset
+
+
\end_layout
\begin_layout Standard
@@ -2643,6 +2668,13 @@ Encryption
\begin_layout Section
Game Development Language in a Virtual Machine
+\begin_inset CommandInset label
+LatexCommand label
+name "sec:Game-Development-Language"
+
+\end_inset
+
+
\end_layout
\begin_layout Standard
@@ -3062,6 +3094,137 @@ reference "sec:The-modular-structure"
\begin_layout Section
The usage of Erlang in the GGS
+\begin_inset CommandInset label
+LatexCommand label
+name "sec:The-usage-of-erlang"
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+Erlang was designed by Ericsson, beginning in 1986, for the purpose of creating
+ concurrent applications and improving telecom software.
+ Features essential for the telecom instustry to achieve high availability
+ in telecom switches were added to the language.
+\end_layout
+
+\begin_layout Standard
+Erlang uses message passing in favour of shared memory, mutextes and locks,
+ something which at the time was controversial among fellow developers
+\begin_inset CommandInset citation
+LatexCommand citet
+key "Armstrong:2010:ERL:1810891.1810910"
+
+\end_inset
+
+.
+ The reason for using message passing, according to Armstrong, was that
+ applications should operate correctly before optimizations are done, where
+ efficient internal communication within the Erlang machine was considered
+ a later optimization.
+\end_layout
+
+\begin_layout Standard
+In using message passing in favour of the methods commonly used at the time,
+ the issues commonly associated with shared memory and locking were avoided.
+ In Erlang, everything is a process, and everything operates in its own
+ memory space.
+ Memory can not be shared among processes, which prohibits a process from
+ corrupting the memory of a different process.
+\end_layout
+
+\begin_layout Standard
+Messages are sent between the processes in an asynchronous manner, and each
+ process has a mailbox in which these messages can be retrieved.
+\end_layout
+
+\begin_layout Standard
+Processes in Erlang are also called
+\emph on
+Light Weight Processes.
+
+\emph default
+The Erlang processes are very cheaply created.
+ Processes exist within an Erlang machine, or Erlang node.
+ The Erlang machine has its own scheduler and does not rely on the operating
+ system's scheduler, this is a main reason of Erlang's capability of running
+ many concurrent processes
+\begin_inset CommandInset citation
+LatexCommand citet
+key "Armstrong03"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Standard
+The strong isolation of Erlang processes make them ideal for multicore and
+ distributed systems.
+ Distribution of software is included as a fundamental part in the Erlang
+ language.
+ The 'physical' location of a process, e.g.
+ which computer the process runs on, is not important when communicating
+ with the process.
+ Processes can communicate regardless of whether they run on the same system
+ of not, transparently.
+\end_layout
+
+\begin_layout Standard
+The distributed nature of Erlang is something the GGS makes use of when
+ scaling across several computers in order to achieve higher performance.
+\end_layout
+
+\begin_layout Standard
+A very important feature of Erlang, used in the GGS, is the ability to interface
+ with external hardware and software.
+ Erlang allows communication with external resources through
+\emph on
+ports.
+
+\emph default
+ Through ports communication can take place much in the same way communication
+ is performed over sockets.
+\end_layout
+
+\begin_layout Standard
+The GGS uses Erlang ports for generating UUID:s
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+UUID:s are discussed in section
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:UUID"
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+ and for interfacing with the virtual machines of games
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+Virtual machines of games are discussed in section
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sec:Game-Development-Language"
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+.
\end_layout
\begin_layout Standard

0 comments on commit 36b7f15

Please sign in to comment.
Something went wrong with that request. Please try again.