<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns:st1="urn:schemas-microsoft-com:office:smarttags"
xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 10">
<meta name=Originator content="Microsoft Word 10">
<link rel=File-List href="uml2_project_plan_2_0_files/filelist.xml">
<link rel=Edit-Time-Data href="uml2_project_plan_2_0_files/editdata.mso">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<title>Eclipse UML2 - DRAFT 2.0 Plan</title>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="date"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="time"/>
<!--[if gte mso 9]><xml>
 <o:DocumentProperties>
  <o:Author>khussey</o:Author>
  <o:LastAuthor>khussey</o:LastAuthor>
  <o:Revision>26</o:Revision>
  <o:TotalTime>964</o:TotalTime>
  <o:Created>2004-10-27T01:51:00Z</o:Created>
  <o:LastSaved>2004-12-06T21:10:00Z</o:LastSaved>
  <o:Pages>1</o:Pages>
  <o:Words>2144</o:Words>
  <o:Characters>12226</o:Characters>
  <o:Company>Rational Software</o:Company>
  <o:Lines>101</o:Lines>
  <o:Paragraphs>28</o:Paragraphs>
  <o:CharactersWithSpaces>14342</o:CharactersWithSpaces>
  <o:Version>10.6714</o:Version>
 </o:DocumentProperties>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:SpellingState>Clean</w:SpellingState>
  <w:GrammarState>Clean</w:GrammarState>
  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
 </w:WordDocument>
</xml><![endif]--><!--[if !mso]><object
 classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui></object>
<style>
st1\:*{behavior:url(#ieooui) }
</style>
<![endif]-->
<link rel=Stylesheet type="text/css" media=all href="default_style.css">
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:Verdana;
	panose-1:2 11 6 4 3 5 4 4 2 4;
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:536871559 0 0 0 415 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-parent:"";
	margin:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	mso-believe-normal-left:yes;}
h1
	{mso-margin-top-alt:auto;
	margin-right:0in;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	mso-pagination:widow-orphan;
	mso-outline-level:1;
	font-size:21.0pt;
	font-weight:bold;}
h2
	{mso-margin-top-alt:auto;
	margin-right:0in;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	mso-line-height-alt:10.5pt;
	mso-pagination:widow-orphan;
	mso-outline-level:2;
	font-size:18.0pt;
	font-weight:bold;}
h3
	{mso-margin-top-alt:auto;
	margin-right:0in;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	mso-pagination:widow-orphan;
	mso-outline-level:3;
	font-size:14.0pt;
	font-weight:bold;}
h4
	{mso-margin-top-alt:auto;
	margin-right:0in;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	mso-pagination:widow-orphan;
	mso-outline-level:4;
	font-size:12.0pt;
	font-family:"Times New Roman";
	font-weight:bold;}
a:link, span.MsoHyperlink
	{color:blue;
	text-decoration:underline;
	text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
	{color:blue;
	text-decoration:underline;
	text-underline:single;}
p
	{mso-margin-top-alt:auto;
	margin-right:0in;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	mso-pagination:widow-orphan;
	font-size:10.0pt;
	mso-fareast-font-family:"Times New Roman";}
code
	{mso-fareast-font-family:"Times New Roman";}
pre
	{margin:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
	font-size:10.0pt;
	mso-fareast-font-family:"Times New Roman";}
p.indextop, li.indextop, div.indextop
	{mso-style-name:indextop;
	mso-margin-top-alt:auto;
	margin-right:0in;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	mso-pagination:widow-orphan;
	font-size:24.0pt;
	mso-fareast-font-family:"Times New Roman";
	font-weight:bold;}
p.indexsub, li.indexsub, div.indexsub
	{mso-style-name:indexsub;
	mso-margin-top-alt:auto;
	margin-right:0in;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	mso-pagination:widow-orphan;
	font-size:7.5pt;
	mso-fareast-font-family:"Times New Roman";}
p.jump, li.jump, div.jump
	{mso-style-name:jump;
	mso-margin-top-alt:auto;
	margin-right:0in;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	mso-pagination:widow-orphan;
	font-size:10.0pt;
	mso-fareast-font-family:"Times New Roman";}
span.SpellE
	{mso-style-name:"";
	mso-spl-e:yes;}
span.GramE
	{mso-style-name:"";
	mso-gram-e:yes;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.25in 1.0in 1.25in;
	mso-header-margin:.5in;
	mso-footer-margin:.5in;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
 /* List Definitions */
 @list l0
	{mso-list-id:47077531;
	mso-list-template-ids:-509042802;}
@list l0:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l1
	{mso-list-id:149950309;
	mso-list-template-ids:-1748093696;}
@list l1:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l2
	{mso-list-id:199630218;
	mso-list-template-ids:-1221184516;}
@list l2:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l2:level2
	{mso-level-tab-stop:1.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l2:level3
	{mso-level-tab-stop:1.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l2:level4
	{mso-level-tab-stop:2.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l2:level5
	{mso-level-tab-stop:2.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l2:level6
	{mso-level-tab-stop:3.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l2:level7
	{mso-level-tab-stop:3.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l2:level8
	{mso-level-tab-stop:4.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l2:level9
	{mso-level-tab-stop:4.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l3
	{mso-list-id:213278280;
	mso-list-template-ids:1664226462;}
@list l3:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l3:level2
	{mso-level-tab-stop:1.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l3:level3
	{mso-level-tab-stop:1.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l3:level4
	{mso-level-tab-stop:2.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l3:level5
	{mso-level-tab-stop:2.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l3:level6
	{mso-level-tab-stop:3.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l3:level7
	{mso-level-tab-stop:3.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l3:level8
	{mso-level-tab-stop:4.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l3:level9
	{mso-level-tab-stop:4.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l4
	{mso-list-id:347144999;
	mso-list-template-ids:1345604724;}
@list l4:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l4:level2
	{mso-level-tab-stop:1.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l4:level3
	{mso-level-tab-stop:1.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l4:level4
	{mso-level-tab-stop:2.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l4:level5
	{mso-level-tab-stop:2.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l4:level6
	{mso-level-tab-stop:3.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l4:level7
	{mso-level-tab-stop:3.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l4:level8
	{mso-level-tab-stop:4.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l4:level9
	{mso-level-tab-stop:4.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l5
	{mso-list-id:676233000;
	mso-list-template-ids:-227133684;}
@list l5:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l5:level2
	{mso-level-tab-stop:1.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l5:level3
	{mso-level-tab-stop:1.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l5:level4
	{mso-level-tab-stop:2.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l5:level5
	{mso-level-tab-stop:2.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l5:level6
	{mso-level-tab-stop:3.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l5:level7
	{mso-level-tab-stop:3.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l5:level8
	{mso-level-tab-stop:4.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l5:level9
	{mso-level-tab-stop:4.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l6
	{mso-list-id:857696888;
	mso-list-template-ids:-1367053634;}
@list l6:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l7
	{mso-list-id:896815802;
	mso-list-template-ids:-1088289990;}
@list l7:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l8
	{mso-list-id:1303848377;
	mso-list-template-ids:-391109514;}
@list l8:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l8:level2
	{mso-level-tab-stop:1.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l8:level3
	{mso-level-tab-stop:1.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l8:level4
	{mso-level-tab-stop:2.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l8:level5
	{mso-level-tab-stop:2.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l8:level6
	{mso-level-tab-stop:3.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l8:level7
	{mso-level-tab-stop:3.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l8:level8
	{mso-level-tab-stop:4.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l8:level9
	{mso-level-tab-stop:4.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l9
	{mso-list-id:1479111769;
	mso-list-template-ids:2012885788;}
@list l9:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l10
	{mso-list-id:1709377359;
	mso-list-template-ids:273600124;}
@list l10:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l11
	{mso-list-id:1831213725;
	mso-list-template-ids:1905270258;}
@list l11:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l11:level2
	{mso-level-tab-stop:1.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l11:level3
	{mso-level-tab-stop:1.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l11:level4
	{mso-level-tab-stop:2.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l11:level5
	{mso-level-tab-stop:2.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l11:level6
	{mso-level-tab-stop:3.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l11:level7
	{mso-level-tab-stop:3.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l11:level8
	{mso-level-tab-stop:4.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l11:level9
	{mso-level-tab-stop:4.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
-->
</style>
<!--[if gte mso 10]>
<style>
 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:"Table Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-parent:"";
	mso-padding-alt:0in 5.4pt 0in 5.4pt;
	mso-para-margin:0in;
	mso-para-margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:10.0pt;
	font-family:"Times New Roman";}
</style>
<![endif]--><![if mso 9]>
<style>
p.MsoNormal
	{margin-left:8.5pt;}
</style>
<![endif]>
<meta name="Kenn Hussey" content="Eclipse UML2 PMC">
</head>

<body lang=EN-US link=blue vlink=blue style='tab-interval:.5in;margin-left:
8.5pt;margin-top:14.2pt'>

<div class=Section1>

<h1>Eclipse UML2<br>
DRAFT 2.0 Plan</h1>

<p>Last revised <st1:time Minute="10" Hour="16">16:10 EDT</st1:time> <st1:date
Year="2004" Day="6" Month="12">December 6, 2004</st1:date> (<img width=12
height=12 id="_x0000_i1025" src=../../../images/new.gif border=0> marks interesting changes
over the previous plan revision)</p>

<p><i>&nbsp;&nbsp;&nbsp; Please send comments about this draft plan to the </i><a
href="mailto:mdt-uml2.dev@eclipse.org">mdt-uml2.dev@eclipse.org</a> <i>developer
mailing list.</i></p>

<p>This document lays out the feature and API set for the next feature release
of the Eclipse UML2 project after 1.x, designated release 2.0. </p>

<ul type=disc>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l3 level1 lfo3;tab-stops:list .5in'><span style='font-size:10.0pt;
     font-family:Arial'><a href="#Deliverables">Release deliverables</a><o:p></o:p></span></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l3 level1 lfo3;tab-stops:list .5in'><span style='font-size:10.0pt;
     font-family:Arial'><a href="#Milestones">Release milestones</a><o:p></o:p></span></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l3 level1 lfo3;tab-stops:list .5in'><span style='font-size:10.0pt;
     font-family:Arial'><a href="#TargetOperatingEnvironments">Target operating
     environments</a><o:p></o:p></span></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l3 level1 lfo3;tab-stops:list .5in'><span style='font-size:10.0pt;
     font-family:Arial'><a href="#Compatibility">Compatibility with previous
     releases</a><o:p></o:p></span></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l3 level1 lfo3;tab-stops:list .5in'><span style='font-size:10.0pt;
     font-family:Arial'><a href="#UML2">UML2 project</a><o:p></o:p></span></li>
</ul>

<p>Plans do not materialize out of nowhere, nor are they entirely static. To
ensure the planning process is transparent and open to the entire Eclipse
community, plans are posted in an embryonic form and then revised from time to
time throughout the release cycle. </p>

<p>The first part of the plan deals with the important matters of release
deliverables, release milestones, target operating environments, and
release-to-release compatibility. These are all things that need to be clear
for any release, even if no features were to change.&nbsp; </p>

<p>The remainder of the plan consists of plan items for the projects under the
Eclipse UML2 project. Each plan item covers a feature or API that is to be
added, or some aspect that is to be improved. Each plan item has its own entry
in the Eclipse <span class=SpellE>bugzilla</span> database, with a title and a
concise summary (usually a single paragraph) that explains the work item at a
suitably high enough level so that everyone can readily understand what the
work item is without having to understand the nitty-gritty detail. </p>

<p>Not all plan items represent the same amount of work; some may be quite
large, others, quite small. Some plan items may involve work that is localized
to a single subsystem; others may involve coordinated changes across several
projects within the same top-level project; and others may involve coordination
with other top-level projects. Although some plan items are for work that is
more pressing that others, the plan items appear in no particular order. </p>

<p>With the previous release as the starting point, this is the plan for how we
will enhance and improve it. Fixing bugs, improving test coverage,
documentation, examples, performance tuning, usability, etc. are considered
routine ongoing maintenance activities and are not included in this plan unless
they would also involve a significant change to the API or feature set, or
involve a significant amount of work. The intent of the plan is to account for
all interesting feature work. </p>

<h2><a name=Deliverables></a>Release deliverables</h2>

<p>The release deliverables are: </p>

<ul type=disc>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l5 level1 lfo6;tab-stops:list .5in'><span style='font-size:10.0pt;
     font-family:Arial'>Source code release for Eclipse UML2, available as
     versions tagged &quot;R2_0&quot; in the eclipse.org <a
     href="http://dev.eclipse.org/viewcvs/">CVS repository</a>.<o:p></o:p></span></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l5 level1 lfo6;tab-stops:list .5in'><span style='font-size:10.0pt;
     font-family:Arial'>UML2 runtime binary and SDK distributions
     (downloadable).<o:p></o:p></span></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l5 level1 lfo6;tab-stops:list .5in'><span style='font-size:10.0pt;
     font-family:Arial'>UML2 runtime binary and SDK features on eclipse.org
     update site (install via Eclipse update manager).<o:p></o:p></span></li>
</ul>

<h2><a name=Milestones></a>Release milestones</h2>

<p>Release milestone occurring at roughly 6 week intervals exist to facilitate
coarse-grained planning and staging. The milestones are:</p>

<ul type=disc>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l2 level1 lfo9;tab-stops:list .5in'><span style='font-size:10.0pt;
     font-family:Arial'>Thursday, February 24 - Milestone 1 (2.0 M1) - Stable
     Build based on Eclipse 3.1 M5<o:p></o:p></span></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l2 level1 lfo9;tab-stops:list .5in'><span style='font-size:10.0pt;
     font-family:Arial'>Thursday, April 7 - Milestone 2 (2.0 M2) - Stable Build
     based on Eclipse 3.1 M6<o:p></o:p></span></li>
</ul>

<p>The 2.0 release is targeted for 2Q2005. All release deliverables will be
available for download as soon as the release has been tested and validated in
the target operating configurations listed below.</p>

<h2><a name=TargetOperatingEnvironments></a>Target Operating Environments</h2>

<p>In order to remain current, each release of an Eclipse project targets
reasonably current versions of underlying operating environments and other
Eclipse projects on which it depends.&nbsp;</p>

<p>Most of Eclipse is &quot;pure&quot; Java<sup>TM</sup> code and has no direct dependence
on the underlying operating system. The chief dependence is on the Eclipse
Platform, and on the Java 2 Platform that runs it.</p>

<p>The UML2 2.0 release depends on the following:</p>

<ul type=disc>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l8 level1 lfo12;tab-stops:list .5in'><span style='font-size:10.0pt;
     font-family:Arial'>Java 2 Platform 1.4<o:p></o:p></span></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l8 level1 lfo12;tab-stops:list .5in'><span style='font-size:10.0pt;
     font-family:Arial'>Eclipse Platform 3.1<o:p></o:p></span></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l8 level1 lfo12;tab-stops:list .5in'><span style='font-size:10.0pt;
     font-family:Arial'>EMF 2.1<o:p></o:p></span></li>
</ul>

<p>The 2.0 release of UML2 is designed to run on any configuration supporting
the above components.</p>

<p>The Eclipse Platform runs in a variety of operating environments. Testing is
focused on a handful of popular <span class=header><span style='font-family:
Arial'>combinations of operating system and Java 2 Platform; these are our </span></span><em><span
style='font-family:Arial'>reference platforms</span></em><span class=header><span
style='font-family:Arial'>. Eclipse undoubtedly runs fine in many operating
environments beyond the reference platforms we test. However, since we do not
systematically test them we cannot vouch for them. Problems encountered when
running Eclipse on non-reference platform that cannot be recreated on any
reference platform will be given lower priority than problems with running
Eclipse on a reference platform.</span></span></p>

<p><span style='mso-bidi-font-weight:bold'>See the <a
href="http://www.eclipse.org/eclipse/development/eclipse_project_plan_3_1.html">Eclipse
Project 3.1 plan</a> for a list of reference platforms.</span></p>

<h4><span style='font-family:Arial'>Internationalization<o:p></o:p></span></h4>

<p>Eclipse is designed as the basis for internationalized products. The user
interface elements provided by the various Eclipse projects, including dialogs
and error messages, are externalized. The English strings for UML2 are provided
as the default resource bundles. Translations are not provided with this
release. However, the plug-in fragment mechanism provides the means by which
translations into any number of other languages can be incorporated.</p>

<h2><a name=Compatibility></a>Compatibility with Previous Releases</h2>

<h3>Compatibility of Release 2.0 with 1.x</h3>

<p>Eclipse UML2 2.0 will <b style='mso-bidi-font-weight:normal'>not</b> be
compatible with UML2 1.x.</p>

<p><b>API Contract Compatibility:</b> UML2 2.0 will <b style='mso-bidi-font-weight:
normal'>not</b> be upwards contract-compatible with UML2 1.x as noted in the <i>UML2
2.0 Migration<em><span style='font-family:Arial'> Guide</span></em></i>.
Programs that use affected APIs and extension points will need to be ported to
UML2 2.0 APIs. Downward contract compatibility is not supported. Compliance
with UML2 2.0 APIs would <b style='mso-bidi-font-weight:normal'>not</b> ensure
compliance with UML2 1.x APIs. Refer to <i><a
href="http://www.eclipse.org/eclipse/development/java-api-evolution.html">Evolving
Java-based APIs</a></i> for a discussion of the kinds of API changes that
maintain contract compatibility.</p>

<p><b>Binary (plug-in) Compatibility:</b> UML2 2.0 will <b style='mso-bidi-font-weight:
normal'>not</b> be upwards binary-compatible with UML2 1.x as noted in the <i>UML2
2.0 Migration<em><span style='font-family:Arial'> Guide</span></em></i>.
Downward plug-in compatibility is not supported: plug-ins compiled against UML2
2.0 will be unusable with UML2 1.x. Refer to <i><a
href="http://www.eclipse.org/eclipse/development/java-api-evolution.html">Evolving
Java-based APIs</a></i> for a discussion of the kinds of API changes that
maintain binary compatibility.</p>

<p><b>Source Compatibility:</b> Source files written to use UML2 1.x APIs will <b
style='mso-bidi-font-weight:normal'>not</b> compile and run successfully against
UML2 2.0 APIs. In some cases, it may be necessary to make minor changes to the
source code to disambiguate things like imports or overloaded method
invocations. Downward source compatibility is not supported. If source files
use new APIs, they will not be usable with earlier versions. </p>

<p><b>Workspace Compatibility:</b> Eclipse UML2 2.0 will <b style='mso-bidi-font-weight:
normal'>not</b> be upwards workspace-compatible with UML2 1.x as noted. This
means that workspaces and projects created by an Eclipse with UML2 1.x
installed <b style='mso-bidi-font-weight:normal'>cannot</b> be successfully
opened by an Eclipse with UML2 2.0 installed. This includes both hidden
metadata, which is localized to a particular workspace, as well as metadata
files found within a workspace project, which may propagate between workspaces
via file copying or team repositories. User interface session state may be
discarded when a workspace is upgraded. Downward workspace compatibility is not
supported. Metadata files created (or overwritten) by the newer version will
generally be unusable with older versions.</p>

<p><b>Non-compliant usage of API's</b>: All non-API methods and classes, and
certainly everything in a package with &quot;internal&quot; in its name, are
considered implementation details which may vary between operating environment
and are subject to change without notice. Client plug-ins that directly <span
class=GramE>depend</span> on anything other than what is specified in the API
are inherently unsupportable and receive no guarantees about compatibility
within a single release much less with an earlier releases. Refer to <i><a
href="http://www.eclipse.org/articles/Article-API%20use/eclipse-api-usage-rules.html">How
to Use the Eclipse API</a></i> for information about how to write compliant
plug-ins.</p>

<h2>Themes</h2>

<p>The changes under consideration for the next release of Eclipse UML2 address
a few major themes:</p>

<ul type=disc>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l4 level1 lfo15;tab-stops:list .5in'><b><span style='font-size:
     10.0pt;font-family:Arial'>Built To Last </span></b><span style='font-size:
     10.0pt;font-family:Arial'>- UML2 has always been a framework for
     delivering integrated modeling tools. With a growing base of both free and
     commercial offerings based on UML2, it's critical for continued success to
     maintain API stability and ensure that the framework scales well. This
     theme includes work to measure and improve the performance and scalability
     of UML2 resources. This theme also includes consolidation activities where
     groundwork was laid in 1.x but needs to be completed and brought into full
     use.<o:p></o:p></span></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l4 level1 lfo15;tab-stops:list .5in'><b><span style='font-size:
     10.0pt;font-family:Arial'>Simple To Use</span></b><span style='font-size:
     10.0pt;font-family:Arial'> - The UML2 framework needs to not only provide
     the features that advanced developers demand, but also be something that
     most developers find simple to use. This theme includes ease-of-use
     reviews of existing features, and work that helps make UML2-based products
     simple to use for developers with widely-varying backgrounds and skill
     sets.<o:p></o:p></span></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l4 level1 lfo15;tab-stops:list .5in'><b><span style='font-size:
     10.0pt;font-family:Arial'>Rich Client Platform </span></b><span
     style='font-size:10.0pt;font-family:Arial'>- The Eclipse RCP is a
     Java-based application framework for the desktop. Building on the Eclipse
     runtime and the modular plug-in story, it is possible to build applications
     ranging from command line tools to feature-rich applications that take
     full advantage of <span class=SpellE>SWT's</span> native platform
     integration and the many other reusable components that the Eclipse
     platform provides. This theme includes work to provide UML2 support for
     developing and deploying RCP-based applications.<o:p></o:p></span></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l4 level1 lfo15;tab-stops:list .5in'><b><span style='font-size:
     10.0pt;font-family:Arial'>Broadening The Community</span></b><span
     style='font-size:10.0pt;font-family:Arial'> - This theme includes work
     that grows deeper roots into the various domain-specific communities,
     spreads UML2 to additional operating environments, and builds bridges to
     other open source communities.<o:p></o:p></span></li>
</ul>

<p>Each theme has a number of items; the relevant theme is identified for each
committed, proposed, and deferred plan items.</p>

<p>The items listed reflect new features or areas where existing features will be
significantly reworked. Numbers in parentheses link to <span class=SpellE>bugzilla</span>
problem reports for that plan item. </p>

<p>The current status of each plan item is noted: </p>

<ul type=disc>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l11 level1 lfo18;tab-stops:list .5in'><b><span style='font-size:
     10.0pt;font-family:Arial'>Committed</span></b><span style='font-size:10.0pt;
     font-family:Arial'> plan item - A committed plan item is one that we have
     decided to address for the release.<o:p></o:p></span></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l11 level1 lfo18;tab-stops:list .5in'><b><span style='font-size:
     10.0pt;font-family:Arial'>Proposed</span></b><span style='font-size:10.0pt;
     font-family:Arial'> plan item - A proposed plan item is one that we are
     considering addressing for the release. Although we are actively
     investigating it, we are not yet in a position to commit to it, or to say
     that we won't be able to address it. After due consideration, a proposal
     will either be committed or deferred.<o:p></o:p></span></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l11 level1 lfo18;tab-stops:list .5in'><b><span style='font-size:
     10.0pt;font-family:Arial'>Deferred</span></b><span style='font-size:10.0pt;
     font-family:Arial'> plan item - A reasonable proposal that will not make
     it in to this release for some reason is marked as deferred with a brief
     note as to why it was deferred. Deferred plan items may resurface as committed
     plan items at a later point.<o:p></o:p></span></li>
</ul>

<h2><a name=UML2>UML2 project</a></h2>

<p>UML2 is an EMF-based implementation of the UML<sup>TM</sup> 2.0 <span class=SpellE>metamodel</span>
for the Eclipse platform. Plan items reflect new features of the UML2 project,
or areas where existing features will be significantly reworked (<span
style='mso-bidi-font-style:italic'><img border=0 width=12 height=12
id="_x0000_i1026" src=../../../images/ok.gif> marks completed work)</span>.</p>

<h4><span style='font-family:Arial'>Committed Items (UML2 project)<o:p></o:p></span></h4>

<blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'>

<p><span class=GramE><i>None at this time.</i></span></p>

</blockquote>

<h4><span style='font-family:Arial'>Proposed Items (UML2 project)<o:p></o:p></span></h4>

<blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'>

<p><span class=GramE><b>UML<sup>TM</sup> 2.0 Conformance.</b></span> Implement the revised
package merge algorithm and regenerate the code using a Rose model based on the
finalized UML<sup>TM</sup> 2.0 Superstructure specification (compliance level L3). Update
UML2 resources (libraries, <span class=SpellE>metamodels</span>, <span
class=GramE>profiles</span>), examples, and EMF generator extensions as
necessary. Enhance the generator extensions (developed in UML2 1.1) to
facilitate code generation for an arbitrary compliance level. Provide a
resource migration extension to migrate resources based on the UML2 1.x schema
to 2.0. (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=80305">80305</a>)
[Theme: Built To Last]</p>

<p><b>UML<sup>TM</sup> 2.0 Interchange.</b> Provide support for importing/exporting
resources based on the official OMG XMI representation of UML<sup>TM</sup> 2.0. (<a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=80306">80306</a>) [Theme:
Built To Last]</p>

<p><span class=GramE><b>Validation Rules.</b></span> Complete the generation and
implementation of validation rules from the UML<sup>TM</sup> 2.0 source model. (<a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=80307">80307</a>) [Theme:
Built To Last]</p>

<p><span class=GramE><b>Unit Tests.</b></span> Complete the implementation of
generated unit tests. (<a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=80308">80308</a>) [Theme:
Built To Last]</p>

<p><span class=SpellE><span class=GramE><b>Supressed</b></span></span><span
class=GramE><b> EMF Types.</b></span> <span class=GramE>Suppress EMF types in
the generated code by turning on the 'Model Feature Defaults &gt; Suppress EMF
Types' generator option.</span> (<a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=80311">80311</a>) [Theme:
Simple To Use]</p>

<p><span class=GramE><b>Resource Fragments.</b></span> Provide support for
segregation of UML2 resources into 'fragments' (e.g. *.fragment.uml2) with
packages as root elements. (<a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=80312">80312</a>) [Theme:
Simple To Use]</p>

<p><span class=GramE><b>Derived Features.</b></span> Make derived features
changeable (where appropriate) and use EMF feature maps to implement unions,
subsets, and supersets (where possible). Use derived features (and feature
maps) as needed to support resource fragments. (<a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=80313">80313</a>) [Theme:
Simple To Use]</p>

<p><span class=SpellE><span class=GramE><b>Javadoc</b></span></span><span
class=GramE><b>.</b></span> Complete the generation of model documentation from
the UML<sup>TM</sup> 2.0 source model. (<a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=80315">80315</a>) [Theme:
Simple To Use]</p>

<p><span class=GramE><b>RCP Support.</b></span> Provide support for Rich Client
Platform where applicable (perhaps by turning on the 'Editor &gt; Rich Client
Platform' generator option). (<a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=80316">80316</a>) [Theme:
Rich Client Platform]</p>

<p><span class=GramE><b>Tools.</b></span> Engage partners and tool developers
to contribute tools based on UML2, e.g. a mechanism for import/exporting
resources based on Unisys XMI for UML 1.x. (<a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=80318">80318</a>) [Theme:
Broadening <span class=GramE>The</span> Community]</p>

</blockquote>

<h4><span style='font-family:Arial'>Deferred Items (UML2 project)<o:p></o:p></span></h4>

<blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'>

<p><span class=GramE><i>None at this time.</i></span></p>

</blockquote>

</div>

</body>

</html>
