Difference between revisions of "About PlayGo"
(→Implementation Overview) |
|||
Line 8: | Line 8: | ||
PlayGo is an IDE, implemented as a set of Eclipse plugins, and packaged as an Eclipse product. PlayGo uses [http://www.eclipse.org/modeling/mdt/?project=uml2tools Eclipse UML2Tools 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. | PlayGo is an IDE, implemented as a set of Eclipse plugins, and packaged as an Eclipse product. PlayGo uses [http://www.eclipse.org/modeling/mdt/?project=uml2tools Eclipse UML2Tools 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 [http://download.oracle.com/javase/6/docs/technotes/guides/swing/ Java Swing] or a [http://code.google.com/webtoolkit/ GWT-based web application]). Play-out is carried out by generated [http://www.eclipse.org/aspectj/ AspectJ] code (the target language of the [ | + | Play-in is carried out on top of a user-defined UI (implemented in [http://download.oracle.com/javase/6/docs/technotes/guides/swing/ Java Swing] or a [http://code.google.com/webtoolkit/ GWT-based web application]). Play-out is carried out by generated [http://www.eclipse.org/aspectj/ AspectJ] code (the target language of the [[The_LSC_Compiler | 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 Information == | ||
Additional links and papers on the underlying languages and ideas, as well as on current relevant research, can be found on [http://www.wisdom.weizmann.ac.il/~harel David Harel's website] | Additional links and papers on the underlying languages and ideas, as well as on current relevant research, can be found on [http://www.wisdom.weizmann.ac.il/~harel David Harel's website] |
Revision as of 06:22, 28 October 2011
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. PlayGo uses Eclipse UML2Tools 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