About PlayGo

From WeizmannWiki
Jump to: navigation, search

PlayGo is an IDE for behavioral, scenario-based, programming, built around the language of live sequence charts (LSC) and its Java derivative, and the play-in/play-out methods for programming and execution.

PlayGo is intended to provide extensive support for the vision of "liberating programming"

More about the underlying language and concepts...

Implementation Overview

PlayGo is an IDE, implemented as a set of Eclipse plugins, and packaged as an Eclipse product. There is not need to install Eclipse prior to installing PlayGo. Additionally, PlayGo installation does not conflict with other Eclipse installations you may have on your computer.

PlayGo uses Eclipse UML2 plugin as its UML library, and extends it with an infrastructure library that provides an intuitive and generic mechanism for extending UML2 elements. This generic infrastructure hides the complexity of UML profiles from the developer, and is used in PlayGo for defining the UML-compliant variant of LSCs, which is the source language for our S2A compiler. Most of the work is done by interface declarations, so the code that the developer is required to produce is minimal.

Play-in is carried out on top of a user-defined UI (implemented in Java Swing or a GWT-based web application).
Play-out is carried out by generated AspectJ code (the target language of the S2A compiler) and related built-in play-out strategies, implemented in Java. Thus, the resulting target system, i.e., the application that one can develop using PlayGo, is built using standard technologies, can run on standard platforms, and can be shared via the Internet.

Additional Information

Additional links and papers on the underlying languages and ideas, as well as on current relevant research, can be found on David Harel's website