Hostname: page-component-cd9895bd7-dzt6s Total loading time: 0 Render date: 2024-12-26T08:06:14.115Z Has data issue: false hasContentIssue false

The geometry of conservative programs

Published online by Cambridge University Press:  17 October 2017

EMMANUEL HAUCOURT*
Affiliation:
LIX - UMR 7161, Campus de l'École Polytechnique, 1 rue Honoré d'Estienne d'Orves, Bât. Alan Turing, 91120 Palaiseau, France Email: emmanuel.haucourt@lix.polytechnique.fr

Abstract

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).

Type
Paper
Copyright
Copyright © Cambridge University Press 2017 

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

Allen, F.E. (1970). Control flow analysis. In: Proceedings of the Symposium on Compiler Optimization, New York, NY, USA: ACM, 119.Google Scholar
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.Google Scholar
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.Google Scholar
Bridson, M.R. and Haefliger, A. (1999). Metric Spaces of Non-Positive Curvature, Grundlehren der mathematischen Wissenschaften, vol. 319, Springer-Verlag Berlin Heidelberg.Google Scholar
Brown, R. (2006). Topology and Groupoids, BookSurge Publishing.Google Scholar
Brown, R., Higgins, P.J. and Sivera, R. (2011). Nonabelian Algebraic Topology, Tracts in Mathematics. European Mathematical Society, Zürich, Switzerland.Google Scholar
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.Google Scholar
Bubenik, P. and Worytkiewicz, K. (2006). A model category for local pospaces. Homology, Homotopy and Applications 8 (1) 263292.Google Scholar
Carson, S.D. and Reynolds, P.F. Jr. (1987). The geometry of semaphore programs. ACM Transaction on Programming Language and System 9 (1) 2553.Google Scholar
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.Google Scholar
Clarke, E.E., Grumberg, O. and Peled, D.A. (2000). Model Checking, 2nd ed., MITGoogle Scholar
Coffman, E.G., Elphick, M. and Shoshani, A. (1971). System deadlocks. ACM Computing Survey 3 (2) 6778.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
Dijkstra, E.W. (1971). Hierarchical ordering of sequential processes. Acta Informatica 1 115138.Google Scholar
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.Google Scholar
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.Google Scholar
Fajstrup, L. (2005). Dipaths and dihomotopies in a cubical complex. Advances in Applied Mathematics 35 (2) 188206.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
Gaucher, P. (2010). Directed algebraic topology and higher dimensional transition systems. New York Journal of Mathematics 16 409461.Google Scholar
Goubault, É. (2000). Geometry and concurrency: A user's guide. Mathematical Structures in Computer Science 10 (4) 411425.Google Scholar
Goubault, É. and Mimram, S. (2012). Formal relationships between geometrical and classical models for concurrency. Electronic Notes in Theoretical Computer Science 283 77109.Google Scholar
Goubault, É. and Mimram, S. (in press). Directed homotopy in non-positively curved spaces. Logical Methods in Computer Science.Google Scholar
Goubault-Larrecq, J. (2013). Non-Hausdorff Topology and Domain Theory, New Math. Monographs, vol. 22, Cambridge University Press, UK.Google Scholar
Goubault-Larrecq, J. (2014). Exponentiable streams and prestreams. Applied Categorical Structures 22 514549.Google Scholar
Grandis, M. (2003). Directed homotopy theory, I. The fundamental category. Cahiers de Topologie et Géométrie Différentielle Catégoriques 44 (4) 281316.Google Scholar
Hansen, P.B. (2002). The Origin of Concurrent Programming: From Semaphores to Remote Procedure Calls, Springer-Verlag New York.Google Scholar
Haucourt, E. (2012). Streams, d-spaces and their fundamental categories. Electronic Notes in Theoretical Computer Science 283 111151Google Scholar
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.Google Scholar
Kahl, T. (2009). A fibration category of local pospaces. Electronic Notes in Theoretical Computer Science 230 129140.Google Scholar
Krishnan, S. (2009). A convenient category of locally preordered spaces. Applied Categorical Structures 17 (5) 445466.Google Scholar
Krishnan, S. (2013). Cubical approximation for directed topology I. Applied Categorical Structures 23 (2) 177214.Google Scholar
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.Google Scholar
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.Google Scholar
Manetti, M. (2015). Topology, La Matematica per il 3+2, Springer International Publishing, Switerland.Google Scholar
Nachbin, L. (1965). Topology and Order, Mathematical Studies, vol. 4, Van Nostrand.Google Scholar
Ninin, N. (2017). Factorisation des régions cubiques et applications à la concurrence. PhD thesis, Université Paris 11 Orsay, 2017.Google Scholar
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.Google Scholar
Pratt, V. (2000). Higher dimensional automata revisited. Mathematical Structure in Compter Science 10 (4) 525548.Google Scholar
Preparata, F.P. and Shamos, M.I. (1985). Computational Geometry: An Introduction, Texts and Monographs in Computer Science, 2nd ed., Springer-Verlag New York.Google Scholar
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.Google Scholar
van Glabbeek, R.J. (1991). Bisimulations for higher dimensional automata. Manuscript available electronically at http://theory.stanford.edu/~rvg/hda, 1991.Google Scholar
van Glabbeek, R.J. (2006). Erratum to ‘On the expressiveness of higher dimensional automata’. Theoretical Computer Science 368 (1–2), 168194.Google Scholar
Winskel, G. (1993). The Formal Semantics of Programming Languages: An Introduction, MIT Press, Cambridge.Google Scholar