Contracts for modular discrete controller synthesis

We describe the extension of a reactive programming language with a behavioral contract construct. It is dedicated to the programming of reactive control of applications in embedded systems, and involves principles of the supervisory control of discrete event systems. Our contribution is in a language approach where modular discrete controller synthesis (DCS) is integrated, and it is concretized in the encapsulation of DCS into a compilation process. From transition system specifications of possible behaviors, DCS automatically produces controllers that make the controlled system satisfy the property given as objective. Our language features and compiling technique provide correctness-by-construction in that sense, and enhance reliability and verifiability. Our application domain is adaptive and reconfigurable systems: closed-loop adaptation mechanisms enable flexible execution of functionalities w.r.t. changing resource and environment conditions. Our language can serve programming such adaption controllers. This paper particularly describes the compilation of the language. We present a method for the modular application of discrete controller synthesis on synchronous programs, and its integration in the BZR language. We consider structured programs, as a composition of nodes, and first apply DCS on particular nodes of the program, in order to reduce the complexity of the controller computation; then, we allow the abstraction of parts of the program for this computation; and finally, we show how to recompose the different controllers computed from different abstractions for their correct co-execution with the initial program. Our work is illustrated with examples, and we present quantitative results about its implementation.

[1]  Lionel Morel,et al.  Logical-time contracts for reactive embedded components , 2004 .

[2]  Thomas A. Henzinger,et al.  Synchronous and Bidirectional Component Interfaces , 2002, CAV.

[3]  Sherif Abdelwahed,et al.  Supervisory control of interacting discrete event systems , 2002, Proceedings of the 41st IEEE Conference on Decision and Control, 2002..

[4]  Bertrand Meyer,et al.  Applying 'design by contract' , 1992, Computer.

[5]  Éric Rutten,et al.  A programming language for adaptation control: case study , 2009, SIGBED.

[6]  Marc Pouzet,et al.  A conservative extension of synchronous data-flow with state machines , 2005, EMSOFT.

[7]  W.M. Wonham,et al.  A Symbolic Approach to the Supervision of State Tree Structures , 2005, Proceedings of the 2005 IEEE International Symposium on, Mediterrean Conference on Control and Automation Intelligent Control, 2005..

[8]  Christos G. Cassandras,et al.  Introduction to Discrete Event Systems , 1999, The Kluwer International Series on Discrete Event Dynamic Systems.

[9]  Roberto Passerone,et al.  A Generic Model of Contracts for Embedded Systems , 2007, ArXiv.

[10]  Ralph-Johan Back,et al.  Contracts and games in controller synthesis for discrete systems , 2004, Proceedings. 11th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems, 2004..

[11]  J.-J. Lesage,et al.  Algebraic synthesis of transition conditions of a state model , 2008, 2008 9th International Workshop on Discrete Event Systems.

[12]  Éric Rutten,et al.  Using Controller-Synthesis Techniques to Build Property-Enforcing Layers , 2003, ESOP.

[13]  Scott A. Mahlke,et al.  The theory of deadlock avoidance via discrete control , 2009, POPL '09.

[14]  Éric Rutten,et al.  A Domain-Specific Language for Multitask Systems, Applying Discrete Controller Synthesis , 2007, EURASIP J. Embed. Syst..

[15]  Paul Le Guernic,et al.  Synthesis of Discrete-Event Controllers Based on the Signal Environment , 2000, Discret. Event Dyn. Syst..

[16]  Stephen A. Edwards,et al.  The Synchronous Languages Twelve Years Later , 1997 .

[17]  Knut Åkesson,et al.  Exploiting Modularity for Synthesis and Verification of Supervisors , 2002 .

[18]  Florence Maraninchi Logical-Time Contracts for the Development of Reactive Embedded Software , 2008 .

[19]  M.H. de Queiroz,et al.  Modular control of composed systems , 2000, Proceedings of the 2000 American Control Conference. ACC (IEEE Cat. No.00CH36334).

[20]  Walter Murray Wonham,et al.  Hierarchical interface-based supervisory control-part II: parallel case , 2005, IEEE Transactions on Automatic Control.

[21]  Hervé Marchand,et al.  Supervisory control problems of hierarchical finite state machines , 2002, Proceedings of the 41st IEEE Conference on Decision and Control, 2002..

[22]  Stephen A. Edwards,et al.  The synchronous languages 12 years later , 2003, Proc. IEEE.

[23]  W. M. Wonham,et al.  The control of discrete event systems , 1989 .

[24]  Hervé Marchand,et al.  Supervisory control of concurrent discrete event systems , 2004 .