Difference between revisions of "PlayGo"

From WeizmannWiki
Jump to: navigation, search
(Run PlayGo with the Provided Workspace)
 
(54 intermediate revisions by 4 users not shown)
Line 1: Line 1:
== Getting Started with PlayGo  ==
+
Welcome to PlayGo, a comprehensive tool for behavioral, scenario-based, programming, built around the language of [[Live sequence charts|''live sequence charts'' (LSC)]] and its Java derivative, and the play-in/play-out methods for programming and execution.
=== Install PlayGo ===
+
PlayGo is based on Eclipse and is packaged and provided as Eclipse Product. In addition to the product itself we provide a workspace with few examples.
+
  
To install PlayGo, create a new directory and extract the PlayGo.zip file to that newly created directory. Throughout this document we will refer to this directory as <PlayGo>.
+
PlayGo is intended to provide extensive support for the vision of [http://www.wisdom.weizmann.ac.il/~harel/papers/LiberatingProgramming.pdf "liberating programming"]
  
Once extracted, your <PlayGo> directory should have the following content:
+
A description of the LSC language and the basic research underlying PlayGo can be found in [http://www.wisdom.weizmann.ac.il/~playbook/Updates/ComeLetsPlay.pdf D. Harel and R. Marelly, <i>Come, Let's Play: Scenario-Based Programming Using LSCs and the Play-Engine</i>].<br/>For more information about the principles of behavioral programming, which were originally part of the basis of LSC, and for links to the implementations of behavioral programming in Java and Erlang, see [http://www.b-prog.org www.b-prog.org].
  
[[Image:Playgo.install.dir.jpg]]
+
*[[About PlayGo]]
 +
*[[Language & Concepts]]
 +
*[[PlayGo Feature List]]
 +
*[[PlayGo Screenshots]]
 +
*[[PlayGo Demos]]
 +
*[[PlayGo Examples]]
 +
*[[Getting Started with PlayGo]]
 +
*[[PlayGo HowTo|PlayGo HowTo...]]
  
==== JRE Configuration ====
+
<br/>[[File:Download.jpg|Download.jpg|link=]] <span style="font-size: medium;">[[Download PlayGo]] [[License|(view license)]]&nbsp; &nbsp;</span>
Open the &lt;PlayGo&gt;/PlayGo.ini file and update the Java VM path to: &lt;PlayGo&gt;\ jre6\bin\ (e.g. D:\PlayGo\jre6\bin\). Alternatively, if you have Java 6 installed on your machine, simple remove the '-vm' parameter from the &lt;PlayGo&gt;\PlayGo.ini file. PlayGo will use your System properties to access your installed Java.
+
  
=== Run PlayGo with the Provided Workspace ===
 
==== Startup PlayGo ====
 
To start PlayGo, go to your &lt;PlayGo&gt; directory and double click the PlayGo.exe file. As it is in Eclipse, PlayGo will ask you for the workspace to start with. Choose the workspace provided with the installation (i.e. &lt;PlayGo&gt;/workspace/).
 
  
The &lt;PlayGo&gt;/workspace/ contains 4 projects:
 
  
*ATM – example for ATM System. The ATM GUI side is based on GWT. ATM behavior was modeled by Playing in a set of scenarios. S2A is used for generating aspects, which are used to monitor and run the system (Play-Out).
+
== <span style="line-height: 1.5em;">Related Tools</span> ==
*GWTMemoryGame – Another example system. The Memory Game GUI side is based on GWT. Its behavior was modeled by Playing in a set of scenarios. S2A is used for generating aspects, which are used to monitor and run the system (Play-Out).
+
*il.ac.wis.cs.common – a library which contains few examples for creating LSC models by coding in Java.
+
*il.ac.wis.cs.playgo.guitoolkit – a platform library used by the ATM and GWTMemoryGame. This is integral part of PlayGo and in the future will be provided as a jar file only.
+
  
We will refer to these projects in the following chapters.
+
*[[The Tracer]], a prototype tool for scenario-based trace visualization and exploration.
 +
*[[The LSC Compiler]], a compiler for multi-modal UML sequence diagrams.
  
Once PlayGo is open, note that the PlayGo perspective is selected. It is recommended to use this perspective, as it provides some shortcuts.
+
== Contact Information ==
  
[[Image:playgo.perspective.JPG]]
+
E-mail us to: [mailto:playgo@weizmann.ac.il playgo@weizmann.ac.il]
 
+
 
+
==== Configure the Examples ====
+
Before you can compile and run the examples, you need to configure them:
+
 
+
<span style="font-size: larger"><big>1. </big></span>From Window menu, choose Preferences-&gt;Google-&gt;Web Toolkit. Configure it to point to your &lt;PlayGo&gt;\plugins\com.google.gwt.eclipse.sdkbundle.2.0.0_2.0.0.v200912062003\gwt-2.0.0 directory:
+
 
+
[[Image:Gwt.preferences.jpg]]
+
 
+
<br>
+
 
+
<big>2.</big> From Window menu, choose Preferences-&gt;Google-&gt;App Engine. Configure it to point to your &lt;PlayGo&gt;\plugins\com.google.appengine.eclipse.sdkbundle.1.3.0_1.3.0.v200912141120\appengine-java-sdk-1.3.0 directory:
+
 
+
[[Image:Gwt.preferences2.jpg]]
+
 
+
<br>
+
 
+
<big>3.</big> From Window menu, choose Preferences-&gt;Java-&gt;Build PathClasspath Variables. Edit the PLAYGO_PLUGINS variable to point to your &lt;PlayGo&gt;/plugins/ directory:
+
 
+
[[Image:Classpath.references.jpg]]
+
 
+
<br>
+
 
+
<big>4.</big> Basically the examples provided are configured with relative paths and should work well in your environment, but this is a good opportunity to introduce some parts of the configuration you can control. Right click the GWTMemoryGame project-&gt;Properties-&gt;S2A Builder:
+
 
+
[[Image:Playgo.s2a.properties.jpg]]
+
 
+
As shown in the screenshot above, there are 3 tabs in which you can configure properties related to S2A:
+
 
+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A. S2A Compilation
+
 
+
      i. Here you can add and remove models which you want to compile with S2A.
+
 
+
For those models you add, you may choose which LSCs should be compiled by S2A. In other words, for which Interactions S2A will generate aspects.
+
 
+
    ii. Target Folder: here you specify the directory in which the generated aspects will be located.
+
    iii. Clear Automatically – if on, cleans the aspects directory before generating new aspects.
+
    iv. Polymorphism – enable or disable polymorphism.
+
 
+
B. Imports
+
 
+
      i. Here you may specify packages that will be imported in the generated aspects.
+
    ii. Output package name – the package of the generated aspects.
+
 
+
&nbsp;&nbsp;&nbsp;C. General – currently used only for specifying the log4j configuration location.
+
 
+
<big></big>
+
 
+
<big>5.</big> S2A preferences – Advanced From the Windows menu, select Preferences-&gt;PlayGo-&gt;S2A Builder
+
 
+
[[Image:Playgo.s2a.properties.advanced.jpg]]
+
 
+
<br>Here you can choose the strategy you want to activate. Currently the only strategy implemented is the Naive strategy and this is the one being used.
+
 
+
 
+
==== What You Can Do with the Provided Workspace ====
+
 
+
=== Create your First LSC Project ===
+

Latest revision as of 12:00, 30 December 2020

Welcome to PlayGo, a comprehensive tool 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"

A description of the LSC language and the basic research underlying PlayGo can be found in D. Harel and R. Marelly, Come, Let's Play: Scenario-Based Programming Using LSCs and the Play-Engine.
For more information about the principles of behavioral programming, which were originally part of the basis of LSC, and for links to the implementations of behavioral programming in Java and Erlang, see www.b-prog.org.


Download.jpg Download PlayGo (view license)   


Related Tools

  • The Tracer, a prototype tool for scenario-based trace visualization and exploration.
  • The LSC Compiler, a compiler for multi-modal UML sequence diagrams.

Contact Information

E-mail us to: playgo@weizmann.ac.il