552 research outputs found

    A deductive and typed object-oriented language

    Get PDF
    In this paper we introduce a logical query language extended with object-oriented typing facilities. This language, called DTL (from DataTypeLog), can be seen as an extension of Datalog equipped with complex objects, object identities, and multiple inheritance based on Cardelli type theory. The language also incorporates a very general notion of sets as first-class objects. The paper offers a formal description of DTL, as well as a denotational semantics for DTL programs

    A Modular Logic Approach for Expressing Web Services in XML Applying Dynamic Rules in XML

    Get PDF
    RuleML is considered to be a markup language for the semantic web. It allows the enrichment of web ontologies by adding definitions of derived concepts and it enhances interoperability among different systems and tools by publishing rules in an XML format. Moreover the in-creasing demand for interfaces that enhance information sharing has given rise to XML doc-uments that include embedded calls to web services. In this paper we propose a variation of RuleML that is based on modular logic programming. Our approach is based in a two level architecture. In the first level a modular logic language, called M-log, is presented. This lan-guage encompasses several mechanisms for invoking web services. In the second level we ex-ploit the semantics of M-log to present a variation of RuleML with rich modeling capabilities. Formal foundations for this variation are given through direct translation to M-log semantics.Knowledge Management, XML, Modular Logic Programming, E-Services

    QL: Object-oriented Queries on Relational Data

    Get PDF
    This paper describes QL, a language for querying complex, potentially recursive data structures. QL compiles to Datalog and runs on a standard relational database, yet it provides familiar-looking object-oriented features such as classes and methods, reinterpreted in logical terms: classes are logical properties describing sets of values, subclassing is implication, and virtual calls are dispatched dynamically by considering the most specific classes containing the receiver. Furthermore, types in QL are prescriptive and actively influence program evaluation rather than just describing it. In combination, these features enable the development of concise queries based on reusable libraries, which are written in a purely declarative style, yet can be efficiently executed even on very large data sets. In particular, we have used QL to implement static analyses for various programming languages, which scale to millions of lines of code

    Evaluation Aspects of a Object-Oriented Deductive Database Language

    Get PDF
    Recently, F-logic has been proposed as an attempt to extend deductive databases by typical concepts of object-oriented languages. Among these concepts are complex objects, (term-based) object identity, methods, classes, typing, inheritance and browsing. In Kifer et al. syntax and model-theoretic semantics is discussed; however many algorithmic aspects which arise when computing the corresponding models are left open. In this paper we start to bridge this gap. Several topics in the context of the evaluation of programs are discussed in detail; among these are weak recursion, global stratification and dynamic type-checking

    State-of-the-art on evolution and reactivity

    Get PDF
    This report starts by, in Chapter 1, outlining aspects of querying and updating resources on the Web and on the Semantic Web, including the development of query and update languages to be carried out within the Rewerse project. From this outline, it becomes clear that several existing research areas and topics are of interest for this work in Rewerse. In the remainder of this report we further present state of the art surveys in a selection of such areas and topics. More precisely: in Chapter 2 we give an overview of logics for reasoning about state change and updates; Chapter 3 is devoted to briefly describing existing update languages for the Web, and also for updating logic programs; in Chapter 4 event-condition-action rules, both in the context of active database systems and in the context of semistructured data, are surveyed; in Chapter 5 we give an overview of some relevant rule-based agents frameworks

    Updates in a Rule based Language for Objects

    Full text link
    The integration of object-oriented concepts into deductive databases has been investigated for a certain time now. Various approaches to incorporate updates into deduction have been proposed. The current paper presents an approach which is based on object versioning; different versions of one object may be created and referenced during an update-process. By means of such versions it becomes possible to exert explicit control on the update process during bottom-up evaluation in a rather intuitive way. The units for updates are the result sets of base methods, i.e. methods, whose results are stored in the object-base and are not defined by rules. However, the update itself may be defined by rules. Update-programs have fixpoint semantics; the fixpoint can be computed by a bottom-up evaluation according to a certain stratification

    Meta-programming composers in 2nd generation component systems

    Get PDF
    Future component systems will require that components can be composed flexibly. In contrast to current systems which only support a fixed set of composition mechanisms, the component system should provide a composition language in which users can define their own specific composers. It is argued for an object-oriented setting that this will be possible by meta-programming the class-graph. Composers will be based on two important elements. First, they will express coupling by graph-based operators which transform parts of the class-graph (coupling design patterns). Second, during these transformations, elementary meta-operators will be used to transform data and code, rearranging slots and methods of parameter-components. Thus during their reuse, components are queried by introspection and transformed by meta-programming. Composers that use meta-programming generalize connectors in architectural languages. Hence they encapsulate context-dependent aspects of a system, and make components independent of their embedding context. Since meta-programming composers may change behavior of components transparently, meta-programming composers will lead to a nice form of grey-box reuse, which supports embedding of components (and classes) into application contexts in a new and flexible way
    • …
    corecore