# Time acting primitives author: Jérémy Turi last edit date: 16/06/2021 ## Abstract Following the sigplan meeting of 16th June 2021, some ideas and tracks have emerged that need to be explored and refined: * Look at the _dispatch_ algorithms * Look at **Esterel** and **RMPL** languages to see how they handle time \(implicitly or explicitly\) \(cf notes taken some months ago on overleaf\) ## Acting Languages ### Esterel * Good error handling: differents levels of errors: * _WEAK-ERROR\(plan\)_: handled locally * _STRONG-ERROR\(plan, treatment-plan\)_: cancel the plan and executes treatment-plan * _FATAL-ERROR\(plan\)_: error cannot be handled, the error is propagated in parent tasks/processes. * Interestings "primitives": * AS-LONG-AS * BLOCK, UNBLOCK to handle synchronistion between two tasks ### RMPL * tranfrom RMPL in HCA \(Hierarchical Control Automata\) * primitives handling time explicitly \(parallel, sequence etc\) * orthogonal language: possibility to combine functions ### Drake System: DTP * paper: Flexible Execution Plans with Choice. * reference to Temporal Plan Networks \(TPNs\). * interestings dispatch algorithms ### Acting and Planning, Chapitre 4: Deliberation with time * Representation of tasks, actions and methods with time annotation: assertions are time qualified \(i.e. the state variable transits on an interval or is defined by a timepoint\) * TemPlan: Refine tasks and methods, while checking the STN is still consistent at each step \(p. 162\). * Dispatch: Trigger commands when needed in function of the STN. An algorithm is proposed. \(p. 183\) * TempRAE: RAE but with time, ie an STNU is maintained. The STNU is used to check inconsistency, deadlines, and that duration of tasks are in their intervals. No algorithm proposed \(for the moment, possible contribution\)