ules, interfaces, type and class definitions, code
structuring primitives etc. have been removed.
• One or more schemata from the DBS metadata
catalogue may be associated with the main eval-
uation plan. The DBS MetaData catalogue is a
collection of compiled DB schemata. All schema
imports result in such associations. Due to frag-
mentation, a single DBPQL import may result in
a number of associated iDBPQL schemata.
• One or more run-time metadata catalogue entries
are associated with each evaluation plan. The
Run-Time MetaData catalogue is a collection of
type and class definitions introduced in the user’s
source code or its imported modules. While
DBS metadata catalogue entries describe persis-
tent, shared data, run-time metadata catalogue en-
tries relate to transient, non-shared data.
Evaluation plans are associated with every non-
abstract behaviour specification. Classes may have
static variables declared outside of any method. Such
declarations are captured in the class’s initialisation
block. When invoking a method, the corresponding
evaluation plan is executed.
Finally, we want to underline some important
properties of evaluation plans. They differ from the
original DBPQL modules in the following ways:
• iDBPQL code refers to DBS metadata or transient
data (i.e. run-time metadata). Original code frag-
ments have been amended in a way that references
to higher-level features have either been removed
or replaced by macros formulated in iDBPQL.
• A user program is translated into a main evalu-
ation plan together with associated metadata en-
tries. In turn, these metadata entries and refer-
ences to iDBPQL library features may have fur-
ther evaluation plans associated. Thus, program
execution results in an evaluation of the main eval-
uation plan together with all evaluation plans that
are encountered during its evaluation.
• Data definitions are removed from evaluation
plans and now part of the metadata catalogues.
• iDBPQL statements and expressions are allocated
to DBS nodes. Thus, an indication about the loca-
tion of the evaluation is provided.
• Evaluation plans consist of
DO
...
ENDDO
blocks,
which are used to group statements together,
form atomic execution units, model local and
distributed transactions and support simultaneous
processing.
• Indices and other information used to optimise
processing are added (i.e. as annotations) to sup-
port the evaluation of iDBPQL statements.
5 CONCLUSION
We presented an overview of the DB program-
ming and querying language DBPQL. This integrated
language circumvents the impedance mismatch and
unites properties from OOPLs, QLs and DBPLs.
REFERENCES
Atkinson, M., Bancilhon, F., DeWitt, D., Dittrich, K.,
Maier, D., and Zdonik, S. (1989). The object-oriented
database system manifesto. In Proceedings of the 1st
International Conference on Deductive and Object-
Oriented Databases, pages 223–240, Kyoto, Japan.
Atkinson, M. P. and Buneman, P. (1987). Types and per-
sistence in database programming languages. ACM
Computing Surveys (CSUR), 19(2):105–170.
Bloom, T. and Zdonik, S. B. (1987). Issues in the design
of object-oriented database programming languages.
In Conference proceedings on Object-oriented pro-
gramming systems, languages and applications, pages
441–451, New York, NY, USA. ACM Press.
Cook, W. R., Greene, R., Linskey, P., Meijer, E., Rugg, K.,
Russell, C., Walker, B., and Wittig, C. (2006). Objects
and databases: State of the union in 2006. Panel at
the International Conference on Object-Oriented Pro-
gramming, Systems, Languages, and Applications.
Feuerstein, S. and Pribyl, B. (2002). Oracle PL/SQL Pro-
gramming. O’Reilly & Associates, Inc., Sebastopol,
CA, USA.
Kim, W. (1993). Object-oriented database systems:
Promises, reality, and future. In Proceedings of the
19th International Conference on Very Large Data
Bases, pages 676–687, San Francisco, CA, USA.
Morgan Kaufmann Publishers Inc.
Kirchberg, M., Schewe, K.-D., Tretiakov, A., and Wang,
B. R. (2007). A multi-level architecture for dis-
tributed object bases. Data & Knowledge Engineer-
ing, 60(1):150–184.
Leontiev, Y.,
¨
Ozsu, M. T., and Szafron, D. (2002). On
type systems for object-oriented database program-
ming languages. ACM Computing Surveys (CSUR),
34(4):409–449.
¨
Ozsu, M. T., Peters, R. J., Szafron, D., Irani, B., Lipka, A.,
and Mu
˜
noz, A. (1995). TIGUKAT: A uniform behav-
ioral objectbase management system. VLDB Journal,
4(3):445–492.
Schewe, K.-D. and Thalheim, B. (1993). Fundamental con-
cepts of object oriented databases. Acta Cybernetica,
11(1-2):49–84.
Subieta, K. (1991). LOQIS: The object-oriented database
programming system. Lecture Notes in Computer Sci-
ence, 504:403–421.
Subieta, K., Beeri, C., Matthes, F., and Schmidt, J. W.
(1993). A stack-based approach to query languages.
Technical Report 738, Institute of Computer Science
Polish Academy of Sciences, Warszawa, Poland.
ICEIS 2007 - International Conference on Enterprise Information Systems
576