A History of the Galileo Language

1979-1985    The Origin and The First Implementation  [Full Bibliography]

The Galileo language was designed at the Department of Computer Science, University of Pisa, in the first half of the 80’s, following a period of research in several areas: semantic data models, artificial intelligence, programming languages, and after the design of preliminary languages (the ELLE language) and systems (the DIALOGO system). It was the result of several projects supported by the Italian National Research Council (CNR).

The project leader was Antonio Albano, and many people have contributed their best in bringing the Galileo language to life:  Maurizio Capaccioli,  Luca Cardelli, Fosca Giannotti, Bruno Magnani, Maria Eugenia Occhiuto, Renzo Orsini, Dino Pedreschi, and Maria Letizia Sabatini.

The first implementation of Galileo  was made by Renzo Orsini, Eugenia Occhiuto, Fosca Giannotti, and Dino Pedreschi starting from the Unix ML Interpreter written Luca Cardelli at the Edinburgh University. The implementation was a main memory one, and it was used for object database language education and  for testing new database language features in the context of a statically typed language.

1986-1997    The Language Extensions  [Full Bibliography]

Since 1986, the language was extended with additional object-oriented features, in particular with mechanisms to model objects with roles and views. The result was the programming language Galileo 97.

The research project was supported  in part by the Italian National Research Council (CNR) and by two ESPRIT BRAs in the area of Database Programming Languages. The project leader  was Antonio Albano, and important contributions were made by a new member of the research group, Giorgio Ghelli, and by the students Giuseppe Antognoni, Roberto Bergamini, Carla Brasini,  Diego Dellagiacoma, Milena Diotallevi, Luca Alfò, and Stefano Coluccini.

A new main-memory implementation of Galileo for personal computer was made by the students  Milena Diotallevi and Gianluca Baratti, using the language Pascal on personal computers. The new implementation was initially simpler than the first one, but then it was extended by another student, Giuseppe Antognoni, with  roles, views and polymorphism. The language has been used extensively in teaching university courses on databases.

The current distributed Galileo 97 implementation is maintained by Renzo Orsini.

The object role  mechanism, together with new mechanisms to model relationships between object collections, and  modules, were lately included into another object database language Fibonacci (1991-1998).