<html><head>
<link rel="stylesheet" href="../../default_style.css">
<title>Eclipse.org consortium</title></head>
<body text="#000000" bgcolor="#ffffff" link="#0000ee" vlink="#551a8b" alink="#ff0000">
<table border=0 cellspacing=5 cellpadding=2 width="100%" >
  <tr> 
    <td align=left width="72%"> <font class=indextop> aspectJ open source</font><br>
      <font class=indexsub> </font></td>
    <td width="28%"><img src="../../images/Idea.jpg" height=86 width=120></td>
  </tr>
</table>
<table border=0 cellspacing=5 cellpadding=2 width="100%" >
  <tr> 
    <td align="left" valign="top" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">Press release</font></b></td>
  </tr>
  <tr> 
    <td> <br>
      <h1 ALIGN="CENTER"><b><span style='font-size:16.0pt;font-family:Arial;"Times New Roman"'><b> 
        Palo Alto Research Center and Eclipse announce release of <br>
        AspectJ to the Open Source Community </b></span></b></h1>
      <UL>
        <LI>Eclipse Project Forms To Make DARPA Funded Software Available for 
          Enterprise Java Developers </LI>
      </UL>
      <p>Palo Alto, CA, March 18, 2003- The Palo Alto Research Center (PARC) and 
      Eclipse announced the transfer of AspectJ&#153; technology from PARC to Eclipse 
      and through the Eclipse Technology Project, to the entire open-source community. 
      AspectJ has an active following in both the research and industrial communities, 
      and represents a well-researched toolkit for Aspect Oriented Programming 
      (AOP). </p>
	  <p>Jim Hugunin, a PARC researcher who led the original development work 
      on AspectJ said, "We are pleased that the Eclipse community will continue 
      to enhance and refine the AspectJ code. Together, we are working hard to 
      get the next release out and welcome broad community support." </p>
	  <p>"Eclipse and the Eclipse Technology Project are delighted to become the new home 
      of AspectJ," said Dr. Brian Barry, who leads the Eclipse Technology Project. 
      "AspectJ represents an outstanding example of new approaches to improving 
      the developer experience and software productivity that have been enabled 
      by reusing core elements of the Eclipse Platform." </p>
	  <p>The most recent release of AspectJ builds on the Eclipse Java&#153; Development Tools (JDT) framework 
      that is proving to establish a successful synergy between the Eclipse and 
      AspectJ movements. </p>
	  <p>AspectJ provides a Java language extension and toolset 
      that allows developers to better deal with problems that occur in large 
      software systems by separating out and centralizing solutions for crosscutting 
      issues. Some aspects of system implementation, such as logging, error handling, 
      standards enforcement and feature variations are notoriously difficult to 
      implement in a modular way. The result is that code is tangled across a 
      system and leads to quality, productivity and maintenance problems. Aspect 
      Oriented Software Development (AOSD) enables the clean modularization of 
      these crosscutting concerns. The AspectJ Development Tools project provides 
      Eclipse platform based support for AOSD that seeks to deliver a user experience 
      that is consistent with existing Java Development Tools (JDT). </p>
	  <p>Distributions of open-source projects managed by Eclipse are available 
        under the Common Public License. This license permits commercial works 
        to be made of the distributions royalty free. The Open Software Initiative 
        (<a href="http://www.opensource.org/licenses/" target="_blank">http://www.opensource.org/licenses/</a>) 
        has certified the CPL. </p>
	  <p>The US Department of Commerce Advanced Technology 
      Project funded the original work on Aspect Oriented Programming. In addition, 
      DARPA - The Defense Advanced Research Projects Agency -funded the early 
      development work of AspectJ at PARC and the community building costs associated 
      with it. PARC wishes to thank both agencies for their support. </p>
	  <p>For more information about AspectJ on Eclipse, please go to: <a href="http://www.eclipse.org/aspectj/" target="_blank">http://www.eclipse.org/aspectj/</a>. 
      </p>
      <P>&nbsp;</p>
      </td>
  </tr>
  </table>
&nbsp;

		<table width="100%" cellspacing=0 cellpadding=3 align=center>
		<tr bgcolor="#999999">
		
    <td align="left" valign="top" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">About 
      PARC</font></b></td>
		</TR>
		<TR>
		<td align=left>
		<TABLE  width="100%" CELLSPACING=0 CELLPADDING=3>
		<tr>
		  <td> 
            <P>The Palo Alto Research Center (PARC), a subsidiary of Xerox Corporation, 
              conducts pioneering interdisciplinary research in physical, computational, 
              and social sciences. Building on our three-decade tradition of innovation, 
              PARC works with Xerox and other strategic partners to commercialize 
              technologies created by our renowned scientists. Incorporated in 
              early 2002, PARC is defining a new vision for how pioneering research 
              creates commercial opportunities. For more information about the 
              Palo Alto Research Center, please visit <a href="http://www.parc.com" target="_blank">www.parc.com</a>. 
            </p>

		</td>
		</tr>
        </table></table>&nbsp;
&nbsp;

		<table width="100%" cellspacing=0 cellpadding=3 align=center>
		<tr bgcolor="#999999">
		
    <td align="left" valign="top" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">About 
      eclipse </font></b></td>
		</TR>
		<TR>
		<td align=left>
		<TABLE  width="100%" CELLSPACING=0 CELLPADDING=3>
		<tr>
		  <td> 
            <P>Eclipse is an open-source community that creates technology and 
              a universal platform for tools integration. The open-source Eclipse 
              community creates royalty-free technology as a platform for tools 
              integration. Eclipse based tools give developers freedom of choice 
              in a multi-language, multi-platform, multi-vendor supported environment. 
              Eclipse delivers a plug-in based framework that makes it easier 
              to create, integrate and use software tools, saving time and money. 
              By collaborating and sharing core integration technology, tool producers 
              can concentrate on their areas of expertise and the creation of 
              new development technology. The Eclipse Platform is written in the 
              Java&#153; language, and comes with extensive plug-in construction 
              toolkits and examples. It has already been deployed on a range of 
              development workstations including Linux&reg;, Posix, QNX&reg; and 
              Windows&reg; based systems. Full details of the Eclipse community 
              and white papers documenting the design of the Eclipse Platform 
              are available at <a href="http://www.eclipse.org" target="_blank">www.eclipse.org</a>. 
            </p>

		</td>
		</tr>
        </table></table>&nbsp;

		<table width="100%" cellspacing=0 cellpadding=3 align=center>
		<tr bgcolor="#999999">
		
    <td align="left" valign="top" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">Media 
      contacts</font></b></td>
		</TR>
		<TR>
		<td align=left>
		<TABLE  width="100%" CELLSPACING=0 CELLPADDING=3>
		<tr>
		  <td> 
            <p align="center">Lisa Altobelli<br>
Text100<br>
30 Hotaling Place, San Francisco, CA 94111<br>
415-593-8404, media-relations@parc.com <br>
<br>
Janice Hughes<br>
Patterson & Associates<br>
9549 East Covey Trail, Scottsdale, AZ 85262<br>
480-488-6909, janice@patterson.com </p>
            <hr width="85%">
              
              
            <P>Some components of Eclipse may be governed by license terms other 
              than the CPL. </P>
            <P>&#9;AspectJ and the Palo Alto Research Center are trademarks of 
              PARC. IBM is a trademark of International Business Machines Corporation. 
              Java and Java based trademarks belong to Sun Microsystems. All other 
              trademarks belong to their respective owners. For more information 
              about PARC, please visit <a href="http://www.parc.com/pressroom" target="_blank">www.parc.com/pressroom</a> 
              For more information about Eclipse.org, please visit <a href="http://www.eclipse.org" target="_blank">www.eclipse.org</a> 
            </P>
<hr width="85%">
            <p><a href="../main.html">Return to the eclipse.org consortium main page</a></p>
        </td>
		</tr>
        </table></table>&nbsp;        
&nbsp;
</body></html>
