Abstract
Teaching courses that rely on sound mathematical principles is nowadays a challenging task at many universities. On the one hand there is an increased demand for educating students in these areas, on the other hand there are more and more students being accepted with less adequate skills in mathematics. We report here on our experiences in teaching concurrency theory over the last twenty years or so to students ranging from mathsphobic bachelor students to sophisticated doctoral students. The contents of the courses, the material on which they are based and the pedagogical philosophy underlying them are described, as well as some of the lessons that we have learned over the years.
The work of Aceto and Ingolfsdottir has been partially supported by the projects “The Equational Logic of Parallel Processes” (nr. 060013021) and “New Developments in Operational Semantics” (nr. 080039021) of the Icelandic Research Fund. Srba was partially supported by Ministry of Education of the Czech Republic, project No. MSM 0021622419.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Aceto, L., Ingólfsdóttir, A., Larsen, K.G., Srba, J.: Reactive Systems: Modelling, Specification and Verification. Cambridge University Press, Cambridge (2007)
Alur, R., Dill, D.L.: A theory of timed automata. Theoretical Comput. Sci. 126(2), 183–235 (1994); Fundamental Study
Alur, R., Taubenfeld, G.: Fast timing-based algorithms. Distributed Computing 10(1), 1–10 (1996)
Andersen, H.R.: An introduction to binary decision diagrams (1998), Version of October 1997 with minor revisions April 1998, p. 36, http://www.itu.dk/people/hra/notes-index.html
Arnold, A., Bégay, D., Crubillé, P.: Construction and Analysis of Transition Systems Using MEC. AMAST Series in Computing, vol. 3. World Scientific, Singapore (1994)
Baeten, J.C., Weijland, P.: Process Algebra. Cambridge Tracts in Theoretical Computer Science, vol. 18. Cambridge University Press, Cambridge (1990)
Bartlett, K., Scantlebury, R., Wilkinson, P.: A note on reliable full–duplex transmission over half–duplex links. Commun. ACM 12, 260–261 (1969)
Behrmann, G., David, A., Larsen, K.G.: A tutorial on uppaal. In: Bernardo, M., Corradini, F. (eds.) SFM-RT 2004. LNCS, vol. 3185, pp. 200–236. Springer, Heidelberg (2004)
Biggs, J.: Teaching for quality learning at University. Open University Press, Stony Stratford (1999)
Bryant, R.E.: Symbolic boolean manipulation with ordered binary-decision diagrams. ACM Comput. Surv. 24(3), 293–318 (1992)
Clarke, E., Emerson, E.: 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)
Clarke, E., Gruemberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (1999)
Cleaveland, R., Parrow, J., Steffen, B.: The concurrency workbench: A semantics-based tool for the verification of concurrent systems. ACM Trans. Prog. Lang. Syst. 15(1), 36–72 (1993)
Cleaveland, R., Sims, S.: The NCSU Concurrency Workbench. In: Alur, R., Henzinger, T.A. (eds.) CAV 1996. LNCS, vol. 1102, pp. 394–397. Springer, Heidelberg (1996)
Downey, A.B.: The Little Book of Semaphores, 2nd edn. Green Tea Press (2008), http://www.greenteapress.com/semaphores/
Fokkink, W.: Introduction to Process Algebra. Texts in Theoretical Computer Science. An EATCS Series. Springer, Berlin (2000)
Hamberg, R., Vaandrager, F.: Using model checkers in an introductory course on operating systems. Operating Systems Review 42(6), 101–111 (2008)
Harel, D., Pnueli, A.: On the development of reactive systems. In: Logics and models of concurrent systems (La Colle-sur-Loup, 1984). NATO Adv. Sci. Inst. Ser. F Comput. Systems Sci., vol. 13, pp. 477–498. Springer, Berlin (1985)
Hennessy, M.: Algebraic Theory of Processes. MIT Press, Cambridge (1988)
Hennessy, M., Milner, R.: Algebraic laws for nondeterminism and concurrency. J. ACM 32(1), 137–161 (1985)
Hoare, C.: Communicating Sequential Processes. Prentice-Hall International, Englewood Cliffs (1985)
Hurkens, C.: Spreading gossip efficiently. Nieuw Archief voor Wiskunde 5/1(2), 208–210 (2000)
Ingolfsdottir, A., Godskesen, J.C., Zeeberg, M.: Fra Hennessy-Milner logik til CCS-processer. Master’s thesis, Department of Computer Science, Aalborg University (1987) (in Danish)
Keller, R.: Formal verification of parallel programs. Commun. ACM 19(7), 371–384 (1976)
Krantz, S.G.: How to Teach Mathematics (a personal pespective). American Mathematical Society, Providence (1993)
Laroussinie, F., Larsen, K.G., Weise, C.: From timed automata to logic - and back. In: Hájek, P., Wiedermann, J. (eds.) MFCS 1995. LNCS, vol. 969, pp. 529–539. Springer, Heidelberg (1995)
Larsen, K.G.: Proof systems for satisfiability in Hennessy–Milner logic with recursion. Theoretical Comput. Sci. 72(2–3), 265–288 (1990)
Lions, J.L.: ARIANE 5 flight 501 failure: Report by the inquiry board (July 1996), http://www.cs.aau.dk/~luca/SV/ariane.pdf
Magee, J., Kramer, J.: Concurrency: State Models and Java Programs. John Wiley, Chichester (1999)
Mazur, E.: Peer Instruction: A User’s Manual. Series in Educational Innovation. Prentice-Hall International, Upper Saddle River (1997)
Milner, R.: Communication and Concurrency. Prentice-Hall International, Englewood Cliffs (1989)
Papadimitriou, C.H.: Mythematics: storytelling in the teaching of computer science and mathematics. In: Dagdilelis, V., Satratzemi, M., Finkel, D., Boyle, R.D., Evangelidis, G. (eds.) Proceedings of the 8th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education, ITiCSE 2003, Thessaloniki, Greece, June 30–July 2, p. 1. ACM, New York (2003)
Park, D.: Concurrency and automata on infinite sequences. In: Deussen, P. (ed.) GI-TCS 1981. LNCS, vol. 104, pp. 167–183. Springer, Heidelberg (1981)
Patterson, D.A.: 20\(^{\mbox{th}}\) century vs. 21\(^{\mbox{st}}\) century C&C: The SPUR manifesto. Commun. ACM 48(3), 15–16 (2005)
Pnueli, A.: The temporal logic of programs. In: Proceedings \(\it 18^{th}\) Annual Symposium on Foundations of Computer Science, pp. 46–57. IEEE, Los Alamitos (1977)
Pratt, V.R.: Anatomy of the Pentium bug. In: Mosses, P.D., Schwartzbach, M.I., Nielsen, M. (eds.) CAAP 1995, FASE 1995, and TAPSOFT 1995. LNCS, vol. 915, pp. 97–107. Springer, Heidelberg (1995)
Roscoe, B.: The Theory and Practice of Concurrency. Prentice-Hall International, Englewood Cliffs (1999)
Schneider, S.: Concurrent and Real-time Systems: The CSP Approach. John Wiley, Chichester (1999)
Steffen, B., Ingolfsdottir, A.: Characteristic formulae for processes with divergence. Information and Computation 110(1), 149–163 (1994)
Stirling, C.: Local model checking games. In: Lee, I., Smolka, S.A. (eds.) CONCUR 1995. LNCS, vol. 962, pp. 1–11. Springer, Heidelberg (1995)
Stirling, C.: Modal and Temporal Properties of Processes. Springer, Heidelberg (2001)
Tarski, A.: A lattice-theoretical fixpoint theorem and its applications. Pacific Journal of Mathematics 5, 285–309 (1955)
Thomas, W.: On the Ehrenfeucht-Fraïssé game in theoretical computer science (extended abstract). In: Gaudel, M.-C., Jouannaud, J.-P. (eds.) CAAP 1993, FASE 1993, and TAPSOFT 1993. LNCS, vol. 668, pp. 559–568. Springer, Heidelberg (1993)
Walker, D.: Automated analysis of mutual exclusion algorithms using CCS. Journal of Formal Aspects of Computing Science 1, 273–292 (1989)
Yi, W.: Real-time behaviour of asynchronous agents. In: Baeten, J.C.M., Klop, J.W. (eds.) CONCUR 1990. LNCS, vol. 458, pp. 502–520. Springer, Heidelberg (1990)
Yi, W.: A Calculus of Real Time Systems. PhD thesis, Chalmers University of Technology, Göteborg, Sweden (1991)
Yi, W.: CCS + time = an interleaving model for real time systems. In: Leach Albert, J., Monien, B., Rodríguez-Artalejo, M. (eds.) ICALP 1991. LNCS, vol. 510, pp. 217–228. Springer, Heidelberg (1991)
Yoshigahara, N.: Rush Hour, Traffic Jam Puzzle, http://www.puzzles.com/products/rushhour.htm by Puzzles.com (accessed on July 10th, 2009)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Aceto, L., Ingolfsdottir, A., Larsen, K.G., Srba, J. (2009). Teaching Concurrency: Theory in Practice. In: Gibbons, J., Oliveira, J.N. (eds) Teaching Formal Methods. TFM 2009. Lecture Notes in Computer Science, vol 5846. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-04912-5_11
Download citation
DOI: https://doi.org/10.1007/978-3-642-04912-5_11
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-04911-8
Online ISBN: 978-3-642-04912-5
eBook Packages: Computer ScienceComputer Science (R0)