<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.0 20120330//EN" "JATS-journalpublishing1.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article"><front><journal-meta><journal-id journal-id-type="publisher-id">INFORMATICA</journal-id><journal-title-group><journal-title>Informatica</journal-title></journal-title-group><issn pub-type="epub">0868-4952</issn><issn pub-type="ppub">0868-4952</issn><publisher><publisher-name>VU</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="publisher-id">INF9107</article-id><article-id pub-id-type="doi">10.3233/INF-1998-9107</article-id><article-categories><subj-group subj-group-type="heading"><subject>Research article</subject></subj-group></article-categories><title-group><article-title>O!-LOLA – Extending the Deductive Database System LOLA by Object-Oriented Logic Programming</article-title></title-group><contrib-group><contrib contrib-type="Author"><name><surname>Specht</surname><given-names>Günther</given-names></name><email xlink:href="mailto:specht@informatik.tu-muenchen.de">specht@informatik.tu-muenchen.de</email><xref ref-type="aff" rid="j_INFORMATICA_aff_000"/></contrib><aff id="j_INFORMATICA_aff_000">Technische Universität München, Department of Computer Science, Orleansstr. 34, D-81667 München, Germany</aff></contrib-group><pub-date pub-type="epub"><day>01</day><month>01</month><year>1998</year></pub-date><volume>9</volume><issue>1</issue><fpage>107</fpage><lpage>117</lpage><history><date date-type="received"><day>01</day><month>01</month><year>1998</year></date></history><abstract><p>This paper presents the declarative extension of the deductive database system LOLA to the object-oriented deductive database system O!-LOLA. The model used for O!-LOLA is “objects as theories”, extended by state evolution. O!-LOLA combines logic programming and OO programming in two different ways: First, methods are implemented as logic programs. These methods can be inherited, encapsulated and overloaded. Second, logic programs can be defined over classes, meta-classes, instances, attributes and values. Dynamic updates of attributes of objects and dynamic instantiations of classes are supported.</p><p>O!-LOLA is implemented as a preprocessor. O!-LOLA programs are transformed into LOLA rules and facts, which are evaluated set-oriented and bottom-up, using fixpoint semantics. Some object-oriented features concerning dynamic aspects are handled via built-in predicates in LOLA.</p><p>We describe the applied theory, the system and the preprocessor, including an example of how methods are translated and we discuss dynamic updates of objects in O!-LOLA.</p><p>The benefits of our system in contrast to others are: a single integrated language, clear semantics and a set-oriented evaluation. O!-LOLA uses fixpoint semantics (not any procedural semantics like other systems) and still evaluates set-oriented (and not in a mixed manner like other systems). Thus, we can fully use all optimization techniques developed for deductive databases and gain a very efficient system.</p></abstract><kwd-group><label>Keywords</label><kwd>object-oriented logic programming</kwd><kwd>objects as theories</kwd><kwd>dynamic updates</kwd></kwd-group></article-meta></front></article>