Skip to main content

The geometry of conservative programs


The programs, we consider are written in a restricted form of the language introduced by Dijkstra (1968). A program is said to be conservative when each of its loops restores all the resources it consumes. We define the geometric model of such a program and prove that the collection of directed paths on it is a reasonable over-approximation of its set of execution traces. In particular, two directed paths that are close enough with respect to the uniform distance result in the same action on the memory states of the system. The same holds for weakly dihomotopic directed paths. As a by-product, we obtain a notion of independence, which is favourably compared to more common ones. The geometric models actually belong to a handy class of local pospaces whose elements are called isothetic regions. The local pospaces we use differ from the original ones, we carefully explain why the alternative notion should be preferred. The title intentionally echoes the article by Carson and Reynolds (1987).

Hide All
Allen, F.E. (1970). Control flow analysis. In: Proceedings of the Symposium on Compiler Optimization, New York, NY, USA: ACM, 119.
Balabonski, T. and Haucourt, E. (2010). A geometric approach to the problem of unique decomposition of processes. In: Concurrency Theory 21th International Conference, Lecture Notes in Computer Science, vol. 6269, Springer, 132146.
Blackburn, P., de Rijke, M. and Venema, Y. (2008). Modal Logic. Tracts in theoretical Computer Science, vol. 53, 3rd ed., Cambridge University Press, New York, NY, USA.
Bridson, M.R. and Haefliger, A. (1999). Metric Spaces of Non-Positive Curvature, Grundlehren der mathematischen Wissenschaften, vol. 319, Springer-Verlag Berlin Heidelberg.
Brown, R. (2006). Topology and Groupoids, BookSurge Publishing.
Brown, R., Higgins, P.J. and Sivera, R. (2011). Nonabelian Algebraic Topology, Tracts in Mathematics. European Mathematical Society, Zürich, Switzerland.
Bubenik, P. (2009). Context for models of concurrency. In: Proceeding of the Workshops on Geom. and Topological Methods in Concurrency Theory (GETCO 2004+2005+2006), Electronic Notes in Theoretical Computer Science, vol. 230, Elsevier, 3–21.
Bubenik, P. and Worytkiewicz, K. (2006). A model category for local pospaces. Homology, Homotopy and Applications 8 (1) 263292.
Carson, S.D. and Reynolds, P.F. Jr. (1987). The geometry of semaphore programs. ACM Transaction on Programming Language and System 9 (1) 2553.
Cattani, G.L. and Sassone, V. (1996). Higher dimensional transition systems. In: Proceedings of the 11th Symposium of Logics in Computer Science, LICS '96, IEEE, 55–62.
Clarke, E.E., Grumberg, O. and Peled, D.A. (2000). Model Checking, 2nd ed., MIT
Coffman, E.G., Elphick, M. and Shoshani, A. (1971). System deadlocks. ACM Computing Survey 3 (2) 6778.
Cridlig, R. (1995). Semantic analysis of shared-memory concurrent languages using abstract model-checking. In: Proceedings of the 1995 ACM SIGPLAN Symposium on Partial Evaluation and Semantics-based Program Manipulation, New York, NY, USA, 214225.
Cridlig, R. (1997). Implementing a static analyzer of concurrent programs: Problems and perspectives. In: Dam, M. (ed.) Analysis and Verification of Multiple-Agent Lang., selected papers from the 5th LOMAPS, June 24–26, 1996, vol. 1192, London, UK: Springer, 244259.
Dijkstra, E.W. (1968). Cooperating sequential processes. In: Genuys, F. (ed.) Programming Language: NATO Advanced Study Institute, Proc. of the summer school held at Villars-de-Lans, 1966, Academic Press, 43112. by the Technological Univ. of Eindhoven, The Netherlands, 1965. Also in Hansen, P.B. (ed.) The Origin of Concurrent Programming, Springer 2002.
Dijkstra, E.W. (1971). Hierarchical ordering of sequential processes. Acta Informatica 1 115138.
Fahrenberg, U. (2002). Towards an efficient algorithm for detecting unsafe states in timed concurrent sytems. Master's thesis, The Faculty of Engineering and Sci., Aalborg university, Denmark.
Fahrenberg, U. and Legay, A. (2015). Partial higher-dimensional automata. In: Moss, L.S. and Sobociński, P. (eds.) Proceedings of the 6th Conference on Algebra and Coalgebra in Computer Science, Leibniz International Proceedings in Informatics, vol. 35, Dagstuhl, Germany, 101115.
Fajstrup, L. (2005). Dipaths and dihomotopies in a cubical complex. Advances in Applied Mathematics 35 (2) 188206.
Fajstrup, L., Goubault, É., Haucourt, E., Mimram, S. and Raußen, M. (2016). Directed Algebraic Topology and Concurrency. Springer Briefs in Applied Science and Technology - Mathematical Methods, Springer, Switzerland.
Fajstrup, L., Goubault, É. and Raußen, M. (2006). Algebraic topology and concurrency. Theoretical Computer Science 357 (1) 241278. Also technical report R-99-2008, Department of Mathematical Sciences, Aalborg university, 1999.
Floyd, R.W. (1967). Assigning meanings to programs. In Schwartz, J.T. (ed.) Proceedings of Symposia in Applied Mathematics, Mathematical Aspects of Computer Science, vol. 19 American Math. Society, 1932.
Gaucher, P. (2010). Directed algebraic topology and higher dimensional transition systems. New York Journal of Mathematics 16 409461.
Goubault, É. (2000). Geometry and concurrency: A user's guide. Mathematical Structures in Computer Science 10 (4) 411425.
Goubault, É. and Mimram, S. (2012). Formal relationships between geometrical and classical models for concurrency. Electronic Notes in Theoretical Computer Science 283 77109.
Goubault, É. and Mimram, S. (in press). Directed homotopy in non-positively curved spaces. Logical Methods in Computer Science.
Goubault-Larrecq, J. (2013). Non-Hausdorff Topology and Domain Theory, New Math. Monographs, vol. 22, Cambridge University Press, UK.
Goubault-Larrecq, J. (2014). Exponentiable streams and prestreams. Applied Categorical Structures 22 514549.
Grandis, M. (2003). Directed homotopy theory, I. The fundamental category. Cahiers de Topologie et Géométrie Différentielle Catégoriques 44 (4) 281316.
Hansen, P.B. (2002). The Origin of Concurrent Programming: From Semaphores to Remote Procedure Calls, Springer-Verlag New York.
Haucourt, E. (2012). Streams, d-spaces and their fundamental categories. Electronic Notes in Theoretical Computer Science 283 111151
Haucourt, E. and Ninin, N. (2014). The Boolean algebra of cubical areas as a tensor product in the category of semilattices with zero. In: Proceedings of the 7th Interaction and Concurrency Experience (ICE 2014), Electronic Proceedings in Theoretical Computer Science.
Kahl, T. (2009). A fibration category of local pospaces. Electronic Notes in Theoretical Computer Science 230 129140.
Krishnan, S. (2009). A convenient category of locally preordered spaces. Applied Categorical Structures 17 (5) 445466.
Krishnan, S. (2013). Cubical approximation for directed topology I. Applied Categorical Structures 23 (2) 177214.
Lawvere, F.W. (1973). Metric spaces, generalized logic, and closed categories. In: Rendiconti del seminario matématico e fisico di Milano, vol. XLIII, 135–166. Reprints in Theory and Applications of Categories, No. 1 (2002) pp. 1–37.
Lipski, W. and Papadimitriou, C.H. (1981). A fast algorithm for testing for safety and detecting deadlocks in locked transaction systems. Journal of Algorithms (2), 211226, Academic Press.
Manetti, M. (2015). Topology, La Matematica per il 3+2, Springer International Publishing, Switerland.
Nachbin, L. (1965). Topology and Order, Mathematical Studies, vol. 4, Van Nostrand.
Ninin, N. (2017). Factorisation des régions cubiques et applications à la concurrence. PhD thesis, Université Paris 11 Orsay, 2017.
Pratt, V. (1991). Modeling concurrency with geometry. In: Wise, D.S. (ed.) Proceedings of the 18th Annual ACM Symposium on Principles of Programming Language, 311–322.
Pratt, V. (2000). Higher dimensional automata revisited. Mathematical Structure in Compter Science 10 (4) 525548.
Preparata, F.P. and Shamos, M.I. (1985). Computational Geometry: An Introduction, Texts and Monographs in Computer Science, 2nd ed., Springer-Verlag New York.
Sokołowski, S. (2002). A case for po-manifolds. In: Preliminary Proceedings of the Workshop on Geometry and Topology in Concurrency Theory GETCO'02, BRICS Notes Series. Basic Reasearch in Computer Science.
van Glabbeek, R.J. (1991). Bisimulations for higher dimensional automata. Manuscript available electronically at, 1991.
van Glabbeek, R.J. (2006). Erratum to ‘On the expressiveness of higher dimensional automata’. Theoretical Computer Science 368 (1–2), 168194.
Winskel, G. (1993). The Formal Semantics of Programming Languages: An Introduction, MIT Press, Cambridge.
Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

Mathematical Structures in Computer Science
  • ISSN: 0960-1295
  • EISSN: 1469-8072
  • URL: /core/journals/mathematical-structures-in-computer-science
Please enter your name
Please enter a valid email address
Who would you like to send this to? *


Full text views

Total number of HTML views: 0
Total number of PDF views: 0 *
Loading metrics...

Abstract views

Total abstract views: 0 *
Loading metrics...

* Views captured on Cambridge Core between <date>. This data will be updated every 24 hours.

Usage data cannot currently be displayed