Abstract
The concept of Open GIS depends on precise definitions of data, operations and interfaces. This paper argues for the use of functional programming languages as specification and prototyping tools for Open GIS components. It shows how functional programming languages fulfill the key requirements for formal specification languages and allow for rapid prototyping in addition. So far, it has never been possible to integrate specification and prototyping in a single, easy to use environment. Most existing specification methods lack appropriate tools for checking and prototyping, while existing tools lack either sound semantics or usability or both. The paper discusses the role of specifications in GIS, requirements for specification languages, and presents the basics of algebraic specifications as well as of functional languages. It then describes how functional languages can be used for writing and executing algebraic specifications. A brief example of a GIS data type specification in a functional language is presented, showing how specifications serve to describe differences in the semantics of GIS operations. We conclude that functional languages have the potential to achieve a breakthrough in the problem of specifying interfaces of interoperable components for Open GIS.
Funding from Intergraph Corporation and from the Austrian Science Foundation is gratefully acknowledged.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Backus, J. “Can Programming be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs.” Communications of the ACM 21 (1978): 613–641.
Car, A., and Frank, A.U. “Formalization of Conceptual Models for GIS using GOFER.” In GIS/LIS '95 Central Europe in Budapest, 1995.
Dijkstra, E.W. “Guarded Commands, Nondeterminacy and Formal Derivation of Programs.” In Current Trends in Programming Methodology, Vol. 1: Software Specification and Design, ed. Yeh, R.T., 1977: 233–242.
Frank, A.U. “Acquiring a digital base map — A theoretical investigation into a form of sharing data.” URISA Journal 4 (1 1992): 10–23.
Frank, A.U. “Qualitative Temporal Reasoning in GIS — Ordered Time Scales.” In 6th International Symposium on Spatial Data Handling in Edinburgh, UK, IGU, 1994: 410–430.
Guttag, J.V., Horning, J.J., and Wing, J.M. Larch in Five Easy Pieces. Digital Equipment Corporation, Systems Research Center, 1985.
Guttag, J. V., Horowitz, E., and Musser, D.R. “The Design of Data Type Specifications.” In Current Trends in Programming Methodology, ed. Yeh, R.T., Vol. 4: Data Structuring. Prentice Hall, 1978: 60–79.
Head, G.E. “Six-Sigma Software Using Cleanroom Software Engineering Techniques.” Hewlett-Packard Journal 1994 (June 1994): 40–50.
Hudak, P. “Conception, Evolution, and Application of Functional Programming Languages.” ACM Computing Surveys 21 (3 1989): 359–411.
Hudak, P. et al. “Report on the functional programming language Haskell, Version 1.2.” SIGPLAN Notices 27 (5 1992).
ISO. The EXPRESS language reference manual. ISO TC 184,1992. Draft International Standard ISO/DIS 10303-11.
Jones, M.P. Qualified Types: Theory and Practice. Ph.D. Thesis, Programming Research Group, Oxford University, Cambridge University Press, 1994.
Kuhn, W. “Defining Semantics for Spatial Data Transfers.” In 6th International Symposium on Spatial Data Handling in Edinburgh, UK, IGU, 1994: 973–987.
Liang, S., Hudak, A P., and Jones, A M. “Monad transformers and modular interpreters.” In ACM Symposium on Principles of Programming Languages in ACM, 1995.
Liskov, B., and Guttag, J. Abstraction and Specification in Program Development. The MIT Electrical Engineering and Computer Science Series, Cambridge, MA: The MIT Press, 1986.
Milner, R. “A Theory of Type Polymorphism in Programming.” Journal of Computer and System Sciences 17 (1978): 348–375.
O'Callaghan, J.F. “The Impact of Applications and Information Technologies on Geographic Information Systems.” In GIS: Technology and Applications, Far East Workshop on GIS in Singapore, edited by Hongjun, Lu, and Beng, Chin Ooi, World Scientific, 1993: 1–6.
Peyton Jones, S.L., and Wadler, P. “Imperative functional programming.” In ACM Symposium on Principles of Programming Languages (POPL) in Charleston, ACM, 1993: 71–84.
Shipman, D.W. “The Functional Data Model and the Data Language DAPLEX.” ACM Transactions on Database Systems 6 (March 1981).
Smith, T.R., and Frank, A.U. “Very Large Spatial Databases — Report from the Specialist Meeting.” Journal of Visual Languages and Computing 1 (3 1990): 291–309.
Thiemann, P. Grundlagen der funktionalen Programmierung. Leitfaden der Informatik, Stuttgart: B. G. Teubner, 1994.
Voisard, A., and Schweppe, H. “A Multilayer Approach to the Open GIS Design Problem.” In 2nd ACM GIS Workshop in Gaithersburg, MD, edited by Pissinou, N., and Makki, K., ACM Press, New York, 1994: 23–29
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Frank, A.U., Kuhn, W. (1995). Specifying open GIS with functional languages. In: Egenhofer, M.J., Herring, J.R. (eds) Advances in Spatial Databases. SSD 1995. Lecture Notes in Computer Science, vol 951. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60159-7_12
Download citation
DOI: https://doi.org/10.1007/3-540-60159-7_12
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60159-3
Online ISBN: 978-3-540-49536-9
eBook Packages: Springer Book Archive