ERCIM News No.36 - January 1999
ETI: An Online Service for Tool Co-ordination
by Bernhard Steffen, Tiziana Margaria, and Volker Braun
The Electronic Tool Integration platform (ETI) associated to the International Journal on Software Tools for Technology Transfer (STTT) is designed for the interactive experimentation with and co-ordination of heterogeneous tools. ETI users are assisted by an advanced, personalised Online Service guiding experimentation, co-ordination and simple browsing of the available tool repository according to their degree of experience. In particular, this allows even newcomers to orient themselves in the wealth of existing tools and to identify the most appropriate collection of tools to solve their own application-specific tasks.
ETI contains and manages a heterogeneous wealth of information, functionalities and data. Currently this comprises verification tools for real time systems and model checkers. The integration of programming language tools like type checkers, optimisers and code generators is on the way. The ETI Service can be accessed via its homepage, http://eti.cs.uni-dortmund.de. From there, users can:
- access online information on the tools via hyperlinks to each tools home site
- access online a stand-alone version of each tool, centrally located at the ETI service sites
- access the ETI repository of integrated tools. It contains a collection of functionalities offered by the individual tools, classified for ease of retrieval according to behavioural and interfacing criteria
- experience tools and functionalities, by (a) running the (stand-alone or integrated) tools on libraries of examples, case studies, and benchmarks made available on the ETI platform, testing and running single tool functionalities, capturing specific features offered by different integrated tools on the same examples from within a uniform graphical user interface provided by ETI, (c) constructing own application-specific heterogeneous tools through combination of functionalities coming from different tools within the ETI platform, (d) loosely specifying co-ordination tasks, which can be then automatically completed to executable tool sequences by means of ETIs co-ordination support; this, in particular, takes care of data format incompatibilities
- experiment with own sets of data, to be deployed in user-specific, protected home areas.
The wealth of input/output formats makes correct tool combination extremely difficult. ETI therefore provides co-ordination support in order to ease usability: based on its interfacing layer, which organizes a growing library of type transformers, whenever possible, type-incorrect tool sequences are automatically completed to directly executable ones. This mechanism, which is based on model synthesis for temporal logics, is hidden from newcomers. Experts, however, are able to investigate the full potential for type completion in order to flexibly exploit the entire tool repository.
In addition, ETI provides high-level task specification languages, graphical support for specifications and user interaction, as well as prototype animation. Together this eases the access and use of the functionalities offered by different tools, even if implemented in different languages of different programming paradigms (functional, imperative, object-oriented) and running on different platforms. Together with the loose specification of single functionalities (simply in terms of desired properties), this allows even newcomers to develop and test complex tool combinations in a comfortable, intuitive manner.
The figure shows the global multi-tier architecture underlying the ETI service: via a unique entry point, visitors are routed to the most appropriate ETI Server which manages their session. The actual tool execution is a matter of the Tool Servers, which may themselves delegate tool execution to an Application Server. Typically this is the case if the requested tool does not run under UNIX or LINUX.
The ETI Online Service plays a public service role, giving users the possibility of direct, hands-on, experience with a wealth of available tools and functionalities. This also includes features like the ETI Online Forum, where users may eg, propose case studies, and report on their experiences. The service is intended to develop into a collaborative, independent tool presentation and evaluation site: users are invited to report on their experience with the integrated tools in the context of the service as a:
- directory for possible tools and algorithms satisfying totally or partially their needs
- (vendor- and producer-) independent test site for trying and comparing alternative products and solutions without any installation overhead
- quality assessment site for the published tools, which are refereed according to requirements like originality, usability, installability, stability, performance, design
- independent benchmarking site for performance on a growing basis of problems and case studies.
This should stimulate the communication between tool builders and tool users as well as between academia and industrial practice, supporting the transfer of tool-related technology. In fact, we are optimistic that the typical hesitation to try out new technologies can be overcome since serious hurdles, like installation of the tools, getting acquainted with new user interfaces, lack of direct comparability of the results and of performances, are eliminated. Moreover, the intended collaborative effort of the ETI user community to provide easily accessible information about fair, application-specific evaluations of various competing tools on the basis of predefined benchmarks, will be of substantial help for everybody in need of tool support.
Volker Braun - Universität Dortmund
Tel: +49 231 755 5806