update presentation, the body is there
[msc-thesis1617.git] / conclusion.discussion.tex
index 3b1657f..90a91d3 100644 (file)
@@ -10,8 +10,8 @@ the existing \gls{SDS}-based systems. At the moment the \emph{POSIX}-client is
 the reference client and contains debugging code.  Adding a simulation view to
 the system allows for easy interactive debugging.  However, it might not be
 easy to devise a simulation tool that accurately simulates the \gls{mTask}
-system on some levels. The semantics can be simulated but timing and peripheral
-input/output are more difficult to simulate properly.
+system on some levels. The execution strategy can be simulated but timing and
+peripheral input/output are more difficult to simulate properly.
 
 \subsection{Optimization}
 \paragraph{Multitasking on the client:}
@@ -75,10 +75,11 @@ using simple syntactic transformations.
 Currently the \gls{C}-view allows \glspl{Task} to launch other \glspl{Task}. In
 the current system this type of logic has to take place on the server side.
 Adding this functionality to the bytecode-view allows greater flexibility,
-easier programming and less communication resources. Adding these semantics
-requires modifications to the client software and extensions to the
+easier programming and less communication resources. Adding this type of
+scheduling requires modifications to the client software and extensions to the
 communication protocol since relations between \glspl{Task} also need to be
-encoded and communicated.
+encoded and communicated. A similar technique as used with \glspl{SDS} has to
+be used to overcome the scoping problem.
 
 The \gls{SDS} functionality in the current system is bare. There is no easy way
 of reusing an \gls{SDS} for another \gls{Task} on the same device or on another
@@ -91,6 +92,16 @@ use runtime typing with \CI{Dynamic}s or the encoding technique currently used
 for \CI{BCValue}s. Using \glspl{SDS} for multiple \glspl{Task} within one
 device is solved when the previous point is implemented.
 
+Another way of improving on \gls{SDS} handling is to separate \glspl{SDS} from
+devices. In this implementation, the \gls{SDS} not only needs to know on which
+device it is, but also which internal device \gls{SDS} id it has. A pro of
+this technique is that the \gls{SDS} can be shared between \glspl{Task} that
+are not defined in the same scope because they are separated. A con of this
+implementation is that the mechanisms for implementing \glspl{SDS} have to be
+more complex, they have to keep track of the devices containing or sharing an
+\gls{SDS}. Moreover, when the \gls{SDS} is updated, all attached devices must
+be updated which requires some extra work.
+
 \subsection{Robustness}
 \paragraph{Reconnect with lost devices:}
 The robustness of the system can be greatly improved. Devices that lose