W3C Technologies Integration in SmartTools

Project acronym: QUESTION-HOW
Project Full Title:Quality Engineering Solutions via Tools, Information and Outreach for the New Highly-enriched Offerings from W3C: Evolving the Web in Europe
Project/Contract No. IST-2000-28767
Workpackage 1, Deliverable D1.6

Project Manager: Daniel Dardailler <danield@w3.org>
Authors of this document: Pascal Degenne and Didier Parigot <Didier.Parigot@inria.fr>

Created: 28 August 2002. Last updated: 29 August 2002.


Table of Content:


Introduction

This document is a summary of the achievements of project "W3C Technologies Integration in SmartTools".

The goal of this deliverable (and its sub-deliverables) is to adapt and use a programming environment platform originally developed by INRIA, called SmartTools, to migrate to using W3C standards (XML, XML Schema, DOM, Web Services, etc) at every possible level. With such a coherent platform in hand, we can then use it to demonstrate the benefits of building tools based on such standards, in terms of interoperability with Web technologies.

Background on SmartTools

SmartTools is a development environment generator that provides a structure editor and semantic tools as main features. SmartTools is easy to use, thanks to its graphical user interface. Being based on Java and XML technologies offers all the features of SmartTools to any defined language. The main goal of this tool is to provide help and support for designing software development environments for programming languages as well as domain-specific languages defined with XML technologies.

In its current form, SmartTools can take a language grammar, and

W3C technologies integration

The work would consist of:

To achieve such objectives a new version (version 4) of SmartTools is under development which compared to the old version mainly evolves to the following points

Support more XML formalisms

To support and describe more XML formalisms we need to:

This work is finished and allows to accept more XML formalisms for instance : generic XML, Schema and XSL formalisms.

XML Schema

To accept XML schemas as input, a Schema transformation towards a canomic form (basic Schema) was defined. This transformation is very similar to our DTD transformation. An environment to support XML Schema as input, is under development, it will contain an implementation of this transformation.

Generic graphical user interface

To obtain a very flexible tool and make the generation of varied environments easier, all graphical and user interface designs are based on a uniform transformation model (document/view) which is in conformity with the W3C specifications. For example, the graphical user interface is only one a particular graphical view of a document (in XML format) which describes the various files or tools to be opened.

The results of this approach are:

XSL transformations

Our uniform transformation model is strongly based on XSL transformations. To simplify this stage, a new environment was built using the SmartTools systems. It allows manipulation/edition of these transformations thanks to various syntaxes (views) that are more readable than XSLT syntax.

Modular architecture

To obtain a more modular architecture a component model was defined that answers the needs of the SmartTools platform. This model is based on XML descriptions of the functionalities of each SmartTools component. For this purpose various tools were created. In particular a container generator which uses a component's description to produce automaticaly an implementation of that component's interface.

The advantages and results of this new architecture are:

This component model is under validation in the current version and still requires some developments to complete this work.

Web Services

By transformation of our XML component descriptions into equivalent WDSL descriptions, this new architecture allows to see the SmartTools modules in the form of Web Services. In order to help using these possibilities, a set of tools was created, named CDTools (Component Description Tools). Those tools convert the component's description to a WSDL description for Web Services. For example, thanks to those tools, our graph component was automatically transformed into a Web Services component.

Deviations from plan

none