Abstract
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 ABRIAL, J.R. Data semantics. In Data Management Systems, J. K. Klimbie and K. L. Koffeman, Eds,, North-Holland, Amsterdam, 1974, 1-60.Google Scholar
- 2 ALBANO, A., AND ORSINI, R. An interactive integrated system to design and use data bases, in Proceedings Workshop on Data Abstraction, Data Bases and Conceptual Modelling, ACM SIGMOD Special Issue 11, 2 (1981), 91-93. Google ScholarDigital Library
- 3 ALBANO, A., OCCHIUTO, M.E., AND ORSINI, R. A uniform management of persistent and complex data in programming languages. In Infotech State of Art Report on Databases, M.P. Atkinson, Ed., Series 9, No. 4, Pergamon Infotech, 1981, 321-344.Google Scholar
- 4 ALBANO, A., AND OgSiNi, R. Diaiogo: An interactive environment for conceptual design in Galileo. In Methodology and Tools }:or Database Design, S. Ceri, Ed., North-Holland, Amsterdam, 1983, 229-253.Google Scholar
- 5 ALBANO,A. Type hierarchies and semantic data model.AACM Sigplan '83:Symposium on Programming Language Issues in So/tware Systems (San Francisco, 1983), 178-186. Google ScholarDigital Library
- 6 ALBANO A., CAeACCIOLI, M., AND ORSINI, R. La definizione del Galileo (Versione 83/6). Rapporto Tecnico DATAID N.20, Pisa, 1983.Google Scholar
- 7 ALBANO, A., CAPACCIOLI, M., OCCHIUTO, M.E., AND ORSINI, R. A modularization mechanism for conceptual modeling. In Proceedings 9th International Conference on VLDB (Florence, Italy, 1983), 232-240. Google ScholarDigital Library
- 8 AMBLE, T., BRATBERGSENGEN, K., AND RISNES, O. ASTRAL, a structured and unified approach to database design and manipulation. In Data Base Architecture, G. Bracchi and G.M. Nijssen, Eds., North-Holland, Amsterdam, 1979, 240-257.Google Scholar
- 9 ATKINSON, M.P., CHISHOLM, K.J., AND COCKSHOTT, W.P. The new Edinburgh persistent algorithmic language. In In{otech State of Art Report on Databases, M.P. Atkinson, Ed., Series 9, No. 4, Pergamon Infotech, 1981, 299-318.Google Scholar
- 10 ATKINSON, M.P., BAILEY, P.J., CHISHOLM, K.J., COCKSHOTT, W.P., AND MORRISON, R. An approach to persistent programming. Comput. J. 26, 4 (1983), 360-365.Google ScholarCross Ref
- 11 BALTZER, R. An implementation methodology for semantic database models. In Entity Relationship Approach to System Analysis and Design, P.P. Chert, Ed., North-Holland, Amsterdam, 1980, 433-444. Google ScholarDigital Library
- 12 BARRON, J. Dialogue organization and structure for interactive information systems. M.Sc. thesis, Dept. of Computer Science, Univ. of Toronto, 1980.Google Scholar
- 13 BILLER, H. AND NEUHOLD, E.J. Semantics of databases: The semantics of data models. Inf. Syst. 3 (1978), 1-30.Google ScholarCross Ref
- 14 BORGIDA, A.T., MYLOPOULOS, J., AND WONG, H.K.T. Methodological and computer aids for interactive information systems design. Automated Tools for Information System Design, H.J. Schneider and A. Wasserman, Eds., North-Holland, Amsterdam, 1982.Google Scholar
- 15 BORGIDA, A. Features of languages for the development of information systems at the conceptual level. IEEE So{tw. (1984), to appear.Google Scholar
- 16 BREUTMAN, B., FALKENBERG, E., AND MAUER, R. CSL: A language for defining conceptual schemas. In Data Base Architecture, G. Bracchi and G.M. Nijssen, Eds., North-Holland, Amsterdam, 1979, 237-256.Google Scholar
- 17 BRODXE, M.L. The application of data types to database semantic integrity. Inf. Syst. 5, 4 (1980), 287-296.Google Scholar
- 18 BRODIE, M.L., AND ZILLES, S.N. Eds. Proceedings Workshop on Data Abstraction, Data Bases, and Conceptual Modelling, ACM SIGMOD Special Issue 11, 2 (1981).Google Scholar
- 19 BRODm, M.L. On modeling behavioral semantics of databases. In Proceedings 7th International Conference on VLDB (Cannes, 1981), 32-42.Google Scholar
- 20 BRODIE, M.L., MYLOPOULOS, J., AND SCHMIDT, J.W. Eds. On Conceptual Modeling: Perspectives from Artificial Intelligence, Databases, and Programming Languages, Springer Verlag, New York, 1984.Google Scholar
- 21 BUBENKO, J.A. Information modeling in the context of system development. In IFIP Congress 1980, North-Holland, Amsterdam, 1980, 395-411.Google Scholar
- 22 BUNEMAN, P., AND FRANKEL, R.E. FQL--a functional query language. In Proceedings of ACM SIGMOD Conference (Boston, Mass., 1979), 52-58. Google ScholarDigital Library
- 23 BURSTALL, R.M., AND GOGUEN, J.A. Putting theories together to make specifications. In Proceedings IJCAI (Boston, Mass., 1977), 1045-1058.Google Scholar
- 24 CAPACCIOLI, M. La Semantica Denotazionale del Galileo. Tesi di laurea in Scienze dell'Informazione, Univ. di Pisa, Italy, 1983.Google Scholar
- 25 CARDELLI, L. A semantics of multiple inheritance. In Semantics of Data Types, G. Kahn, D.B. MacQueen, and G. Plotkin, Eds., Lecture Notes in Computer Science, Vol. 173, Springer Verlag, New York, 1984, 51-67. Google ScholarDigital Library
- 26 CERI, S., PELAGATTI, G. AND BRACCHI, G. Structured methodology for defining static and dynamic aspects of data base applications. Inf. Syst. 6, 1 (1981), 31-45.Google ScholarCross Ref
- 27 CERI, S., Ed. Methodology and Tools/or Database Design, North-Holland, Amsterdam, 1983. Google ScholarDigital Library
- 28 GORDON, M. The Denotational Description of Programming Languages. An Introduction, Springer Verlag, New York, 1979. Google ScholarDigital Library
- 29 GORDON, M., MILNER, R., AND WADSWORTH, C. Edinburgh LCF, Lecture Notes in Computer Science, Vol. 78, Springer Verlag, New York, 1979.Google Scholar
- 30 GRAY, J. The transaction concept: Virtues and limitations. In Proceedings 7th International Conference on VLDB (Cannes, 1981), 144-154.Google Scholar
- 31 HAMMER, M., AND BERKOWITZ, B. DIAL: A programming language for data intensive applications. In Proceedings of ACM SIGMOD Conference, (Santa Monica, Calif., 1980), 75-92. Google ScholarDigital Library
- 32 HAMMER, M., AND MCLEOD, D. Database description with SDM: A semantic database model. ACM Trans. Database Syst. 6, 3 (1981), 351-386. Google ScholarDigital Library
- 33 KENT, W. Limitations of record-based information models. ACM Trans. Database Syst. 4, 1 (1979), 107-131. Google ScholarDigital Library
- 34 LUM, V., ET AL. 1978 New Orleans Data Base Design Workshop Report. In Proceedings 5th International Conference on VLDB (Rio de Janeiro, 1979), 328-339.Google Scholar
- 35 MCLEOD, D., AND KING, R. Semantic database models. In Principle of Database Design, S.B. Yao, Ed., Prentice-Hall, 1984.Google Scholar
- 36 MILNER, R. A theory of type polymorphism in programming. J. Comput. Syst. Sci. 17, (1978), 348-375.Google ScholarCross Ref
- 37 MYLOPOULOS, J., BERNSTEIN, P.A., AND TONG, H.K.T. A language facility for designing database-intensive applications. ACM Trans. Database Syst. 5, 2 (1980), 185-207. Google ScholarDigital Library
- 38 NAVATHE, B.S. Information modeling tools for data base design. Panel on Logical Database Design (Fort Lauderdale, Fla., 1980).Google Scholar
- 39 ROUSSOPOULOS, N. CSDL: A conceptual schema definition language for the design of data base applications. IEEE Trans. Softw. Eng. SE-5, 5 (1979), 481-496.Google ScholarDigital Library
- 40 ROWE, L.A., AND SHOENS, K.A. Data abstraction, views and updates in RIGEL. In Proceedings ACM SIGMOD Conference (Boston, Mass., 1979), 71-81. Google ScholarDigital Library
- 41 SABATINI, L. La Semantica Statica del Galileo. Tesi di laurea in Scienze delrInformazione, Univ. di Pisa, Italy, 1982.Google Scholar
- 42 SCHMIDT, J.W. Type concepts for database definition. In Database: Improving Usability and Responsiveness, B. Schneidermann, Ed., Academic Press, New York, 1978, 215-244.Google Scholar
- 43 SCHMIDT, J.W., AND MALL, M. Pascal/R Report. Univ. of Hamburg, Fachbereich Informatik, Rep. 66, Jan. 1980.Google Scholar
- 44 SHAW, M. The impact of abstraction concerns on modern programming languages. Proc. IEEE 68, 9 (1980), 1119-1130.Google ScholarCross Ref
- 45 SHIPMAN, D.W. The functional data model and the data language DAPLEX. ACM Trans. Database Syst. 6, 1 (1980), 140-173. Google ScholarDigital Library
- 46 SHOPIRO, J.E. A programming language for relational databases. ACM Trans. Database Syst. 4, 4 (1979), 493-517. Google ScholarDigital Library
- 47 SM,TH, J.M., AND SMITH, D.C.P. Database abstraction: Aggregation and generalization. ACM Trans. Database Syst. 2, 2 (1979), 105-133. Google ScholarDigital Library
- 48 SMITH, J.M., AND SMITH, D.C.P. A database approach to software specifications. In Software Development Tools, W.E. Riddle and R.E. Fairley, Eds., Springer Verlag, Berlin, 1979, 176-200.Google Scholar
- 49 SMITH, J.M., FOX, S., AND LANCERS, T. Reference manual for ADAPLEX. Tech. Rep. CCA- 81-02, Computer Corporation of America, Jan. 1981.Google Scholar
- 50 TEICHROEW, D., AND HERSHEY, E.A. PSL/PSA: A computer-aided technique for structured documentation and analysis of information processing systems. IEEE Trans. Softw. Eng. SE-3, 1 (1977), 41-49.Google ScholarDigital Library
- 51 TENNENT, R.D. Principles of Programming Languages. Prentice-Hall International, London, 1981. Google ScholarDigital Library
- 52 WASSERMAN, A.I. The data management facilities of PLAIN. In Proceedings of the ACM SIGMOD Conference (Boston, Mass., 1979), 60-70. Google ScholarDigital Library
- 53 WEBER, H. A software engineering view of data base systems. In Proceedings 4th International Conference on VLDB (Berlin, 1978), 36-51,Google Scholar
- 54 YAO, S.B., NAVATHE, S.B., AND WELDON, J.L. An integrated approach to logical database design. In Proceedings NYU Symposium on Data Base Design, (1978), 1-14. Google ScholarDigital Library
Index Terms
- GALILEO: a strongly-typed, interactive conceptual language
Recommendations
Meta-circular interpreter for a strongly typed language
A functional language is introduced, whose type system is defined by its meta-circular interpreter. The functional language is an extension of @l-calculus augmented with the rule for conditional terms that allows the condition of a conditional term to ...
Calling variadic functions from a strongly-typed language
ML '08: Proceedings of the 2008 ACM SIGPLAN workshop on MLThe importance of providing a mechanism to call C functions from high-level languages has been understood for many years and, these days, almost all statically-typed high-level-language implementations provide such a mechanism. One glaring omission, ...
Comments