GALILEO: a strongly-typed, interactive conceptual language

Galileo, a programming language for database applications, is presented. Galileo is a strongly-typed, interactive programming language designed specifically to support semantic data model features (classification, aggregation, and specialization), as well as the abstraction mechanisms of modern programming languages (types, abstract types, and modularization). The main contributions of Galileo are (a) a flexible type system to model database structure and semantic integrity constraints; (b) the inclusion of type hierarchies to support the specialization abstraction mechanisms of semantic data models; (c) a modularization mechanism to structure data and operations into interrelated units (d) the integration of abstraction mechanisms into an expression-based language that allows interactive use of the database without resorting to a new stand-alone query language. Galileo will be used in the immediate future as a tool for database design and, in the long term, as a high-level interface for DBMSs.

[1]  Renzo Orsini,et al.  An Interactive Integrated System to Design and Use Data Bases , 1980, Workshop on Data Abstraction, Databases and Conceptual Modelling.

[2]  Giampio Bracchi,et al.  Structured methodology for designing static and dynamic aspects of data base applications , 1981, Inf. Syst..

[3]  Shamkant B. Navathe,et al.  1978 New Orleans Data Base Design Workshop Report , 1979, Fifth International Conference on Very Large Data Bases, 1979..

[4]  Diane C. P. Smith,et al.  Database abstractions: aggregation and generalization , 1977, TODS.

[5]  Luca Cardelli,et al.  A Semantics of Multiple Inheritance , 1984, Inf. Comput..

[6]  Joseph A. Goguen,et al.  Putting Theories Together to Make Specifications , 1977, IJCAI.

[7]  Renzo Orsini,et al.  Dialogo: An Interactive Environment for Conceptual Design in Galileo , 1983, Methodology and Tools for Data Base Design.

[8]  Robert Balzer An Implementation Methodology for Semantic Data Base Models , 1979, ER.

[9]  Michael L. Brodie On conceptual modelling - perspectives from artificial intelligence, databases and programming languages , 1984, Topics in information systems.

[10]  Ronald Morrison,et al.  An Approach to Persistent Programming , 1989, Comput. J..

[11]  M. Shaw,et al.  The impact of abstraction concerns on modern programming languages , 1980, Proceedings of the IEEE.

[12]  Antonio Albano,et al.  Type hierarchies and Semantic Data Models , 1983, SIGPLAN '83.

[13]  Erich J. Neuhold,et al.  Semantics of data bases: The semantics of data models , 1978, Inf. Syst..

[14]  William Kent,et al.  Limitations of record-based information models , 1979, TODS.

[15]  James W. Thatcher Data Abstraction, Data Bases and Conceptual Modelling. , 1980, SIGMOD 1980.

[16]  Ernest A. Hershey,et al.  PSL/PSA: A Computer-Aided Technique for Structured Documentation and Analysis of Information Processing Systems , 1976, IEEE Transactions on Software Engineering.

[17]  Michael L. Brodie On Modelling Behavioural Semantics of Databases , 1981, VLDB.

[18]  Jonathan E. Shopiro Theseus—a programming language for relational databeses , 1979, ACM Trans. Database Syst..

[19]  Alexander Borgida,et al.  Features Of Languages for the Development of Information Systems at the conceptual Level , 1985, IEEE Software.

[20]  Joachim W. Schmidt,et al.  Type Concepts for Database Definition , 1978, JCDKB.

[21]  S. Ceri Ed Methodology and Tools for Data Base Design , 1983 .

[22]  Michael J. C. Gordon,et al.  The Denotational Description of Programming Languages , 1979, Springer New York.

[23]  Joachim W. Schmidt,et al.  PASCAL/R Report , 1980 .

[24]  Herbert Weber,et al.  A Software Engineering View of Data Base Systems , 1978, VLDB.

[25]  Lawrence A. Rowe,et al.  Data abstraction, views and updates in RIGEL , 1979, SIGMOD '79.

[26]  Renzo Orsini,et al.  An interactive integrated system to design and use data bases , 1981, SIGMOD 1981.

[27]  Michael Hammer,et al.  DIAL: a programming language for data intensive applications , 1980, SIGMOD '80.

[28]  Michael L. Brodie The application of data types to database semantic integrity , 1980, Inf. Syst..

[29]  Kjell Bratbergsengen,et al.  ASTRAL: A Structred and Unified Approach to Data Base Design and Manipulation , 1979, IFIP TC-2 Working Conference on Data Base Architecture.

[30]  Robin Milner,et al.  A Theory of Type Polymorphism in Programming , 1978, J. Comput. Syst. Sci..

[31]  Stefano Ceri,et al.  Methodology and Tools for Data Design , 1983 .

[32]  Dennis McLeod,et al.  Database description with SDM: a semantic database model , 1981, TODS.

[33]  Eckhard D. Falkenberg,et al.  CSL: A Language for Defining Conceptual Schemas , 1979, IFIP TC-2 Working Conference on Data Base Architecture.

[34]  Janis A. Bubenko,et al.  Information Modeling in the Context of System Development , 1980, IFIP Congress.

[35]  Antonio Albano Type hierarchies and Semantic Data Models , 1983, ACM SIGPLAN Notices.

[36]  Shamkant B. Navathe,et al.  An Integrated Approach to Database Design , 1978, Data Base Design Techniques I.

[37]  Renzo Orsini,et al.  A Modularization Mechanism for Conceptual Modeling , 1983, VLDB.

[38]  Ernest A. Hershey,et al.  A computer-aided technique for structured documentation , 1976, DATB.

[39]  Nick Roussopoulos CSDL: A Conceptual Schema Definition Language for the Design of Data Base Applications , 1979, IEEE Transactions on Software Engineering.

[40]  John Mylopoulos,et al.  A language facility for designing database-intensive applications , 1980, TODS.

[41]  Anthony I. Wasserman The data management facilities of PLAIN , 1979, SIGMOD '79.

[42]  Michael J. C. Gordon,et al.  The denotational description of programming languages - an introduction , 1979 .

[43]  Peter Buneman,et al.  FQL: a functional query language , 1979, SIGMOD '79.

[44]  David W. Shipman,et al.  The functional data model and the data languages DAPLEX , 1981, TODS.

[45]  David W. Shipman The functional data model and the data language DAPLEX , 1979, SIGMOD '79.