blob: 8645563c071e825f1f934018050fdf6930fbb0a0 [file] [log] [blame]
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Eclipse Test & Performance Tools Platform Project</title>
<link rel="stylesheet" href="../eclipse-webtools/templates/eclipse/eclipse.css"></head>
<body text="#000000" bgcolor="#ffffff" link="#0000ee" vlink="#551a8b" alink="#ff0000">
&nbsp;
<table BORDER=0 CELLSPACING=5 CELLPADDING=2 WIDTH="100%" >
<tr>
<td ALIGN=LEFT width="60%"><font class=indextop><font class=indextop>eclipse test & performance tools platform project</font></font><br>
<font class=indexsub>Project Descriptions </font></td>
<td WIDTH="40%"><img SRC="../../images/Idea.jpg" HSPACE=50 height=86 width=120 align=CENTER></td>
</tr>
</table>
<p>This project proposal is in the <a href="/projects/dev_process/">
Proposal Phase</a> and is posted here to solicit additional project participation
and ways the project can be leveraged from the Eclipse membership-at-large.
You are invited to comment on and/or <a href="contributing.html">join the project</a>.
Please send all feedback to the <a href="http://www.eclipse.org/newsportal/thread.php?group=eclipse.test-and-performance">eclipse.test-and-performance
newsgroup</a> or the <a href="https://dev.eclipse.org/mailman/listinfo/test-and-performance-proposal">
test-and-performance-proposal</a> mailing list.</p>
<table BORDER=0 CELLSPACING=5 CELLPADDING=2 WIDTH="100%" >
<tr>
<td ALIGN=LEFT VALIGN=TOP COLSPAN="2" BGCOLOR="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">Project
Descriptions</font></b></td>
</tr>
<tr>
<td>
<p>The Eclipse Test &amp; Performance Tools Platform Top Level Project is
currently comprised of four Projects that are in effect a repartitioning
of the previous Eclipse Tools Hyades Subproject. Other projects may be
added over time.</p>
<p>Projects:</p>
<blockquote>
<p><a href="#platform">Hyades Platform Project</a><br>
<a href="#test">Hyades Test Tools Project</a><br>
<a href="#trace">Hyades Tracing and Profiling Project</a><br>
<a href="#monitor">Hyades Monitoring Project</a></p>
</blockquote>
</td>
</tr>
</table>
<table BORDER=0 CELLSPACING=5 CELLPADDING=2 WIDTH="100%" >
<tr>
<td ALIGN=LEFT VALIGN=TOP BGCOLOR="#0080C0"><b><font face="Arial,Helvetica"><font color="#FFFFFF"><a name="platform"></a>Hyades
Platform Project</font></font></b></td>
</tr>
<tr>
<td>
<p>The Top Level Project consists of a large amount of common infrastructure
in the areas of user interface, EMF based data models, data collection
and communications control, as well as remote execution environments.
All of these subsystems are included in the Hyades Platform. </p>
<p>The Platform provides these common subsystems as well as all the extension
points for leveraging or extending them in solution specific tooling or
runtime. This includes Eclipse workbench plug-ins as well as runtime plug-ins
on a target and optionally remote system.</p>
<p>Following is a very brief description of the subsystems. For more details
on these subsystems, please refer to the project website.</p>
<blockquote>
<p><b>User Interface</b><br>
User interfaces are provided to manage and access resources used by
the Test and Performance Top Level Project. The interfaces also provide
the basic user metaphors desired for interacting with remote systems
and the resources involved in order to have consistent end user experiences.
A basic navigator and many extension points are provided as well as
user preferences and facilities to preserve session user state. Along
with the basic navigation and extension points, several controls, viewers
and editors are also provided in order to give access to all the resources
and make common behavior easier.</p>
<p><b>EMF models</b><br>
Data models are intended to be a key integration point in the project
and are provided in 5 basic areas.</p>
<ol>
<li>Trace for the collection of local or distributed execution stacks
as well as heap information. </li>
<li>Definition models for the creation and management of test cases
as well as behavioral models for tests, and/or related activities.
</li>
<li>Test execution histories for the collection of test executions over
time. </li>
<li>Generic statistical model for the capturing of arbitrary numerical
data over time. </li>
<li>Log model that can hold associated Common Base Events or any logged
message that can be transformed into a Common Base Event.</li>
</ol>
<p>All these models can be cross-linked and made persistent using XMI
or in some cases a relational database back is optionally used.</p>
<p><b>Data Collection</b><br>
An infrastructure is provided to collect data for the various models.
This includes the XML fragment specifications that need to be created
as well as the model loaders that will load those fragments into the
specific model. Where meaningful, service function is provided to assist
in creating the instances of these fragments. For example, a correlation
service is provided to assist in creating data that can be correlated
across machine boundaries. A set of classes to create Common Base Event
instances is also provided.</p>
<p><b>Communication</b><br>
Although the actual communication layer can be replaced via plug-in,
a default TCP/IP based infrastructure is provided that has an optional
security plug-in. Wrapped around the actual communication layer is a
generic interface to facilitate the movement of commands and data between
the workbench and one or more agents. The agents reside in the system
being monitored and shared memory pipes are provided to the common communications
infrastructure.</p>
<p>There is also a full management system for agents. This includes registration
so they can be shared across process and transaction boundaries on a
given machine. The data communication and control interfaces are being
exposed with C, Java, and Web services bindings.</p>
<p><b>Execution Environment</b><br>
A method for controlling an execution environment for a system under
test is often needed. From the basics of attaching, starting, and stopping
a remote process as well as providing a predefined link to the communication
layer is provided in this subsystem of the platform.</p>
<p>A generic runtime that can be driven by a process description is also
provided. The initial intent is to use this environment as a generic
test behavior implementation that can be used to drive any public interface,
especially a web service binding.</p>
</blockquote>
<p>&nbsp;</p>
</td>
</tr>
</table>
<table BORDER=0 CELLSPACING=5 CELLPADDING=2 WIDTH="100%" >
<tr>
<td ALIGN=LEFT VALIGN=TOP BGCOLOR="#0080C0"><b><font face="Arial,Helvetica"><font color="#FFFFFF">
<a name="test"></a>Hyades Test Tools Project</font></font></b></td>
</tr>
<tr>
<td>
<p>The Hyades Test Tools Project provides specializations of the Platform
for testing (e.g. test editors, trace/test conversion support), and exemplary
extensible tools for specific testing environments. Initially this includes
three test environments: JUnit, manual, and URL testing.</p>
<p>These specializations provide optimized editing and reporting experiences
for these use cases. In the cases where a unique runtime or an implementation
of a testability interface is required, it is also developed in the project.
For example, the manual test execution environment provides a remotely
managed user interface specifically for collecting manual test progress.
This manual user interface is unique from the common execution environment
for JUnit and URL testing. </p>
</td>
</tr>
</table>
<table BORDER=0 CELLSPACING=5 CELLPADDING=2 WIDTH="100%" >
<tr>
<td ALIGN=LEFT VALIGN=TOP BGCOLOR="#0080C0"><b><font face="Arial,Helvetica"><font color="#FFFFFF">
<a name="trace"></a>Hyades Tracing and Profiling Project</font></font></b></td>
</tr>
<tr>
<td>
<p>The Hyades Tracing and Profiling Tools Project extends the Platform with
specific data collection for Java and distributed applications that populate
the common trace model, additional language and protocol support is anticipated.
There are also viewers and analysis services that draw data from the common
trace model.</p>
<p>Capabilities are provided to collect and analyze heap and stack information
as well as generic toolkits for instrumenting running applications.</p>
</td>
</tr>
</table>
<table BORDER=0 CELLSPACING=5 CELLPADDING=2 WIDTH="100%" >
<tr>
<td ALIGN=LEFT VALIGN=TOP BGCOLOR="#0080C0"><b><font face="Arial,Helvetica"><font color="#FFFFFF"><a name="monitor"></a>Hyades
Monitoring Project</font></font></b></td>
</tr>
<tr>
<td>
<p>The Hyades Monitoring Tools Project extends the platform for collecting,
analyzing, aggregating, and visualizing data that can be captured in the
log and statistical models. </p>
<p>The typical examples are the collection of system or application resources
such as cpu or memory utilization and support for the viewing, aggregation,
and analysis of that data. Logs can also be transformed into a common
format and model allowing for symptom and pattern analysis. The correlation
of the data in these models is of particular interest when it is associated
with other model instances of statistical or log data as well as traces
and tests.</p>
</td>
</tr>
</table>
</body>
</html>