2010 14th IEEE International Enterprise Distributed Object Computing Conference
The talk starts from a dream/vision paper I published in 2008, whose title is a play on that of John Backus' famous Turing Award Lecture (and paper). I will propose that ---or rather ask whether ---programming can be made to be a lot closer to the way humans think about dynamics, and the way they manage to get others (e.g., their children, their employees, etc.) to do what they have in mind. Technically, the question is whether we can liberate programming from its three main straightjackets:
... having to directly produce a precise artifact in some language; (2) having actually to produce two separate artifacts (the program and the requirements) and having then to pit one against the other; (3) having to program each piece/part/object of the system separately. The talk will then get a little more technical, providing some evidence of feasibility of the dream, via LSCs and the play-in/play-out approach to scenario-based programming. The entire body of work around these ideas can be framed as a paradigm that we have begun to term behavioral programming. In the past he has worked in several areas of theoretical computer science, including computability theory, logics of programs, database theory, and automata theory. Over the years, his activity in these areas diminished, and he has become involved in several other areas, including software and systems engineering, object-oriented analysis and design, visual languages, layout of diagrams, modeling and analysis of biological systems, and the synthesis and communication of smell. He has published widely on these topics, including several books. He is the inventor of the language of statecharts, and co-inventor of live sequence charts (LSCs) and of the idea of reactive animation (2002). He was part of the team that designed the tools Statemate (1984)(1985)(1986)(1987), Rhapsody (1997) and the Play-Engine (2003). His work is central to the behavioral aspects of the UML. He has put forward grand challenges for liberating programming, for modeling an entire multi-cellular organism, and for a system of odor communication and synthesis. He has devoted part of his time to educational and expository work: In 1984 he delivered a lecture series on Israeli radio, and in 1998 he hosted a series of programs on Israeli television. Some of his writing is intended for a xxi xix xxii xx Abstract We overview recent progress in the area of semantic rules, and how this creates new opportunities for several aspects of services engineering. We focus on semantic rules that are based on declarative logic programs (LP) knowledge representation (KR) rather than just classical logic. Recent fundamental advances extend these to include defaults, higher-order, objectorientedness, reactiveness (actions and events), and webized dynamic knowledge interchange --while retaining strong computational scalability. A state-of-the-art example of such rules is the SILK language and system that we are building at Vulcan. Semantic rules expressively supersume relational and web database query languages (SQL and W3C SPARQL), the most practically important semantic web ontology languages (W3C RDF-Schema and OWL RL), and the heart of the most commercially important business rule languages (production rules). They are the main basis for W3C Rule Interchange Format currently in late draft. Long-standing challenges in the area of services engineering include how to represent effectively: process descriptions that are both structural and causal yet also partial and evolving at multiple grain sizes. Services management tasks across the whole services lifecycle can exploit the recent advances in semantic rules.