ABSTRACT
DIAL is a problem-oriented and high-level programming language oriented towards database applications. It integrates into a unified framework database primitives and computational facilities, so that an application programmer will deal with a single coherent language. The design of DIAL is based on the premise that in order to have a meaningful impact on the construction of application software, a database programming language should eschew generality and focus on what is unique about the application domain in question. To that end, DIAL seeks to embody features that naturally express the most common and frequently recurring patterns encountered in database applications programs.A number of its features distinguish DIAL from other contemporary related efforts. Data description plays a primary role in DIAL, in that a substantial amount of application semantics is expressed in the database schema rather than in procedure definitions; to achieve this end, DIAL employs a higher-level data model (the SDM) as its data description mechanism. Facilities for conducting user-system dialogues are also embedded in the language. Specialized control structures are provided to allow for succinct and direct expression of the algorithmic structure of procedures that utilize the database. High-level mechanisms (called controllers) are used to specify an application system's required behavior in the face of multiple concurrent users and aborted transactions.DIAL has been applied to two realistic and substantial systems, a purchasing application and a job-shop scheduler. Continued validation studies of the language are underway, as are an implementation effort and the design of an allied program development system.
- {Astrahan76} Astrahan, M.M, et. al., "System R: Relational Approach to Database Management", ACM Transactions on Database Systems, Volume 1, Number 2, June 1976. Google ScholarDigital Library
- {Berkowitz80} Berkowitz, B., A Programming Language for Data Intensive Applications Systems, S.M. Thesis, Massachusetts Institute of Technology, forthcomingGoogle Scholar
- {Gray77} Gray, J., "Notes on Data Base Operating Systems", IBM Research Report RJ2185, February 1978.Google Scholar
- {Hammer77} Hammer, M., W.G. Howe, V. Kruskal, and I. Wladawsky, "A Very High Level Program Language for Data Processing Applications", Communications of the ACM, Volume 20, Number 11, November 1977. Google ScholarDigital Library
- {Hammer78} Hammer, M., and D.J. McLeod, "The Semantic Data Model: A Modelling Mechanism for Data Base Applications", Proceedings of the 1978 ACM SIGMOD Conference on Management of Data. Google ScholarDigital Library
- {Hammer79a} Hammer, M., and G. Ruth, "Automating the Software Development Process" in P. Wegner (ed.), Research Directions in Software Technology, MIT Press, 1979.Google Scholar
- {Hammer79b} Hammer, M., and D.J. McLeod, "On Database Management System Architecture", MIT Laboratory for Computer Science Technical Memorandum TM-141, October 1979.Google Scholar
- {Hewitt79} Hewitt, C., "Evolving Parallel Programs", MIT Artificial Intelligence Laboratory Working Paper 164c, January 1979.Google Scholar
- {Lafuente78} Lafuente, J.M., and D. Gries, "Language facilities for Programming User Computer Dialogues", IBM J. Res. Develop., Volume 22, No. 2, March 1978.Google ScholarDigital Library
- {Liskov78} Liskov, B., et. al., CLU Reference Manual, Technical Report TR-225, MIT Laboratory for Computer Science, Cambridge, Ma., October 1979. Google ScholarDigital Library
- {McLeod76} McLeod, D., "High Level Expression of Semantic Integrity Specifications in a Relational Data Base System", Technical Report TR-165, MIT Laboratory for Computer Science, Cambridge, Ma., September 1976. Google ScholarDigital Library
- {McLeod78} McLeod, D., "A Semantic Data Base Model and its Associated Structured User Interface", Technical Report TR-214, MIT Laboratory for Computer Science, Massachusetts Institute of Technology Cambridge, Ma., August 1978.Google Scholar
- {Rowe79} Rowe, L.A., K.A. Shoens, "Data Abstraction, Views, and Updates in Rigel", Proceedings of the ACM SIGMOD 1979 International Conference on the Management of Data, May 30--June 1, Boston, Massachusetts. Google ScholarDigital Library
- {Schmidt77} Schmidt, Joachim W., "Some High Level Constructs for Data of Type Relation", ACM Transactions on Database Systems, Vol. 2, No. 3, September 1977, Pages 247--261. Google ScholarDigital Library
- {Shopiro79} Shopiro, J.E., "A Programming Language for Relational Databases", ACM Transactions on Database Systems, Vol 4. No. 4, December 1979. Google ScholarDigital Library
- {Wasserman79} Wasserman, A.J., "The Data Management Facilities of PLAIN", Proceedings of the ACM-SIGMOD 1979 International Conference on the Management of Data, May 30--June 1, Boston, Massachusetts Google ScholarDigital Library
- {Zloof77} Zloof, Moshe M., Jong, Peter de, "The System for Business Automation(SBA): Programming Language", Communications of the ACM, Vol. 20, No. 6, June 1977. Google ScholarDigital Library
Recommendations
Layout-sensitive language extensibility with SugarHaskell
Haskell '12: Proceedings of the 2012 Haskell SymposiumProgrammers need convenient syntax to write elegant and concise programs. Consequently, the Haskell standard provides syntactic sugar for some scenarios (e.g., do notation for monadic code), authors of Haskell compilers provide syntactic sugar for more ...
Layout-sensitive language extensibility with SugarHaskell
Haskell '12Programmers need convenient syntax to write elegant and concise programs. Consequently, the Haskell standard provides syntactic sugar for some scenarios (e.g., do notation for monadic code), authors of Haskell compilers provide syntactic sugar for more ...
Cedalion: a language for language oriented programming
OOPSLA '11Language Oriented Programming (LOP) is a paradigm that puts domain specific programming languages (DSLs) at the center of the software development process. Currently, there are three main approaches to LOP: (1) the use of internal DSLs, implemented as ...
Comments