A State-Based Programming Model for Wireless Sensor Networks
A State-Based Programming Model for Wireless Sensor Networks
A State-Based Programming Model for Wireless Sensor Networks
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
158 Appendix A. OSM Code Generation<br />
1 // -------------------------------------------------------<br />
2 // test.osm -- A program <strong>for</strong> testing the OSM compiler<br />
3 // -------------------------------------------------------<br />
4<br />
5 state PROG {<br />
6 state PROG_1 {<br />
7<br />
8 initial state A {<br />
9 var int a;<br />
10 onEntry: start/ inA();<br />
11 e / outA() -> B;<br />
12 f / outA() -> A;<br />
13 } // end state A<br />
14<br />
15 state B {<br />
16 var int b;<br />
17 f / outB() -> C;<br />
18 e / -> C;<br />
19 } // end state B<br />
20<br />
21 state C {<br />
22 var int c;<br />
23 onEntry: B -> f/ inC1();<br />
24 onEntry: B -> e/ inC2();<br />
25 } // end state C<br />
26<br />
27 } // end PROG_1<br />
28 ||<br />
29 state PROG_2 {<br />
30 initial state D {<br />
31 var int a;<br />
32<br />
33 initial state E {<br />
34 var int b;<br />
35 onEntry: f / inE(a, b);<br />
36 f / outE() -> F;<br />
37 // onPreemption: prE();<br />
38 } // end state E<br />
39 state F {<br />
40 var int a;<br />
41 var int c;<br />
42 f / outF(a, c) -> E;<br />
43 } // end state F<br />
44<br />
45 e / outD() -> G;<br />
46 } // end state D<br />
47<br />
48 state G { e / -> D; }<br />
49 } // end PROG_2<br />
50 } // end PROG