We propose to provide the theoretical, algorithmic and methodological foundations, and build the supporting tools, to bring about a major, paradigmatic, revolutionary change in the way software and systems are programmed and executed, based on the idea of liberated programming, a sweeping extension of the scenario-based play-in/play-out approach to program design and execution that I and my group have done around the language of live sequence charts (LSCs). Play-in is a new way of software programming, combining the ideas of showing and teaching, instead of telling, relying on friendly advanced user interfaces, and using intuitive yet formal and expressive visual languages. Play-out is a general name for the technologies of executing played-in programs using powerful tools such as model-checking and synthesis. Our proposed work is divided into four main threads: (1) play-in, the development of new languages and interaction techniques; (2) play-out, the development of new execution technologies; (3) domain specific adaptations and applications; and (4) integration and tools. The play-in techniques proposed include the translation of systems requirements given in natural language into an executable artifact, the use of novel and dynamic human machine interaction techniques, relying on visual languages as target languages. The play-out execution methods proposed include the use of model-checking and synthesis algorithms, compilation, and execution environments that learn. Domain specific applications proposed include web services, tactical simulators, embedded systems, and biological modeling. Finally, we propose to build prototype tools that will allow the evaluation of the new technologies and their dissemination into the academic community and industry.
Call for proposal
See other projects for this call