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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
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)
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)
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
AMD: Collaboration and open source at amd: Libreoffice (2015). https://developer.amd.com/collaboration-and-open-source-at-amd-libreoffice/
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
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
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
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
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)
Fehnker, A.: Scheduling a steel plant with timed automata. In: rtcsa, p. 280. IEEE (1999)
Hirsch, A.: Compiling and optimizing spreadsheets for FPGA and multicore execution. Ph.D. thesis, Massachusetts Institute of Technology (2007)
Hune, T., Larsen, K.G., Pettersson, P.: Guided synthesis of control programs using uppaal. Nord. J. Comput. 8(1), 43–64 (2001)
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)
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
LibreOffice: Libreoffice benchmarks (2011). https://gerrit.libreoffice.org/gitweb?p=benchmark.git;a=tree
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)
Møller, N.K.: Pre-analyses dependency scheduling with multiple threads (2016)
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
Sestoft, P.: Spreadsheet Implementation Technology: Basics and Extensions. The MIT Press, Cambridge (2014)
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
Wack, A.P.: Partitioning dependency graphs for concurrent execution: a parallel spreadsheet on a realistically modeled message passing environment (1996)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this chapter
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)