<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to CORBAWeatherClient.xml</title><link>https://sourceforge.net/p/starlink/wiki/CORBAWeatherClient.xml/</link><description>Recent changes to CORBAWeatherClient.xml</description><atom:link href="https://sourceforge.net/p/starlink/wiki/CORBAWeatherClient.xml/feed" rel="self"/><language>en</language><lastBuildDate>Mon, 03 Jun 2013 07:26:43 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/starlink/wiki/CORBAWeatherClient.xml/feed" rel="self" type="application/rss+xml"/><item><title>CORBAWeatherClient.xml modified by Paul Grace</title><link>https://sourceforge.net/p/starlink/wiki/CORBAWeatherClient.xml/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v3
+++ v4
@@ -16,7 +16,7 @@
     Bm11

-The automaton specification is then a list of , where a state is **label** and one or more **transition**s to a **toState**. The following is send actin with a simple string parameter - hence **Outputs** are used n.b. ** a state with a send operation MUST HAVE only one transition: 
+The automaton specification is then a list of **state**, where a state is **label** and one or more **transition**s to a **toState**. The following is send actin with a simple string parameter - hence **Outputs** are used n.b. ** a state with a send operation MUST HAVE only one transition: 

     
         &lt;label&gt;Bm103&lt;/label&gt;
@@ -91,3 +91,5 @@
             Bm103
         
     
+
+This automaton describes the behaviour of a client; here it is best to think of mirroring the operations. If the client is sending then the description should be a receive (**recv**) because we are modelling the behaviour of a mediator that receives the client's actions - we are not modelling the behaviour of the client itself.
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paul Grace</dc:creator><pubDate>Mon, 03 Jun 2013 07:26:43 -0000</pubDate><guid>https://sourceforge.net90ce3079d1c32f64ad7e49b5a18188115054dde0</guid></item><item><title>CORBAWeatherClient.xml modified by Paul Grace</title><link>https://sourceforge.net/p/starlink/wiki/CORBAWeatherClient.xml/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v2
+++ v3
@@ -60,7 +60,7 @@
             
         

-A state can have one or more receiving transitions. For example:
+A state can have one or more receiving transitions. For example if a getWeather **action** is received the automaton moves to Bm102, or if it receives quitStation **action** it moves to Bm103:

     
         &lt;label&gt;Bm101&lt;/label&gt;
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paul Grace</dc:creator><pubDate>Fri, 31 May 2013 09:59:37 -0000</pubDate><guid>https://sourceforge.net2ec9c402e4726be990f44586957847ab4f9a3bf3</guid></item><item><title>CORBAWeatherClient.xml modified by Paul Grace</title><link>https://sourceforge.net/p/starlink/wiki/CORBAWeatherClient.xml/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -16,7 +16,7 @@
     Bm11

-The automaton specification is then a list of , where a state is **label** and one or more **transition**s to a **toState**. The following is send actin with a simple string parameter - hence **Outputs** are used: 
+The automaton specification is then a list of , where a state is **label** and one or more **transition**s to a **toState**. The following is send actin with a simple string parameter - hence **Outputs** are used n.b. ** a state with a send operation MUST HAVE only one transition: 

     
         &lt;label&gt;Bm103&lt;/label&gt;
@@ -59,3 +59,35 @@
                 Bm101
             
         
+
+A state can have one or more receiving transitions. For example:
+
+    
+        &lt;label&gt;Bm101&lt;/label&gt;
+        
+            getWeatherInfo
+            recv
+            
+                &lt;input /&gt;
+                    
+                        token
+                        java.lang.string
+                    
+                
+            
+            Bm102
+        
+        
+            quitStation
+            recv
+            
+                &lt;input /&gt;
+                    
+                        token
+                        java.lang.string
+                    
+                
+            
+            Bm103
+        
+    
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paul Grace</dc:creator><pubDate>Fri, 31 May 2013 09:58:01 -0000</pubDate><guid>https://sourceforge.nete1c49402c416c46017737d1651b0ce9f227d96a5</guid></item><item><title>CORBAWeatherClient.xml modified by Paul Grace</title><link>https://sourceforge.net/p/starlink/wiki/CORBAWeatherClient.xml/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;This is the coloured automaton describing a CORBA weather client.&lt;/p&gt;
&lt;p&gt;Inside a  tag you first give the automaton a name for identification:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="nt"&gt;&amp;lt;protocolName&amp;gt;&lt;/span&gt;CORBAWeatherClient&lt;span class="nt"&gt;&amp;lt;/protocolName&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Then you 'colour' the automaton with . This generally states the &lt;span&gt;[Protocol Colour]&lt;/span&gt; type; in this case we want the automaton to be executed using CORBA:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="nt"&gt;&amp;lt;attributes&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;ProtocolBinding&amp;gt;&lt;/span&gt;IIOPClientObjectBinding.xml&lt;span class="nt"&gt;&amp;lt;/ProtocolBinding&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/attributes&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;We are now ready to specify the automaton. Each state has a label identifier and we should specify the label of the start state&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="nt"&gt;&amp;lt;automaton&amp;gt;&lt;/span&gt;
 &lt;span class="nt"&gt;&amp;lt;start&amp;gt;&lt;/span&gt;Bm11&lt;span class="nt"&gt;&amp;lt;/start&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The automaton specification is then a list of , where a state is &lt;strong&gt;label&lt;/strong&gt; and one or more &lt;strong&gt;transition&lt;/strong&gt;s to a &lt;strong&gt;toState&lt;/strong&gt;. The following is send actin with a simple string parameter - hence &lt;strong&gt;Outputs&lt;/strong&gt; are used: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="nt"&gt;&amp;lt;state&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;label&amp;gt;&lt;/span&gt;Bm103&lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;transition&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;action&amp;gt;&lt;/span&gt;quitStationResponse&lt;span class="nt"&gt;&amp;lt;/action&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;operation&amp;gt;&lt;/span&gt;send&lt;span class="nt"&gt;&amp;lt;/operation&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;Outputs&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;Output&amp;gt;&lt;/span&gt;
                &lt;span class="nt"&gt;&amp;lt;simpleType&amp;gt;&lt;/span&gt;
                    &lt;span class="nt"&gt;&amp;lt;name&amp;gt;&lt;/span&gt;response&lt;span class="nt"&gt;&amp;lt;/name&amp;gt;&lt;/span&gt;
                    &lt;span class="nt"&gt;&amp;lt;type&amp;gt;&lt;/span&gt;java.lang.string&lt;span class="nt"&gt;&amp;lt;/type&amp;gt;&lt;/span&gt;
                &lt;span class="nt"&gt;&amp;lt;/simpleType&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;/Output&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;/Outputs&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;toState&amp;gt;&lt;/span&gt;Bm51&lt;span class="nt"&gt;&amp;lt;/toState&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/transition&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/state&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Complex structured data types can be used in similar fashion to the previous simple data types. Hence the output type is labelled &lt;strong&gt;return&lt;/strong&gt; and the value is referenced by &lt;strong&gt;return.humidity&lt;/strong&gt; or &lt;strong&gt;return.temperature&lt;/strong&gt;:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;    &lt;span class="nt"&gt;&amp;lt;state&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;label&amp;gt;&lt;/span&gt;Bm102&lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;transition&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;action&amp;gt;&lt;/span&gt;getWeatherInfoResponse&lt;span class="nt"&gt;&amp;lt;/action&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;operation&amp;gt;&lt;/span&gt;send&lt;span class="nt"&gt;&amp;lt;/operation&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;Outputs&amp;gt;&lt;/span&gt;
                &lt;span class="nt"&gt;&amp;lt;Output&amp;gt;&lt;/span&gt;
                    &lt;span class="nt"&gt;&amp;lt;complexType&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;return&amp;quot;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
                        &lt;span class="nt"&gt;&amp;lt;simpleType&amp;gt;&lt;/span&gt;
                            &lt;span class="nt"&gt;&amp;lt;name&amp;gt;&lt;/span&gt;humidity&lt;span class="nt"&gt;&amp;lt;/name&amp;gt;&lt;/span&gt;
                            &lt;span class="nt"&gt;&amp;lt;type&amp;gt;&lt;/span&gt;java.lang.string&lt;span class="nt"&gt;&amp;lt;/type&amp;gt;&lt;/span&gt;
                        &lt;span class="nt"&gt;&amp;lt;/simpleType&amp;gt;&lt;/span&gt;
                        &lt;span class="nt"&gt;&amp;lt;simpleType&amp;gt;&lt;/span&gt;
                            &lt;span class="nt"&gt;&amp;lt;name&amp;gt;&lt;/span&gt;temperature&lt;span class="nt"&gt;&amp;lt;/name&amp;gt;&lt;/span&gt;
                            &lt;span class="nt"&gt;&amp;lt;type&amp;gt;&lt;/span&gt;java.lang.string&lt;span class="nt"&gt;&amp;lt;/type&amp;gt;&lt;/span&gt;
                        &lt;span class="nt"&gt;&amp;lt;/simpleType&amp;gt;&lt;/span&gt;
                    &lt;span class="nt"&gt;&amp;lt;/complexType&amp;gt;&lt;/span&gt;
                &lt;span class="nt"&gt;&amp;lt;/Output&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;/Outputs&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;toState&amp;gt;&lt;/span&gt;Bm101&lt;span class="nt"&gt;&amp;lt;/toState&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;/transition&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/state&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paul Grace</dc:creator><pubDate>Fri, 31 May 2013 09:19:53 -0000</pubDate><guid>https://sourceforge.net0541f34030102e86f65989e81605856659970dd0</guid></item></channel></rss>