Changed all VM:s to VMs
This commit is contained in:
parent
9eb4bc2093
commit
a86e0fca3c
1 changed files with 24 additions and 24 deletions
48
report.lyx
48
report.lyx
|
@ -1356,8 +1356,8 @@ ng them, a Generic Game Server should address all of them and help the developer
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Standard
|
\begin_layout Standard
|
||||||
Due to the limited capability of threading in many GDL VM:s, the GGS prototype
|
Due to the limited capability of threading in many GDL VMs, the GGS prototype
|
||||||
will not support MMORPG:s.
|
will not support MMORPGs.
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Standard
|
\begin_layout Standard
|
||||||
|
@ -2976,7 +2976,7 @@ Ds generated until 3400 A.D.
|
||||||
This is accomplished by gathering several different sources of information,
|
This is accomplished by gathering several different sources of information,
|
||||||
such as: time, MAC addresses of network cards, and operating system data,
|
such as: time, MAC addresses of network cards, and operating system data,
|
||||||
such as percentage of memory in use, mouse cursor position and process
|
such as percentage of memory in use, mouse cursor position and process
|
||||||
ID:s.
|
IDs.
|
||||||
The gathered data is then
|
The gathered data is then
|
||||||
\emph on
|
\emph on
|
||||||
hashed
|
hashed
|
||||||
|
@ -3028,7 +3028,7 @@ and
|
||||||
|
|
||||||
\emph default
|
\emph default
|
||||||
the rest of the network later re-establish communication, they may have
|
the rest of the network later re-establish communication, they may have
|
||||||
generated the same ID:s if using algorithm
|
generated the same IDs if using algorithm
|
||||||
\begin_inset CommandInset ref
|
\begin_inset CommandInset ref
|
||||||
LatexCommand ref
|
LatexCommand ref
|
||||||
reference "alg:A-simple-generator"
|
reference "alg:A-simple-generator"
|
||||||
|
@ -3036,7 +3036,7 @@ reference "alg:A-simple-generator"
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
, even when mutual system-wide exclusion is implemented.
|
, even when mutual system-wide exclusion is implemented.
|
||||||
This is exactly the problem UUID:s solve.
|
This is exactly the problem UUIDs solve.
|
||||||
\begin_inset ERT
|
\begin_inset ERT
|
||||||
status open
|
status open
|
||||||
|
|
||||||
|
@ -3863,24 +3863,24 @@ ports
|
||||||
\emph on
|
\emph on
|
||||||
NIF
|
NIF
|
||||||
\emph default
|
\emph default
|
||||||
:s (Native implemented functions)
|
s (Native implemented functions)
|
||||||
\emph on
|
\emph on
|
||||||
.
|
.
|
||||||
|
|
||||||
\emph default
|
\emph default
|
||||||
Through ports communication can take place much in the same way communication
|
Through ports communication can take place much in the same way communication
|
||||||
is performed over sockets.
|
is performed over sockets.
|
||||||
NIF:s are called like any other functions without any difference to the
|
NIFs are called like any other functions without any difference to the
|
||||||
caller but are implemented in C.
|
caller but are implemented in C.
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Standard
|
\begin_layout Standard
|
||||||
The GGS uses Erlang ports for generating UUID:s
|
The GGS uses Erlang ports for generating UUIDs
|
||||||
\begin_inset Foot
|
\begin_inset Foot
|
||||||
status collapsed
|
status collapsed
|
||||||
|
|
||||||
\begin_layout Plain Layout
|
\begin_layout Plain Layout
|
||||||
UUID:s are discussed in section
|
UUIDs are discussed in section
|
||||||
\begin_inset CommandInset ref
|
\begin_inset CommandInset ref
|
||||||
LatexCommand ref
|
LatexCommand ref
|
||||||
reference "sub:UUID"
|
reference "sub:UUID"
|
||||||
|
@ -3892,7 +3892,7 @@ reference "sub:UUID"
|
||||||
|
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
and NIF:s for interfacing with the virtual machines of games
|
and NIFs for interfacing with the virtual machines of games
|
||||||
\begin_inset Foot
|
\begin_inset Foot
|
||||||
status collapsed
|
status collapsed
|
||||||
|
|
||||||
|
@ -4364,7 +4364,7 @@ reference "alg:exposing-erlang"
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
is specific to V8 and JavaScript, however implementations for different
|
is specific to V8 and JavaScript, however implementations for different
|
||||||
GDL:s, or different JavaScript VM:s should be similar.
|
GDLs, or different JavaScript VMs should be similar.
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Standard
|
\begin_layout Standard
|
||||||
|
@ -5558,7 +5558,7 @@ The game VM contains the state of the VM and a table token associated with
|
||||||
\begin_layout Standard
|
\begin_layout Standard
|
||||||
The VM itself makes it possible for the game developer to program in the
|
The VM itself makes it possible for the game developer to program in the
|
||||||
programming language covered by the VM.
|
programming language covered by the VM.
|
||||||
In future releases, more game VM:s will be added to support more programming
|
In future releases, more game VMs will be added to support more programming
|
||||||
languages.
|
languages.
|
||||||
Because the game VM keeps track of the correct table, the game developer
|
Because the game VM keeps track of the correct table, the game developer
|
||||||
does not need to take this into consideration when programming a game.
|
does not need to take this into consideration when programming a game.
|
||||||
|
@ -5896,7 +5896,7 @@ GGS.
|
||||||
sendCommandToAll(command, args).
|
sendCommandToAll(command, args).
|
||||||
The localstorage is a convenient way to store global data and other variables
|
The localstorage is a convenient way to store global data and other variables
|
||||||
separated from the game state.
|
separated from the game state.
|
||||||
Unique id:s called gametokens are generated for hosted games so that they
|
Unique ids called gametokens are generated for hosted games so that they
|
||||||
are not mixed up.
|
are not mixed up.
|
||||||
\begin_inset ERT
|
\begin_inset ERT
|
||||||
status open
|
status open
|
||||||
|
@ -7242,7 +7242,7 @@ Erlang identifies processes uniquely throughout the entire Erlang network
|
||||||
using process IDs (PID).
|
using process IDs (PID).
|
||||||
When we wish to refer to erlang processes from outside our erlang system,
|
When we wish to refer to erlang processes from outside our erlang system,
|
||||||
for example in a virtual machine for a different language, possibly on
|
for example in a virtual machine for a different language, possibly on
|
||||||
a different machine, these PID:s are no longer useful.
|
a different machine, these PIDs are no longer useful.
|
||||||
|
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
|
@ -7250,9 +7250,9 @@ Erlang identifies processes uniquely throughout the entire Erlang network
|
||||||
This problem is not new, and a common solution is to use a Universally Unique
|
This problem is not new, and a common solution is to use a Universally Unique
|
||||||
Identifier, a UUID.
|
Identifier, a UUID.
|
||||||
These identifiers are generated both using randomization and using time.
|
These identifiers are generated both using randomization and using time.
|
||||||
A reasonably large number of UUID:s can be generated before a collision
|
A reasonably large number of UUIDs can be generated before a collision
|
||||||
should occur.
|
should occur.
|
||||||
There are standard tools in many UNIX systems to generate UUID:s, we chose
|
There are standard tools in many UNIX systems to generate UUIDs, we chose
|
||||||
to use the uuidgen command, which employs an equidistributed combined Tausworth
|
to use the uuidgen command, which employs an equidistributed combined Tausworth
|
||||||
e generator.
|
e generator.
|
||||||
\end_layout
|
\end_layout
|
||||||
|
@ -7734,14 +7734,14 @@ Compatibility
|
||||||
\begin_layout Standard
|
\begin_layout Standard
|
||||||
GGS relies on modern technologies.
|
GGS relies on modern technologies.
|
||||||
This includes the virtual machines(VM) that the GGS uses for communication
|
This includes the virtual machines(VM) that the GGS uses for communication
|
||||||
between Erlang and the GDL:s.
|
between Erlang and the GDLs.
|
||||||
These specific VM:s are crucial for game developers to be able to write
|
These specific VMs are crucial for game developers to be able to write
|
||||||
games in other languages than Erlang.
|
games in other languages than Erlang.
|
||||||
Therefore it would be best for the GGS to have as many of these VM:s implemente
|
Therefore it would be best for the GGS to have as many of these VMs implemented
|
||||||
d as possible.
|
as possible.
|
||||||
The VM:s taken into consideration so far have been unstable or incomplete
|
The VMs taken into consideration so far have been unstable or incomplete
|
||||||
and it is possible to search for more VM:s, testing them and integrate
|
and it is possible to search for more VMs, testing them and integrate them
|
||||||
them into the GGS prototype.
|
into the GGS prototype.
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Subsection
|
\begin_layout Subsection
|
||||||
|
@ -7767,7 +7767,7 @@ The GGS does not support many programming languages.
|
||||||
For a programming language to be compatible with the GGS, not only does
|
For a programming language to be compatible with the GGS, not only does
|
||||||
it require a VM for that specific language, but the VM must have the ability
|
it require a VM for that specific language, but the VM must have the ability
|
||||||
to communicate to Erlang.
|
to communicate to Erlang.
|
||||||
More research is needed to find VM:s with this built in functionality.
|
More research is needed to find VMs with this built in functionality.
|
||||||
|
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue