Skip to main content

Analyzing Spreadsheets for Parallel Execution via Model Checking

  • Chapter
  • First Online:
Models, Mindsets, Meta: The What, the How, and the Why Not?

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

Abstract

In this paper we briefly report on work in the Popular Parallel Programming (P3) project where we follow in the footsteps of Bernhard Steffen using the idea of program analysis via model checking and abstract interpretation. The programs we analyze are spreadsheet programs, which for long have been identified as an ideal programming model for parallel execution. We translate spreadsheet programs into Timed Automata Models, which may be analyzed by the Uppaal model checker and its derivatives, with the purpose of finding schedules for parallel execution. In this paper we mainly focus on the techniques and scalability issues of various variants of Uppaal, but also report briefly on the performance results achieved through the parallelization.

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

Notes

  1. 1.

    https://www.itu.dk/~sestoft/p3/.

  2. 2.

    http://www.itu.dk/people/sestoft/funcalc/.

References

  1. Abdeddaïm, Y., Kerbaa, A., Maler, O.: Task graph scheduling using timed automata. In: Proceedings International Parallel and Distributed Processing Symposium, 2003, p. 8. IEEE (2003)

    Google Scholar 

  2. Abramson, D., Roe, P., Kotler, L., Mather, D.: Activesheets: super-computing with spreadsheets. In: 2001 High Performance Computing Symposium (HPC 2001), Advanced Simulation Technologies Conference, pp. 22–26. Citeseer (2001)

    Google Scholar 

  3. Alur, R., La Torre, S., Pappas, G.J.: Optimal paths in weighted timed automata. In: Di Benedetto, M.D., Sangiovanni-Vincentelli, A. (eds.) HSCC 2001. LNCS, vol. 2034, pp. 49–62. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-45351-2_8

    Chapter  Google Scholar 

  4. AMD: Collaboration and open source at amd: Libreoffice (2015). https://developer.amd.com/collaboration-and-open-source-at-amd-libreoffice/

  5. Behrmann, G., et al.: Minimum-cost reachability for priced time automata. In: Di Benedetto, M.D., Sangiovanni-Vincentelli, A. (eds.) HSCC 2001. LNCS, vol. 2034, pp. 147–161. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-45351-2_15

    Chapter  Google Scholar 

  6. Bock, A., Bøgholm, T., Sestoft, P., Thomsen, B., Thomsen, L.L.: Concrete and Abstract Cost Semantics for Spreadsheets. Technical Report, TR-2018-203, IT University, Denmark. https://pure.itu.dk/portal/files/84061527/ITU_TR_2018_203.pdf

  7. Chandy, M.: Concurrent programming for the masses (invited address). In: Proceedings of the Fourth Annual ACM Symposium on Principles of Distributed Computing, pp. 1–12. PODC 1985, ACM, New York, NY, USA (1985). https://doi.org/10.1145/323596.323597

  8. David, A., Jensen, PGjøl, Larsen, K.G., Mikučionis, M., Taankvist, J.H.: Uppaal stratego. In: Baier, C., Tinelli, C. (eds.) TACAS 2015. LNCS, vol. 9035, pp. 206–211. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-46681-0_16

    Chapter  Google Scholar 

  9. Eriksen, A.B., et al.: Uppaal stratego for intelligent traffic lights. In: Proceedings of the 12th ITS European Congress, Strasbourg, France, 19–22. June 2017 (2017)

    Google Scholar 

  10. Fehnker, A.: Scheduling a steel plant with timed automata. In: rtcsa, p. 280. IEEE (1999)

    Google Scholar 

  11. Hirsch, A.: Compiling and optimizing spreadsheets for FPGA and multicore execution. Ph.D. thesis, Massachusetts Institute of Technology (2007)

    Google Scholar 

  12. Hune, T., Larsen, K.G., Pettersson, P.: Guided synthesis of control programs using uppaal. Nord. J. Comput. 8(1), 43–64 (2001)

    MATH  Google Scholar 

  13. Jørgensen, K.Y., Larsen, K.G., Srba, J.: Time-darts: A data structure for verification of closed timed automata. arXiv preprint arXiv:1211.6195 (2012)

  14. Larsen, K.G., Mikučionis, M., Muñiz, M., Srba, J., Taankvist, J.H.: Online and compositional learning of controllers with application to floor heating. In: Chechik, M., Raskin, J.-F. (eds.) TACAS 2016. LNCS, vol. 9636, pp. 244–259. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-49674-9_14

    Chapter  Google Scholar 

  15. LibreOffice: Libreoffice benchmarks (2011). https://gerrit.libreoffice.org/gitweb?p=benchmark.git;a=tree

  16. Maler, O.: Timed automata as an underlying model for planning and scheduling. In: Proceedings of the 2002 International Conference on Planning for Temporal Domains, pp. 67–70. AAAI Press (2002)

    Google Scholar 

  17. Møller, N.K.: Pre-analyses dependency scheduling with multiple threads (2016)

    Google Scholar 

  18. Schmidt, D., Steffen, B.: Program analysis as model checking of abstract interpretations. In: Levi, G. (ed.) SAS 1998. LNCS, vol. 1503, pp. 351–380. Springer, Heidelberg (1998). https://doi.org/10.1007/3-540-49727-7_22

    Chapter  Google Scholar 

  19. Sestoft, P.: Spreadsheet Implementation Technology: Basics and Extensions. The MIT Press, Cambridge (2014)

    Book  Google Scholar 

  20. Steffen, B.: Data flow analysis as model checking. In: Ito, T., Meyer, A.R. (eds.) TACS 1991. LNCS, vol. 526, pp. 346–364. Springer, Heidelberg (1991). https://doi.org/10.1007/3-540-54415-1_54

    Chapter  Google Scholar 

  21. Wack, A.P.: Partitioning dependency graphs for concurrent execution: a parallel spreadsheet on a realistically modeled message passing environment (1996)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Bent Thomsen .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Bøgholm, T., Larsen, K.G., Muñiz, M., Thomsen, B., Thomsen, L.L. (2019). Analyzing Spreadsheets for Parallel Execution via Model Checking. In: Margaria, T., Graf, S., Larsen, K. (eds) Models, Mindsets, Meta: The What, the How, and the Why Not?. Lecture Notes in Computer Science(), vol 11200. Springer, Cham. https://doi.org/10.1007/978-3-030-22348-9_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-22348-9_3

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-22347-2

  • Online ISBN: 978-3-030-22348-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics