<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>Project Plan - dsdp.tml</title><meta name="author" content="Bjorn Freeman-Benson" />
<meta name="keywords" content="" /><link rel="stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/small.css" title="small" /><link rel="alternate stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/large.css" title="large" /><link rel="stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/visual.css" media="screen" /><link rel="stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/layout.css" media="screen" />
<!--[if IE]> 	<link rel="stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/ie_style.css" media="screen"/> <![endif]-->
<!--[if IE 6]> 	<link rel="stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/ie6_style.css" media="screen"/> <![endif]-->
<link rel="stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/print.css" media="print" />
<link rel="stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/header.css" media="screen" />
<script type="text/javascript" src="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/styleswitcher.js"></script>
</head>
<body>
<div id="header">
	<div id="header-graphic" class="eclipse-main">
		<a href="http://www.eclipse.org/"><img src="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/images/eclipse_home_header.jpg" alt="" /></a><h1>Eclipse</h1>	
	</div>
	<div id="header-global-holder" class="eclipse-main-global">
		<div id="header-global-links"><ul>
<li><a href="http://www.eclipse.org/org/foundation/contact.php" class="first_one">Contact</a></li><li><a href="http://www.eclipse.org/legal/">Legal</a></li>
			</ul>
		</div>
		<div id="header-icons">
<a href="http://www.youtube.com/user/EclipseFdn" target="_blank"><img src="/eclipse.org-common/themes/Phoenix/images/Icon_Live.png" width="28" height="28" alt="Eclipse YouTube Channel" title="Eclipse YouTube Channel" /></a>
<a href="http://www.eclipseplugincentral.com"><img src="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/images/Icon_plugin.png" width="28" height="28" alt="Eclipse Plugin Central" title="Eclipse Plugin Central" /></a>
<a href="http://www.planeteclipse.org"><img src="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/images/Icon_planet.png" width="28" height="28" alt="Planet Eclipse" title="Planet Eclipse" /></a>
		</div>
	</div></div><div id="header-menu"><div id="header-nav">
		<ul>
		<li><a class="first_one" href="http://www.eclipse.org/" target="_self">Home</a></li> 
				<li><a  href="http://www.eclipse.org/users/" target="_self">Users</a></li> 
				<li><a  href="http://www.eclipse.org/membership/" target="_self">Members</a></li> 
				<li><a  href="http://www.eclipse.org/committers/" target="_self">Committers</a></li> 
				<li><a  href="http://www.eclipse.org/downloads/" target="_self">Downloads</a></li> 
				<li><a  href="http://www.eclipse.org/resources/" target="_self">Resources</a></li> 
				<li><a  href="http://www.eclipse.org/projects/" target="_self">Projects</a></li> 
				<li><a  href="http://www.eclipse.org/org/" target="_self">About Us</a></li> 
				</ul>
	</div>
	<div id="header-utils">
		<form action="http://www.google.com/cse" id="searchbox_017941334893793413703:sqfrdtd112s">
	 	<input type="hidden" name="cx" value="017941334893793413703:sqfrdtd112s" />
  		<input type="text" name="q" size="25" />
  		<input type="submit" name="sa" value="Search" />
		</form>
		<script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=searchbox_017941334893793413703%3Asqfrdtd112s&lang=en"></script>		<ul>
						<li class="text_size"><a class="smallText" title="Small Text" href="#" onclick="setActiveStyleSheet('small');return false;">A</a> <a class="largeText" title="Large Text" href="#" onclick="setActiveStyleSheet('large');return false;">A</a></li>
		</ul>
	</div></div><div id="leftcol">
<ul id="leftnav">
<li style="background-image: url(/eclipse.org-common/themes/Phoenix/images/leftnav_fade.jpg); background-repeat: repeat-x; border-style: none;"><br /><br /><br /><br /><br /><br /><br /><br />
</li>
</ul>

</div>
<div id="container"><style>
h2 {
	border-bottom: 2px solid gray;
}
h3 {
	border-bottom: 1px dotted gray;
}
</style>
<div xmlns="http://www.w3.org/1999/xhtml" id="rendered-plan">
  <div id="maincontent">
    <div id="midcolumn"><h1><span style="font-size: 140%">Project Plan For
                        <a href="http://www.eclipse.org/projects/project_summary.php?projectid=dsdp.tml">Tools for mobile Linux</a></span>, version 0.3</h1><div id="toc"><p><a name="toc"><strong>Table of Contents</strong></a></p><ul><li><a href="#introduction">Introduction</a></li><li><a href="#release_deliverables">
                       Release Deliverables
                    </a></li><li><a href="#release_milestones">
                       Release Milestones
                    </a></li><li><a href="#target_environments">
                        Target Environments
                    </a></li><li><a href="#compatibility">
                        Compatibility with Previous Releases
                    </a></li><li><a href="#themes_and_priorities">
                        Themes and Priorities
                    </a></li></ul></div><h2><a name="introduction">Introduction</a></h2><div>
			<p>
				The TmL project provides support to integrate device and
				emulators into the Eclipse IDE and test enterprise
				applications using a simulated end-to-end environment.
			</p>
			<p>
				The TmL project currently is the incubation phase and
				does not have a traditional release cycle yet. It is
				tentatively given a version of 0.1. The TmL project is
				divided into two main components: Device Framework and
				VNC Viewer. Device Framework is responsible for
				supporting emulators, devices and VNC Viewer is the
				libraries and plugins responsible for provide VNC
				connectivity. There is some momentum building on the
				project, with contributions from MontaVista and
				discussions with members from Symbian, Palm Inc., and
				Greensocs (DSDP VPP incubator project).
			</p>
			<p>
				Currently, three engineers at Eldorado are assigned to
				the project (Fabio Fantato, Otavio Ferranti, and Daniel
				Franco). Eric Cloninger is the Motorola lead for the
				project to the Eclipse Foundation. Christian Kurzke was
				previously the lead for this project and still operates
				as the architectural advisor.
			</p>
		</div><h2><a name="release_deliverables">Release Deliverables</a></h2><div>
			<ul>
				<li>
					<b>Tools for mobile Linux source code release</b>
					, available as versions tagged
					"dsdp_tml_release_0_1" in the project's
					<ul>
						<li>
							<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.tml.device/?cvsroot=DSDP_Project">
								Device Framework CVS Repository
							</a>
							,
						</li>
						<li>
							<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.tm.vnc/?cvsroot=DSDP_Project">
								VNC Component CVS Repository
							</a>
							, and
						</li>
					</ul>
				</li>
			</ul>
			<li>
				<b>Stand-alone components:</b>
				<ul>
					<li>VNC component (downloadable).</li>
					<li>Protocol component (downloadable).</li>
				</ul>
			</li>
			<li>
				<b>Samples for Device Framework:</b>
				<ul>
					<li>
						Tutorial to download and run the emulators
						sample code in Device Framework (downloadable).
					</li>
				</ul>
			</li>
			<p>
				<b>Notes:</b>
				<br/>
				All stand-alone components will have an integration part
				that makes them work inside the TmL framework. If
				necessary each stand-alone component could be used
				outside of the TmL.
			</p>
		</div><p><a href="#toc">Table of Contents</a></p><h2><a name="release_milestones">Release Milestones</a></h2><div>
				<p>
					The TmL team has created a 0.1 release. This 
					release is used by several Motorola MOTODEV Studio products 
					released in the Summer of 2008. If necessary, the TmL 
					team will generate releases to coincide with the Eclipse 
					Ganymede 3.4.1 (SR1) and 3.4.2 (SR2) releases. The TmL 0.2 
					release will take place in December 2008, containing an 
					extension point change and a new feature that implements 
					viewers for the Linux /proc file system.  The 0.3 release 
					will coincide with Eclipse Galileo in June 2009.
				</p>
			</div><table border="1" align="center"><tr><td><b>0.1</b></td><td>10/10/2008</td><td><div>Release TmL 0.1 based on Eclipse Ganymede.</div></td></tr><tr><td><b>0.3 M4</b></td><td>12/12/2008</td><td><div>Release TmL 0.3 M4 with Eclipse Galileo 3.5 M4. No TmL 0.3
			releases prior to this.</div></td></tr><tr><td><b>0.2</b></td><td>1/27/2009</td><td><div>Release TmL 0.2 based on Eclipse Ganymede 3.4.1, containing code contribution for DeviceType (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=236476">236476</a>).</div></td></tr><tr><td><b>0.3 M5</b></td><td>01/30/2009</td><td><div>Release TmL 0.3 M5 with Eclipse Galileo 3.5 M5.</div></td></tr><tr><td><b>0.2.1</b></td><td>03/06/2009</td><td><div>Release TmL 0.2.1 to work with Eclipse 3.4.2 (SR2)</div></td></tr><tr><td><b>0.3 M6</b></td><td>03/13/2009</td><td><div>Release TmL 0.3 M6 with Eclipse Galileo 3.5 M6. Freeze APIs
			on this date.</div></td></tr><tr><td><b>0.3 M7</b></td><td>05/01/2009</td><td><div>Release TmL 0.3 M7 with Eclipse Galileo 3.5 M7.</div></td></tr><tr><td><b>0.3 RC1</b></td><td>05/15/2009</td><td><div>TmL 0.3 RC1 with Eclipse Galileo 3.5 RC1</div></td></tr><tr><td><b>0.3 RC2</b></td><td>05/22/2009</td><td><div>TmL 0.3 RC2 with Eclipse Galileo 3.5 RC2 if necessary</div></td></tr><tr><td><b>0.3 RC3</b></td><td>05/29/2009</td><td><div>TmL 0.3 RC3 with Eclipse Galileo 3.5 RC3 if necessary</div></td></tr><tr><td><b>0.3</b></td><td>06/24/2009</td><td><div>TmL 0.3 ships with Eclipse Galileo 3.5</div></td></tr></table><div>
				<p>
					The target date for availability of Tools for Mobile
					Linux 0.3 is:
				</p>
				<ul>
					<li>
						Wednesday June 24, 2009 - TmL 0.3 Release date
						(with Galileo)
					</li>
				</ul>
			</div><p><a href="#toc">Table of Contents</a></p><h2><a name="target_environments">Target Environments</a></h2><div>
			<p>
				The Tools for mobile Linux Project 0.1 depends upon on
				the Eclipse Platform 3.4.
			</p>
			<p>
				The Tools for mobile Linux Project 0.2 depends upon on
				the Eclipse Platform 3.4.1.
			</p>
			<p>
				The Tools for mobile Linux Project 0.3 depends upon on
				the Eclipse Platform 3.5.
			</p>
			<p>
				The Tools for mobile Linux deliverables will be tested
				and validated against a subset of the reference
				platforms listed in the
				<a href="http://www.eclipse.org/eclipse/development/eclipse_project_plan_3_5.html#TargetOperatingEnvironments">
					Eclipse Platform 3.5 Project Plan
				</a>
				(this list is updated over the course of the release
				cycle).
			</p>
			<table summary="Tools for mobile Linux Reference Platforms" style="width: 821px;" border="1">
				
					<tr bgcolor="#cccccc">
						<th colspan="5">
							<div align="center">
								<strong>
									<font size="+1">
										Tools for mobile Linux Reference
										Platforms
									</font>
								</strong>
							</div>
						</th>
					</tr>
					<tr>
						<td width="205">
							<b>Operating system</b>
						</td>
						<td width="59">
							<b>OS version</b>
						</td>
						<td width="76">
							<b>Processor architecture</b>
						</td>
						<td width="59">
							<b>Window system</b>
						</td>
						<td width="453">
							<b>Java 2 Platform</b>
						</td>
					</tr>
					<tr>
						<td width="205">Microsoft Windows</td>
						<td width="59">Vista</td>
						<td width="76">x86-32</td>
						<td width="59">Win32</td>
						<td width="453">
							Sun Java 2 Standard Edition 5.0 Update 14
							for Microsoft Windows
						</td>
					</tr>
					<tr>
						<td width="205">Microsoft Windows</td>
						<td width="59">XP, Service Pack 2</td>
						<td width="76">x86-32</td>
						<td width="59">Win32</td>
						<td width="453">
							Sun Java 2 Standard Edition 5.0 Update 14
							for Microsoft Windows
						</td>
					</tr>
					<tr>
						<td width="205">Microsoft Windows</td>
						<td width="59">XP, Service Pack 2</td>
						<td width="76">x86-32</td>
						<td width="59">Win32</td>
						<td width="453">
							IBM 32-bit SDK for Windows,
							Java 2 Technology Edition 5.0, SR5
						</td>
					</tr>
					<tr>
						<td width="205">Red Hat Enterprise Linux</td>
						<td width="59">5</td>
						<td width="76">x86-32</td>
						<td width="59">GTK</td>
						<td width="453">
							Sun Java 2 Standard Edition 5.0 Update 14
							for Linux x86
						</td>
					</tr>
					<tr>
						<td width="205">
							SUSE Linux Enterprise Desktop
						</td>
						<td width="59">10, SP2</td>
						<td width="76">x86-32</td>
						<td width="59">GTK</td>
						<td width="453">
							IBM 32-bit SDK for Linux on Intel
							architecture,
							Java 2 Technology Edition 1.4.2 SR7
						</td>
					</tr>
					<tr>
						<td width="205">Fedora</td>
						<td width="59">9</td>
						<td width="76">x86-32</td>
						<td width="59">GTK</td>
						<td width="453">--
						</td>
					</tr>
					<tr>
						<td width="205">Ubuntu</td>
						<td width="59">8.0.x (Hardy Heron)</td>
						<td width="76">x86-32</td>
						<td width="59">GTK</td>
						<td width="453">--
						</td>
					</tr>
					<tr>
						<td width="205">
							Apple Mac OS X (
							<i>time permitting</i>
							)
						</td>
						<td width="59">10.5</td>
						<td width="76">x86</td>
						<td width="59">Carbon</td>
						<td width="453">
							Apple Java 2 Platform Standard Edition
							(J2SE) 5, service release 4
						</td>
					</tr>
				
			</table>
		</div>
			<div>
				<p>TmL 0.1 and 0.2 will be delivered using English strings.</p>
				<p>
					TmL 0.3 will be delivered using English strings
					stored in external resource bundles. Strings may
					be localized to another language for 0.3, but this
					decision has not been finalized.
				</p>
			</div>
		<p><a href="#toc">Table of Contents</a></p><h2><a name="compatibility">Compatibility with Previous Releases</a></h2><div>
			<p><b>compatibility_with_previous_releases</b><br/>Looks like a bug in the XSL?</p>
			<p>Not applicable. No prior releases of TmL</p>
		</div><p><a href="#toc">Table of Contents</a></p><h2><a name="themes_and_priorities">Themes and Priorities</a></h2><div>
				<p><b>Note: </b>The TmL project team is working to move target milestones to coincide with
				the updated release schedule, as of September 22, 2008.  The <i>committed, proposed, and deferred</i>
				items below will work once these changes are made.
				</p>
			</div><h3>Bring TmL to a stable 0.1 release</h3><div>
					<p>
						Up until April 2008, the TmL team was working to
						make the original charter of TmL operational and
						usable in Motorola's MOTODEV products. No
						efforts were made to create an official release
						as there was no community interested in using
						it. In May 2008, the TmL team received its first
						outside code contribution, which brought us to
						the realization that we need to put what we have
						"to bed", as it were, and start planning for the
						future.
					</p>
					<p>Release date was 10 October 2008. See the 
					<a href="http://www.eclipse.org/dsdp/tml/">project page</a> 
					for download/update locations.</p>
				</div><h3>Get on the Galileo release train</h3><div>
					<p>
						We wish to bring TmL into a mainstream project
						by being on the Galileo Simultaneous release.
						Toward this goal, we are getting build scripts
						running, creating update sites, planning
						milestones, and ensuring that the project is
						running as transparently as possible by
						transacting business in an open fashion, voting
						on project decisions via the portal, and
						conducting bi-weekly open meetings.
					</p>
				</div><h3>Design architecture for sustaining development</h3><div>
					<p>
						Discussing the architecture of TmL during the
						open meeting calls, one of the contributors
						suggested a different way to structure the
						architecture of the TmL components to allow for
						more flexible adaptation by companies adopting
						the project in their own products. The result of
						these discussions is a restructuring of the
						underlying classes to meet this new
						architecture.
					</p>
					<p>
						This change will be implemented in release 0.2,
						currently slated for 27 January 2009.
					</p>
				</div><h3>Common packages</h3><div>
					<p>
						Common classes, logging utilities , i18n,
						documentation, core APIs
					</p>
				</div><ul><li><b>Committed</b><ul><li><div>No items.</div></li></ul></li></ul><ul><li><b>Proposed</b><ul><li>Confirm Intent [<a href="http://bugs.eclipse.org/257283">257283</a>] (target milestone: 0.3)</li><li>Communicate [<a href="http://bugs.eclipse.org/257284">257284</a>] (target milestone: 0.3)</li><li>Intent [<a href="http://bugs.eclipse.org/257285">257285</a>] (target milestone: 0.3)</li><li>Attendance [<a href="http://bugs.eclipse.org/257286">257286</a>] (target milestone: 0.3)</li><li>Ramp Down Policy [<a href="http://bugs.eclipse.org/257287">257287</a>] (target milestone: 0.3)</li><li>IP [<a href="http://bugs.eclipse.org/257288">257288</a>] (target milestone: 0.3)</li><li>APIs [<a href="http://bugs.eclipse.org/257289">257289</a>] (target milestone: 0.3)</li><li>Message Bundles [<a href="http://bugs.eclipse.org/257290">257290</a>] (target milestone: 0.3)</li><li>Version Numbering [<a href="http://bugs.eclipse.org/257291">257291</a>] (target milestone: 0.3)</li><li>Leverage OSGi [<a href="http://bugs.eclipse.org/257292">257292</a>] (target milestone: 0.3)</li><li>Execution Environment [<a href="http://bugs.eclipse.org/257293">257293</a>] (target milestone: 0.3)</li><li>Signing [<a href="http://bugs.eclipse.org/257294">257294</a>] (target milestone: 0.3)</li><li>Use Jars [<a href="http://bugs.eclipse.org/257295">257295</a>] (target milestone: 0.3)</li><li>Builds [<a href="http://bugs.eclipse.org/257296">257296</a>] (target milestone: 0.3)</li><li>Orbit [<a href="http://bugs.eclipse.org/257297">257297</a>] (target milestone: 0.3)</li><li>Optimization [<a href="http://bugs.eclipse.org/257298">257298</a>] (target milestone: 0.3)</li><li>New &amp; Noteworthy [<a href="http://bugs.eclipse.org/257299">257299</a>] (target milestone: 0.3)</li><li>Work Together [<a href="http://bugs.eclipse.org/257300">257300</a>] (target milestone: 0.3)</li><li>Capabilities [<a href="http://bugs.eclipse.org/257301">257301</a>] (target milestone: 0.3)</li><li>Localization - Babel [<a href="http://bugs.eclipse.org/257302">257302</a>] (target milestone: 0.3)</li><li>Localization - ICU4J [<a href="http://bugs.eclipse.org/257303">257303</a>] (target milestone: 0.3)</li><li>[tml][core] Synchronize version to be compatible with Galileo release [<a href="http://bugs.eclipse.org/243494">243494</a>] (target milestone: 0.3)</li><li>Usability [<a href="http://bugs.eclipse.org/257304">257304</a>] (target milestone: 0.3)</li><li>Accessibility [<a href="http://bugs.eclipse.org/257305">257305</a>] (target milestone: 0.3)</li><li>Performance [<a href="http://bugs.eclipse.org/257306">257306</a>] (target milestone: 0.3)</li><li>Branding [<a href="http://bugs.eclipse.org/257307">257307</a>] (target milestone: 0.3)</li><li>Localization - Babel PTT [<a href="http://bugs.eclipse.org/257308">257308</a>] (target milestone: 0.3)</li><li>Localization - UI freeze [<a href="http://bugs.eclipse.org/257309">257309</a>] (target milestone: 0.3)</li><li>Localization - bidi [<a href="http://bugs.eclipse.org/257310">257310</a>] (target milestone: 0.3)</li><li>Confirm Intent [<a href="http://bugs.eclipse.org/256506">256506</a>] (target milestone: 0.3)</li><li>[tml][doc] Write tutorial about TmL common package [<a href="http://bugs.eclipse.org/257114">257114</a>] (target milestone: 0.3)</li><li>[tml][core] log viewer integrated with TPTP project [<a href="http://bugs.eclipse.org/243505">243505</a>] (target milestone: 0.3)</li><li>[tml][doc] Write the user guide [<a href="http://bugs.eclipse.org/243508">243508</a>] (target milestone: 0.3)</li><li>[tml][doc] Write "how to" [<a href="http://bugs.eclipse.org/243509">243509</a>] (target milestone: 0.3)</li><li>[tml][doc] Write cheatsheets [<a href="http://bugs.eclipse.org/243510">243510</a>] (target milestone: 0.3)</li><li>[tml][core] Implementing Unit tests to validate release for Galileo [<a href="http://bugs.eclipse.org/243511">243511</a>] (target milestone: 0.3)</li></ul></li></ul><ul><li><b>Deferred</b><ul><li><div>No items.</div></li></ul></li></ul><h3>Device Framework</h3><div>
					<p>Device framework</p>
				</div><ul><li><b>Committed</b><ul><li><div>No items.</div></li></ul></li></ul><ul><li><b>Proposed</b><ul><li>[tml][deviceframework] Extending framework to provide a Device Proxy structure [<a href="http://bugs.eclipse.org/243500">243500</a>] (target milestone: 0.3)</li><li>[tml][deviceframework]Need value validation in Instance Properties dialog [<a href="http://bugs.eclipse.org/247390">247390</a>] (target milestone: 0.3)</li><li>[tml][samples] Sample implementation for Linux host [<a href="http://bugs.eclipse.org/221740">221740</a>] (target milestone: 0.3)</li></ul></li></ul><ul><li><b>Deferred</b><ul><li>[tml][deviceframework] Need value validation in Instance Properties dialog [<a href="http://bugs.eclipse.org/247391">247391</a>] <strike>(target milestone: 0.3)</strike></li></ul></li></ul><h3>Build a Device Proxy framework for end-to-end Simulation</h3><div>
					<p>Device Proxy</p>
				</div><ul><li><b>Committed</b><ul><li><div>No items.</div></li></ul></li></ul><ul><li><b>Proposed</b><ul><li>[tml][deviceproxy] Device Proxy diagnostic/logging infrastructure [<a href="http://bugs.eclipse.org/243502">243502</a>] (target milestone: 0.3)</li><li>[tml][deviceproxy] GPS device reference implementation [<a href="http://bugs.eclipse.org/243504">243504</a>] (target milestone: 0.3)</li></ul></li></ul><ul><li><b>Deferred</b><ul><li><div>No items.</div></li></ul></li></ul><h3>VNC Viewer</h3><div>
					<p>VNC Viewer and protocol</p>
				</div><ul><li><b>Committed</b><ul><li><div>No items.</div></li></ul></li></ul><ul><li><b>Proposed</b><ul><li>[tml][vncviewer] Canvas background repaint [<a href="http://bugs.eclipse.org/244249">244249</a>] (target milestone: 0.3)</li></ul></li></ul><ul><li><b>Deferred</b><ul><li><div>No items.</div></li></ul></li></ul><h3>Create useful diagnostic tools for Linux developers</h3><div>
					<p>/proc filesystem</p>
				</div><ul><li><b>Committed</b><ul><li><div>No items.</div></li></ul></li></ul><ul><li><b>Proposed</b><ul><li><div>No items.</div></li></ul></li></ul><ul><li><b>Deferred</b><ul><li><div>No items.</div></li></ul></li></ul><p><a href="#toc">Table of Contents</a></p></div>
  </div>
</div>
<div style="visibility: hidden; float: right; text-align: right"><a href="?projectid=dsdp.tml&raw=1">view raw xml of project plan</a><br>
<a href="http://www.eclipse.org/projects/dev_process/project-status-infrastructure.php">from project meta-data key "projectplanurl"</a></div>

</div> <!-- midcolumn -->
</div> <!-- maincontent -->
		<script type="text/javascript">
		var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
		document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
		</script>
		<script type="text/javascript">
		var pageTracker = _gat._getTracker("UA-910670-2");
		pageTracker._initData();
		pageTracker._trackPageview();
		</script></div><div id="footer">
<ul id="footernav">
<li class="first"><a href="http://www.eclipse.org/">Home</a></li>
<li><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li>
<li><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a><a href="http://www.eclipse.org/org/press-release/20081112_termsofuse.php"><img src="http://www.eclipse.org/images/updated.png" align="absmiddle" /></a></li>
</ul>
<p>Copyright &copy; 2008 The Eclipse Foundation. All Rights Reserved</p>
</div></body></html>