= Welcome to !EventBench = [[TracNav(TOC|nocollapse)]] [[Image(LayerModel2.png, nolink, align=right, border=2, width=500)]] '''!EventBench''' is a collection of tools and libraries for the testing of event-driven software systems developed as part of a research project at [http://www.ifi.informatik.uni-goettingen.de/ Institute of Computer Science] at the [http://www.uni-goettingen.de Georg-August-Universität Göttingen]. It is a joined effort of the research group for [http://www.tcs.informatik.uni-goettingen.de/ Theoretical Computer Science and Algorithmic Methods] and [http://www.swe.informatik.uni-goettingen.de/ Software Engineering for Distributed Systems]. The software components are implemented on different layers and build upon each other. There are three layers: 1) the event layer; 2) the translation layer; 3) the platform layer. The figure to the right visualizes this layer concept and shows the tools and responsibilities of each layer. As part of the part of this project, we developed several tools for the different layers. The project also maintains an [https://www.ohloh.net/ Ohloh] page at [https://www.ohloh.net/p/eventbench]. All Java projects are continuously integrated by the Hudson server [https://trex.informatik.uni-goettingen.de/hudson/job/EventBench/]. Test results can be found [https://trex.informatik.uni-goettingen.de/hudson/job/EventBench/lastCompletedBuild/testReport/ here]. The URL to the SVN repository is https://eventbench.informatik.uni-goettingen.de/svn/eventbench/. == Downloads == [https://trex.informatik.uni-goettingen.de/hudson/job/EventBench/lastSuccessfulBuild/artifact/JavaCommons/downloads/ Available here.] == Documentation == For all Java projects, a Javadoc documentation is available [https://trex.informatik.uni-goettingen.de/hudson/job/EventBench/javadoc/ here]. == Software == === Event Layer Software === * [wiki:Software/EventBenchCore EventBenchCore]: A Java library that implements event layer functionality, including various stochastic processes for usage modeling, calculation of coverage criteria, and an abstract way to define assertions. === Translation Layer Software === * [wiki:Software/EventBenchConsole EventBenchConsole]: A tool written in Java that utilizes the [wiki:Software/EventBenchCore EventBenchCore] and provides translation layers for several platforms: Windows MFC, Web applications, and GUITAR. The tool provides two interfaces: a interface for the command line and a GUI. === Platform Layer Software === * [wiki:Software/userlog MFCUsageMonitor]: A dll that can be loaded by Windows MFC applications that allows usage monitoring. * [wiki:Software/MFCReplay MFCReplay]: A replay tool for Windows MFC applications. * [wiki:Software/PHPMonitor PHPMonitor]: A monitoring tool for PHP-based web applications. * [wiki:Software/JFCMonitor JFCMonitor]: A monitoring tool for JFC-based Java applications (Swing/AWT-GUIs). === Additional Software === * [wiki:Software/JavaHelperLib JavaHelperLib]: A Java library that gathers algorithms that are not designed to work for one specific Java projects, but can be used with any Java project. Functionality provided includes a framework for a command-line interface, as well as string and array manipulation methods. * [wiki:Software/MFCTestProg MFCTestProg]: A small MFC application, we use to test the features of the [wiki:Software/userlog MFCUsageMonitor] and [wiki:Software/MFCReplay MFCReplay] on a small scale. * [wiki:Software/JavaCommons JavaCommons]: Provides an Ant script to build [wiki:Software/JavaHelperLib JavaHelperLib], [wiki:Software/EventBenchCore EventBenchCore] and [wiki:Software/EventBenchConsole EventBenchConsole]. This projects also contains the jar-files of all external Java libraries used by the three projects. == Publications == See http://www.swe-old.informatik.uni-goettingen.de/pubs/pub_liste/pub_anzeige.php?lang=de&projekt_nr[0]=16 == Authors == * Steffen Herbold * Jeffrey Hall