\documentstyle[a4]{article}

\begin{document}

\section*{The DBPL/DAIDA Experience}

The Esprit I project DAIDA \cite{BJMSV89,BMSW89} developed a prototype of an
integrated software engineering environment for the specification, design and 
implementation of data-intensive applications. The DAIDA environment applies
three specific languages for the description of data-intensive software:

\begin{itemize}

\item the knowledge representation language TELOS for domain analysis;

\item the semantic data model TDL (based on TAXIS) for conceptual design of
system states and transitions; and

\item the imperative database programming language DBPL for efficient
management of typed data using sets and first-order predicates for data
manipulation in a persistent multi-user environment \cite{MaSc89,ScMa90}.

\end{itemize}

DAIDA contributes to the understanding of the relationship between data models
and type systems by providing both, a very expressive semantic data model for
problem-oriented conceptual design, as well as strong and static typing in the
implementation language DBPL. For the mapping between TDL designs and DBPL
implementations DAIDA makes the following assumptions \cite{SWBM89}:

\begin{itemize}

\item for a given TDL-design there may be substantially different DBPL
implementations, and it needs human interaction to make and justify decisions
that lead to efficient implementations;

\item the decisions are too complex to be made all at once -- let alone
automatically; it needs a series of refinement steps referring to both data and
procedural objects;

\item not all objects and decisions relevant for the refinement process need to
be formally verified;

\item these properties should be recorded to support overall system
consistency and evolution.

\end{itemize}

To meet these requirements, DAIDA relies heavily on current work of J.-R.
Abrial \cite{AGMS88}.

\begin{itemize}

\item TDL designes are translated into Abstract Machines with states
represented by mathematical objects like functions and sets, and state
transitions defined by Generalized Substitutions;

\item the formal properties of machines and substitutions are assured and
organized by Abrials's interactive proof assistant, the B-Tool.

\end{itemize}

DAIDA utilizes a Knowledge Base Management System to represent

\begin{itemize}

\item application-dependent knowledge about the problem domain, collected as
part of the requirements specification activity;

\item meta-knowledge about the current system's design decisions and
evolutionary history; and

\item application-independent knowledge such as design and implementation
strategies for data-intensive software.

\end{itemize}


\subsection*{Relationships to Other Work}

The formalization of the relational data model and its operators in a typed
language framework pursued by Buneman and Ohori will certainly contribute to a
better understanding of the DAIDA mapping alternatives.

The availability of more expressive type systems (like in the Napier and in the
Revelation project) at the implementation level may simplify the mapping task.
However, there still will remain a substantial mismatch between the
expressivity of data models and of efficiently implementable type systems.

The impact of object migration as investigated by Hull and Jacobs may have a
substantial impact on the alternatives available during the mapping process.


\subsection*{Future Research Issues}

\begin{itemize}

\item Impact of poymorphic type systems on data modeling capabilities of
database implementation languages;

\item Integration of ad-hoc queries in a typed language framework;

\item Development of appropriate language primitives and abstraction mechanisms
to meet the operational requirements of data-intensive applications (bulk data
management, sharing, concurrency control, recovery). 

\end{itemize}

\newcommand{\etalchar}[1]{$^{#1}$}
\begin{thebibliography}{SWBM89}

\bibitem[AGMS88]{AGMS88}
J.-R. Abrial, P.~Gardiner, C.~Morgan, and M.~Spivey.
\newblock Abstract Machines, Part 1--4.
\newblock Technical report, 26 Rue des Plantes, Paris 75014, June 1988.

\bibitem[BJM{\etalchar{+}}89]{BJMSV89}
A.~Borgida, M.~Jarke, J.~Mylopoulos, J.W. Schmidt, and Y.~Vassiliou.
\newblock The Software Development Environment as a Knowledge Base Management
  System.
\newblock In J.W. Schmidt and C.~Thanos, editors, {\em Foundations of Knowledge
  Base Management}, Topics in Information Systems. Springer-Verlag, 1989.

\bibitem[BMSW89]{BMSW89}
A.~Borgida, J.~Mylopoulos, J.W. Schmidt, and I.~Wetzel.
\newblock Support for Data-Intensive Applications: Conceptual Design and
  Software Development.
\newblock In {\em Proc. of the 2nd Workshop on Database Programming Languages,
  Salishan Lodge, Oregon}, June 1989.

\bibitem[MS89]{MaSc89}
F.~Matthes and J.W. Schmidt.
\newblock The Type System of DBPL.
\newblock In {\em Proc. of the 2nd Workshop on Database Programming Languages,
  Salishan Lodge, Oregon}, pages 255--260, June 1989.

\bibitem[SM90]{ScMa90}
J.W. Schmidt and F~Matthes.
\newblock DBPL Language and System Manual.
\newblock Esprit Project 892 MAP 2.3, Fachbereich Informatik, Universit\"at
  Hamburg, West Germany, April 1990.

\bibitem[SWBM89]{SWBM89}
J.W. Schmidt, I.~Wetzel, A.~Borgida, and J.~Mylopoulos.
\newblock Database Programming by Formal Refinement of Conceptual Designs.
\newblock {\em IEEE -- Data Engineering}, September 1989.

\end{thebibliography}

\end{document}
