21.08.2013 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!