Logo PTI
Polish Information Processing Society
Logo FedCSIS

Annals of Computer Science and Information Systems, Volume 21

Proceedings of the 2020 Federated Conference on Computer Science and Information Systems

RE4TinyOS: A Reverse Engineering Methodology for the MDE of TinyOS Applications

, ,

DOI: http://dx.doi.org/10.15439/2020F133

Citation: Proceedings of the 2020 Federated Conference on Computer Science and Information Systems, M. Ganzha, L. Maciaszek, M. Paprzycki (eds). ACSIS, Vol. 21, pages 741750 ()

Full text

Abstract. In this paper, we introduce a tool-supported reverse engineering methodology, called RE4TinyOS to create or update application models from TinyOS programs for the construction of Wireless Sensor Networks. Integrating with an existing model-driven engineering (MDE) environment, use of RE4TinyOS enables the model-code synchronization where any modification made in the TinyOS application code can be reflected into the application model and vice versa. Conducted case studies exemplified this model-code synchronization as well as the capability of creating application models completely from already existing TinyOS applications without models, which is crucial to integrate the implementations of the third party TinyOS applications into the MDE processes. Evaluation results showed that RE4TinyOS succeeded in the reverse engineering of all main parts of two well-known TinyOS applications taken from the official TinyOS Github repository and generated models were able to be visually processed in the MDE environment for further modifications.


  1. M. A. Matin and M. Islam, “Overview of wireless sensor network,” Wireless Sensor Networks-Technology and Protocols, pp. 1–3, 2012.
  2. P. Levis, S. Madden, J. Polastre, R. Szewczyk, K. Whitehouse, A. Woo, D. Gay, J. Hill, M. Welsh, E. Brewer, and D. Culler, “TinyOS: An operating system for sensor networks,” in Ambient Intelligence, W. Weber, J. M. Rabaey, and E. Aarts, Eds. Springer Berlin Heidelberg, 2005, pp. 115–148. http://dx.doi.org/https://doi.org/10.1007/3-540-27139-2 7
  3. P. Levis and D. Gay, TinyOS Programming. Cambridge University Press, 2009.
  4. H. M. Marah, R. Eslampanah, and M. Challenger, “DSML4TinyOS: Code Generation for Wireless Devices,” in ACM/IEEE 21st International Conference on Model Driven Engineering Languages and Systems (MODELS), Model-Driven Engineering for the Internet-of-Things (MDE4IoT), 2018, pp. 509–514.
  5. T. Hettel, M. Lawley, and K. Raymond, “Model synchronisation: Definitions for round-trip engineering,” in Theory and Practice of Model Transformations, ser. Lecture Notes in Computer Science, A. Vallecillo, J. Gray, and A. Pierantonio, Eds. Springer Berlin Heidelberg, 2008, pp. 31–45.
  6. H. Giese and R. Wagner, “From model transformation to incremental bidirectional model synchronization,” Software & Systems Modeling, vol. 8, no. 1, pp. 21–43, 2009. http://dx.doi.org/10.1007/s10270-008-0089-9
  7. L. Favre, Model Driven Architecture for Reverse Engineering Technologies: Strategic Directions and System Evolution. Engineering Science Reference, 2010, google-Books-ID: e4RLuAAACAAJ.
  8. I. Malavolta and H. Muccini, “A study on MDE approaches for engineering wireless sensor networks,” in 2014 40th EUROMICRO Conference on Software Engineering and Advanced Applications, 2014, pp. 149–157, ISSN: 2376-9505. http://dx.doi.org/https://doi.org/10.1109/SEAA.2014.61
  9. F. Essaadi, Y. Ben Maissa, and M. Dahchour, “MDE-based languages for wireless sensor networks modeling: A systematic mapping study,” in Advances in Ubiquitous Networking 2, ser. Lecture Notes in Electrical Engineering, R. El-Azouzi, D. S. Menasche, E. Sabir, F. De Pellegrini, and M. Benjillali, Eds. Springer, 2017, pp. 331–346. http://dx.doi.org/https://doi.org/10.1007/978-981-10-1627-1 26
  10. M. A. Saad, E. Fehr, N. Kamenzky, and J. Schiller, “ScatterClipse: A model-driven tool-chain for developing, testing, and prototyping wireless sensor networks,” in 2008 IEEE International Symposium on Parallel and Distributed Processing with Applications, 2008, pp. 871–885, ISSN: 2158-9208. http://dx.doi.org/https://doi.org/10.1109/ISPA.2008.22
  11. N. X. Thang and K. Geihs, “Model-driven development with optimization of non-functional constraints in sensor network,” in Proceedings of the 2010 ICSE Workshop on Software Engineering for Sensor Network Applications, ser. SESENA ’10. ACM, 2010, pp. 61–65. http://dx.doi.org/https://doi.org/10.1145/1809111.1809128
  12. K. Doddapaneni, E. Ever, O. Gemikonakli, I. Malavolta, L. Mostarda, and H. Muccini, “A model-driven engineering framework for architecting and analysing wireless sensor networks,” in Proceedings of the Third International Workshop on Software Engineering for Sensor Network Applications, ser. SESENA ’12. IEEE Press, 2012, pp. 1–7. http://dx.doi.org/https://doi.org/10.1109/SESENA.2012.6225729
  13. R. Shimizu, K. Tei, Y. Fukazawa, and S. Honiden, “Model driven development for rapid prototyping and optimization of wireless sensor network applications,” in Proceedings of the 2Nd Workshop on Software Engineering for Sensor Network Applications, ser. SESENA’11. ACM, 2011, pp. 31–36. http://dx.doi.org/https://doi.org/10.1145/1988051.1988058
  14. V. Veiset and L. M. Kristensen, “Transforming platform independent CPN models into code for the TinyOS platform: A case study of the RPL protocol,” in PNSE+ModPE, 2013.
  15. A. Salman, “Reducing complexity in developing wireless sensor network systems using model-driven development,” phdthesis, University of Salford, 2017. http://dx.doi.org/http://usir.salford.ac.uk/44127/
  16. T. Rodrigues, F. C. Delicato, T. Batista, P. F. Pires, and L. Pirmez, “An approach based on the domain perspective to develop WSAN applications,” Software & Systems Modeling, vol. 16, no. 4, pp. 949–977, 2017. http://dx.doi.org/10.1007/s10270-015-0498-5
  17. C. Raibulet, F. A. Fontana, and M. Zanoni, “Model-driven reverse engineering approaches: A systematic literature review,” IEEE Access, vol. 5, pp. 14 516–14 542, 2017. http://dx.doi.org/10.1109/ACCESS.2017.2733518
  18. H. Brunelire, J. Cabot, G. Dup, and F. Madiot, “MoDisco: A model driven reverse engineering framework,” Information and Software Technology, vol. 56, no. 8, pp. 1012–1032, 2014. http://dx.doi.org/10.1016/j.infsof.2014.04.007
  19. L. Favre, L. Martinez, and C. Pereira, “MDA-based reverse engineering of object oriented code,” in Enterprise, Business-Process and Information Systems Modeling, ser. Lecture Notes in Business Information Processing, T. Halpin, J. Krogstie, S. Nurcan, E. Proper, R. Schmidt, P. Soffer, and R. Ukor, Eds. Springer, 2009, pp. 251–263. http://dx.doi.org/https://doi.org/10.1007/978-3-642-01862-6 21
  20. F. Barbier, S. Eveillard, K. Youbi, O. Guitton, A. Perrier, and E. Cariou, “Model-driven reverse engineering of cobol-based applications,” in Information Systems Transformation. Elsevier, 2010, pp. 283–299.
  21. V. Cosentino, J. Cabot, P. Albert, P. Bauquel, and J. Perronnet, “A model driven reverse engineering framework for extracting business rules out of a java application,” in Rules on the Web: Research and Applications, ser. Lecture Notes in Computer Science, A. Bikakis and A. Giurca, Eds. Springer, 2012, pp. 17–31. http://dx.doi.org/https://doi.org/10.1007/978-3-642-32689-9 3
  22. . Sanchez Ramon, J. Sanchez Cuadrado, and J. Garcia Molina, “Model-driven reverse engineering of legacy graphical user interfaces,” Automated Software Engineering, vol. 21, no. 2, pp. 147–186, 2014. http://dx.doi.org/10.1007/s10515-013-0130-2
  23. I. Comyn-Wattiau and J. Akoka, “Model driven reverse engineering of NoSQL property graph databases: The case of neo4j,” in 2017 IEEE International Conference on Big Data (Big Data), 2017, pp. 453–458. http://dx.doi.org/https://doi.org/10.1109/BigData.2017.8257957
  24. J. Snchez Cuadrado, E. Guerra, and J. de Lara, “Reverse engineering of model transformations for reusability,” in Theory and Practice of Model Transformations, ser. Lecture Notes in Computer Science, D. Di Ruscio and D. Varr, Eds. Springer International Publishing, 2014, pp. 186–201. http://dx.doi.org/https://doi.org/10.1007/978-3-319-08789-4_14
  25. D. Gay, P. Levis, R. Von Behren, M. Welsh, E. Brewer, and D. Culler, “The nesC language: A holistic approach to networked embedded systems,” Acm Sigplan Notices, vol. 38, no. 5, pp. 1–11, 2003.
  26. T. Parr and K. Fisher, “LL(*): The foundation of the ANTLR parser generator,” in Proceedings of the 32Nd ACM SIGPLAN Conference on Programming Language Design and Implementation, ser. PLDI ’11. ACM, 2011, pp. 425–436, event-place: San Jose, California, USA. http://dx.doi.org/https://doi.org/10.1145/1993498.1993548
  27. T. Parr, The Definitive ANTLR 4 Reference, 2nd ed. Pragmatic Bookshelf, 2013.
  28. T. J. Parr and R. W. Quong, “Antlr: A predicated-ll (k) parser generator,” Software: Practice and Experience, vol. 25, no. 7, pp. 789–810, 1995.
  29. TinyOS Github Repository, “Tinyos antitheft application,” 2013. http://dx.doi.org/https://github.com/tinyos/tinyos-main/tree/master/apps/AntiTheft
  30. TinyoS Github Repository, “Tinyos sense application,” 2013. http://dx.doi.org/https://github.com/tinyos/tinyos-main/tree/master/apps/Sense