Skip to main content

IOPT-Tools – From Executable Models to Automatic Code Generation for Embedded Controllers Development

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

Abstract

This paper describes the IOPT-Tools cloud-based tool-chain, offering a complete set of tools supporting design automation for embedded controller’s development, benefiting from adopting a model-driven development attitude. The tools are freely available online at http://gres.uninova.pt/IOPT-Tools/. The tool-chain relies on IOPT nets (Input-Output Place-Transition nets) to describe the controller behavior, allowing an explicit representation of constraints on input and output signals and events, which is necessary for the development of controllers. The IOPT-Tools tool-chain includes tools for interactive graphical IOPT nets models editing, simulation and test (token-player, timing diagram, remote debugging), as well as a state-space generator, state-space visualization, and a query system for properties verification. The tool-chain also supports the automatic generation of execution code to be directly deployed in the controllers’ implementation platforms, such as FPGA boards, as well as Arduino, Raspberry, and other Linux-based boards. Most notably, it is possible to obtain C code and VHDL code to be directly deployed into the referred boards without writing/changing a line in the generated code. The tool-chain uses the PNML format for storing the models and can import PNML models generated by other frameworks, automatically generating, if necessary, an associated graphical representation. After, it is possible to add input and output signals and events to create controller models. IOPT-Tools also supports net operations, namely net addition, allowing composition of sub-models, and net splitting, which in conjunction with the use of clock domains and dedicated communication channels support the development of distributed controllers.

