1 The system provides a framework of functions with which an
\gls{iTasks
}-system
2 can add, change and remove devices at runtime. Moreover, the
3 \gls{iTasks
}-system can send
\gls{mTask
}-
\glspl{Task
} --- compiled at runtime
4 to bytecode by the
\gls{mTask
}-view --- to the device. The device runs an
5 interpreter which executes the
\gls{Task
}'s bytecode following the provided
6 scheduling strategy. Devices added to the system are stored and get a profile
7 for identification. These profiles are persistent during reboots of the
8 \gls{iTasks
}-system to allow for easy reconnecting with old devices. The way of
9 interacting with
\gls{mTask
}-
\gls{Task
} is analogous to interacting with
10 \gls{iTasks
}-
\glspl{Task
}. This means that programmers can access the
11 \glspl{SDS
} made for a device in the same way as regular
\glspl{SDS
} and they
12 can execute, combine and transform
\gls{mTask
}-
\glspl{Task
} as if they where
13 normal
\gls{iTasks
}-
\glspl{Task
}.
21 \section{Communication
}
22 \input{arch.communication
}
24 \section[Lifting mTasks to iTasks-Tasks
]%
25 {Lifting
\gls{mTask
}-
\glspl{Task
} to
\gls{iTasks
}-
\glspl{Task
}}