jETI Logo  
 

Technology

JETI's purpose was unique in allowing users to combine functionalities of tools of different application domains to solve problems a single tool never would be able to tackle. Obviously, the richness of the tool repository plays a crucial role in the success of jETI: the benefit gained from our experimentation and coordination facilities grows with the amount and variety of integrated software-tools. The success of the jETI concept is thus highly sensitive to the process and costs of tool integration and tool maintenance.

Taking advantage of newer technologies that internally base on Web Services and Java technology, we can

  1. considerably simplify the integration process, and at the same time
  2. flexibilize the distribution, version management and use of integrated tools,
  3. broaden the scope of potential user profiles and roles, by seamlessly integrating jETI's coordination and synthesis features with a standard Java development environment, and
  4. solve the scalability problem connected with tool maintenance and evolution.

Our current version of jETI

  • exploits Web Services technology to further simplify the remote tool integration and execution,
  • supports cross platform execution of the coordination models based on the quasi standard set by Java, and it naturally
  • flexibilizes the original coordination level by seamlessly integrating the Eclipse development framework.

Registration instead of Integration

jETI's integration philosophy addresses the major obstacle for a wider adoption, as identified during seven years of experience with tool providers, tool users and students: the difficulty to provide the latest versions of the state-of-the-art tools. The tool integration process required on dedicated jETI servers was too complicated for both the tool providers and the jETI team, making it impossible to keep pace with the development of new versions and a wealth of new tools. jETI's new remote integration philosophy overcomes this problems, because it replaces the requirement of `physical' tool integration by a very simple registration and publishing. This allows the provision of tool functionalities in a matter of minutes: fast enough to be fully demonstrated during our presentation. Moreover, whenever the portion of a tool's API which is relevant for a new version of a functionality remains unchanged, version updating is fully automatic!

Based on the Web Services functionality, the realization of this registration/publishing based integration philosophy required the implementation of four components, as illustrated in Figure 1:

  1. a HTML Tool Configurator, which allows tool providers to register a new tool functionality just by filling our a simple template form,
  2. the jABC Component Server, which (a) automatically generates appropriate Java classes from these specifications and (b) organizes all the registered tool functionalities, including the corresponding version control,
  3. the jETI client, which automatically loads the relevant Java classes from the jABC Component Server and provides a flexible Java development environment for coordinating the so obtained tool functionalities. Depending on their goals and skill profile, users may just use our graphical coordination editor to experiment with the tools, or they may use the full development support of Eclipse to really embed remote functionalities into normal Java programs. Of course, this choice heavily influences the size of the required jETI-Client: only the first option is open to our envisaged 'pure HTML' solution.
  4. a Tool Executor, which is able to steer the execution of the specified tools at the tool providers' site.

This approach enables experts to develop complex tools in Java on the basis of a library of remotely accessible tool functionalities, as well as newcomers to use jETI's formal methods-based, graphical coordination environment to safely combine adequate tool functionalities into heterogeneous tools.

So far, the technology has been used to integrate jMoSel, a decision procedure for the verification of parametric systems, DFA-MC, a program analysis tool that carries out dataflow analyses of (Java) programs via model checking, and GEAR, our game-based model checker for modal mu-calculus.

External applications have concerned so far the integration of bioinformatic tools provided as webservices into seamless workflows, and the case study concerning Mediation and Choreography of the Semantic Webservice Challenge 2006.