<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://wiki.weizmann.ac.il/playgo/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.weizmann.ac.il/playgo/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=HarelAdmin</id>
		<title>WeizmannWiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.weizmann.ac.il/playgo/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=HarelAdmin"/>
		<link rel="alternate" type="text/html" href="https://wiki.weizmann.ac.il/playgo/index.php?title=Special:Contributions/HarelAdmin"/>
		<updated>2026-06-10T08:27:30Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.22.4</generator>

	<entry>
		<id>https://wiki.weizmann.ac.il/playgo/index.php?title=Download_PlayGo</id>
		<title>Download PlayGo</title>
		<link rel="alternate" type="text/html" href="https://wiki.weizmann.ac.il/playgo/index.php?title=Download_PlayGo"/>
				<updated>2020-12-30T12:57:38Z</updated>
		
		<summary type="html">&lt;p&gt;HarelAdmin: /* PlayGo for Windows */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== PlayGo for Windows ==&lt;br /&gt;
&lt;br /&gt;
=== Version 5.0 ===&lt;br /&gt;
[https://drive.google.com/file/d/1bd9OIj2au6Oepg-sznuiiqeJn4OaafAs/view?usp=sharing PlayGo version 5.0 for Windows (jre included)]&lt;br /&gt;
&lt;br /&gt;
[https://drive.google.com/file/d/1TosVvv7DxSbyvfAWvGjtkaQC9exuk5Kq/view?usp=sharing PlayGo 5.0 User Guide]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Version 4.0 ===&lt;br /&gt;
&lt;br /&gt;
[https://weizmann.box.com/s/o22m6zd0bvpp7ghkfwjn2oh3zdh3pwjd PlayGo version 4.0 for Windows (jre included)]&lt;br /&gt;
&lt;br /&gt;
[https://weizmann.box.com/s/0lb70tpkjwzwj4ulyb6et7pgipy00zsn PlayGo version 4.0 for Windows (no jre) ]&lt;br /&gt;
&lt;br /&gt;
[https://weizmann.box.com/s/hgjufxvyhnewpv2cr99x2dnn1mk3jdqc PlayGo version 4.0 for Windows 32-bit (no jre)]&lt;br /&gt;
&lt;br /&gt;
See the [[Getting Started with PlayGo]] to start playing with PlayGo.&lt;br /&gt;
&lt;br /&gt;
== PlayGo for Linux ==&lt;br /&gt;
&lt;br /&gt;
=== Version 4.0 ===&lt;br /&gt;
&lt;br /&gt;
[https://weizmann.box.com/s/fce9sr9uki848564fqe9jx5dukhrmt0i PlayGo version 4.0 for linux (jre included)]&lt;br /&gt;
&lt;br /&gt;
[https://weizmann.box.com/s/yb63vltoyd14ytkx8z5hhiq1bbaeqymo PlayGo version 4.0 for linux (no jre)]&lt;br /&gt;
&lt;br /&gt;
See the [[Getting Started with PlayGo]] to start playing with PlayGo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PlayGo source code of version 4.0 is available for download [https://weizmann.box.com/s/878rj4ky80ax9sffjiftwuvjnswde5rk here].&lt;/div&gt;</summary>
		<author><name>HarelAdmin</name></author>	</entry>

	<entry>
		<id>https://wiki.weizmann.ac.il/playgo/index.php?title=Baby_Monitor_Specification</id>
		<title>Baby Monitor Specification</title>
		<link rel="alternate" type="text/html" href="https://wiki.weizmann.ac.il/playgo/index.php?title=Baby_Monitor_Specification"/>
				<updated>2014-05-01T07:14:41Z</updated>
		
		<summary type="html">&lt;p&gt;HarelAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt; &amp;lt;sub&amp;gt;&amp;lt;/sub&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;/sup&amp;gt;The list below is the Baby Monitor system's requirements in [http://en.wikipedia.org/wiki/Controlled_natural_language controlled English]. These are valid requirements that can be used for [[PlayGo_Feature_List#Natural_language_play-in|NL play-in]]. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Requirements  ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; border=&amp;quot;1&amp;quot; align=&amp;quot;left&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;10%&amp;quot; | LSC Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;50%&amp;quot; | Requirement in Natural Language Text&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;35&amp;quot; | Comments&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;5%&amp;quot; | LSC&lt;br /&gt;
|-&lt;br /&gt;
| Lsc1&lt;br /&gt;
| when the user clicks the increase_temperature_button, the temperature_threshold increases&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| [[Image:NL1.jpg|thumb|left|80x50px|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| Lsc2&lt;br /&gt;
| when the user clicks the decrease_temperature_button, the temperature_threshold decreases&lt;br /&gt;
|&lt;br /&gt;
| [[Image:NL2.jpg|thumb|left|80x50px|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| Lsc3&lt;br /&gt;
| when the user clicks a TempChange, the temperature_display color changes to yellow and the temperature_display displays the temperature_threshold value&lt;br /&gt;
|&lt;br /&gt;
| [[Image:NL3.jpg|thumb|left|80x50px|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| Lsc4&lt;br /&gt;
| when the baby_unit temperature changes, the temperature_display displays the baby_unit temperature and the temperature_display color changes to green&amp;lt;br&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| [[Image:NL4.jpg|thumb|left|80x50px|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| Lsc5&lt;br /&gt;
| when the baby_unit temperature changes, if the baby_unit temperature is greater than temperature_threshold, the alert_light state changes to blinking&amp;lt;br&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| [[Image:NL5.jpg|thumb|left|80x50px|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| Lsc6&lt;br /&gt;
| when the baby_unit temperature changes, if the baby_unit temperature is greater than temperature_threshold, the mobile_unit beeps&lt;br /&gt;
|&lt;br /&gt;
| [[Image:NL6.jpg|thumb|left|80x50px|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| Lsc7&lt;br /&gt;
| when the alert_light state changes to blinking, as long as the mobile_unit state is on and the user does not click the reset_alert_button, the alert_light state changes to on and one second elapses and the alert_light state changes to off and two seconds elapse&amp;lt;br&amp;gt;&lt;br /&gt;
| This requirement is not parsed in the current version of the NL play-in&lt;br /&gt;
| [[Image:Lsc7.jpg|thumb|left|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| Lsc8&lt;br /&gt;
| when the user clicks the baby_unit_power_button, the baby_unit state changes to on&lt;br /&gt;
|&lt;br /&gt;
| [[Image:NL8.jpg|thumb|left|80x50px|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| Lsc9&lt;br /&gt;
| when the user clicks the mobile_unit_power_button, if the mobile_unit state is off, the mobile_unit state changes to on, otherwise if the mobile_unit state is on, the mobile_unit state changes to off&lt;br /&gt;
|&lt;br /&gt;
| [[Image:NL9.jpg|thumb|left|80x50px|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| Lsc10&lt;br /&gt;
| when the mobile_unit state changes to on, as long as the mobile_unit state is on, if two seconds have elapsed and the baby_unit does not connect to the mobile_unit, the connection_light color changes to red&lt;br /&gt;
| This requirement is not parsed in the current version of the natural language play-in&lt;br /&gt;
| [[Image:Lsc10.jpg|thumb|left|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| Lsc11&lt;br /&gt;
| when the baby_unit state changes to on, as long as the mobile_unit state is on, the baby_unit connects to the mobile_unit and two seconds elapse&lt;br /&gt;
|&lt;br /&gt;
| [[Image:NL11.jpg|thumb|left|80x50px|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| Lsc12&lt;br /&gt;
| when the baby_unit connects to the mobile_unit, the connection_light color changes to green&amp;lt;span class=&amp;quot;Apple-tab-span&amp;quot; style=&amp;quot;white-space:pre&amp;quot;&amp;gt;	&amp;lt;/span&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| [[Image:NL12.jpg|thumb|left|80x50px|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| Lsc13&lt;br /&gt;
| when the user clicks the reset_button, the baby_unit resets and the antenna position changes to close and the antenna init and the antenna position changes to open&lt;br /&gt;
|&lt;br /&gt;
| [[Image:NL13.jpg|thumb|left|80x50px|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| Lsc14&lt;br /&gt;
| when the baby_unit resets, the baby_unit connects to the mobile_unit, the antenna position must be open&lt;br /&gt;
|&lt;br /&gt;
| [[Image:Lsc14.jpg|thumb|left|LSC]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download the Baby Monitor Example  ==&lt;br /&gt;
&lt;br /&gt;
Below are downloads of the wrist watch final application, as well as of the LSC project that can be opened and modified in PlayGo.&lt;br /&gt;
&lt;br /&gt;
=== Baby Monitor final application (runnable jar)  ===&lt;br /&gt;
&lt;br /&gt;
[[Media:BabyMonitorExampleSwingGUI.zip|Runnable Baby Monitor with Swing GUI]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the baby monitor, simply extract the downloaded zip and double click the jar file.&lt;br /&gt;
&lt;br /&gt;
=== Baby Monitor LSC project  ===&lt;br /&gt;
&lt;br /&gt;
[[Media:BabyMonitorSwing.zip|The Baby Monitor LSC Project (for development purposes)]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation Instructions  ====&lt;br /&gt;
&lt;br /&gt;
#Extract the downloaded zip.&lt;br /&gt;
#[[Download PlayGo|Download PlayGo]].&lt;br /&gt;
#Import the downloaded project to your workspace:&lt;br /&gt;
##From the File menu choose Import--&amp;amp;gt;General--&amp;amp;gt;Existing Projects into Workspace.&lt;br /&gt;
##Click the 'Next' button.&lt;br /&gt;
##When prompted, select the directory to which you extracted the downloaded baby monitor example.&lt;br /&gt;
##Click finish.&lt;br /&gt;
#The baby monitor example project is now part of your workspace. You can start playing with it. For details refer to [[How to Play-Out|how to play out]].&lt;/div&gt;</summary>
		<author><name>HarelAdmin</name></author>	</entry>

	<entry>
		<id>https://wiki.weizmann.ac.il/playgo/index.php?title=Baby_Monitor_Specification</id>
		<title>Baby Monitor Specification</title>
		<link rel="alternate" type="text/html" href="https://wiki.weizmann.ac.il/playgo/index.php?title=Baby_Monitor_Specification"/>
				<updated>2014-05-01T07:14:05Z</updated>
		
		<summary type="html">&lt;p&gt;HarelAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt; &amp;lt;sub&amp;gt;&amp;lt;/sub&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;/sup&amp;gt;The list below is the Baby Monitor system's requirements in [http://en.wikipedia.org/wiki/Controlled_natural_language controlled English]. These are valid requirements that can be used for [[PlayGo Feature List#Natural_Language_Play-in|NL play-in]]. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Requirements  ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; border=&amp;quot;1&amp;quot; align=&amp;quot;left&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;10%&amp;quot; | LSC Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;50%&amp;quot; | Requirement in Natural Language Text&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;35&amp;quot; | Comments&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;5%&amp;quot; | LSC&lt;br /&gt;
|-&lt;br /&gt;
| Lsc1&lt;br /&gt;
| when the user clicks the increase_temperature_button, the temperature_threshold increases&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| [[Image:NL1.jpg|thumb|left|80x50px|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| Lsc2&lt;br /&gt;
| when the user clicks the decrease_temperature_button, the temperature_threshold decreases&lt;br /&gt;
|&lt;br /&gt;
| [[Image:NL2.jpg|thumb|left|80x50px|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| Lsc3&lt;br /&gt;
| when the user clicks a TempChange, the temperature_display color changes to yellow and the temperature_display displays the temperature_threshold value&lt;br /&gt;
|&lt;br /&gt;
| [[Image:NL3.jpg|thumb|left|80x50px|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| Lsc4&lt;br /&gt;
| when the baby_unit temperature changes, the temperature_display displays the baby_unit temperature and the temperature_display color changes to green&amp;lt;br&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| [[Image:NL4.jpg|thumb|left|80x50px|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| Lsc5&lt;br /&gt;
| when the baby_unit temperature changes, if the baby_unit temperature is greater than temperature_threshold, the alert_light state changes to blinking&amp;lt;br&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| [[Image:NL5.jpg|thumb|left|80x50px|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| Lsc6&lt;br /&gt;
| when the baby_unit temperature changes, if the baby_unit temperature is greater than temperature_threshold, the mobile_unit beeps&lt;br /&gt;
|&lt;br /&gt;
| [[Image:NL6.jpg|thumb|left|80x50px|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| Lsc7&lt;br /&gt;
| when the alert_light state changes to blinking, as long as the mobile_unit state is on and the user does not click the reset_alert_button, the alert_light state changes to on and one second elapses and the alert_light state changes to off and two seconds elapse&amp;lt;br&amp;gt;&lt;br /&gt;
| This requirement is not parsed in the current version of the NL play-in&lt;br /&gt;
| [[Image:Lsc7.jpg|thumb|left|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| Lsc8&lt;br /&gt;
| when the user clicks the baby_unit_power_button, the baby_unit state changes to on&lt;br /&gt;
|&lt;br /&gt;
| [[Image:NL8.jpg|thumb|left|80x50px|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| Lsc9&lt;br /&gt;
| when the user clicks the mobile_unit_power_button, if the mobile_unit state is off, the mobile_unit state changes to on, otherwise if the mobile_unit state is on, the mobile_unit state changes to off&lt;br /&gt;
|&lt;br /&gt;
| [[Image:NL9.jpg|thumb|left|80x50px|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| Lsc10&lt;br /&gt;
| when the mobile_unit state changes to on, as long as the mobile_unit state is on, if two seconds have elapsed and the baby_unit does not connect to the mobile_unit, the connection_light color changes to red&lt;br /&gt;
| This requirement is not parsed in the current version of the natural language play-in&lt;br /&gt;
| [[Image:Lsc10.jpg|thumb|left|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| Lsc11&lt;br /&gt;
| when the baby_unit state changes to on, as long as the mobile_unit state is on, the baby_unit connects to the mobile_unit and two seconds elapse&lt;br /&gt;
|&lt;br /&gt;
| [[Image:NL11.jpg|thumb|left|80x50px|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| Lsc12&lt;br /&gt;
| when the baby_unit connects to the mobile_unit, the connection_light color changes to green&amp;lt;span class=&amp;quot;Apple-tab-span&amp;quot; style=&amp;quot;white-space:pre&amp;quot;&amp;gt;	&amp;lt;/span&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| [[Image:NL12.jpg|thumb|left|80x50px|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| Lsc13&lt;br /&gt;
| when the user clicks the reset_button, the baby_unit resets and the antenna position changes to close and the antenna init and the antenna position changes to open&lt;br /&gt;
|&lt;br /&gt;
| [[Image:NL13.jpg|thumb|left|80x50px|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| Lsc14&lt;br /&gt;
| when the baby_unit resets, the baby_unit connects to the mobile_unit, the antenna position must be open&lt;br /&gt;
|&lt;br /&gt;
| [[Image:Lsc14.jpg|thumb|left|LSC]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download the Baby Monitor Example  ==&lt;br /&gt;
&lt;br /&gt;
Below are downloads of the wrist watch final application, as well as of the LSC project that can be opened and modified in PlayGo.&lt;br /&gt;
&lt;br /&gt;
=== Baby Monitor final application (runnable jar)  ===&lt;br /&gt;
&lt;br /&gt;
[[Media:BabyMonitorExampleSwingGUI.zip|Runnable Baby Monitor with Swing GUI]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the baby monitor, simply extract the downloaded zip and double click the jar file.&lt;br /&gt;
&lt;br /&gt;
=== Baby Monitor LSC project  ===&lt;br /&gt;
&lt;br /&gt;
[[Media:BabyMonitorSwing.zip|The Baby Monitor LSC Project (for development purposes)]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation Instructions  ====&lt;br /&gt;
&lt;br /&gt;
#Extract the downloaded zip.&lt;br /&gt;
#[[Download PlayGo|Download PlayGo]].&lt;br /&gt;
#Import the downloaded project to your workspace:&lt;br /&gt;
##From the File menu choose Import--&amp;amp;gt;General--&amp;amp;gt;Existing Projects into Workspace.&lt;br /&gt;
##Click the 'Next' button.&lt;br /&gt;
##When prompted, select the directory to which you extracted the downloaded baby monitor example.&lt;br /&gt;
##Click finish.&lt;br /&gt;
#The baby monitor example project is now part of your workspace. You can start playing with it. For details refer to [[How to Play-Out|how to play out]].&lt;/div&gt;</summary>
		<author><name>HarelAdmin</name></author>	</entry>

	<entry>
		<id>https://wiki.weizmann.ac.il/playgo/index.php?title=PlayGo_Examples</id>
		<title>PlayGo Examples</title>
		<link rel="alternate" type="text/html" href="https://wiki.weizmann.ac.il/playgo/index.php?title=PlayGo_Examples"/>
				<updated>2014-05-01T07:12:14Z</updated>
		
		<summary type="html">&lt;p&gt;HarelAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Applications ==&lt;br /&gt;
&lt;br /&gt;
=== Memory Game ===&lt;br /&gt;
&lt;br /&gt;
[[Image:LSCExample.png|420px]][[Image:MemoryGameUI.png|400px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The memory game is a simple application containing a single LSC that specifies the behavior of a memory game. The memory game UI is written in Java Swing.&amp;lt;br&amp;gt; The memory game application demonstrates the following features:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Symbolic Instances: '''card''' and '''anotherCard''' lifelines are symbolic: their lifeline head is dashed to visualize just that. The memory game contains 16 cards. During play-out, the clicked cards will dynamically be bound to specific card lifelines. The memory panel is represented by a static lifeline (there is a single panel in the game). This panel will be statically bound to the panel lifeline during play-out.&lt;br /&gt;
*Live copy: A second '''click''' (the second time a user clicks on a card) opens another live copy of the LSC.&lt;br /&gt;
*Enable Events: After a second '''click''', the '''beep''' event is enabled in the first live copy but is not enabled in the second live copy. The second live copy expects another '''click''', and when this event does not occur (instead a '''beep''' event occurs) the live copy is violated and is closed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Download the Memory Game Example  ====&lt;br /&gt;
&lt;br /&gt;
Below are downloads of the memory game final application, as well as of the LSC project that can be opened and modified in PlayGo.&lt;br /&gt;
&lt;br /&gt;
===== Memory game final application (runnable jar) =====&lt;br /&gt;
&lt;br /&gt;
[[Media:MemoryGameSwingGUI.zip|Runnable Memory Game with Swing GUI]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the memory game, simply extract the downloaded zip and double click the jar file.&lt;br /&gt;
&lt;br /&gt;
===== Memory Game LSC project =====&lt;br /&gt;
&lt;br /&gt;
[[Media:MemoryGame.zip|The Memory Game LSC Project (for development purposes)]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Installation Instructions ======&lt;br /&gt;
&lt;br /&gt;
#Extract the downloaded zip.&lt;br /&gt;
#[[Download PlayGo|Download PlayGo]].&lt;br /&gt;
#Import the downloaded project to your workspace:&lt;br /&gt;
##From the File menu choose Import--&amp;amp;gt;General--&amp;amp;gt;Existing Projects into Workspace.&lt;br /&gt;
##Click the 'Next' button.&lt;br /&gt;
##When prompted, select the directory to which you extracted the downloaded memory game example.&lt;br /&gt;
##Click finish.&lt;br /&gt;
#The memory game example project is now part of your workspace. You can start playing with it. For details refer to [[How to Play-Out|how to play out]].&lt;br /&gt;
&lt;br /&gt;
=== Baby Monitor ===&lt;br /&gt;
&lt;br /&gt;
[[Image:BabyMonitor.Lsc12.jpg|frame|left]][[Image:BabyMonitor.png|235px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt; The baby monitor application includes 14 LSCs, each of which includes 3-4 lifelines. The specification demonstrates various features of PlayGo and the underlying language. &amp;lt;br&amp;gt;Most of the LSCs were created by [[PlayGo_Feature_List#Natural_language_play-in|NL play-in]], and others by [[Language &amp;amp; Concepts#Play-In|basic play-in]]. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; To see the system's requirements in controlled English click [[Baby Monitor Specification|here]]. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; The Baby Monitor application is included in the workspace provided with the PlayGo download.&lt;br /&gt;
&lt;br /&gt;
*[[Getting Started with PlayGo]]&lt;br /&gt;
*[[PlayGo HowTo...|PlayGo HowTo]]&lt;br /&gt;
&lt;br /&gt;
=== Water Tap ===&lt;br /&gt;
&lt;br /&gt;
[[Image:WaterTap.png|420px]][[Image:WaterTapUI.jpg|400px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The water tap is a simple application containing three LSCs that describe a specific water tap behavior by which a sink is filled with lukewarm water. The water tap application demonstrates the following concepts:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Modularity - each LSC is self standing and is responsible for a certain aspect of the application's behavior.&lt;br /&gt;
*Incremental development - due to modularity, a system can be developed incrementally. Adding a new behavior affects the complete system behavior but does not require changes to existing LSCs or existing code.&lt;br /&gt;
*Enabled Events: The Interleave LSC shows how after the 'addHot' event occurs, only the 'addCold' event is enabled; Until 'addCold' occurs, 'addHot' is not allowed to occur, thus will wait for its turn.&lt;br /&gt;
*Loops are demonstrated here, bounded by a fixed limit (e.g., 5 times in the addHotFiveTimes LSC) or unbounded (in the Interleave LSC).&lt;br /&gt;
&lt;br /&gt;
[[Media:WaterTap.zip|Download Water Tap application]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Instructions for creating LSC project from LSC file | Instructions for playing with the Water Tap application]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Phone  ===&lt;br /&gt;
&lt;br /&gt;
[[Image:SampleLSC.png]][[Image:PhoneGUI.png|200px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The project describes and implements a cell phone, including some common cell phone features, such as quick dial, lock and more. This project has been implemented using [[PlayGo_Feature_List#Natural_language_play-in|NL play-in]]. Therefore, the example includes the controlled natural language to create each of the LSCs. &amp;lt;br&amp;gt; Details can be found [[Phone Specification|here]].&lt;br /&gt;
&lt;br /&gt;
=== Wristwatch  ===&lt;br /&gt;
&lt;br /&gt;
[[Image:WristWatchGUI.jpg|230px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The wristwatch application includes 20 LSCs, defining its behavior and demonstrating the use in [[PlayGo Feature List#Natural_Language_Play-in|NL play-in]].&amp;lt;br&amp;gt; Details about the specification and downloads can be found [[Wristwatch Example|here]].&lt;br /&gt;
&lt;br /&gt;
=== Wall Painting ===&lt;br /&gt;
&lt;br /&gt;
[[Image:drone.jpg|230px]]&amp;lt;br&amp;gt; &amp;lt;span style=&amp;quot;color: rgb(39,64,139);&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family: Tahoma;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The wall painting BP application is based on the [http://wiki.weizmann.ac.il/bp/index.php/Helicopter_flight_and_mission helicopter flight example], which uses the [https://code.google.com/p/javadrone/ ARDrone Java interface] and so it is prepared to be tested on a real ARDrone. The example also has a simulation mode with which one can run it without having an actual drone.&lt;br /&gt;
The example uploaded here demonstrates an S2A and BPJ integrated project; while the original example was written in BPJ, in this variant of the example, we have added LSCs to control the color supply.&lt;br /&gt;
&lt;br /&gt;
Details about the specification and downloads can be found [[Wall Painting Example|here]].&lt;br /&gt;
&lt;br /&gt;
== LSC Design Patterns ==&lt;br /&gt;
&lt;br /&gt;
=== After '''A''' occurs, '''B''' must occur, unless exception '''C''' occurs  ===&lt;br /&gt;
&lt;br /&gt;
We want to specify the requirement: if event A occurs then event B must occur, unless event C occurs; meaning, if A occurs, either B or C must occur.&lt;br /&gt;
&lt;br /&gt;
LSC has a hot monitor idiom (so we can specify that if A occurred B must occur), but there is no idiom for hot monitoring one event from a list of events; e.g., hot monitor of either B or C.&lt;br /&gt;
&lt;br /&gt;
To specify hot monitor of event B or event C, we offer the following design pattern (see text explanation below):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; [[Image:BMustOccurUnlessC.png]]&lt;br /&gt;
&lt;br /&gt;
Explanation:&lt;br /&gt;
&lt;br /&gt;
#As long as A occurred and neither B not C occurred, LSC1 remains open in a cold cut, waiting for either C or B to occur and LSC2 remains open in a hot cut, indicating that the system as a whole is in hot global cut; i.e., the system must not stay in this state forever.&lt;br /&gt;
#If A occurred and then B occurred, LSC1 reaches a cold false condition (named Exit) and therefore closes with a cold violation. This enables the LSC1Done event (no longer leads to the false violation in LSC1, since LSC1 closed), allowing LSC2 to complete.&lt;br /&gt;
#If A occurred and then C occurred, similarly to the previous case, LSC1 reaches a cold false condition (named Exit) and therefore closes with a cold violation. This enables the LSC1Done event (no longer leads to the false violation in LSC1, since LSC1 closed), allowing LSC2 to complete.&lt;br /&gt;
#The LSCs below describe test cases / simulated environment behavior that we experimented with, and which highlight the overall behavior. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following LSCs describe valid behavior:&lt;br /&gt;
&lt;br /&gt;
[[Image:BMustOccurUnlessC validBehavior.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; The following LSC describes an invalid behavior, in which only A occurs and neither B not C occur (in which case, the system will remain in a hot cut):&lt;br /&gt;
&lt;br /&gt;
[[Image:BMustOccurUnlessC invalidBehavior.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Media:B_or_C_must_occur.zip|Download this design pattern]] &amp;lt;br&amp;gt; [http://www.weizmann.ac.il/mediawiki/playgo/index.php/Instructions_for_creating_LSC_project_from_LSC_file Instructions for playing with this specification] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>HarelAdmin</name></author>	</entry>

	<entry>
		<id>https://wiki.weizmann.ac.il/playgo/index.php?title=File:Playgo-linux_2013-06-19.gtk.x86_64-with-java-6-openjdk-amd64.zip</id>
		<title>File:Playgo-linux 2013-06-19.gtk.x86 64-with-java-6-openjdk-amd64.zip</title>
		<link rel="alternate" type="text/html" href="https://wiki.weizmann.ac.il/playgo/index.php?title=File:Playgo-linux_2013-06-19.gtk.x86_64-with-java-6-openjdk-amd64.zip"/>
				<updated>2013-06-20T06:20:46Z</updated>
		
		<summary type="html">&lt;p&gt;HarelAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>HarelAdmin</name></author>	</entry>

	<entry>
		<id>https://wiki.weizmann.ac.il/playgo/index.php?title=Download_PlayGo</id>
		<title>Download PlayGo</title>
		<link rel="alternate" type="text/html" href="https://wiki.weizmann.ac.il/playgo/index.php?title=Download_PlayGo"/>
				<updated>2013-06-20T06:18:51Z</updated>
		
		<summary type="html">&lt;p&gt;HarelAdmin: /* PlayGo for Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== PlayGo for Windows ==&lt;br /&gt;
&lt;br /&gt;
PlayGo download includes 2 parts: the PlayGo tool and a workspace with examples.&lt;br /&gt;
&lt;br /&gt;
[[Media:playgo_ver1.4.4.zip | playgo_ver1.4.4.zip]]&lt;br /&gt;
&lt;br /&gt;
[[Media:workspace_ver1.4.4.zip | workspace_ver1.4.4.zip]]&lt;br /&gt;
&lt;br /&gt;
See the [[Getting Started with PlayGo]] to start playing with PlayGo.&lt;br /&gt;
&lt;br /&gt;
== PlayGo for Linux ==&lt;br /&gt;
&lt;br /&gt;
PlayGo download includes 2 parts: the PlayGo tool and a workspace with examples.&lt;br /&gt;
&lt;br /&gt;
[[Media:playgo-linux_2013-06-19.gtk.x86_64-with-java-6-openjdk-amd64.zip | pplaygo-linux_2013-06-19.gtk.x86_64-with-java-6-openjdk-amd64.zip]]&lt;br /&gt;
&lt;br /&gt;
[[Media:workspace.zip | workspace.zip]]&lt;br /&gt;
&lt;br /&gt;
See the [[Getting Started with PlayGo]] to start playing with PlayGo.&lt;/div&gt;</summary>
		<author><name>HarelAdmin</name></author>	</entry>

	<entry>
		<id>https://wiki.weizmann.ac.il/playgo/index.php?title=File:Workspace.zip</id>
		<title>File:Workspace.zip</title>
		<link rel="alternate" type="text/html" href="https://wiki.weizmann.ac.il/playgo/index.php?title=File:Workspace.zip"/>
				<updated>2013-06-20T06:13:05Z</updated>
		
		<summary type="html">&lt;p&gt;HarelAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>HarelAdmin</name></author>	</entry>

	<entry>
		<id>https://wiki.weizmann.ac.il/playgo/index.php?title=Wristwatch_Example</id>
		<title>Wristwatch Example</title>
		<link rel="alternate" type="text/html" href="https://wiki.weizmann.ac.il/playgo/index.php?title=Wristwatch_Example"/>
				<updated>2013-02-28T07:53:16Z</updated>
		
		<summary type="html">&lt;p&gt;HarelAdmin: Unprotected &amp;quot;Wristwatch Example&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The wristwatch example is taken from &amp;lt;ref&amp;gt;D. Harel. &amp;quot;On Visual Formalisms&amp;quot;, Commun. ACM, 31(5):514–530, 1988.&amp;lt;/ref&amp;gt;, and is a simplified version of the original statecharts watch example of &amp;lt;ref&amp;gt;D. Harel, &amp;quot;Statecharts: A Visual Formalism for Complex Systems&amp;quot;, Sci. Comput. Programming 8, 231-274, 1987.&amp;lt;/ref&amp;gt;. Generally, the watch displays the time and can switch between different displays that show (and allow changes to) the alarm, date, time and stopwatch. It has an option for turning on the light, and an alarm that beeps when the set time is reached. The following examples demonstrate many constructs in the LSC language and the way they were created in natural lanague play-in. The model was originally described in &amp;lt;ref&amp;gt;M. Gordon and D. Harel. Generating executable scenarios fromfckLRnatural language. In Proc. 10th Int. Conf. on Computational Linguistics and Intelligent Text Processing, CICLing’09, pages 456–467. Springer-Verlag, 2009.&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Requirements  ==&lt;br /&gt;
&lt;br /&gt;
=== Watch Modes  ===&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; border=&amp;quot;1&amp;quot; align=&amp;quot;left&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;70%&amp;quot; | Natural Language Text&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;  width = &amp;quot;15%&amp;quot; | Comments&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;15%&amp;quot; | LSC&lt;br /&gt;
|-&lt;br /&gt;
| when the user clicks the d_button, if the display mode is &amp;quot;time&amp;quot;, the display mode changes to &amp;quot;date&amp;quot;, otherwise if the display mode is &amp;quot;date&amp;quot;, the display mode changes to &amp;quot;time&amp;quot;.&lt;br /&gt;
| Demonstrates if-else.&lt;br /&gt;
| [[Image:WatchModes.png|thumb|left|x50px|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| when the user clicks the a_button, if the display mode is &amp;quot;time&amp;quot;, the display mode changes to &amp;quot;alarm&amp;quot;, otherwise if the display mode is &amp;quot;alarm&amp;quot;, the display mode changes to &amp;quot;chime&amp;quot;, otherwise if the display mode is &amp;quot;chime&amp;quot;, the display mode changes to &amp;quot;stopwatch&amp;quot;, otherwise if the display mode is &amp;quot;stopwatch&amp;quot;, the display mode changes to &amp;quot;time&amp;quot;.&lt;br /&gt;
|&lt;br /&gt;
| [[Image:Modes.png|thumb|left|x50px|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| when the user clicks the c_button , if the display mode is &amp;quot;alarm&amp;quot; then the display mode changes to &amp;quot;alarm minutes&amp;quot; , otherwise if the display mode is &amp;quot;alarm minutes&amp;quot; then the display mode changes to &amp;quot;alarm hours&amp;quot; , otherwise if the display mode is &amp;quot;alarm hours&amp;quot; then the display mode changes to &amp;quot;alarm&amp;quot;.&lt;br /&gt;
|&lt;br /&gt;
| [[Image:ModesAlarm.png|thumb|left|x50px|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| when the user clicks the b_button, if the display mode is “alarm minutes”, the display mode changes to &amp;quot;alarm&amp;quot;.&lt;br /&gt;
|&lt;br /&gt;
| [[Image:ModeAlarmEnd.png|thumb|left|x50px|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| when the user clicks the b_button, if the display mode is “alarm hours” , the display mode changes to &amp;quot;alarm&amp;quot;.&lt;br /&gt;
|&lt;br /&gt;
| [[Image:ModeAlarmHoursEnd.png|thumb|left|x50px|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| when the user clicks the a_button , if the display mode is &amp;quot;alarm minutes&amp;quot; , the alarm increases in one minute , otherwise if the display mode is &amp;quot;alarm hours&amp;quot; , the alarm increases by one hour.&lt;br /&gt;
|&lt;br /&gt;
| [[Image:IncreaseTime.png|thumb|left|x50px|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| when the user clicks the c_button , if the display mode is &amp;quot;time&amp;quot; , the display mode changes to &amp;quot;update&amp;quot; and the update type changes to &amp;quot;seconds&amp;quot;.&lt;br /&gt;
|&lt;br /&gt;
| [[Image:UpdateSeconds.png|thumb|left|x50px|LSC]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Updates  ===&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; border=&amp;quot;1&amp;quot; align=&amp;quot;left&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;70%&amp;quot; | Natural Language Text&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;  width = &amp;quot;15%&amp;quot; | Comments&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;15%&amp;quot; | LSC&lt;br /&gt;
|-&lt;br /&gt;
| when the user clicks the c_button , if the update type is &amp;quot;seconds&amp;quot; , the update type changes to &amp;quot;minutes&amp;quot; otherwise if the update type is &amp;quot;minutes&amp;quot; , the update type changes to &amp;quot;hours&amp;quot; otherwise if the update type is &amp;quot;hours&amp;quot; , the update type changes to &amp;quot;date&amp;quot; otherwise if the update type is &amp;quot;date&amp;quot;, the display mode changes to &amp;quot;time&amp;quot; and the update type changes to &amp;quot;none&amp;quot;.&lt;br /&gt;
|&lt;br /&gt;
| [[Image:UpdateType.png|thumb|left|x50px|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| when the update type changes , if the update type equals &amp;quot;seconds&amp;quot; , the display blinks seconds , otherwise if the update type equals &amp;quot;minutes&amp;quot; , the display blinks minutes , otherwise the display blinks none.&lt;br /&gt;
|&lt;br /&gt;
| [[Image:UpdateTypeBlink.png|thumb|left|x50px|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| when the update type changes, the display mode changes to &amp;quot;update&amp;quot;.&lt;br /&gt;
|&lt;br /&gt;
| [[Image:UpdateTypeChange.png|thumb|left|x50px|LSC]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Time  ===&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; border=&amp;quot;1&amp;quot; align=&amp;quot;left&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;70%&amp;quot; | Natural Language Text&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;  width = &amp;quot;15%&amp;quot; | Comments&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;15%&amp;quot; | LSC&lt;br /&gt;
|-&lt;br /&gt;
| when the clock ticks, the time increases by one second.&lt;br /&gt;
|&lt;br /&gt;
| [[Image:TimeTicks.png|thumb|left|x50px|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| when the time value changes, if the display mode is &amp;quot;time&amp;quot;, the display text changes to time value.&lt;br /&gt;
| Demonstrates a property change as a trigger.&lt;br /&gt;
| [[Image:ShowTime.png|thumb|left|x50px|LSC]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Light  ===&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; border=&amp;quot;1&amp;quot; align=&amp;quot;left&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;70%&amp;quot; | Natural Language Text&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;  width = &amp;quot;15%&amp;quot; | Comments&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;15%&amp;quot; | LSC&lt;br /&gt;
|-&lt;br /&gt;
| when the user clicks the b_button, if the light state is on , the light state turns to off , otherwise if the light state is off , the light state turns to on.&lt;br /&gt;
|&lt;br /&gt;
| [[Image:LightState.png|thumb|left|x50px|LSC]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Alarm  ===&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; border=&amp;quot;1&amp;quot; align=&amp;quot;left&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;70%&amp;quot; | Natural Language Text&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;  width = &amp;quot;15%&amp;quot; | Comments&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;15%&amp;quot; | LSC&lt;br /&gt;
|-&lt;br /&gt;
| when the time value changes , if the time value equals the alarm value and the alarm state is enabled then the beeper state turns to on.&lt;br /&gt;
|&lt;br /&gt;
| [[Image:AlarmState.png|thumb|left|x50px|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| when the user clicks the d_button , if the display mode is &amp;quot;alarm&amp;quot; , if the alarm state is enabled , the alarm state changes to disabled otherwise the alarm state changes to enabled.&lt;br /&gt;
|&lt;br /&gt;
| [[Image:AlarmEnable.png|thumb|left|x50px|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| when the display mode changes , if the display mode equals &amp;quot;alarm minutes&amp;quot; , the display blinks minutes , otherwise if the display mode equals &amp;quot;alarm hours&amp;quot; , the display blinks hours , otherwise the display blinks none.&lt;br /&gt;
|&lt;br /&gt;
| [[Image:AlarmBlink.png|thumb|left|x50px|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| when the beeper state changes to on, as long as the beeper state is on and two seconds elapse, the beeper beeps, the display mode may not change.&lt;br /&gt;
| Demonstrates loop and forbidden element.&lt;br /&gt;
| [[Image:AlarmBeep.png|thumb|left|x50px|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| when the user clicks any WButton , the beeper state turns to off.&lt;br /&gt;
| Demonstrates symbolic \ non-deterministic objects.&lt;br /&gt;
| [[Image:AlarmOff.png|thumb|left|x50px|LSC]]&lt;br /&gt;
|-&lt;br /&gt;
| when the display mode changes to &amp;quot;alarm&amp;quot;, the display text changes to the alarm value.&lt;br /&gt;
|&lt;br /&gt;
| [[Image:DisplayAlarm.png|thumb|left|x50px|LSC]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Date  ===&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; border=&amp;quot;1&amp;quot; align=&amp;quot;left&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;70%&amp;quot; | Natural Language Text&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;  width = &amp;quot;15%&amp;quot; | Comments&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;15%&amp;quot; | LSC&lt;br /&gt;
|-&lt;br /&gt;
| when the display mode changes to &amp;quot;date&amp;quot;, the display text changes to the date value.&lt;br /&gt;
|&lt;br /&gt;
| [[Image:DisplayDate.png|thumb|left|x50px|LSC]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download the Wristwatch Example  ==&lt;br /&gt;
&lt;br /&gt;
Below are downloads of the wrist watch final application, as well as of the LSC project that can be opened and modified in PlayGo.&lt;br /&gt;
&lt;br /&gt;
===Wristwatch final application (runnable jar)===&lt;br /&gt;
[[Media:WristWatchExampleSwingGUI.zip|Runnable Wrist Watch with Swing GUI]] &amp;lt;br&amp;gt; [[Media:WristWatchExampleSystemModelGUI.zip|Runnable Wrist Watch with the auto generated System Model GUI]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the wristwatch, simply extract the downloaded zip and double click the jar file.&lt;br /&gt;
&lt;br /&gt;
===Wristwatch LSC project===&lt;br /&gt;
[[Media:WristWatch.zip|The Wrist Watch LSC Project (for development purposes)]] &amp;lt;br&amp;gt;&lt;br /&gt;
====Installation Instructions====&lt;br /&gt;
#Extract the downloaded zip.&lt;br /&gt;
#[[Download PlayGo|Download PlayGo]].&lt;br /&gt;
#Import the downloaded project to your workspace:&lt;br /&gt;
##From the File menu choose Import--&amp;amp;gt;General--&amp;amp;gt;Existing Projects into Workspace.&lt;br /&gt;
##Click the 'Next' button.&lt;br /&gt;
##When prompted, select the directory to which you extracted the downloaded wrist watch example.&lt;br /&gt;
##Click finish.&lt;br /&gt;
#The wrist watch example project is now part of your workspace. You can start playing with it. For details refer to [[How_to_Play-Out | how to play out]].&lt;br /&gt;
&lt;br /&gt;
== References  ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>HarelAdmin</name></author>	</entry>

	<entry>
		<id>https://wiki.weizmann.ac.il/playgo/index.php?title=Chess_Game_Example</id>
		<title>Chess Game Example</title>
		<link rel="alternate" type="text/html" href="https://wiki.weizmann.ac.il/playgo/index.php?title=Chess_Game_Example"/>
				<updated>2013-02-19T08:50:21Z</updated>
		
		<summary type="html">&lt;p&gt;HarelAdmin: Protected &amp;quot;Chess Game Example&amp;quot; [edit=autoconfirmed:move=autoconfirmed:read=autoconfirmed]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a protected page for the Chess Game Example.&lt;/div&gt;</summary>
		<author><name>HarelAdmin</name></author>	</entry>

	<entry>
		<id>https://wiki.weizmann.ac.il/playgo/index.php?title=PlayGo_Examples</id>
		<title>PlayGo Examples</title>
		<link rel="alternate" type="text/html" href="https://wiki.weizmann.ac.il/playgo/index.php?title=PlayGo_Examples"/>
				<updated>2013-01-06T11:22:40Z</updated>
		
		<summary type="html">&lt;p&gt;HarelAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Applications==&lt;br /&gt;
===Memory Game===&lt;br /&gt;
[[Image:LSCExample.png |frame|left]][[Image:MemoryGameUI.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The memory game is a simple application containing a single LSC that specifies the behavior of a memory game.&lt;br /&gt;
The memory game UI is based on [http://code.google.com/webtoolkit/ GWT].&amp;lt;br&amp;gt;&lt;br /&gt;
The memory game application demonstrates the following features:&amp;lt;br&amp;gt;&lt;br /&gt;
*Symbolic Instances: memoryCard1 and memoryCard2 lifelines are symbolic: their lifeline head is dashed to visualize just that. The memory game contains 12 cards. During play-out, the clicked cards will dynamically be bound to specific card lifelines. The memory panel is represented by a static lifeline (there is a single panel in the game). This panel will be statically bound to the panel lifeline during play-out.&lt;br /&gt;
*Live copy: A second '''flipUp''' (the second time a user clicks on a card) opens another live copy of the LSC.&lt;br /&gt;
*Enable Events: After a second '''flipUp''', the '''beep''' event is enabled in the first live copy but is not enabled in the second live copy. The second live copy expects another '''flipUp''', and when this event does not occur (instead a '''beep''' event occurs) the live copy is violated and is closed.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The memory game application is included in the workspace provided with the PlayGo download.&lt;br /&gt;
*[[Getting Started with PlayGo]]&lt;br /&gt;
*[[PlayGo_HowTo | PlayGo HowTo]]&lt;br /&gt;
&lt;br /&gt;
===Baby Monitor===&lt;br /&gt;
[[Image:BabyMonitor.Lsc12.jpg |frame|left]][[Image:BabyMonitor.png|235px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The baby monitor application includes 14 LSCs, each of which includes 3-4 lifelines. The specification demonstrates various features of PlayGo and the underlying language.&lt;br /&gt;
&amp;lt;br&amp;gt;Most of the LSCs were created by [[PlayGo_Feature_List#Natural_language_play-in | natural language play-in]], and others by [[Language &amp;amp; Concepts#Play-In |basic play-in]].&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt; To see the system's requirements in controlled English click [[Baby Monitor Specification | here]].&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The Baby Monitor application is included in the workspace provided with the PlayGo download.&lt;br /&gt;
&lt;br /&gt;
*[[Getting Started with PlayGo]]&lt;br /&gt;
*[[PlayGo_HowTo | PlayGo HowTo]]&lt;br /&gt;
&lt;br /&gt;
===Water Tap===&lt;br /&gt;
[[Image:WaterTap.png | 420px]][[Image:WaterTapUI.jpg |400px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The water tap is a simple application containing three LSCs that describe a specific water tap behavior by which a sink is filled with lukewarm water.&lt;br /&gt;
The water tap application demonstrates the following concepts:&amp;lt;br&amp;gt;&lt;br /&gt;
* Modularity - each LSC is self standing and is responsible for a certain aspect of the application's behavior.&lt;br /&gt;
* Incremental development - due to modularity, a system can be developed incrementally. Adding a new behavior affects the complete system behavior but does not require changes to existing LSCs or existing code.&lt;br /&gt;
* Enabled Events: The Interleave LSC shows how after the 'addHot' event occurs, only the 'addCold' event is enabled; Until 'addCold' occurs, 'addHot' is not allowed to occur, thus will wait for its turn.&lt;br /&gt;
* Loops are demonstrated here, bounded by a fixed limit (e.g., 5 times in the addHotFiveTimes LSC) or unbounded (in the Interleave LSC).&lt;br /&gt;
&lt;br /&gt;
[[Media:WaterTap.zip | Download Water Tap application]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Instructions for creating LSC project from LSC file | Instructions for playing with the Water Tap application]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Wrist Watch===&lt;br /&gt;
&lt;br /&gt;
Page under construction, see [http://www.wisdom.weizmann.ac.il/~michalk/Projects/ReqToLSCs/ http://www.wisdom.weizmann.ac.il/~michalk/Projects/ReqToLSCs/] for an earlier version&lt;/div&gt;</summary>
		<author><name>HarelAdmin</name></author>	</entry>

	<entry>
		<id>https://wiki.weizmann.ac.il/playgo/index.php?title=Wristwatch_Example</id>
		<title>Wristwatch Example</title>
		<link rel="alternate" type="text/html" href="https://wiki.weizmann.ac.il/playgo/index.php?title=Wristwatch_Example"/>
				<updated>2013-01-06T11:22:18Z</updated>
		
		<summary type="html">&lt;p&gt;HarelAdmin: Protected &amp;quot;Wrist Watch Example&amp;quot; [edit=autoconfirmed:move=autoconfirmed:read=autoconfirmed]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we will add Michal's wrist watch example. &lt;br /&gt;
&lt;br /&gt;
Should have a link from the Example Page.&lt;/div&gt;</summary>
		<author><name>HarelAdmin</name></author>	</entry>

	<entry>
		<id>https://wiki.weizmann.ac.il/playgo/index.php?title=Wristwatch_Example</id>
		<title>Wristwatch Example</title>
		<link rel="alternate" type="text/html" href="https://wiki.weizmann.ac.il/playgo/index.php?title=Wristwatch_Example"/>
				<updated>2013-01-06T11:22:05Z</updated>
		
		<summary type="html">&lt;p&gt;HarelAdmin: New page: Here we will add Michal's wrist watch example.   Should have a link from the Example Page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we will add Michal's wrist watch example. &lt;br /&gt;
&lt;br /&gt;
Should have a link from the Example Page.&lt;/div&gt;</summary>
		<author><name>HarelAdmin</name></author>	</entry>

	<entry>
		<id>https://wiki.weizmann.ac.il/playgo/index.php?title=PlayGo_Examples</id>
		<title>PlayGo Examples</title>
		<link rel="alternate" type="text/html" href="https://wiki.weizmann.ac.il/playgo/index.php?title=PlayGo_Examples"/>
				<updated>2013-01-06T11:21:31Z</updated>
		
		<summary type="html">&lt;p&gt;HarelAdmin: /* Wrist Watch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Applications==&lt;br /&gt;
===Memory Game===&lt;br /&gt;
[[Image:LSCExample.png |frame|left]][[Image:MemoryGameUI.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The memory game is a simple application containing a single LSC that specifies the behavior of a memory game.&lt;br /&gt;
The memory game UI is based on [http://code.google.com/webtoolkit/ GWT].&amp;lt;br&amp;gt;&lt;br /&gt;
The memory game application demonstrates the following features:&amp;lt;br&amp;gt;&lt;br /&gt;
*Symbolic Instances: memoryCard1 and memoryCard2 lifelines are symbolic: their lifeline head is dashed to visualize just that. The memory game contains 12 cards. During play-out, the clicked cards will dynamically be bound to specific card lifelines. The memory panel is represented by a static lifeline (there is a single panel in the game). This panel will be statically bound to the panel lifeline during play-out.&lt;br /&gt;
*Live copy: A second '''flipUp''' (the second time a user clicks on a card) opens another live copy of the LSC.&lt;br /&gt;
*Enable Events: After a second '''flipUp''', the '''beep''' event is enabled in the first live copy but is not enabled in the second live copy. The second live copy expects another '''flipUp''', and when this event does not occur (instead a '''beep''' event occurs) the live copy is violated and is closed.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The memory game application is included in the workspace provided with the PlayGo download.&lt;br /&gt;
*[[Getting Started with PlayGo]]&lt;br /&gt;
*[[PlayGo_HowTo | PlayGo HowTo]]&lt;br /&gt;
&lt;br /&gt;
===Baby Monitor===&lt;br /&gt;
[[Image:BabyMonitor.Lsc12.jpg |frame|left]][[Image:BabyMonitor.png|235px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The baby monitor application includes 14 LSCs, each of which includes 3-4 lifelines. The specification demonstrates various features of PlayGo and the underlying language.&lt;br /&gt;
&amp;lt;br&amp;gt;Most of the LSCs were created by [[PlayGo_Feature_List#Natural_language_play-in | natural language play-in]], and others by [[Language &amp;amp; Concepts#Play-In |basic play-in]].&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt; To see the system's requirements in controlled English click [[Baby Monitor Specification | here]].&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The Baby Monitor application is included in the workspace provided with the PlayGo download.&lt;br /&gt;
&lt;br /&gt;
*[[Getting Started with PlayGo]]&lt;br /&gt;
*[[PlayGo_HowTo | PlayGo HowTo]]&lt;br /&gt;
&lt;br /&gt;
===Water Tap===&lt;br /&gt;
[[Image:WaterTap.png | 420px]][[Image:WaterTapUI.jpg |400px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The water tap is a simple application containing three LSCs that describe a specific water tap behavior by which a sink is filled with lukewarm water.&lt;br /&gt;
The water tap application demonstrates the following concepts:&amp;lt;br&amp;gt;&lt;br /&gt;
* Modularity - each LSC is self standing and is responsible for a certain aspect of the application's behavior.&lt;br /&gt;
* Incremental development - due to modularity, a system can be developed incrementally. Adding a new behavior affects the complete system behavior but does not require changes to existing LSCs or existing code.&lt;br /&gt;
* Enabled Events: The Interleave LSC shows how after the 'addHot' event occurs, only the 'addCold' event is enabled; Until 'addCold' occurs, 'addHot' is not allowed to occur, thus will wait for its turn.&lt;br /&gt;
* Loops are demonstrated here, bounded by a fixed limit (e.g., 5 times in the addHotFiveTimes LSC) or unbounded (in the Interleave LSC).&lt;br /&gt;
&lt;br /&gt;
[[Media:WaterTap.zip | Download Water Tap application]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Instructions for creating LSC project from LSC file | Instructions for playing with the Water Tap application]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Wrist Watch===&lt;br /&gt;
&lt;br /&gt;
Page under construction, see [http://www.wisdom.weizmann.ac.il/~michalk/Projects/ReqToLSCs/ http://www.wisdom.weizmann.ac.il/~michalk/Projects/ReqToLSCs/] for an earlier version&lt;br /&gt;
&lt;br /&gt;
[[Wrist Watch Example]]&lt;/div&gt;</summary>
		<author><name>HarelAdmin</name></author>	</entry>

	<entry>
		<id>https://wiki.weizmann.ac.il/playgo/index.php?title=Baby_Monitor_Specification</id>
		<title>Baby Monitor Specification</title>
		<link rel="alternate" type="text/html" href="https://wiki.weizmann.ac.il/playgo/index.php?title=Baby_Monitor_Specification"/>
				<updated>2013-01-06T09:09:03Z</updated>
		
		<summary type="html">&lt;p&gt;HarelAdmin: Unprotected &amp;quot;Baby Monitor Specification&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;sub&amp;gt;&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sub&amp;gt;&amp;lt;/sub&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;/sup&amp;gt;The list below is the Baby Monitor system's requirements in [http://en.wikipedia.org/wiki/Controlled_natural_language controlled English]. These are valid requirements that can be used for [[PlayGo_Feature_List#Natural_language_play-in|natural language play-in]]. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#when the user clicks the increase_temperature_button, the temperature_threshold increases [[Media:NL1.jpg|&amp;lt;span style=&amp;quot;font-family: 'Comic Sans MS';&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: rgb(51, 102, 255);&amp;quot;&amp;gt;View LSC&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
#when the user clicks the decrease_temperature_button, the temperature_threshold decreases [[Media:NL2.jpg|&amp;lt;span style=&amp;quot;font-family: 'Comic Sans MS';&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: rgb(51, 102, 255);&amp;quot;&amp;gt;View LSC&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
#when the user clicks a change_temperature_button, the temperature_display color changes to yellow and the temperature_display displays the temperature_threshold value [[Media:NL3.jpg|&amp;lt;span style=&amp;quot;font-family: 'Comic Sans MS';&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: rgb(51, 102, 255);&amp;quot;&amp;gt;View LSC&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
#when the baby_unit temperature changes, the temperature_display displays the baby_unit temperature and the temperature_display color changes to green [[Media:NL4.jpg|&amp;lt;span style=&amp;quot;font-family: 'Comic Sans MS';&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: rgb(51, 102, 255);&amp;quot;&amp;gt;View LSC&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
#when the baby_unit temperature changes, if the baby_unit temperature is greater than temperature_threshold, the alert_light state changes to blinking [[Media:NL5.jpg|&amp;lt;span style=&amp;quot;font-family: 'Comic Sans MS';&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: rgb(51, 102, 255);&amp;quot;&amp;gt;View LSC&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
#when the baby_unit temperature changes, if the baby_unit temperature is greater than temperature_threshold, the mobile_unit beeps [[Media:NL6.jpg|&amp;lt;span style=&amp;quot;font-family: 'Comic Sans MS';&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: rgb(51, 102, 255);&amp;quot;&amp;gt;View LSC&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
#when the alert_light state changes to blinking, as long as the mobile_unit state is on and the user does not click the reset_alert_button, the light state changes to on and one second elapses and the light state changes to off and two seconds elapse [[Media:Lsc7.jpg|&amp;lt;span style=&amp;quot;font-family: 'Comic Sans MS';&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: rgb(51, 102, 255);&amp;quot;&amp;gt;View LSC&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
#when the user clicks the baby_unit_power_button, the baby_unit state changes to on [[Media:NL8.jpg|&amp;lt;span style=&amp;quot;font-family: 'Comic Sans MS';&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: rgb(51, 102, 255);&amp;quot;&amp;gt;View LSC&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
#when the user clicks the mobile_unit_power_button, if the mobile_unit state is off, the mobile_unit state changes to on, otherwise if the mobile_unit state is on, the mobile_unit state changes to off [[Media:NL9.jpg|&amp;lt;span style=&amp;quot;font-family: 'Comic Sans MS';&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: rgb(51, 102, 255);&amp;quot;&amp;gt;View LSC&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
#when the mobile_unit state changes to on, as long as the mobile_unit state is on if two seconds have elapsed and the baby_unit does not connect to the mobile_unit, the connection_light color changes to red [[Media:Lsc10.jpg|&amp;lt;span style=&amp;quot;font-family: 'Comic Sans MS';&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: rgb(51, 102, 255);&amp;quot;&amp;gt;View LSC&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;]]&amp;lt;span style=&amp;quot;font-family: 'Comic Sans MS';&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: rgb(51, 102, 255);&amp;quot;&amp;gt; *&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
#when the baby_unit state changes to on, as long as the mobile_unit state is on, the baby_unit connects to the mobile_unit and two seconds elapse [[Media:NL11.jpg|&amp;lt;span style=&amp;quot;font-family: 'Comic Sans MS';&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: rgb(51, 102, 255);&amp;quot;&amp;gt;View LSC&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
#when the baby_unit connects to the mobile_unit, the connection_light color changes to green [[Media:NL12.jpg|&amp;lt;span style=&amp;quot;font-family: 'Comic Sans MS';&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: rgb(51, 102, 255);&amp;quot;&amp;gt;View LSC&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
#when the user clicks the reset_button, the baby_unit resets and the antenna position changes to close and the antenna inits and the antenna position changes to open [[Media:NL13.jpg|&amp;lt;span style=&amp;quot;font-family: 'Comic Sans MS';&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: rgb(51, 102, 255);&amp;quot;&amp;gt;View LSC&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
#when the baby_unit resets, the baby_unit connects to the mobile_unit, the antenna position must be open [[Media:Lsc14.jpg|&amp;lt;span style=&amp;quot;font-family: 'Comic Sans MS';&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: rgb(51, 102, 255);&amp;quot;&amp;gt;View LSC&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;]]&amp;lt;span style=&amp;quot;font-family: 'Comic Sans MS';&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: rgb(51, 102, 255);&amp;quot;&amp;gt; *&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: 'Comic Sans MS';&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: rgb(51, 102, 255);&amp;quot;&amp;gt;* This requirement is not parsed in the current version of the natural language play-in&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>HarelAdmin</name></author>	</entry>

	<entry>
		<id>https://wiki.weizmann.ac.il/playgo/index.php?title=Baby_Monitor_Specification</id>
		<title>Baby Monitor Specification</title>
		<link rel="alternate" type="text/html" href="https://wiki.weizmann.ac.il/playgo/index.php?title=Baby_Monitor_Specification"/>
				<updated>2013-01-06T09:06:56Z</updated>
		
		<summary type="html">&lt;p&gt;HarelAdmin: Protected &amp;quot;Baby Monitor Specification&amp;quot; [edit=autoconfirmed:move=autoconfirmed:read=autoconfirmed]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;sub&amp;gt;&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sub&amp;gt;&amp;lt;/sub&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;/sup&amp;gt;The list below is the Baby Monitor system's requirements in [http://en.wikipedia.org/wiki/Controlled_natural_language controlled English]. These are valid requirements that can be used for [[PlayGo_Feature_List#Natural_language_play-in|natural language play-in]]. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#when the user clicks the increase_temperature_button, the temperature_threshold increases [[Media:NL1.jpg|&amp;lt;span style=&amp;quot;font-family: 'Comic Sans MS';&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: rgb(51, 102, 255);&amp;quot;&amp;gt;View LSC&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
#when the user clicks the decrease_temperature_button, the temperature_threshold decreases [[Media:NL2.jpg|&amp;lt;span style=&amp;quot;font-family: 'Comic Sans MS';&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: rgb(51, 102, 255);&amp;quot;&amp;gt;View LSC&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
#when the user clicks a change_temperature_button, the temperature_display color changes to yellow and the temperature_display displays the temperature_threshold value [[Media:NL3.jpg|&amp;lt;span style=&amp;quot;font-family: 'Comic Sans MS';&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: rgb(51, 102, 255);&amp;quot;&amp;gt;View LSC&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
#when the baby_unit temperature changes, the temperature_display displays the baby_unit temperature and the temperature_display color changes to green [[Media:NL4.jpg|&amp;lt;span style=&amp;quot;font-family: 'Comic Sans MS';&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: rgb(51, 102, 255);&amp;quot;&amp;gt;View LSC&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
#when the baby_unit temperature changes, if the baby_unit temperature is greater than temperature_threshold, the alert_light state changes to blinking [[Media:NL5.jpg|&amp;lt;span style=&amp;quot;font-family: 'Comic Sans MS';&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: rgb(51, 102, 255);&amp;quot;&amp;gt;View LSC&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
#when the baby_unit temperature changes, if the baby_unit temperature is greater than temperature_threshold, the mobile_unit beeps [[Media:NL6.jpg|&amp;lt;span style=&amp;quot;font-family: 'Comic Sans MS';&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: rgb(51, 102, 255);&amp;quot;&amp;gt;View LSC&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
#when the alert_light state changes to blinking, as long as the mobile_unit state is on and the user does not click the reset_alert_button, the light state changes to on and one second elapses and the light state changes to off and two seconds elapse [[Media:Lsc7.jpg|&amp;lt;span style=&amp;quot;font-family: 'Comic Sans MS';&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: rgb(51, 102, 255);&amp;quot;&amp;gt;View LSC&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
#when the user clicks the baby_unit_power_button, the baby_unit state changes to on [[Media:NL8.jpg|&amp;lt;span style=&amp;quot;font-family: 'Comic Sans MS';&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: rgb(51, 102, 255);&amp;quot;&amp;gt;View LSC&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
#when the user clicks the mobile_unit_power_button, if the mobile_unit state is off, the mobile_unit state changes to on, otherwise if the mobile_unit state is on, the mobile_unit state changes to off [[Media:NL9.jpg|&amp;lt;span style=&amp;quot;font-family: 'Comic Sans MS';&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: rgb(51, 102, 255);&amp;quot;&amp;gt;View LSC&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
#when the mobile_unit state changes to on, as long as the mobile_unit state is on if two seconds have elapsed and the baby_unit does not connect to the mobile_unit, the connection_light color changes to red [[Media:Lsc10.jpg|&amp;lt;span style=&amp;quot;font-family: 'Comic Sans MS';&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: rgb(51, 102, 255);&amp;quot;&amp;gt;View LSC&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;]]&amp;lt;span style=&amp;quot;font-family: 'Comic Sans MS';&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: rgb(51, 102, 255);&amp;quot;&amp;gt; *&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
#when the baby_unit state changes to on, as long as the mobile_unit state is on, the baby_unit connects to the mobile_unit and two seconds elapse [[Media:NL11.jpg|&amp;lt;span style=&amp;quot;font-family: 'Comic Sans MS';&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: rgb(51, 102, 255);&amp;quot;&amp;gt;View LSC&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
#when the baby_unit connects to the mobile_unit, the connection_light color changes to green [[Media:NL12.jpg|&amp;lt;span style=&amp;quot;font-family: 'Comic Sans MS';&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: rgb(51, 102, 255);&amp;quot;&amp;gt;View LSC&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
#when the user clicks the reset_button, the baby_unit resets and the antenna position changes to close and the antenna inits and the antenna position changes to open [[Media:NL13.jpg|&amp;lt;span style=&amp;quot;font-family: 'Comic Sans MS';&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: rgb(51, 102, 255);&amp;quot;&amp;gt;View LSC&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
#when the baby_unit resets, the baby_unit connects to the mobile_unit, the antenna position must be open [[Media:Lsc14.jpg|&amp;lt;span style=&amp;quot;font-family: 'Comic Sans MS';&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: rgb(51, 102, 255);&amp;quot;&amp;gt;View LSC&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;]]&amp;lt;span style=&amp;quot;font-family: 'Comic Sans MS';&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: rgb(51, 102, 255);&amp;quot;&amp;gt; *&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: 'Comic Sans MS';&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: rgb(51, 102, 255);&amp;quot;&amp;gt;* This requirement is not parsed in the current version of the natural language play-in&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>HarelAdmin</name></author>	</entry>

	<entry>
		<id>https://wiki.weizmann.ac.il/playgo/index.php?title=Download_PlayGo</id>
		<title>Download PlayGo</title>
		<link rel="alternate" type="text/html" href="https://wiki.weizmann.ac.il/playgo/index.php?title=Download_PlayGo"/>
				<updated>2010-09-05T06:58:44Z</updated>
		
		<summary type="html">&lt;p&gt;HarelAdmin: New page: PlayGo download contains the PlayGo tool as well as a workspace with examples.  See the Getting Started with PlayGo to start playing with PlayGo.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PlayGo download contains the PlayGo tool as well as a workspace with examples.&lt;br /&gt;
&lt;br /&gt;
See the [[Getting Started with PlayGo]] to start playing with PlayGo.&lt;/div&gt;</summary>
		<author><name>HarelAdmin</name></author>	</entry>

	<entry>
		<id>https://wiki.weizmann.ac.il/playgo/index.php?title=PlayGo</id>
		<title>PlayGo</title>
		<link rel="alternate" type="text/html" href="https://wiki.weizmann.ac.il/playgo/index.php?title=PlayGo"/>
				<updated>2010-09-05T06:55:45Z</updated>
		
		<summary type="html">&lt;p&gt;HarelAdmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to PlayGo, a comprehensive tool for scenario-based programming, built around the language of [http://www.wisdom.weizmann.ac.il/~harel Live Sequence Charts (LSC)] and its Java derivative, and the Play-in/Play-out approach.&lt;br /&gt;
&lt;br /&gt;
PlayGo is intended to constitute extensive support to the vision of [http://www.wisdom.weizmann.ac.il/~harel/papers/LiberatingProgramming.pdf Liberating Programming]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[About PlayGo]]&lt;br /&gt;
* [[PlayGo Screenshots]]&lt;br /&gt;
* [[PlayGo Demos]]&lt;br /&gt;
* [[Download PlayGo]]&lt;br /&gt;
* [[Getting Started with PlayGo]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Tools ==&lt;br /&gt;
* [[The Tracer]], a prototype tool for scenario-based trace visualization and exploration.&lt;br /&gt;
* [[S2A]], a compiler for multi-modal UML sequence diagrams.&lt;br /&gt;
&lt;br /&gt;
== Contact Information ==&lt;br /&gt;
E-mail us to: [mailto:playgo@weizmann.ac.il playgo@weizmann.ac.il]&lt;/div&gt;</summary>
		<author><name>HarelAdmin</name></author>	</entry>

	<entry>
		<id>https://wiki.weizmann.ac.il/playgo/index.php?title=PlayGo</id>
		<title>PlayGo</title>
		<link rel="alternate" type="text/html" href="https://wiki.weizmann.ac.il/playgo/index.php?title=PlayGo"/>
				<updated>2010-09-03T06:20:01Z</updated>
		
		<summary type="html">&lt;p&gt;HarelAdmin: Main Page moved to PlayGo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Getting Started with PlayGo  ==&lt;br /&gt;
&lt;br /&gt;
*[[Install PlayGo]]&lt;br /&gt;
*[[Run PlayGo with the Provided Workspace]]&lt;br /&gt;
*[[Create Your First LSC Project]]&lt;/div&gt;</summary>
		<author><name>HarelAdmin</name></author>	</entry>

	<entry>
		<id>https://wiki.weizmann.ac.il/playgo/index.php?title=Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.weizmann.ac.il/playgo/index.php?title=Main_Page"/>
				<updated>2010-09-03T06:20:01Z</updated>
		
		<summary type="html">&lt;p&gt;HarelAdmin: Main Page moved to PlayGo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[PlayGo]]&lt;/div&gt;</summary>
		<author><name>HarelAdmin</name></author>	</entry>

	</feed>