has exhibited not too steep a learning curve and is
allowing us to further our sensitivity to its differ-
ent applicability situations and program patterns.
Some of these reflect back onto the language itself.
• The developers did have to rid themselves from
SQL and procedural language habits, namely in
what concerns the manipulation of more complex
data structures, in order to extract acceptable per-
formance from the system.
Some directions for future work:
• The removal of some implementation-specific lim-
its (e.g. area sizes).
• The dynamic loading of compiled Prolog code,
which will allow for on-the-fly extension of com-
piled applications.
• Multi-thread execution.
• The development of a Graphical interface (Gnome-
Prolog).
• The generic web-based relation browser, as this
will greatly decrease interface development time.
• Automatic caching of external database relations,
and
• A more extensive performance analysis and tuning
under load.
ACKNOWLEDGEMENTS
The work described herein was partly made possible
by the bilateral INRIA/GRICES project “Extensions
au Logiciel Libre GNU Prolog.” Universidade de
vora is acknowledged for supporting and funding the
SIIUE.sac project.
REFERENCES
Abreu, S. (2001). Isco: A practical language for heteroge-
neous information system construction. In Proceed-
ings of INAP’01, Tokyo, Japan. INAP.
Abreu, S. and Diaz, D. (2003). Objective: in Minimum
Context. In Palamidessi, C., editor, Proceedings of the
Eighteenth International Conference on Logic Pro-
gramming, volume 2916 of LNCS, Mumbai, India.
Springer-Verlag. (forthcoming).
Bugliesi, M. (1992). A declarative view of inheritance in
logic programming. In Apt, K., editor, Proceedings
of the Joint International Conference and Symposium
on Logic Programming, pages 113–127, Washington,
USA. The MIT Press.
Cabeza, D. and Hermenegildo, M. (2001). Distributed
WWW programming using (Ciao-)Prolog and the
PiLLoW library. Theory and Practice of Logic Pro-
gramming, 1(3):251–282.
Denti, E., Lamma, E., Mello, P., Natali, A., and Omicini,
A. (1993). Techniques for implementing contexts in
Logic Programming. In Lamma, E. and Mello, P., ed-
itors, Extensions of Logic Programming, volume 660
of LNAI, pages 339–358. Springer-Verlag. 3rd Inter-
national Workshop (ELP’92), 26–28 February 1992,
Bologna, Italy, Proceedings.
Diaz, D. and Codognet, P. (2001). Design and implementa-
tion of the gnu prolog system. Journal of Functional
and Logic Programming, 2001(6).
McCabe, F. G. (1992). Logic and Objects. Prentice Hall.
Miller, D. (1989). A logical analysis of modules in logic
programming. The Journal of Logic Programming,
6(1 and 2):79–108.
Monteiro, L. and Porto, A. (1993). A Language for Con-
textual Logic Programming. In Apt, K., de Bakker,
J., and Rutten, J., editors, Logic Programming Lan-
guages: Constraints, Functions and Objects, pages
115–147. MIT Press.
Natali, A. and Omicini, A. (1993). Objects with State in
Contextual Logic Programming. In Bruynooghe, M.
and Penjam, J., editors, Programming Language Im-
plementation and Logic Programming, volume 714 of
LNCS, pages 220–234. Springer-Verlag. 5th Interna-
tional Symposium (PLILP’93), 25–27 August 1993,
Tallinn, Estonia, Proceedings.
Nogueira, V. B., Abreu, S., and David, G. (2003). Using
Contextual Logic Programming for Temporal Reason-
ing. In Pimentel, E. and Brisaboa, N. R., editors, VIII
Conference on Software Engineering and Databases
(JISBD 2003), Alicante, Spain.
Ungar, D. and Smith, R. B. (1987). Self: The Power of Sim-
plicity. In Meyrowitz, N. K., editor, Conference on
Object-Oriented Programming Systems, Languages,
and Applications (OOPSLA’87), October 4-8, 1987,
Orlando, Florida, Proceedings, volume 22 of SIG-
PLAN Notices, pages 227–242.
ICEIS 2004 - DATABASES AND INFORMATION SYSTEMS INTEGRATION
232