REWERSE - reasoning on the web

Demos I3 - Composition and Typing

A prototype implementation of a descriptive type system for Xcerpt

A descriptive type system for Xcerpt has been proposed in deliverable I3-D4 and other papers. The intended application is (statically) finding (a certain kind of) errors in programs. Here we present a prototype implementation of the type system. The implementation is able to (statically) check correctness of an Xcerpt program with respect to a type specification. A type specification describes a set of possible data bases to which the program is to be applied and an expected set of results. Program correctness means that all its results are in the expected set. Failure of correctness check suggests error in the program. Under certain conditions such failure indeed means that the program is incorrect.

Current implementation works for a restricted, but interesting subset of Xcerpt. In particular only programs consisting of one rule are dealt with. Additionally, the system provides (approximations of) the set of program results and the sets of values of program variables; this information is useful for programmers (and is produced even when the specification of the expected set of results is not given). The prototype is available at http://www.ida.liu.se/~artwi/XcerptT.

Contact: Artur Wilk (Linköping)


Applying TOM to implement a prescriptive type system

The prescriptive typing approach has been adopted by Nancy to develop a set of typing rules to capture the types of forward path expressions in XQuery. The algorithm builds an environment with type information provided by the schema definition of the source data being queried, and relies on the static semantics of XQuery (http://www.w3.org/TR/xquery-semantics/) for the other constructs of the language. The typing rules were implemented using TOM (http://tom.loria.fr), that demonstrates its suitability to encode formal systems (besides other papers, see "documentation" in its the web site). The prototype is able to indicate the resulting type for a considerable set of path expressions.

Contact: Jakob Henriksson (Dresden)


Prototypical composition system

We aim at creating a composition system according to the ideas of invasive software composition. A vital part of any composition system is the component model. A component model describes what components look like and how they are interfaced to create more complex software entities.

Deliverable I3-D1 described a method of how to automatically generate a component model from a core-language description in form of a meta-model. We extend this meta-model with hook constructs, each corresponding to an existing construct in the core language. This extended meta-model, the component model, defines a reuse-language in which reuse-aware components can be written. The reuse-language thus contain constructs (hooks) for explicitly defining the interfaces to other components.

We present two systems which follow two closely related tracks.

One system uses the Eclipse Modeling Framework (EMF) as a backbone to generate tool support for composition, e.g. parsing and abstract syntax tree tooling. Ecore (modeling language of EMF) is used to describe the core languages and the generated reuse languages. The tool integrates into the Eclipse Platform.

The system processes the components written in a reuse-language by merging them into a complete program of the core language. The resulting code can thus be processed by already existing tools developed for the core language, i.e. interpreters or compilers.

The system demonstrates composition using two different core languages: a simple imperative programming language called Graal and the XML query language Xcerpt developed by WG I4.

In the other track we work with a system targeted towards OWL as meta-modeling language.

Contact: Jakob Henriksson (Dresden)


Personalised Service Discovery and Composition

PreDiCtS is a framework for personalised service discovery and composition. The underlying concept behind PreDiCtS is that, similar service composition problems could be tackled in a similar manner by reusing past composition experience. The stored experience has to be useful and at the same time flexible enough to allow for adaptations to new problems. For this reason we have opted to use template-based composition information. PreDiCtS’s retrieval and refinement technique is based on conversational case-based reasoning (CCBR) [1] and makes use of a core OWL ontology called CCBROnto [2] for case representations.

The PreDiCtS prototype, allows for the creation and retrieval (shortly also adaption) of cases. Each case includes knowledge about a particular problem,in the form of a set of question-answer pairs, and its relevant solution which is a place holder for a composition template. Case retrieval is based on an adaptation of the taxonomic CCBR algorithm [3]. At present these composition templates are defined in OWL-S but we are experimenting with the possibility of using the component composition technology coming out of I3.

[1] Conversational case-based reasoning, Aha, D.W., Breslow, L.A., & Muñoz-Avila, H.(2000).
[2] http://www.semantech.org/ontologies/CCBROnto.owl
[3] Gupta K.M., Taxonomic Conversational Case-Based Reasoning,  Case-Based Reasoning Research and Development,  (Eds. D.W. Aha & I. Watson), Springer, Berlin, Germany, 2001

Contact: Charlie Abela (Malta)


Printer friendly version [html]

go to top of page