Skip to main content

Transforming CPN Models into Code for TinyOS: A Case Study of the RPL Protocol

  • Conference paper
  • First Online:
Application and Theory of Petri Nets and Concurrency (PETRI NETS 2016)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 9698))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

References

  1. Levis, P., et al.: TOSSIM: accurate and scalable simulation of entire TinyOS applications. In: Proceedings of SenSys 2003, pp. 126–137. ACM (2003)

    Google Scholar 

  2. Winter, T., et al.: RPL: IPv6 routing protocol for low-power and lossy networks. RFC 6550, 2012. Internet Engineering Task Force (2012)

    Google Scholar 

  3. Jensen, K., Kristensen, L.M.: Coloured Petri nets: a graphical language for modelling and validation of concurrent systems. CACM 58(6), 61–70 (2015)

    Article  Google Scholar 

  4. 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)

    Chapter  Google Scholar 

  5. 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)

    Chapter  Google Scholar 

  6. 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)

    Google Scholar 

  7. Levis, P.: TinyOS Programming. Cambridge University Press, Cambridge (2009)

    Book  Google Scholar 

  8. Philippi, S.: Automatic code generation from high-level Petri-nets for model driven systems engineering. J. Syst. Softw. 79(10), 1444–1455 (2006)

    Article  Google Scholar 

  9. Reinke, C.: Haskell-coloured Petri nets. In: Koopman, P., Clack, C. (eds.) IFL 1999. LNCS, vol. 1868, pp. 165–180. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  10. Silva, A.: Model-driven engineering: a survey supported by the unified conceptual model. Comput. Lang. Syst. Utilities 43, 139–155 (2015)

    Google Scholar 

  11. 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)

    Google Scholar 

  12. 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)

    Chapter  Google Scholar 

  13. 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

  14. 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)

    Google Scholar 

  15. 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)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Lars Michael Kristensen .

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics