Skip to main content

Verification of the MQTT IoT Protocol Using Property-Specific CTL Sweep-Line Algorithms

  • Chapter
  • First Online:
Transactions on Petri Nets and Other Models of Concurrency XV

Part of the book series: Lecture Notes in Computer Science ((TOPNOC,volume 12530))

Abstract

MQTT is a publish-subscribe communication protocol being increasingly used for implementing internet-of-things (IoT) applications. In earlier work we have developed a formal and executable model of the MQTT protocol using Coloured Petri Nets (CPNs) and performed an initial verification of behavioural properties. The contribution of this paper is to investigate the use of the sweep-line method for verification of the MQTT CPN model in order to alleviate the effect of the state explosion problem. We formulate the behavioural properties using Computation Tree Logic (CTL) and show how to formulate a progress measure for the sweep-line method based on the main phases of the MQTT protocol. To perform the verification of properties, we provide some property-specific CTL model checking algorithms compatible with the sweep-line method.

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 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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. Baier, C., Katoen, J.-P.: Principles of Model Checking. MIT Press, Cambridge (2008)

    Google Scholar 

  2. Banks, A., Gupta, R.: MQTT Version 3.1.1. OASIS Stand. 29, 89 (2014). http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/mqtt-v3.1.1.html

  3. Cheng, A., Christensen, S., Mortensen, K.H.: Model checking coloured petri nets - exploiting strongly connected components. DAIMI Rep. Ser. 26, 519 (1997)

    Google Scholar 

  4. Christensen, S., Kristensen, L.M., Mailund, T.: A sweep-line method for state space exploration. In: Margaria, T., Yi, W. (eds.) TACAS 2001. LNCS, vol. 2031, pp. 450–464. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-45319-9_31

    Chapter  MATH  Google Scholar 

  5. Clarke, E.M., Emerson, E.A.: Design and synthesis of synchronization skeletons using branching time temporal logic. In: Kozen, D. (ed.) Logic of Programs 1981. LNCS, vol. 131, pp. 52–71. Springer, Heidelberg (1982). https://doi.org/10.1007/BFb0025774

    Chapter  Google Scholar 

  6. Clarke, E.M., Emerson, E.A., Sistla, A.P.: Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Trans. Program. Lang. Syst. (TOPLAS) 8(2), 244–263 (1986)

    Article  Google Scholar 

  7. Clarke, E.M., Grumberg, O., Minea, M., Peled, D.: State space reduction using partial order techniques. Int. J. Softw. Tools Technol. Transf. 2(3), 279–287 (1999)

    Article  Google Scholar 

  8. Clarke, E.M., Klieber, W., Nováček, M., Zuliani, P.: Model checking and the state explosion problem. In: Meyer, B., Nordio, M. (eds.) LASER 2011. LNCS, vol. 7682, pp. 1–30. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-35746-6_1

    Chapter  Google Scholar 

  9. CPN tools. http://cpntools.org/

  10. Evangelista, S., Kristensen, L.M.: Hybrid on-the-fly LTL model checking with the sweep-line method. In: Haddad, S., Pomello, L. (eds.) PETRI NETS 2012. LNCS, vol. 7347, pp. 248–267. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-31131-4_14

    Chapter  Google Scholar 

  11. Iwashita, H., Nakata, T., Hirose, F.: CTL model checking based on forward state traversal. In: Proceedings of International Conference on Computer Aided Design, pp. 82–87. IEEE Computer Society (1996)

    Google Scholar 

  12. Jensen, K., Kristensen, L., Mailund, T.: The sweep-line state space exploration method. Theor. Comput. Sci. 429, 169–179 (2012)

    Article  MathSciNet  Google Scholar 

  13. Jensen, K., Kristensen, L.M., Wells, L.: Coloured petri nets and CPN tools for modelling and validation of concurrent systems. Int. J. Softw. Tools Technol. Transf. 9(3), 213–254 (2007)

    Article  Google Scholar 

  14. Kristensen, L.M., Mailund, T.: A generalised sweep-line method for safety properties. In: Eriksson, L.-H., Lindsay, P.A. (eds.) FME 2002. LNCS, vol. 2391, pp. 549–567. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-45614-7_31

    Chapter  Google Scholar 

  15. Kristensen, L.M., Christensen, S.: Implementing coloured petri nets using a functional programming language. Higher-order Symbolic Comput. 17(3), 207–243 (2004)

    Article  Google Scholar 

  16. Liebke, T., Wolf, K.: Taking some burden off an explicit CTL model checker. In: Donatelli, S., Haar, S. (eds.) PETRI NETS 2019. LNCS, vol. 11522, pp. 321–341. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-21571-2_18

    Chapter  Google Scholar 

  17. Lilleskare, A., Kristensen, L.M., Høyland, S.-O.: CTL model checking with the sweep-line state space exploration method. In: Proceedings of Norwegian Informatics Conference (NIK) (2017)

    Google Scholar 

  18. MQTT essentials part 3: Client, broker and connection establishment. https://www.hivemq.com/blog/mqtt-essentials-part2-publish-subscribe

  19. Rodríguez, A., Kristensen, L.M., Rutle, A.: Formal modelling and incremental verification of the MQTT IoT protocol. In: Koutny, M., Pomello, L., Kristensen, L.M. (eds.) Transactions on Petri Nets and Other Models of Concurrency XIV. LNCS, vol. 11790, pp. 126–145. Springer, Heidelberg (2019). https://doi.org/10.1007/978-3-662-60651-3_5

    Chapter  Google Scholar 

  20. Rodriguez, A., Kristensen, L.M., Rutle, A.: On CTL model checking of the MQTT IoT protocol using the sweep-line method. In: Petri Nets and Software Engineering. International Workshop, PNSE 19, Aachen, Germany, June 24, 2019, volume 2424 of CEUR Workshop Proceedings, pp. 57–72 (2019)

    Google Scholar 

  21. Stern, U., Dill, D.L.: Improved probabilistic verification by hash compaction. In: Camurati, P.E., Eveking, H. (eds.) CHARME 1995. LNCS, vol. 987, pp. 206–224. Springer, Heidelberg (1995). https://doi.org/10.1007/3-540-60385-9_13

    Chapter  Google Scholar 

  22. Valmari, A.: The state explosion problem. In: Advanced Course on Petri Nets, pp. 429–528. Springer (1996)

    Google Scholar 

  23. Van Leeuwen, J., Leeuwen, J.: Handbook of Theoretical Computer Science, vol. 1. Mit Press, Elsevier (1990)

    Google Scholar 

  24. Vardi, M.Y.: Branching vs. Linear time: final showdown. In: Margaria, T., Yi, W. (eds.) TACAS 2001. LNCS, vol. 2031, pp. 1–22. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-45319-9_1

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alejandro Rodríguez .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer-Verlag GmbH Germany, part of Springer Nature

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Rodríguez, A., Kristensen, L.M., Rutle, A. (2021). Verification of the MQTT IoT Protocol Using Property-Specific CTL Sweep-Line Algorithms. In: Koutny, M., Kordon, F., Pomello, L. (eds) Transactions on Petri Nets and Other Models of Concurrency XV. Lecture Notes in Computer Science(), vol 12530. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-63079-2_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-662-63079-2_8

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-662-63078-5

  • Online ISBN: 978-3-662-63079-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics