Added glossary
This commit is contained in:
parent
46f5fed5f6
commit
e63263eccc
1 changed files with 649 additions and 14 deletions
663
report.lyx
663
report.lyx
|
@ -87,6 +87,10 @@
|
|||
\floatstyle{ruled}
|
||||
\newfloat{code}{thp}{lop}
|
||||
\floatname{code}{Code}
|
||||
|
||||
\usepackage{nomencl}
|
||||
\makenomenclature
|
||||
\renewcommand{\nomname}{Glossary}
|
||||
\end_preamble
|
||||
\use_default_options true
|
||||
\maintain_unincluded_children false
|
||||
|
@ -349,6 +353,34 @@ Zork,
|
|||
or
|
||||
\emph on
|
||||
Pacman.
|
||||
\begin_inset ERT
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{Zork}{A textual computer game developed by students at MIT}
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{Pacman}{An early graphical computer game developed by Namco}
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{NetHack}{An early computer game developed by the NetHack team,
|
||||
arguably the oldest computer game still in development}
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
|
@ -406,8 +438,22 @@ Due to the increasing importance of computer gaming, more focus should be
|
|||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
The reliable generic game server, hereafter known as GGS, is a computer
|
||||
program designed to
|
||||
The reliable generic game server, hereafter known as GGS
|
||||
\begin_inset ERT
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{GGS}{Generic Game Server, a software for reliably hosting network
|
||||
games.
|
||||
The subject of this thesis.}
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
, is a computer program designed to
|
||||
\emph on
|
||||
host
|
||||
\emph default
|
||||
|
@ -455,6 +501,68 @@ Counter-Strike
|
|||
The difference between the GGS and the servers for these games is that
|
||||
the servers for Doom, Quake, and the others listed, were designed with
|
||||
these specific games in mind.
|
||||
\begin_inset ERT
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{Quake}{A first person shooter series developed by ID software.
|
||||
The series consists of four games.}
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{Doom}{A first person shooter series developed by ID software.
|
||||
The series consists of three games.}
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{World of Warcraft}{A MMORPG game developed by Blizzard.
|
||||
The world's most popular MMORPG by subscriber count.}
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{Counter-Strike}{A multiplayer first person shooter game, popular
|
||||
in E-Sports.}
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{Framework}{A supporting structure, the GGS is a framework for
|
||||
developing network games}
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{First-person shooter}{A game in which centers around gun combat
|
||||
from the first person perspective.}
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{MMORPG}{Massively multiplayer online role playing game.
|
||||
An online game with several thousand participants.}
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
|
@ -486,6 +594,28 @@ reliable
|
|||
and software failiures gracefully.
|
||||
In the event of a component breaking within the GGS, the error is handled
|
||||
by fault recovery processes, thereby creating a more reliable system.
|
||||
\begin_inset ERT
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{Hardware failiure}{A failiure in hardware (hard drive, memory,
|
||||
processor, etc) which causes a system to stop functioning}
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{Software failiure}{A failiure in software (the GGS, the operating
|
||||
system, etc) which causes a system to stop functioning}
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Section
|
||||
|
@ -521,6 +651,37 @@ Citation needed
|
|||
Users will notice this in low uptime and many crashes.
|
||||
This is a problem that has existed and been resolved in other industries.
|
||||
In the telecom industry solutins to similar problems have been found.
|
||||
\begin_inset ERT
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{The nine nines}{A common goal for availability in the telecom
|
||||
business.
|
||||
A system with nine nines of availability is available 99.999999999% of the
|
||||
time}
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{Downtime}{The amount of time a system is unavailable and does
|
||||
not function}
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{Uptime}{The amount of time a system is available and functions}
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
|
@ -536,7 +697,17 @@ the nine nines
|
|||
\begin_inset Formula $15ms$
|
||||
\end_inset
|
||||
|
||||
downtime in a year.
|
||||
downtime in a year
|
||||
\begin_inset Note Note
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
Citation needed
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
.
|
||||
The level of instability and bad fault tolerance seen in the game server
|
||||
industry would not have been accepted in the telecoms industry.
|
||||
This level of instability should not be accepted in the game server industry
|
||||
|
@ -710,6 +881,65 @@ TUXEDO
|
|||
\emph default
|
||||
application server, which can be used to run applications written in COBOL,
|
||||
C++ and other languages.
|
||||
\begin_inset ERT
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{SQL}{Structured Query Language, a computer language common
|
||||
in querying certain databases}
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{JavaScript}{A programming language originally developed by
|
||||
Netscape, common in web programming}
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{COBOL}{Programming language}
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{C++}{Programming language}
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{Java}{Programming language}
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{AXD301}{Telephone switch developed by Ericsson}
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{Erlang}{A concurrent programming language, often used for telecom
|
||||
applications.
|
||||
The main language of the GGS}
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
|
@ -856,6 +1086,27 @@ game development language
|
|||
\emph default
|
||||
(hereafter GDL for brevity) is used.
|
||||
|
||||
\begin_inset ERT
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{GDL}{Game Development Language, the language used to program
|
||||
games in the GGS}
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{VM}{Virtual Machine}
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
|
@ -929,6 +1180,26 @@ The implementation of the GGS protocol, together with storage possibilities,
|
|||
the project.
|
||||
To get a functional prototype some limits must be set on the types games
|
||||
that can be played on the prototype.
|
||||
\begin_inset ERT
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{UDP}{User Datagram Protocol, a connectionless networking protocol}
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{TCP}{Transmission Control Protocol, a streaming network protocol}
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
|
@ -950,6 +1221,19 @@ reference "sec:Choice-of-network"
|
|||
Another limitation necessary to set on the system is the possibility to
|
||||
have huge game worlds due to the implementation of the scaling mechanism
|
||||
in the prototype.
|
||||
\begin_inset ERT
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{Latency}{A measure of delay, often measured in milliseconds}
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
|
@ -1031,6 +1315,19 @@ A prototype was developed early on in the project in order to carry out
|
|||
Using this prototype, the system was divided into modules.
|
||||
A demand specification was created, using this specification, the modules
|
||||
were easily identifiable.
|
||||
\begin_inset ERT
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{Module}{A part of a larger system}
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
|
@ -1752,10 +2049,6 @@ A very simple example of the flow through the GGS system when a game played.
|
|||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Section
|
||||
|
@ -1935,6 +2228,20 @@ There are three main ways in which computer communication over the Internet
|
|||
Application layer protocols such as HTTP on the other hand needs a transport
|
||||
layer protocol in order to work.
|
||||
|
||||
\begin_inset ERT
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{HTTP}{Hyper Text Transport Protocol, a network protocol commonly
|
||||
used to deliver web pages}
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Subsection
|
||||
|
@ -2176,6 +2483,20 @@ messages
|
|||
\emph default
|
||||
instead of shared memory.
|
||||
We will discuss each of them later on.
|
||||
\begin_inset ERT
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{Supervisor}{A process monitoring and hadning crashes in other
|
||||
processes}
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Section
|
||||
|
@ -2240,6 +2561,19 @@ The need for load balancing varies between different kind of systems.
|
|||
works on.
|
||||
A static structure where the number of servers are predefined or a dynamic
|
||||
structure where the number varies.
|
||||
\begin_inset ERT
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{Amazon EC2}{A cloud computation service}
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
|
@ -2321,6 +2655,19 @@ name "sub:UUID"
|
|||
\end_inset
|
||||
|
||||
|
||||
\begin_inset ERT
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{UUID}{Universally Unique Identifier}
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
|
@ -2528,6 +2875,28 @@ The obvious solution to this problem is to ensure mutual exclusion by using
|
|||
A different approach is to give each node the ability to generate Universally
|
||||
Unique Identifiers (UUID), where the state of one machine does not interfere
|
||||
with the state of another.
|
||||
\begin_inset ERT
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{MAC Address}{Media Access Control address, used to identify
|
||||
network cards}
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{SHA-1}{Cryptigraphic hash function, designed by the National
|
||||
Security Agency (NSA)}
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
|
@ -2614,6 +2983,21 @@ reference "alg:A-simple-generator"
|
|||
|
||||
, even when mutual system-wide exclusion is implemented.
|
||||
This is exactly the problem UUID:s solve.
|
||||
\begin_inset ERT
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{Network split}{Separation of two networks, occurs when two
|
||||
networks can not communicate, commonly because of a hardware or software
|
||||
failiure}
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
|
@ -2717,6 +3101,20 @@ We only support languages running in a sandboxed environment.
|
|||
relational database.
|
||||
A game is not allowed to venture outside this namespace, and can because
|
||||
of this not modify the persistent data of other games.
|
||||
\begin_inset ERT
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{Sandbox}{A protected environment in which computer software
|
||||
can be run safely}
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Subsection
|
||||
|
@ -2830,6 +3228,54 @@ https://github.com/languages/
|
|||
with the availability of several different JavaScript virtual machines
|
||||
was an important influence in choosing JavaScript as the main control language
|
||||
for our GGS prototype.
|
||||
\begin_inset ERT
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{CouchDB}{Database server}
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{Riak}{Database server}
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{GitHub.com}{Social coding website}
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{ActionScript}{Programming language}
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{Lua}{Programming language}
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{.NET}{Software platform}
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Subsection
|
||||
|
@ -2987,6 +3433,28 @@ key "McKusick:2004:DIF:1014910"
|
|||
\end_inset
|
||||
|
||||
.
|
||||
\begin_inset ERT
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{LWP}{Light Weight Process}
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{Context switch}{The act of switching from one context, commonly
|
||||
a process, to another.
|
||||
Used by operating systems to achieve multi tasking}
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
|
@ -3159,6 +3627,20 @@ 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.
|
||||
\begin_inset ERT
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{Mutex}{A construct for achieving mutial exclusion, used to
|
||||
avoid simultaneous access to shared resources in computer systems}
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
|
@ -3290,6 +3772,26 @@ reference "sec:Game-Development-Language"
|
|||
\end_inset
|
||||
|
||||
.
|
||||
\begin_inset ERT
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{OTP}{Open Telecom Platform, a software suite for Erlang}
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{Behaviour}{A design pattern in OTP}
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
|
@ -3381,6 +3883,20 @@ application
|
|||
the GGS can be started in a way uniform to most erlang software, providing
|
||||
familiarity for other Erlang users, and eases the incorporation of the
|
||||
GGS in other applications.
|
||||
\begin_inset ERT
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{Application}{A way of packaging Erlang software in a uniform
|
||||
way}
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
|
@ -3445,6 +3961,20 @@ localstorage
|
|||
Unique id:s called gametokens are generated for hosted games so that they
|
||||
are not mixed up.
|
||||
|
||||
\begin_inset ERT
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{WebStorage}{A new standard for letting websites store data
|
||||
on visitors' computers}
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
|
@ -3560,6 +4090,27 @@ Am I right here?
|
|||
\end_inset
|
||||
|
||||
|
||||
\begin_inset ERT
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{SRP}{Single Responsibility Principle}
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{Object Oriented Programming}{A programming paradigm focusing
|
||||
on objects}
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Subsection
|
||||
|
@ -4137,7 +4688,7 @@ After a crash in a table process, the entire table must be rebuilt and the
|
|||
Data kept in the actual game is not automatically corrupted by the crash
|
||||
in a table, however the table must be re-associated with the game VM is
|
||||
was associated with prior to the crash of the table.
|
||||
The table process maps well into the setting of the real-world chess clib
|
||||
The table process maps well into the setting of the real-world chess club
|
||||
scenario previously discussed.
|
||||
A table works in the same way in a real world setting as in the GGS setting.
|
||||
\end_layout
|
||||
|
@ -4147,7 +4698,7 @@ The game virtual machine module
|
|||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
This module holds the game logic of a game and is responsible for the vm
|
||||
This module holds the game logic of a game and is responsible for the VM
|
||||
associated with each game.
|
||||
|
||||
\end_layout
|
||||
|
@ -4175,7 +4726,7 @@ The VM itself makes it possible for the game developer to program in the
|
|||
doesn't need to take this into consideration when programming a game.
|
||||
If a method within the game sends data to a player, it will be delivered
|
||||
to the player in the correct running game.
|
||||
The same game token is used to store the game state in the db.
|
||||
The same game token is used to store the game state in the database.
|
||||
Therefore, no game states will be mixed up either.
|
||||
\end_layout
|
||||
|
||||
|
@ -4203,6 +4754,19 @@ Game data from all games on the GGS are stored here.
|
|||
This makes it possible to continue a game just before the failure without
|
||||
having to start the game from the beginning.
|
||||
|
||||
\begin_inset ERT
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{Mnesia}{Database server used in the GGS}
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
|
@ -4261,6 +4825,29 @@ key "ieee_90"
|
|||
.
|
||||
There are some tools for creating reliable applications built in to Erlang.
|
||||
|
||||
\begin_inset ERT
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{Reliability}{The ability of a system or component to perform
|
||||
its required functions under stated conditions for a specified period of
|
||||
time}
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{IEEE}{Institute of Electrical and Electronics Engineers, read
|
||||
"I-triple-E"}
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Itemize
|
||||
|
@ -4933,6 +5520,26 @@ There were two possible solutions to the problem.
|
|||
|
||||
\begin_layout Standard
|
||||
To get the functionality needed we decided to implement this in erlang_js.
|
||||
\begin_inset ERT
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{V8}{JavaScript engine developed by Google}
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{SpiderMonkey}{JavaScript engine developed by Mozilla}
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Subsection
|
||||
|
@ -5220,6 +5827,19 @@ Currently Mnesia is used for game data storage.
|
|||
ETS provides fast access to the RAM and thus Mnesia could be used less
|
||||
frequently.
|
||||
|
||||
\begin_inset ERT
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
nomenclature{ETS}{Erlang Term Storage}
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Subsection
|
||||
|
@ -5283,12 +5903,27 @@ To start the GGS isn't self explanatory.
|
|||
Conclusion
|
||||
\end_layout
|
||||
|
||||
\begin_layout Chapter*
|
||||
Glossary
|
||||
\begin_layout Standard
|
||||
\begin_inset ERT
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
addcontentsline{toc}{section}{Glossary}
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Here we could add some important words and their definitions..
|
||||
\begin_layout Plain Layout
|
||||
|
||||
|
||||
\backslash
|
||||
printnomenclature
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue