To maintain and evaluate PSAs across large configuration spaces, we have developed the model-driven Skoll environment to support DCQA. We use these processes to evaluate PSAs (such as latency, throughput, and correctness) ``around-the-world, around-the-clock.'' To do this, Skoll's modeling tools divide the overall QA process into multiple subtasks, e.g., running regression tests in a particular system configuration, evaluating system response time under a different input workloads, or measuring usage errors for a system with several alternative GUI designs.
Figure: The Skoll Model-driven DCQA Architecture
As illustrated in Figure
, these tasks are then
intelligently and continuously distributed to -- and executed by --
Skoll clients across a grid of computing resources contributed by
end-users and distributed development teams. The results of these
evaluations are returned to a server at a central collection site,
where they are fused together to guide subsequent iterations of Skoll
DCQA processes.
This section describes some of the components and services provided by the model-driven Skoll environment so that developers can implement and analyze DCQA processes. In particular, Skoll [] provides languages for modeling system configurations and their constraints, algorithms for scheduling and remotely executing tasks, and analysis techniques for characterizing faults. Finally, we show how developers use Skoll to implement and execute large-scale, PSA-specific DCQA processes.