Skip to main content

Using Alloy in Introductory Courses of Formal Methods

  • Conference paper
  • First Online:
Structured Object-Oriented Formal Language and Method (SOFL+MSVL 2014)

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

Abstract

Compact and easy-to-learn educational material of core ideas in formal methods is prepared for students in software engineering courses. Although mathematical logic is usually employed to explore the basic ideas precisely and concisely, some students with limited background are not able to follow the contents. We adapt Alloy to sugar wrap logic, which makes it possible for students to learn the core ideas by experimenting with the tool. The proposed material covers model-oriented specification notations and SAT-based automatic formal verification methods. These are important subfields of formal methods in view of both theory and practice for software engineering courses.

S. Nakajima—also affiliated with The Graduate University for Advanced Studies (SOKENDAI).

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 34.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 44.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

Notes

  1. 1.

    We switch to the interactive proof when the automatic prover fails.

  2. 2.

    hereafter called SBMC to stand for software bounded-model checker.

  3. 3.

    Education Network for Practical Information Technologies, http://www.enpit.jp.

  4. 4.

    Ministry of Education, Cultural, Sports, Science and Technology, Japan.

References

  1. Abrial, J.R.: The B-Book - Assgining Programs to Meanings. Cambridge University Press, Cambridge (1996)

    Book  Google Scholar 

  2. Abrial, J.R.: Formal methods in industry - achievements, problems, future. In: Proceedings of ICSE 2006, pp. 761–767 (2006)

    Google Scholar 

  3. Abrial, J.R.: Modeling in Event-B - System and Software Engineering. Cambridge University Press, Cambridge (2010)

    Book  MATH  Google Scholar 

  4. Back, R.-J., Sere, K.: Superposition refinement of reactive systems. Formal Aspects Comput. 8(3), 324–346 (1995)

    Article  Google Scholar 

  5. Ben-Ari, M.: Principles of Concurrent and Distributed Programming, 2nd edn. Addison-Wesley, Boston (2006)

    Google Scholar 

  6. Bjørner, D.: Software Engineering (three volumes). Springer, Berlin (2006)

    Google Scholar 

  7. Bolton, C.: Using the alloy analyzer to verify data refinement in Z. ENTCS 137, 23–44 (2005)

    Google Scholar 

  8. Clarke, E.M., Biere, A., Raimi, R., Zhu, Y.: Bounded model checking using satisfiability solving. Formal Methods Syst. Des. 19(1), 7–34 (2001)

    Article  MATH  Google Scholar 

  9. Dick, J., Faivre, A.: Automating the generation and sequencing of test cases from model-based specifications. In: Proceedings of FME’93, pp. 268–284 (1993)

    Google Scholar 

  10. Dijkstra, E.W.: The humble programmer - ACM turing award lecture. Commun. ACM 15(10), 859–866 (1972)

    Article  Google Scholar 

  11. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns - Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)

    Google Scholar 

  12. He, J., Hoare, C.A.R., Sanders, J.W.: Date refinement refined - resume. In: Proceedings of ESOP’86, pp. 187–196 (1986)

    Google Scholar 

  13. Huth, M., Ryan, M.: Logic in Computer Science, 2nd edn. Cambridge University Press, Cambridge (2004)

    Book  MATH  Google Scholar 

  14. Jackson, D., Wing, J.: Lightweight formal methods. In: Saidian, H. (ed.) An Invitation to Formal Methods, IEEE Computer (1996)

    Google Scholar 

  15. Jackson, D.: Software Abstractions - Logic, Language, and Analysis, revised edn. The MIT Press, London (2012)

    Google Scholar 

  16. Jones, C.: Systematic Software Development with VDM, 2nd edn. Prentice Hall, New York (1990)

    Google Scholar 

  17. Jones, C.: A rigorous approach to formal methods. In: Saidian, A. (ed.) An Invitation to Formal Methods, IEEE Computer (1996)

    Google Scholar 

  18. Kramer, J.: Is abstraction the key to computing? Comm. ACM 50(4), 37–42 (2007)

    Article  Google Scholar 

  19. Larsen, P.G., Fitzgerald, J.S., Riddle, S.: Learning by Doing: Practical Courses in Lightweight Formal Methods using VDM++, CS-TR-992. University Newcastle upon Tyne, Tyne (2006)

    Google Scholar 

  20. Liu, S.: Formal Engineering for Industrial Software Development using the SOFL Method. Springer, Edinburgh (2004)

    Book  MATH  Google Scholar 

  21. Magee, J., Kramer, J.: Concurrency - State Models & Java Programming, 2nd edn. Wiley, Chichester (2006)

    Google Scholar 

  22. Nakajima, S.: Introduction to Formal Methods - Logic-Based Software Development Methods (in Japanese), Ohm-sya (2012)

    Google Scholar 

  23. Ölveczky, P.C.: Teaching formal methods based on rewriting logic and maude. In: Gibbons, J., Oliveira, J.N. (eds.) TFM 2009. LNCS, vol. 5846, pp. 20–38. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  24. Prasad, M.R., Biere, A., Gupta, A.: A survey of recent advances in SAT-based formal verification. J. STTT 7(2), 156–173 (2005)

    Article  Google Scholar 

  25. Shaw, M.: Whither software engieering education?, an invited talk at IEEE CSEE&T 2011, Honolulu (2011)

    Google Scholar 

  26. Spivey, J.M.: The Z Notation - A Reference Manual. Prentice Hall, Englewood Cliffs (1992)

    Google Scholar 

  27. Wing, J.: A Specifier’s Introduction to Formal Methods. IEEE Comput. 23, 8–24 (1990)

    Article  Google Scholar 

  28. Woodcock, J.C.P., Davies, J.: Using Z - Specification, Refinement, and Proof. Prentice-Hall, Englewood Cliffs (1996)

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Shin Nakajima .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Nakajima, S. (2015). Using Alloy in Introductory Courses of Formal Methods. In: Liu, S., Duan, Z. (eds) Structured Object-Oriented Formal Language and Method. SOFL+MSVL 2014. Lecture Notes in Computer Science(), vol 8979. Springer, Cham. https://doi.org/10.1007/978-3-319-17404-4_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-17404-4_7

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-17403-7

  • Online ISBN: 978-3-319-17404-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics