Home Contact

Event Driven Software Lab

4115 Dept. of Computer Science, University of Maryland, College Park, MD, USA.

The Event Driven Software Lab (EDSL) was established in the year 2005, partly using research grant 0447864 from the US National Science Foundation. Since then, we have been supported by NSF grant 0855055. Our 120-machine 2.8 Ghz Pentium 4 1u server cluster that we use for most of our experiments was obtained via grant N00014-05-1-0421 from the DoD.

Our Mission

img The EDSL is a collaborative effort to better design, test, evolve, maintain, and develop event-driven software (EDS). Several classes of EDS are becoming very important.

What is EDS?
An EDS takes internal/external events (e.g., commands, messages) as input (e.g., from users, other applications), changes its state, and sometimes outputs an event sequence. Common examples of EDS include graphical user interfaces (GUIs), web applications, network protocols, embedded software, software components, and device drivers.

An EDS is typically implemented as a collection of event handlers designed to respond to individual events. Nowadays, EDS is gaining popularity because of the advantages this "event-handler architecture" offers to both developers and users. From the developer's point of view, the event handlers may be created and maintained fairly independently; hence, complex system may be built using these loosely coupled pieces of code. In interconnected/distributed systems, event handlers may also be distributed, migrated, and updated independently. From the user's point of view, EDS offers many degrees of usage freedom. For example, in GUIs, users may choose to perform a given task by inputting GUI events (mouse clicks, selections, typing in text-fields) in many different ways in terms of their type, number and execution order.

Experimentation

Resources:

There are many flaws in the way we perform experiments in computer science. Because we need extensive experimentation for EDS, we have recently been involved in several efforts to improve experimentation in computer science:

  • COMET: COMmunity Event-based Testing: A repository of test artifacts, processes, and models to standardize the way experiments are conducted
  • Third International Workshop on TESTing Techniques & Experimentation Benchmarks for Event-Driven Software (TESTBEDS 2011). Theme: GUI-Based Applications and Rich Internet Applications
  • Workshop on Experimental Evaluation of Software and Systems in Computer Science (Evaluate 2011).
  • Workshop on Experimental Evaluation of Software and Systems in Computer Science (Evaluate 2010).
  • Second International Workshop on TESTing Techniques & Experimentation Benchmarks for Event-Driven Software (TESTBEDS 2010). Theme: GUI-Based Applications and Rich Internet Applications
  • First International Workshop on TESTing Techniques & Experimentation Benchmarks for Event-Driven Software (TESTBEDS 2009). Theme: GUI-Based Applications