DIAL: a programming language for data intensive applications

  • Authors:
  • Michael Hammer;Brian Berkowitz

  • Affiliations:
  • Massachusetts Institute of Technology, Cambridge, Massachusetts;Massachusetts Institute of Technology, Cambridge, Massachusetts

  • Venue:
  • SIGMOD '80 Proceedings of the 1980 ACM SIGMOD international conference on Management of data
  • Year:
  • 1980

Quantified Score

Hi-index 0.00

Visualization

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.