Abstract
TinyOS is a widely used platform for the development of networked embedded systems offering a programming model targeting resource constrained devices. We present a semi-automatic software engineering approach where Coloured Petri Net (CPNs) models are used as a starting point for developing protocol software for the TinyOS platform. The approach consists of five refinement steps that allow a developer to gradually transform a platform-independent CPN model into a platform-specific model that enables automatic code generation. To evaluate our approach, we use it to obtain an implementation of the IETF RPL routing protocol for sensor networks.
References
Levis, P., et al.: TOSSIM: accurate and scalable simulation of entire TinyOS applications. In: Proceedings of SenSys 2003, pp. 126–137. ACM (2003)
Winter, T., et al.: RPL: IPv6 routing protocol for low-power and lossy networks. RFC 6550, 2012. Internet Engineering Task Force (2012)
Jensen, K., Kristensen, L.M.: Coloured Petri nets: a graphical language for modelling and validation of concurrent systems. CACM 58(6), 61–70 (2015)
El Kaim, W., Kordon, F.: Code generation (Chap. 21). In: Girault, C., Valk, R. (eds.) Petri Nets for System Engineering, pp. 433–470. Springer, Berlin (2003)
Kristensen, L.M., Westergaard, M.: Automatic structure-based code generation from coloured Petri nets: a proof of concept. In: Kowalewski, S., Roveri, M. (eds.) FMICS 2010. LNCS, vol. 6371, pp. 215–230. Springer, Heidelberg (2010)
Lassen, K.B., Tjell, S.: Translating colored control flow nets into readable Java via annotated Java workflow nets. In: Proceedings of 8th CPN Workshopp (2007)
Levis, P.: TinyOS Programming. Cambridge University Press, Cambridge (2009)
Philippi, S.: Automatic code generation from high-level Petri-nets for model driven systems engineering. J. Syst. Softw. 79(10), 1444–1455 (2006)
Reinke, C.: Haskell-coloured Petri nets. In: Koopman, P., Clack, C. (eds.) IFL 1999. LNCS, vol. 1868, pp. 165–180. Springer, Heidelberg (2000)
Silva, A.: Model-driven engineering: a survey supported by the unified conceptual model. Comput. Lang. Syst. Utilities 43, 139–155 (2015)
Simonsen, K., Kristensen, L., Kindler, E.: Pragmatics annotated coloured Petri nets for protocol software generation and validation. In: Proceedings of PNSE 2015, CEUR-WS, vol. 1372, pp. 79–98 (2015)
Simonsen, K.I.F., Kristensen, L.M., Kindler, E.: Generating protocol software from CPN models annotated with pragmatics. In: Iyoda, J., de Moura, L. (eds.) SBMF 2013. LNCS, vol. 8195, pp. 227–242. Springer, Heidelberg (2013)
Veiset, V.: An Approach to Semi-Automatic Code Generation for the TinyOS Platform using CPNs. Master’s thesis, Bergen University College (2014). http://home.hib.no/ansatte/lmkr/veisetthesis.pdf
Veiset, V., Kristensen, L.M.: Transforming platform independent CPN model into code for the TinyOS platform. In: Proceedings of PNSE 2013, CEUR-WS, vol. 989, pp. 259–260 (2013)
Westergaard, M.: Access/CPN 2.0: a high-level interface to coloured Petri net models. In: Kristensen, L.M., Petrucci, L. (eds.) PETRI NETS 2011. LNCS, vol. 6709, pp. 328–337. Springer, Heidelberg (2011)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Kristensen, L.M., Veiset, V. (2016). Transforming CPN Models into Code for TinyOS: A Case Study of the RPL Protocol. In: Kordon, F., Moldt, D. (eds) Application and Theory of Petri Nets and Concurrency. PETRI NETS 2016. Lecture Notes in Computer Science(), vol 9698. Springer, Cham. https://doi.org/10.1007/978-3-319-39086-4_10
Download citation
DOI: https://doi.org/10.1007/978-3-319-39086-4_10
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-39085-7
Online ISBN: 978-3-319-39086-4
eBook Packages: Computer ScienceComputer Science (R0)