Piazza L. Da Vinci, 3220133 Milano, Italy. {ceri,crespi ... and Intentional. Logres Database and provides the run- time environment ... code (containing calls to the ...
The LOGRES F. Cacace,
S. Ceri,
P. Fraternali,
prototype S.
*
Crespi-Reghizzi,
S. Paraboschi,
L. Tanca
Dipartimento
di Elettronica e Informazione Politecnico di Milano Piazza L. Da Vinci, 3220133 Milano, Italy
{ceri,crespi,fraterna,
Logres
is a new-generation
database
parabosc,tanca}
system
now been translated
in-
can be stored tions.
tegrating features from deductive and object-oriented databases [1, 2, 3, 4, 5]. The data model of Logres supports structural and semantic complexity collection of concepts from object-oriented
through a rich models. The
rule language
of complex
ob-
and the definition
of
allows for the manipulation
jects, the generation
of new objects,
passive and active constraints. rules to database ifiers,
which
are the unique a fully
the side effects
procedural
declarative
feature
Normal
gres language lection, built-in
is built
Form
includes
and Intentional
When the application is executed, the Logres application manager produces updates (when needed) to the Data Dictionary and to the Intensional
by means of qualqualifiers
responsible
otherwise
Databases
of Logres,
of set of
on top of Algres
Relational
classical
Database;
relational
operator.
Algres
Logres Database
([6]),
operators
(se-
The Data Model
functions, operators,
stores the Extensional and provides
dictionary,
the run-
to the Extensional query results.
application
is the input
of the Logres
Rule
tional
Compiler,
produces
an Alice
analyzes
the cor-
the Logres
which
integrity
con-
structures
into
receives
the syntactic
and compiles/optimizes
rules, pro-
module.
The Logres system
The application
which
schema-derived
Compiler,
database,
ducing
has a user-friendly
graphical
terface, GRILLO, that allows syntax-directed the Logres applications, and a graph-based
2. The A/ice Compiler receives the module and translates it into C executable code (containing calls to support).
by:
tree and the integrity constraint rules generated by the data model compiler, loads part of the inten-
In C Embedded).
run-time
is composed
straints, and translates Algres data structures.
which is needed in order to execute the application, and finally produces a module, written in Al-
the Algres
changes
rectness of the data structures introduced in the application with respect to the persistent data
Compiler, which analyzes its correctness, detects and loads the part of the Intensional Database
ice (ALgres
doing
The Logres compiler
The Logres
for
and for producing
the Al-
time environment of Logres applications; when an application is issued, the programming chain is the following: 1. The
and
applica-
of rules;
join, projection, etc.) plus aggregate predicates, nesting and unnesting
and a fixpoint
format,
of executable
language.
The Logres prototype a Non-First
into an executable
in a library
Database and sends the executable code of the application to the Alice Run-Time Support, which is
The application
states is controlled
dictate
@ipmel2.elet.polimi.it
tion of the Logres Database
has
schema; from
in-
editing of visualiza-
the interface,
it is possible to invoke the compilation and running of Logres applications, with windows displaying diagnostic messages and query results.
*This work was partially supported by the project LOG IDATA+, of the National Research Council of Italy, and by the Esprit project STRETCH, sponsored by the EEC. Permission to copy without fee all or part of this material is granted provided that the copias ara not made or distributed for direct commercial advantage, tha ACM copyright notica and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires e fee and/or specifi”c permission. SIGMOD /5/931VVashington, DC, USA e 1993 ACM 0-89791 -592-519310005 /0550 ...91 .50
References [1] Cacace, F.: Data Model Choices litecnico
550
“Implementing
an Object-Oriented
in
Relational
Extended
and Complexity”, Report di Milano, January 1990.
Algebra:
n. 90-009,
Po-
F., S. Ceri, S. Crespi-Reghizzi, L. Tanca, R. Zicari: “IntegratingO bject-OrientedD ataModcling with a Rule-Based Programming Paradigm”, Conf. on the Managein Proc. ACM-SIGMODInt. ment of Data, SIG MOD 1990, Atlantic City, May 1990.
[6] Ceri,
[2] Cacace,
[3] Cacace,
F., S. Ceri,
“Designing
S. Crespi-Reghizzi,
and Prototyping
gineering,
[5] Cacace,
di Milano, F., S. Ceri
of queries. “Consistency
Language”, in Proc. MFDBS Conference, LNCS 495, Springer-Verlag, May 1991.
upper
Restock,
I quesp-be SyStuns-slalnes
spmptsml
hld
mm-$
concerning
tutoring
of helicopter
time of malfunctions
in the helicopter
These are expressed
window
on the right
[3].
engine.
ing the
relations
bottom
window
by means of rules; the
query-time on the right
and
query-tool.
shows part
Rules
—m
~ULES SECTION W ~$@=$ M$@SN)SW@=~,@$= TM)Cstpaks Ihqpmcedm Sl&P,psubEsllse talksn pmcdxs@P,q@cmkcASSTM,cbns rqdn&T usmnblsd sPstsms(ASSTM,sIrwtsyusssmSTM smct @asis(STM,sP$IWMSTMS} @aIu(STMSx@U$U smwSN). quay ted(m
amIMSN,~SYM,tsskTLL)crepslrs IJat@ocuhre oIitP,~b smue tdMYTI procedms(P,sp@c@mASSTM,fxals -T manbsr(T~TLSFT’),TLL-TL ssmsnbledsystuas(ASSTM,saUctsTSMMSTM. spstsms(STM,systraxSTMS), swu $TKMM(STMS,$P-U-MI= SN).
I I
tooks
qmptwsEs -S
~tud
R$4*1
w.lmlo2sssTo*s@mmd
The
of the query
~
$m=f-n-s
a knowlpilots
shows the Logres rules defin-
answers.
quay-ml
m--$
in
Windows can be opened on Logres schema-s, rules, and databases. The leftmost window shows the structure of three intensional relations representing the result
and Po-
Programming
applications”,
1990.
demo shows an example
and repair
in a Database
complex
L.
Advanced
The figure shows part of an application which queries the database for details about symptoms, fixing tools,
EnEn-
and L. Tanca:
for
7:4, July
Lamperti, An
Demo
The
1992.
and non-determinism
system
G.
“ALGRES:
Zicari:
edge base for automated
18:6, June 1992.
[4] Cacace, F., S. Ceri, and L. Tanca: “Design Implementation of Logres” Report n. 92-040, litecnico
database
Logres
Appli-
cations in the Logres and Algres programming vironment’), in IEEE Transactions on Soflware
S. Crespi-Reghizzi, R.
IEEE-So flware
L. Tanca:
Data-Intensive
S.,
Lavazza,
I