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.
Please contact:
Volker Braun - Universität Dortmund
Tel: +49 231 755 5806
E-mail: eti@eti.cs.uni-dortmund.de