Skip to main content

System Modelling

  • Chapter
  • First Online:
Concise Guide to Software Verification

Abstract

This chapter discusses how to develop a formal model of a system that can be used for model checking. The basic idea of model checking is the following: (i) you define a model that describes the behaviour of your system, (ii) you specify the properties that your system is supposed to satisfy, and (iii) you use a model checking tool to analyse all possible behaviour of the model to verify whether those properties are actually satisfied by the model. The models that we consider here are abstract descriptions of actual software, meaning that the models typically address the functionality of the software in a simplified way, with certain details of the software being ignored. These models can therefore be considered as high-level designs of actual software systems. In a software development workflow, such a model may be used as a basis, and the software may result from incrementally refining the model into actual code. Alternatively, such a model may be the result of analysing already existing software, for instance, by using a model learning algorithm [158].

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

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 89.99
Price excludes VAT (USA)
  • Durable hardcover 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

Notes

  1. 1.

    Note that the smallest possible value for integers is \(-2^{31}+1\), as opposed to the standard \(-2^{31}\). This is not a mistake, but a restriction imposed by the implementation of NuSMV.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Marieke Huisman .

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Huisman, M., Wijs, A. (2023). System Modelling. In: Concise Guide to Software Verification. Texts in Computer Science. Springer, Cham. https://doi.org/10.1007/978-3-031-30167-4_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-30167-4_3

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-30166-7

  • Online ISBN: 978-3-031-30167-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics