Abstract
Our Faculty embarked a few years ago on an ambitious project to redesign itself around an integrated information system, aimed at supporting all information handling activities and deployed through dynamic Web interfaces automatically customized for individual users. The project includes both the design of the services and the development of appropriate software technology to implement them. It led already to a running system, supporting many official academic procedures, which is under constant evolution. The system architecture is fully based on Prolog, connected to an external database engine. This paper summarizes and discusses the characteristics that make Prolog a vehicle of choice for the implementation, along with a sketch of main aspects of the system architecture and the specific declarative techniques that were developed for them. The recurring methodological gain is the ease of building abstraction layers supported by specific term sub-languages, due to the combination of fiexible operator syntax with the power of the underlying machinery to de.ne new constructs. The basic programming layer evolved from standard Prolog to a novel structured version of it, with compositional semantics (no cuts) and direct support for structural abstraction and application, combining in practice the logic programming style with the higher-order power and some of the programming flavour of functional languages. The system’s main architectural glue is the conceptual scheme, for which a definition language was developed whose expressions are compiled (by Prolog) to induce the database tables and (the instantiation of) a query/update language with a syntax based on compositionality principles of natural language, whose expressions are both more natural and much more compact than the equivalent in SQL.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Daniel Cabeza and Manuel Hermenegildo. Distributed WWW programming using (Ciao-)Prolog and the PiLLoW library. Theory and Practice of Logic Programming, 1(3):251–282, May 2001.
Donald Knuth. Literate Programming, volume 27 of CSLI Lecture Notes. Center for the Study of Language and Information, 1992.
Luís Monteiro and António Porto. Contextual logic programming. In Giorgio Levi and Maurizio Martelli, editors, Logic Programming, Proceedings of the Sixth International Conference, pages 284–299. MIT Press, 1989.
Luís Monteiro and António Porto. A language for contextual logic programming. In K.R. Apt, J.W. de Bakker, and J.J.M.M. Rutten, editors, Logic Programming Languages: Constraints, Functions and Objects. MIT Press, 1993.
António Porto. Structural abstraction and application in logic programming. In Zhenjiang Hu and Mario Rodriguez-Artalejo, editors, FLOPS 2002, Sixth International Symposium on Functional and Logic Programming, Proceedings. Springer, 2002.
António Porto. Towards fully integrated information services. In Lígia Maria Ribeiro and José Marques dos Santos, editors, The Changing Universities: The Challenge of New Technologies, Eunis 2002, The 8th International Conference of European University Information Systems, Proceedings, pages 319–324. FEUP edições, University of Porto, Portugal, 2002.
D. H. Warren. Higher-order extensions to PROLOG: are they needed? In J.E. Hayes, Donald Michie, and Y-H. Pao, editors, Machine Intelligence 10, pages 441–454. Ellis Horwood, 1982.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Porto, A. (2003). An Integrated Information System Powered by Prolog. In: Dahl, V., Wadler, P. (eds) Practical Aspects of Declarative Languages. PADL 2003. Lecture Notes in Computer Science, vol 2562. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-36388-2_8
Download citation
DOI: https://doi.org/10.1007/3-540-36388-2_8
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-00389-2
Online ISBN: 978-3-540-36388-0
eBook Packages: Springer Book Archive