Dynamic Controllability of Temporally-flexible Reactive Programs

In this paper we extend dynamic controllability of temporally-flexible plans to temporally-flexible reactive programs. We consider three reactive programming language constructs whose behavior depends on runtime observations; conditional execution, iteration, and exception handling. Temporally-flex...

Full description

Bibliographic Details
Main Authors: Effinger, Robert Temple, Williams, Brian Charles, Kelly, Gerard, Sheehy, Michael
Other Authors: Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Format: Article
Language:en_US
Published: AAAI Publicaitons 2011
Online Access:http://hdl.handle.net/1721.1/67835
https://orcid.org/0000-0002-1057-3940
Description
Summary:In this paper we extend dynamic controllability of temporally-flexible plans to temporally-flexible reactive programs. We consider three reactive programming language constructs whose behavior depends on runtime observations; conditional execution, iteration, and exception handling. Temporally-flexible reactive programs are distinguished from temporally-flexible plans in that program execution is conditioned on the runtime state of the world. In addition, exceptions are thrown and caught at runtime in response to violated timing constraints, and handled exceptions are considered successful program executions. Dynamic controllability corresponds to a guarantee that a program will execute to completion, despite runtime constraint violations and uncertainty in runtime state. An algorithm is developed which frames the dynamic controllability problem as an AND/OR search tree over possible program executions. A key advantage of this approach is the ability to enumerate only a subset of possible program executions that guarantees dynamic controllability, framed as an AND/OR solution subtree.