X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=methods.top.tex;h=9d07eec2e41188182f7960968c077a5cf2aa8a41;hb=a4d108b9046bfd1d94e8b986a00c00090391d7b6;hp=c145ecab7a2516e7f3e227eebb14c4713347c993;hpb=6b4c6f4f8428f94021ff6be1366406767b5e2165;p=msc-thesis1617.git diff --git a/methods.top.tex b/methods.top.tex index c145eca..9d07eec 100644 --- a/methods.top.tex +++ b/methods.top.tex @@ -141,8 +141,8 @@ shares residing in memory are available as well. The three main operations on shares are atomic in the sense that during reading no other \glspl{Task} are executed. The system provides useful functions to transform, map and combine \glspl{SDS} using combinators. The system also provides functionality to -inspect the value of a \gls{SDS} and act upon a change. \Glspl{Task} waiting on -a \gls{SDS} to change are notified when needed. This results in low resource +inspect the value of an \gls{SDS} and act upon a change. \Glspl{Task} waiting on +an \gls{SDS} to change are notified when needed. This results in low resource usage because \glspl{Task} are never constantly inspecting \gls{SDS} values but are notified. @@ -178,7 +178,7 @@ predicate. This notification predicate is a function \CI{p -> Bool} where \CI{p} is the parametric lens type. This allows programmers to create a big \gls{SDS}, and have \glspl{Task} only look at parts of the big \gls{SDS}. This technique is used in the current system in memory shares. The \CI{IWorld} -contains a map that is accessible through a \gls{SDS}. While all data is +contains a map that is accessible through an \gls{SDS}. While all data is stored in the map, only \glspl{Task} looking at a specific entry are notified when the structure is updated. The type of the parametric lens is the key in the map.