This work was partially financed by Portuguese Agency FCT - Fundação para a Ciência e Tecnologia, in the framework of project UIDB/00066/2020.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 64.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 84.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Silva, M.: Las Redes de Petri: en la Automática y la Informática. Editorial AC, Madrid (1985)

    Google Scholar 

  2. David, R., Alla, H.: Petri Nets & Grafcet; Tools for Modelling Discrete Event Systems. Prentice Hall International (UK) Ltd. (1992)

    Google Scholar 

  3. David, R., Alla, H.: Discrete, Continuous, and Hybrid Petri Nets, 2nd edn. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-10669-9

    Book  Google Scholar 

  4. Frey, G., Minas, M.: Editing, visualizing, and implementing signal interpreted Petri nets. In: Proceedings of the AWPN 2000, Koblenz, pp. 57–62, October 2000

    Google Scholar 

  5. Hanisch, H.-M., Lüder, A.: A signal extension for Petri nets and its use in controller design. Fund. Inform. 41(4), 415–431 (2000)

    MATH  Google Scholar 

  6. Venkatesh, K., Zhou, M., Caudill, R.J.: Comparing ladder logic diagrams and petri nets for sequence controller design through a discrete manufacturing system. IEEE Trans. Industr. Electron. 41(6), 611–619 (1994)

    Article  Google Scholar 

  7. Petri nets tool database. http://www.informatik.uni-hamburg.de/TGI/PetriNets/tools/db.html. Accessed 26 Jan 2022

  8. IOPT-Tools website. http://gres.uninova.pt/IOPT-Tools/. Accessed 26 Jan 2022

  9. Gomes, L., Moutinho, F., Pereira, F.: IOPT-tools - a web based tool framework for embedded systems controller development using Petri nets. In: 2013 23rd International Conference on Field Programmable Logic and Applications, September 2013

    Google Scholar 

  10. Pereira, F., Moutinho, F., Gomes, L.: IOPT-tools - towards cloud design automation of digital controllers with Petri nets. In: ICMC 2014- International Conference on Mechatronics and Control (2014)

    Google Scholar 

  11. Gomes, L., Barros, J.-P., Costa, A., Nunes, R.: The input-output place-transition Petri net class and associated tools. In: 2007 5th IEEE International Conference on Industrial Informatics, vol. 1, pp. 509–514, June 2007

    Google Scholar 

  12. Gomes, L., Moutinho, F., Pereira, F., Ribeiro, J., Costa, A., Barros, J.-P.: Extending input-output place-transition petri nets for distributed controller systems development. In: ICMC 2014 - International Conference on Mechatronics and Control, 3–5 July 2014, Jinzhou, China, pp. 1099–1104 (2014)

    Google Scholar 

  13. Gomes, L., Barros, J.P.: Refining IOPT Petri nets class for embedded system controller modeling. In: IECON 2018–44th Annual Conference of the IEEE Industrial Electronics Society, pp. 4720–4725 (2018)

    Google Scholar 

  14. Costa, A., Gomes, L.: Petri net partitioning using net splitting operation. In: 2009 7th IEEE International Conference on Industrial Informatics, June 2009

    Google Scholar 

  15. Moutinho, F., Gomes, L.: Distributed Embedded Controller Development with Petri Nets: Application to Globally-Asynchronous Locally-Synchronous Systems, 1st edn. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-319-20822-0

    Book  Google Scholar 

  16. Barros, J.-P., Gomes, L.: Net model composition and modification by net operations: a pragmatic approach. In: INDIN’2004 - 2nd IEEE International Conference on Industrial Informatics, 24–26 June 2004, Berlin, Germany (2004). https://doi.org/10.1109/INDIN.2004.1417350

  17. Gomes, L., Rebelo, R., Barros, J.-P., Costa, A., Pais, R.: From Petri net models to C implementation of digital controllers. In: ISIE 2010 - IEEE International Symposium on Industrial Electronics, Bari, Italy, 4–7 July 2010

    Google Scholar 

  18. Pereira, F., Gomes, L.: Automatic synthesis of VHDL hardware components from IOPT Petri net models. In: IECON 2013 - The 39th Annual Conference of the IEEE Industrial Electronics Society, 10–13 November 2013, Vienna, Austria (2013)

    Google Scholar 

  19. Feio, R., Rosas, J., Gomes, L.: Translating IOPT Petri net models into PLC ladder diagrams. In: ICIT 2017 - 18th International Conference on Industrial Technology, 22–25 March 2017, Toronto, Canada (2017)

    Google Scholar 

  20. Gomes, L., Costa, A.: Cloud based development framework using IOPT Petri nets for embedded systems teaching. In: ISIE 2014 - 2014 IEEE International Symposium on Industrial Electronics, 1–4 June 2014, Istanbul, Turkey, pp. 2202–2206 (2014). https://doi.org/10.1109/ISIE.2014.6864959

  21. Billington, J., et al.: The Petri net markup language: concepts, technology, and tools. In: van der Aalst, W.M.P., Best, E. (eds.) ICATPN 2003. LNCS, vol. 2679, pp. 483–505. Springer, Heidelberg (2003). https://doi.org/10.1007/3-540-44919-1_31

    Chapter  Google Scholar 

  22. Ellson, J., Gansner, E., Koutsofios, L., North, S.C., Woodhull, G.: Graphviz— open source graph drawing tools. In: Mutzel, P., Jünger, M., Leipert, S. (eds.) GD 2001. LNCS, vol. 2265, pp. 483–484. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-45848-4_57

    Chapter  MATH  Google Scholar 

  23. Pereira, F., Moutinho, F., Gomes, L., Campos-Rebelo, R.: IOPT Petri net state space generation algorithm with maximal-step execution semantics. In: INDIN 2011 - 9th IEEE International Conference on Industrial Informatics, 26–29 July 2011, Caparica, Lisbon, Portugal, pp. 789–795 (2011). ISBN 978-1-4577-0434-5. https://doi.org/10.1109/INDIN.2011.6034958

  24. Pereira, F., Moutinho, F., Gomes, L., Ribeiro, J., Campos-Rebelo, R.: An IOPT-net state-space generator tool. In: INDIN 2011 - 9th IEEE International Conference on Industrial Informatics, 26–29 July 2011, Caparica, Lisbon, Portugal, pp. 383–389 (2011). ISBN 978-1-4577-0434-5. https://doi.org/10.1109/INDIN.2011.6034907

  25. HIPPO website. http://hippo.iee.uz.zgora.pl/index.php. Accessed 26 Jan 2022

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Luis Gomes .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Pereira, F., Moutinho, F., Costa, A., Barros, JP., Campos-Rebelo, R., Gomes, L. (2022). IOPT-Tools – From Executable Models to Automatic Code Generation for Embedded Controllers Development. In: Bernardinello, L., Petrucci, L. (eds) Application and Theory of Petri Nets and Concurrency. PETRI NETS 2022. Lecture Notes in Computer Science, vol 13288. Springer, Cham. https://doi.org/10.1007/978-3-031-06653-5_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-06653-5_7

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-06652-8

  • Online ISBN: 978-3-031-06653-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics