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.

166 Appendix A. OSM Code Generation<br />

195 E[2] = __STATE_PROG_R[4]&&!(__STATE_PROG_R[0]);<br />

196 E[3] = E[2]&&(<br />

197 __STATE_PROG_A2);<br />

198 E[4] = E[3]||__STATE_PROG_R[0];<br />

199 E[5] = E[4];<br />

200 E[6] = __STATE_PROG_R[21]&&!(__STATE_PROG_R[0]);<br />

201 E[7] = E[6]&&(<br />

202 __STATE_PROG_A1);<br />

203 E[8] = E[7];<br />

204 E[9] = E[7]||__STATE_PROG_R[0];<br />

205 E[10] = E[9];<br />

206 E[11] = __STATE_PROG_R[11]&&!(__STATE_PROG_R[0]);<br />

207 E[12] = (<br />

208 __STATE_PROG_A1)&&E[11];<br />

209 if (E[12]) {<br />

210 __STATE_PROG_A11;<br />

211 }<br />

212 if (E[12]) {<br />

213 __STATE_PROG_A12;<br />

214 }<br />

215 E[13] = E[12];<br />

216 E[14] = __STATE_PROG_R[17]||__STATE_PROG_R[16];<br />

217 E[15] = __STATE_PROG_R[18]||E[14];<br />

218 E[16] = __STATE_PROG_R[14]||__STATE_PROG_R[13];<br />

219 E[17] = __STATE_PROG_R[15]||E[16];<br />

220 E[18] = __STATE_PROG_R[12]||E[15]||E[17];<br />

221 E[19] = E[18]&&!(__STATE_PROG_R[0]);<br />

222 E[20] = E[19]&&!(E[12]);<br />

223 E[21] = E[20]&&__STATE_PROG_R[18];<br />

224 E[22] = E[21]&&(<br />

225 __STATE_PROG_A2);<br />

226 if (E[22]) {<br />

227 __STATE_PROG_A15;<br />

228 }<br />

229 E[23] = E[22];<br />

230 E[24] = E[20]&&__STATE_PROG_R[15];<br />

231 E[25] = (<br />

232 __STATE_PROG_A2)&&E[24];<br />

233 if (E[25]) {<br />

234 __STATE_PROG_A14;<br />

235 }<br />

236 E[26] = E[25];<br />

237 E[27] = E[12];<br />

238 E[28] = __STATE_PROG_R[7]&&!(__STATE_PROG_R[0]);<br />

151 #define __STATE_PROG_A12 \<br />

152 outD()<br />

153 #define __STATE_PROG_A13 \<br />

154 inE_PROG_PROG_2_D_a_PROG_PROG_2_D_E_b()<br />

155 #define __STATE_PROG_A14 \<br />

156 outE()<br />

157 #define __STATE_PROG_A15 \<br />

158 outF_PROG_PROG_2_D_F_a_PROG_PROG_2_D_F_c()<br />

159<br />

160 /* FUNCTIONS RETURNING NUMBER OF EXEC */<br />

161<br />

162 int STATE_PROG_number_of_execs () {<br />

163 return (0);<br />

164 }<br />

165<br />

166 /* AUTOMATON (STATE ACTION-TREES) */<br />

167<br />

168 static void __STATE_PROG__reset_input () {<br />

169 __STATE_PROG_V0 = _false;<br />

170 __STATE_PROG_V1 = _false;<br />

171 }<br />

172<br />

173 /* REDEFINABLE BIT TYPE */<br />

174<br />

175 #ifndef __SSC_BIT_TYPE_DEFINED<br />

176 typedef char __SSC_BIT_TYPE;<br />

177 #endif<br />

178<br />

179 /* REGISTER VARIABLES */<br />

180<br />

181 static __SSC_BIT_TYPE __STATE_PROG_R[22] = {_true,<br />

182 _false, _false, _false, _false, _false, _false, _false,<br />

183 _false, _false, _false, _false, _false, _false, _false,<br />

184 _false, _false, _false, _false, _false, _false, _false };<br />

185<br />

186 /* AUTOMATON ENGINE */<br />

187<br />

188 int STATE_PROG () {<br />

189 /* AUXILIARY VARIABLES */<br />

190<br />

191 static __SSC_BIT_TYPE E[106];<br />

192 E[0] = (<br />

193 __STATE_PROG_A2);<br />

194 E[1] = __STATE_PROG_R[0];

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

Saved successfully!

Ooh no, something went wrong!