| <?php |
| require_once ($_SERVER['DOCUMENT_ROOT']."/eclipse.org-common/system/app.class.php"); |
| require_once ($_SERVER['DOCUMENT_ROOT']."/eclipse.org-common/system/nav.class.php"); |
| require_once ($_SERVER['DOCUMENT_ROOT']."/eclipse.org-common/system/menu.class.php"); |
| require_once($_SERVER['DOCUMENT_ROOT'] . "/projects/common/project-info.class.php"); |
| $App = new App(); $Nav = new Nav(); $Menu = new Menu(); |
| $projectInfo = new ProjectInfo("modeling.gmf"); |
| $projectInfo->generate_common_nav( $Nav ); |
| include ($App->getProjectCommon()); |
| #***************************************************************************** |
| # |
| # index.php |
| # |
| # Author: Richard C. Gronback |
| # Date: 2005-12-01 |
| # |
| # Description: |
| # |
| # |
| #**************************************************************************** |
| |
| # |
| # Begin: page-specific settings. Change these. |
| $pageTitle = "GMF Project Requirements"; |
| $pageKeywords = "eclipse,project,graphical,modeling,model-driven"; |
| $pageAuthor = "Richard C. Gronback"; |
| |
| # Add page-specific Nav bars here |
| # Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank), level (1, 2 or 3) |
| # $Nav->addNavSeparator("My Page Links", "downloads.php"); |
| # $Nav->addCustomNav("My Link", "mypage.php", "_self", 3); |
| # $Nav->addCustomNav("Google", "http://www.google.com/", "_blank", 3); |
| |
| # End: page-specific settings |
| # |
| |
| # Paste your HTML content between the EOHTML markers! |
| $html = <<<EOHTML |
| |
| <div id="maincontent"> |
| <div id="midcolumn"><br/> |
| <table border="0" cellpadding="2" cellspacing="0" width="100%"> |
| <tbody> |
| <tr> |
| <td align="left"><h1>$pageTitle</h1></td> |
| <td align="right"><img align="right" src="http://www.eclipse.org/gmf/images/logo_banner.png" /></td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" colspan="2"><b>Note:</b> This document is deprecated but |
| maintained for historical reference. The requirements listed here now have corresponding Bugzilla entries, |
| which are linked next to each item below. To see a list of all GMF plan items in Bugzilla, use <a |
| href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=%5Breq%5D&classification=Modeling&product=GMF&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=">this</a> |
| link.</td> |
| </tr> |
| </tbody> |
| </table> |
| <hr/> |
| <table border="0" cellspacing="5" cellpadding="2" width="100%"> |
| <tr> |
| <td align="left" valign="top" colspan="2" bgcolor="#595791"><b><font |
| color="#ffffff" face="Arial,Helvetica">Document Information</font></b></td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" colspan="2">This document describes the |
| high-level requirements for the Graphical Modeling Framework (GMF) |
| project and provides an indication of their relative priority and |
| reference information. Additionally, this document contains a number |
| of outstanding questions regarding the project which will require |
| discussion on the mailing list and/or newsgroup. This is a |
| living document maintained in the GMF CVS repository and will likely |
| evolve into several documents or alternative format as the project |
| progresses.</td> |
| </tr> |
| </table> |
| |
| <table> |
| <tr> |
| <td align="right" valign="top" width="16"> |
| <p align="left"><img src="http://www.eclipse.org/images/Adarrow.gif" |
| border="0" height="16" width="16" alt=""></p> |
| </td> |
| <td width="100%"> |
| <p><font face="arial,helvetica,geneva" size="-1"><b>Change History</b></font></p> |
| |
| <font color="#999999">0.1.0 24 April |
| 2005 <a |
| href="mailto:richard.gronback@borland.com">Richard Gronback</a> Document |
| creation, including requirements from the newsgroup, <a |
| href="mailto:dan.massey@borland.com">Dan Massey</a>, and <a |
| href="mailto:artem.tikhomirov@borland.com">Artem Tikhomirov</a>.</font><br /> |
| |
| <font color="#999999">0.2.0 09 May |
| 2005 <a |
| href="mailto:richard.gronback@borland.com">Richard Gronback</a> Added |
| requirements posted to newsgroup by <a |
| href="mailto:dleroux@ca.ibm.com">Daniel Leroux</a>.</font> <br /> |
| |
| <font color="#999999">0.3.0 09 May |
| 2005 <a |
| href="mailto:richard.gronback@borland.com">Richard Gronback</a> Updated/Added |
| requirements based on newsgroup post by <a |
| href="mailto:voelter@acm.org">Markus Voelter</a>.</font> <br /> |
| |
| <font color="#999999">0.3.1 01 July |
| 2005 <a |
| href="mailto:richard.gronback@borland.com">Richard Gronback</a> Refined |
| image export requirement based on newsgroup post by <a |
| href="mailto:constantine.plotnikov@gmail.com">Constantine Plotnikov</a>.</font> |
| <br /> |
| |
| <font color="#999999">0.8.0 23 July |
| 2005 <a |
| href="mailto:richard.gronback@borland.com">Richard Gronback</a> Incorporated |
| changes discussed during GMF <a href="kickoff.php">Kickoff Meeting</a>.</font> |
| |
| </td> |
| </tr> |
| <tr></tr> |
| <tr> |
| <td align="right" valign="top" width="16"> |
| <p align="left"><img src="http://www.eclipse.org/images/Adarrow.gif" |
| border="0" height="16" width="16" alt=""></p> |
| </td> |
| <td width="100%"> |
| <p><font face="arial,helvetica,geneva" size="-1"><b>Contents</b></font></p> |
| <div class="indent"><a href="#overview">Overview</a></div> |
| <div class="indent"><a href="#hlreqs">High-Level Requirements</a></div> |
| <div class="indent"><a href="#tools">Exemplary Tools</a></div> |
| <div class="indent"><a href="#scenarios">Usage Scenarios</a></div> |
| <div class="indent"><a href="#interop">Interoperability</a></div> |
| <div class="indent"><a href="#outstanding">Outstanding Items</a></div> |
| </td> |
| </tr> |
| </table> |
| |
| |
| <div class="section"><a name="overview"></a> |
| |
| <table border="0" cellspacing="5" cellpadding="2" width="100%"> |
| <tr> |
| <td align="left" valign="top" colspan="2" bgcolor="#595791"><b><font |
| color="#ffffff" face="Arial,Helvetica">Overview</font></b></td> |
| </tr> |
| <tr> |
| <td> |
| <p dir="ltr">Graphical Modeling Framework project will provide the |
| fundamental infrastructure and components for developing visual design |
| and modeling surfaces in Eclipse. In essence, GMF will form a |
| generative bridge between EMF and GEF, whereby a diagram definition |
| will be linked to a domain model as input to the generation of a |
| visual editor. The project aims to provide this framework, in addition |
| to exemplary tools for select domain models which illustrate its |
| capabilities.</p> |
| |
| <p class="indent" dir="ltr" style="MARGIN-RIGHT: 0px">The original |
| Project Proposal for GMF is maintained <a |
| href="http://www.eclipse.org/proposals/eclipse-gmf/index.html" |
| target="_blank">here</a> for reference. The Creation Review |
| presentation is maintained <a |
| href="http://www.eclipse.org/proposals/eclipse-gmf/GMF_Creation_Review.ppt">here</a>. |
| Feedback has been incorporated into this document based on postings to |
| the GMF <a href="news://news.eclipse.org/eclipse.modeling.gmf">newsgroup</a>.</p> |
| <p>Each requirement below has two markers: the first indicates its |
| relative priority [<font color="#0066ff">H</font> | <font |
| color="#0066ff">M</font> | <font color="#0066ff">L</font>] in terms |
| of importance to the community, while the second indicates the current |
| milestone the feature is targeted for release. At this stage, they are |
| only specified as either [<font color="green">M1</font>] or [<font |
| color="red">M+</font>] to indicate they are targeted for the first |
| major milestone, or afterwards. More refinement will be applied to |
| these requirements in the form of a project plan during the M1 |
| implementation phase. The determination of M1 items and the expected |
| delivery date (Q4 2005) was made during the <a href="kickoff.php">Kickoff |
| Meeting</a>.</p> |
| </td> |
| </tr> |
| </table> |
| </div> |
| |
| <div class="section"><a name="hlreqs"></a></div> |
| <table border="0" cellspacing="5" cellpadding="2" width="100%"> |
| <tr> |
| <td align="left" valign="top" colspan="2" bgcolor="#595791"><b><font |
| color="#ffffff" face="Arial,Helvetica">High-Level Requirements</font></b></td> |
| </tr> |
| <tr> |
| <td> |
| <p>The initial requirements for GMF are presented here. Each |
| requirement has a priority indicator and may include references to |
| indicate its source or other relevant information. These |
| requirements are called out in the related Usage Scenarios below, and |
| are to be used to create milestone target feature sets for the |
| project. The requirements are broken down into categories which |
| more or less correspond to the anticipated components of GMF, with the |
| exception of the General Requirements.</p> |
| </td> |
| </tr> |
| </table> |
| |
| <table border="0" cellspacing="5" cellpadding="2" width="90%" summary=""> |
| <tr> |
| <td align="right" valign="top" width="16"> |
| <p align="left"><img src="http://www.eclipse.org/images/Adarrow.gif" |
| border="0" height="16" width="16" alt=""></p> |
| </td> |
| <td width="100%"> |
| <p><font face="arial,helvetica,geneva" size="-1"><b>General |
| Requirements</b></font></p> |
| </td> |
| </tr> |
| </table> |
| <ul> |
| <li>Extensibility |
| <ul> |
| <li>GMF must adhere to the extensibility best practices of |
| Eclipse. The generated plug-ins, the runtime framework, the |
| genmodel, generator, wizards, etc. should all be designed/implemented |
| with extensibility in mind.</li> |
| </ul> |
| </li> |
| <li>Interoperability |
| <ul> |
| <li>GMF has the potential to interoperate with a number of other |
| Eclipse projects and, potentially, support external standards and |
| tooling frameworks. See the <a href="#interop">Interoperability</a> |
| section below.</li> |
| </ul> |
| </li> |
| <li>Compatibility |
| <ul> |
| <li>GMF should leverage the latest (pure) version of platform and |
| dependent projects, Java edition, utilize MANIFEST.MF files, etc.</li> |
| </ul> |
| </li> |
| <li>Testing |
| <ul> |
| <li>Unit tests will be written and maintained for appropriate code |
| segments.</li> |
| <li>GMF should support and be tested on all the platforms supported by |
| Eclipse or, minimally, by the EMF and GEF projects.</li> |
| </ul> |
| </li> |
| <li>Documentation |
| <ul> |
| <li>Standard help, exsd files, tutorials, and samples will be |
| provided.</li> |
| </ul> |
| </li> |
| <li>Internationalization/Localization |
| <ul> |
| <li>GMF should be localized to the main locales supported by the |
| platform or, minimally, by EMF and GEF.</li> |
| </ul> |
| </li> |
| <li>Performance |
| <ul> |
| <li>The GMF runtime, designer, and generated components should be |
| tested for performance characteristics and follow <a |
| href="http://www.eclipse.org/eclipse/development/performance/index.html">published</a> |
| guidelines.</li> |
| </ul> |
| </li> |
| </ul> |
| |
| <table border="0" cellspacing="5" cellpadding="2" width="90%" summary=""> |
| <tr> |
| <td align="right" valign="top" width="16"> |
| <p align="left"><img src="http://www.eclipse.org/images/Adarrow.gif" |
| border="0" height="16" width="16" alt=""></p> |
| </td> |
| <td width="100%"> |
| <p><font face="arial,helvetica,geneva" size="-1"><b>Diagram Definition</b></font></p> |
| </td> |
| </tr> |
| </table> |
| |
| <ul> |
| <li>A diagram definition may be mapped to zero or more domain models. |
| In other words, a digram may contain elements which represent |
| information from multiple domain models. [<font color="#0066ff">H</font>][<font |
| color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114175">114175</a>]</li> |
| <li>A diagram may contain multiple references to a single domain model |
| element, potentially with each having a different diagram |
| representation. [<font color="#0066ff">M</font>][<font color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114179">114179</a>]</li> |
| <li>A diagram may have elements added from other referenced diagram |
| definitions. [<font color="#0066ff">M</font>][<font color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114178">114178</a>]</li> |
| <li>Metamodels |
| <ul> |
| <li>A diagramming metamodel will be provided to allow for diagram |
| definitions. [<font color="#0066ff">H</font>][<font color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114177">114177</a>] |
| |
| |
| <li>A mapping metamodel will be provided to allow for diagram to |
| domain model mapping definitions. [<font color="#0066ff">H</font>][<font |
| color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114107">114107</a>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114174">114174</a>]</li> |
| </ul> |
| </li> |
| <li>Diagram groups |
| <ul> |
| <li>Diagram definitions should support a logical grouping of diagrams, |
| as required by the UML, for example. [<font color="#0066ff">M</font>][<font |
| color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114180">114180</a>]</li> |
| </ul> |
| </li> |
| <li>Wizards |
| <ul> |
| <li>GMF Project [<font color="#0066ff">H</font>][<font color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114107">114107</a>] |
| <ul> |
| <li>Creates a project containing one or more domain models and |
| associated diagram definition(s). The domain models may already exist |
| and be referenced from other projects in the workspace.</li> |
| <li>The domain models may be created from scratch or imported |
| *.ecore, *.emf, xsd, etc. files.</li> |
| <li>The required mapping models will be created.</li> |
| </ul> |
| </li> |
| <li>Diagram Definition [<font color="#0066ff">H</font>][<font |
| color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114181">114181</a>] |
| <ul> |
| <li>Creates a new diagram definition model and mapping model(s) based |
| on selected domain model(s).</li> |
| <li>Provides an option to create a default set of diagram elements |
| for selected domain elements in an "interview" format, where the |
| toolsmith is walked through each and is allowed to select from common |
| diagram definition options.[<font color="red">M+</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114182">114182</a>]</li> |
| <li>It should be possible to create a diagram definition which is not |
| yet tied to any particular domain model.[<font color="green">M1</font>]</li> |
| </ul> |
| </li> |
| <li>Domain Model [<font color="#0066ff">H</font>][<font color="red">M+</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114183">114183</a>] |
| <ul> |
| <li>Allows for the creation of a new EMF model using a graphic |
| editor, leveraging an ECore modeling surface provided by GMF.</li> |
| </ul> |
| </li> |
| <li>Diagram Generation Model [<font color="#0066ff">H</font>][<font |
| color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114184">114184</a>] |
| <ul> |
| <li>Creates a new generation model from existing Diagram Definition.[<font |
| color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114184">114184</a>]</li> |
| </ul> |
| </li> |
| <li>Diagram Mapping Model [<font color="#0066ff">H</font>][<font |
| color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114186">114186</a>] |
| <ul> |
| <li>Allows an existing diagram definition to be mapped to another |
| domain model.</li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li>Notation Definition |
| <ul> |
| <li>An editing environment for diagram notation definition will be |
| provided, to specify: |
| <ul> |
| <li>Nodes [<font color="#0066ff">H</font>][<font color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114188">114188</a>] |
| <ul> |
| <li>Shape definitions, including geometric, custom, and image file.</li> |
| </ul> |
| </li> |
| <li>Links [<font color="#0066ff">H</font>][<font color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114188">114188</a>] |
| <ul> |
| <li>Connector elements to indicate relationship/flow/etc.</li> |
| </ul> |
| </li> |
| <li>Decorators [<font color="#0066ff">M</font>][<font color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114188">114188</a>] |
| <ul> |
| <li>Text and icons for Node and Link elements.</li> |
| </ul> |
| </li> |
| <li>Properties [<font color="#0066ff">H</font>][<font color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114188">114188</a>] |
| <ul> |
| <li>Attributes of an element to be displayed in a properties view.</li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li>A graphical surface for diagram definitions will be provided |
| (bootstrapped). [<font color="#0066ff">M</font>][<font color="red">M+</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114185">114185</a>] |
| <ul> |
| <li>Provide a WYSIWYG capability for diagram definition. [<font |
| color="#0066ff">L</font>][<font color="red">M+</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114187">114187</a>]</li> |
| </ul> |
| </li> |
| <li>A graphical surface for mapping definitions will be provided |
| (bootstrapped). [<font color="#0066ff">L</font>][<font color="red">M+</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114199">114199</a>]</li> |
| </ul> |
| </li> |
| <li>Tooling Definition |
| <ul> |
| <li>Along with diagram defintion and domain model mapping, the |
| designer should allow for the definition of those runtime options |
| supported (as listed below), such as palette configuration, overview |
| support, etc. [<font color="#0066ff">H</font>][<font color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114197">114197</a>]</li> |
| </ul> |
| </li> |
| <li>Semantic Definition |
| <ul> |
| <li>Constraints <b></b> <a href="#outstanding">[<b>?</b>]</a> |
| <ul> |
| <li>Diagram and/or domain models may have constraints added which |
| need to be manifested as feedback in the graphical editor. For |
| example, a constraint indicating that circular relationships are not |
| allowed should be indicated in the UI while attempting to make such a |
| connection. [<font color="#0066ff">M</font>][<font color="red">M+</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114192">114192</a>]</li> |
| <li>Constraints may be defined in the diagram and/or domain models |
| that are more appropriately checked in a batch mode, as is done with |
| the EMF validation framework. GMF should allow for constraints to be |
| enforced using this or similar framework. [<font color="#0066ff">M</font>][<font |
| color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114189">114189</a>]</li> |
| <li>Provide support for the Object Constraint Language (<a |
| href="http://www.omg.org/cgi-bin/doc?ptc/2003-10-14">OCL</a>). [<font |
| color="#0066ff">M</font>][<font color="red">M+</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114193">114193</a>]</li> |
| </ul> |
| </li> |
| <li>Expressions |
| <ul> |
| <li>Diagram elements may not map directly to domain model elements, |
| but rather be a derived value of some expression or query. For |
| example, a hierarchical or flat view representation of a UML class as |
| defined in "<a |
| href="http://www.amazon.com/exec/obidos/tg/detail/-/0201675188/qid=1115154614/sr=8-1/ref=sr_8_xs_ap_i1_xgl14/002-5361459-4046423?v=glance&s=books&n=507846">The |
| UML Profile for Framework Architectures</a>" requires information |
| from an entire class hierarchy for representation on a diagram. [<font |
| color="#0066ff">M</font>][<font color="red">M+</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114194">114194</a>]</li> |
| </ul> |
| </li> |
| <li>Validation |
| <ul> |
| <li>Diagrams which may be well-formed may also need to be checked for |
| certain best practices or <a |
| href="http://www.amazon.com/exec/obidos/tg/detail/-/0521616786/qid=1115204692/sr=8-1/ref=sr_8_xs_ap_i1_xgl14/002-5361459-4046423?v=glance&s=books&n=507846">style</a> |
| considerations. GMF will provide an extensible means by which to |
| define audit and metric rules/constraints to be run on model |
| instances. [<font color="#0066ff">M</font>][<font color="red">M+</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114196">114196</a>]</li> |
| </ul> |
| </li> |
| <li>Multiple constraint/query/expression languages (e.g. XPath/XQuery, |
| BSH, Groovy, Java, OCL, etc.) should supported through well-defined |
| interfaces and/or extension points. <a href="#outstanding">[<b>?</b>]</a> |
| [<font color="#0066ff">L</font>][<font color="red">M+</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114190">114190</a>]</li> |
| </ul> |
| </li> |
| <li>Templates |
| <ul> |
| <li>A number of templates should be provided to jumpstart Graphical |
| DSL development. [<font color="#0066ff">L</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114195">114195</a>]</li> |
| </ul> |
| </li> |
| <li>Model synchronicity |
| <ul> |
| <li>In order to maintain synchronicity between linked models, |
| refactoring-like support to span designer definition, mapping, and |
| domain models should be provided. [<font color="#0066ff">H</font>][<font |
| color="red">M+</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114198">114198</a>]</li> |
| <li>Lightweight transaction support will allow for consistent changes |
| to multiple models. [<font color="#0066ff">H</font>][<font color="red">M+</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114188">114188</a>]</li> |
| </ul> |
| </li> |
| </ul> |
| |
| <table border="0" cellspacing="5" cellpadding="2" width="90%" summary=""> |
| <tr> |
| <td align="right" valign="top" width="16"> |
| <p align="left"><img src="http://www.eclipse.org/images/Adarrow.gif" |
| border="0" height="16" width="16" alt=""></p> |
| </td> |
| |
| <td width="100%"> |
| <p><font face="arial,helvetica,geneva" size="-1"><b>Generation |
| Framework</b></font></p> |
| </td> |
| </tr> |
| </table> |
| <ul> |
| <li>Generation Model |
| <ul> |
| <li>Runtime Definition |
| <ul> |
| <li>A generator model should allow for the definition of those code |
| generation options supported, such as package namespace, RCP option, |
| etc. [<font color="#0066ff">H</font>][<font color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114191">114191</a>]</li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li>Generation |
| <ul> |
| <li>Generation of code from model definition(s) should maximize |
| plug-in extensibility. [<font color="#0066ff">H</font>][<font |
| color="red">M+</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114201">114201</a>]</li> |
| <li>Generation option to target RCP application. [<font |
| color="#0066ff">L</font>][<font color="red">M+</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114200">114200</a>]</li> |
| <li>Generation option to target an Eclipse view, in addition to |
| editor. [<font color="#0066ff">H</font>][<font color="red">M+</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114202">114202</a>]</li> |
| <li>Utilize EMF.Edit commands (and others) to greatest extent |
| possible. [<font color="#0066ff">H</font>][<font color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114204">114204</a>]</li> |
| <li>Undo/Redo functionality should be respected. [<font |
| color="#0066ff">H</font>][<font color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114205">114205</a>]</li> |
| <li>Regeneration of code should not overwrite customizations. [<font |
| color="#0066ff">H</font>][<font color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114203">114203</a>]</li> |
| <li>Unit tests for the plug-in should be optionally generated. [<font |
| color="#0066ff">L</font>][<font color="red">M+</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114206">114206</a>]</li> |
| <li>Eclipse builders should be utilized as appropriate to generate |
| incrementally. [<font color="#0066ff">L</font>][<font color="red">M+</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114209">114209</a>]</li> |
| <li>When working with domain models, the generation of EMF model, |
| edit, and editor plug-ins should optionally accompany diagram plug-in |
| generation. [<font color="#0066ff">L</font>][<font color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114208">114208</a>]</li> |
| <li>Method of generation should be flexible. <a href="#outstanding">[<b>?</b>]</a> |
| <ul> |
| <li>Default JET option. [<font color="#0066ff">H</font>][<font |
| color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114207">114207</a>]</li> |
| <li>Alternative template engine. [<font color="#0066ff">L</font>][<font |
| color="red">M+</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114207">114207</a>]</li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| |
| <table border="0" cellspacing="5" cellpadding="2" width="90%" summary=""> |
| <tr> |
| <td align="right" valign="top" width="16"> |
| <p align="left"><img src="http://www.eclipse.org/images/Adarrow.gif" |
| border="0" height="16" width="16" alt=""></p> |
| </td> |
| |
| <td width="100%"> |
| <p><font face="arial,helvetica,geneva" size="-1"><b>Runtime Framework</b></font></p> |
| </td> |
| </tr> |
| </table> |
| <ul> |
| <li>Editor |
| <ul> |
| <li>The runtime environment should support the following capabilities: |
| <ul> |
| <li>Palette |
| <ul> |
| <li>Palette customizer [<font color="#0066ff">L</font>][<font |
| color="red">M+</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114217">114217</a>]</li> |
| <li>Sticky tool [<font color="#0066ff">M</font>][<font color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114220">114220</a>]</li> |
| </ul> |
| </li> |
| <li>Properties [<font color="#0066ff">H</font>][<font color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114246">114246</a>]</li> |
| <li>Overview (bird's eye view) [<font color="#0066ff">H</font>][<font |
| color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114213">114213</a>]</li> |
| <li>Zoom +/- [<font color="#0066ff">M</font>][<font color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114215">114215</a>]</li> |
| <li>Navigator [<font color="#0066ff">M</font>][<font color="red">M+</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114214">114214</a>]</li> |
| <li>Outline [<font color="#0066ff">H</font>][<font color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114211">114211</a>]</li> |
| <li>Decorators [<font color="#0066ff">M</font>][<font color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114212">114212</a>]</li> |
| <li>Keyboard bindings [<font color="#0066ff">L</font>][<font |
| color="red">M+</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114216">114216</a>]</li> |
| <li>Direct editing [<font color="#0066ff">H</font>][<font |
| color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114219">114219</a>] |
| <ul> |
| <li>Text validation/parser plug-in [<font color="#0066ff">H</font>][<font |
| color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114219">114219</a>]</li> |
| <li>Marker support [<font color="#0066ff">H</font>][<font |
| color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114226">114226</a>]</li> |
| <li>Content assist [<font color="#0066ff">L</font>][<font |
| color="red">M+</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114235">114235</a>]</li> |
| </ul> |
| </li> |
| <li>Drag and drop [<font color="#0066ff">H</font>][<font |
| color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114224">114224</a>]</li> |
| <li>Layout [<font color="#0066ff">L</font>][<font color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114238">114238</a>] |
| <ul> |
| <li>A number of layout strategies may be appropriate for a |
| particular diagram and the runtime framework should provide for this |
| and for the addition of layout plug-ins to be added via extension |
| point.</li> |
| </ul> |
| </li> |
| <li>Alignment [<font color="#0066ff">L</font>][<font color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114236">114236</a>] |
| <ul> |
| <li>Align selected nodes to top, bottom, right, left, center. [<font |
| color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114236">114236</a>]</li> |
| <li>Set width, height of elements. [<font color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114237">114237</a>]</li> |
| </ul> |
| </li> |
| <li>Support standard graphical editor facilities (actions, rulers, |
| guides) provided by GEF. [<font color="#0066ff">L</font>][<font |
| color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114221">114221</a>]</li> |
| <li>Provide support for compartments/subcompartments. [<font |
| color="#0066ff">M</font>][<font color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114228">114228</a>]</li> |
| <li>Feedback (in status line) for constraint violation, advice, etc. |
| [<font color="#0066ff">M</font>][<font color="red">M+</font>]</li> |
| <li>Filter views [<font color="#0066ff">L</font>][<font color="red">M+</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114225">114225</a>] |
| <ul> |
| <li>Filter by element type, property, or regular expression. [<font |
| color="#0066ff">M</font>][<font color="red">M+</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114225">114225</a>]</li> |
| <li>Hide/Show individual elements. [<font color="#0066ff">M</font>][<font |
| color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114232">114232</a>]</li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li>Persistence |
| <ul> |
| <li>Diagrams are stored in files using XML/XMI capability of EMF. [<font |
| color="#0066ff">H</font>][<font color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114230">114230</a>] |
| <ul> |
| <li>Alternative persistence mechanisms should be made available via |
| extension points. [<font color="#0066ff">L</font>][<font color="red">M+</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114233">114233</a>]</li> |
| </ul> |
| </li> |
| |
| </ul> |
| </li> |
| <li>Delete behavior (diagram, domain, both?) [<font color="#0066ff">L</font>][<font |
| color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114231">114231</a>]</li> |
| <li>Export |
| <ul> |
| <li>Printing [<font color="#0066ff">M</font>][<font color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114222">114222</a>]</li> |
| <li>Image [<font color="#0066ff">M</font>][<font color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114227">114227</a>] |
| <ul> |
| <li>Raster: jpeg, gif, bmp, etc.</li> |
| <li>Vector: emf, wmf, svg, eps, etc.</li> |
| </ul> |
| </li> |
| </ul> |
| <ul> |
| <li>General transformation |
| <ul> |
| <li>Interchange |
| <ul> |
| <li>UML via Diagram Interchange Specification [<font color="#0066ff">L</font>][<font |
| color="red">M+</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114229">114229</a>]</li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li>Team integration [<font color="#0066ff">M</font>][<font color="red">M+</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114223">114223</a>] |
| <ul> |
| <li>Diagrams should provide team support extensions. [<font |
| color="#0066ff">M</font>][<font color="red">M+</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114223">114223</a>]</li> |
| <li>Diagram updates based on domain model changes should be minimized. |
| [<font color="#0066ff">M</font>][<font color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114239">114239</a>]</li> |
| </ul> |
| </li> |
| <li>The runtime should provide functionality for use with non-generated |
| editors. [<font color="#0066ff">H</font>][<font color="green">M1</font>][<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114241">114241</a>]</li> |
| </ul> |
| |
| <div class="section"><a name="tools"></a> |
| |
| <table border="0" cellspacing="5" cellpadding="2" width="100%"> |
| <tr> |
| <td align="left" valign="top" colspan="2" bgcolor="#595791"><b><font |
| color="#ffffff" face="Arial,Helvetica">Exemplary Tools</font></b></td> |
| </tr> |
| <tr> |
| <td> |
| <p>A number of potential GMF-based applications are appropriate to |
| illustrate the framework and become exemplary tools in their own |
| right. Below are a number of recommendations, with the first two |
| as mentioned in the Project Proposal. Some of these are also |
| used in the usage scenarios.</p> |
| </td> |
| </tr> |
| </table> |
| </div> |
| <table border="0" cellspacing="5" cellpadding="2" width="90%" summary=""> |
| <tr> |
| <td align="right" valign="top" width="16"> |
| <p align="left"><img src="http://www.eclipse.org/images/Adarrow.gif" |
| border="0" height="16" width="16" alt=""></p> |
| </td> |
| <td width="100%"> |
| <p><font face="arial,helvetica,geneva" size="-1"><b>UML2 Modeling</b></font></p> |
| </td> |
| </tr> |
| </table> |
| |
| <ul> |
| <li>This application of GMF will provide a visual diagramming |
| capability for the <a href="http://www.eclipse.org/uml2">UML2</a> |
| metamodel implementation in Eclipse. </li> |
| </ul> |
| |
| <table border="0" cellspacing="5" cellpadding="2" width="90%" summary=""> |
| <tr> |
| <td align="right" valign="top" width="16"> |
| <p align="left"><img src="http://www.eclipse.org/images/Adarrow.gif" |
| border="0" height="16" width="16" alt=""></p> |
| </td> |
| <td width="100%"> |
| <p><font face="arial,helvetica,geneva" size="-1"><b>ECore Modeling</b></font></p> |
| </td> |
| </tr> |
| </table> |
| |
| <ul> |
| <li>To allow for visual domain model (DSL) creation using ECore as a |
| metamodel, a GMF-generated diagram surface is planned. This |
| capability will serve as a reasonable first implementation for GMF |
| and ease the development of EMF models.</li> |
| </ul> |
| |
| <table border="0" cellspacing="5" cellpadding="2" width="90%" summary=""> |
| <tr> |
| <td align="right" valign="top" width="16"> |
| <p align="left"><img src="http://www.eclipse.org/images/Adarrow.gif" |
| border="0" height="16" width="16" alt=""></p> |
| </td> |
| <td width="100%"> |
| <p><font face="arial,helvetica,geneva" size="-1"><b>BPEL4WS Modeling</b></font></p> |
| </td> |
| </tr> |
| </table> |
| <ul> |
| <li>BPEL4WS has a defined <a |
| href="http://schemas.xmlsoap.org/ws/2003/03/business-process/BPEL4WS.xsd" |
| target="_blank">XSD</a> which can be imported to EMF. There |
| is no associated notation provided, while mappings exist from <a |
| href="http://www.bpmn.org/" target="_blank">BPMN</a> and <a |
| href="http://www.omg.org/cgi-bin/doc?bei/03-01-06" target="_blank">BPDM</a>. |
| One of these or a proprietary notation could be mapped to the XSD, |
| possibly combining aspects of WSDL to provide a rich BPEL4WS modeling |
| environment.</li> |
| </ul> |
| <table border="0" cellspacing="5" cellpadding="2" width="90%" summary=""> |
| <tr> |
| <td align="right" valign="top" width="16"> |
| <p align="left"><img src="http://www.eclipse.org/images/Adarrow.gif" |
| border="0" height="16" width="16" alt=""></p> |
| </td> |
| |
| <td width="100%"> |
| <p><font face="arial,helvetica,geneva" size="-1"><b>Business Rules |
| Modeling</b></font></p> |
| </td> |
| </tr> |
| </table> |
| <ul> |
| <li>Business rules have no standard notation, although many examples |
| exist. Furthermore, many rule engine models are possible for |
| implementation in EMF, as one is shown <a |
| href="http://www.eclipse.org/articles/Article-Rule%20Modeling%20With%20EMF/article.html" |
| target="_blank">here</a> .</li> |
| </ul> |
| <div class="section"><a name="scenarios"></a> |
| <table border="0" cellspacing="5" cellpadding="2" width="100%"> |
| <tr> |
| <td align="left" valign="top" colspan="2" bgcolor="#595791"><b><font |
| color="#ffffff" face="Arial,Helvetica">Usage Scenarios</font></b></td> |
| </tr> |
| <tr> |
| <td> |
| <p>The following scenarios illustrate the planned capabilities of GMF, |
| as outlined above. In these scenarios, a 'toolsmith' is someone in an |
| organization that uses GMF to develop tooling utilized by a 'user' (or |
| 'end user').</p> |
| </td> |
| </tr> |
| </table> |
| <table border="0" cellspacing="5" cellpadding="2" width="100%" |
| summary=""> |
| <tr> |
| <td align="right" valign="top" width="16"> |
| <p align="left"><img src="http://www.eclipse.org/images/Adarrow.gif" |
| border="0" height="16" width="16" alt=""></p> |
| </td> |
| <td width="100%"> |
| <p><font face="arial,helvetica,geneva" size="-1"><b>BPEL4WS</b></font></p> |
| </td> |
| </tr> |
| <tr> |
| <td /> |
| <td> |
| <p>A toolsmith is interested in creating a visual modeling tool for <a |
| href="ftp://www6.software.ibm.com/software/developer/library/ws-bpel.pdf">BPEL4WS</a>. |
| The specification provides no visual notation, but does come with an <a |
| href="http://schemas.xmlsoap.org/ws/2003/03/business-process/BPEL4WS.xsd">XSD</a> |
| which will make short work of creating a domain model using EMF. The |
| toolsmith is aware that BPMN provides a mapping to BPEL4WS and is |
| itself a general notation for modeling business processes. However, |
| the <a href="http://www.bpmi.org/BPMN.htm">specification</a> does not |
| come with a formal definition.</p> |
| </td> |
| </tr> |
| <tr> |
| <td /> |
| <td> |
| <ul> |
| <li>The toolsmith launches Eclipse and creates an empty project.</li> |
| <li>Using the Diagram Definition wizard, the toolsmith is presented |
| with a blank modeling surface upon which to model BPMN. Note: this |
| diagram definition surface is one page in a multi-page editor. |
| <ul> |
| <li>The toolsmith intends to fully model the BPMN and potentially |
| reuse the definition later to map to another domain model.</li> |
| <li>The toolsmith defines the diagram elements in terms of the |
| provided diagram definition metamodel using the BPMN specification |
| as a guide.</li> |
| <li>Switching to the tooling definition page, the toolsmith |
| configures the palette, selects options for overview, outline, |
| layout, alignment, etc.</li> |
| </ul> |
| </li> |
| <li>With a notation model available, the toolsmith moves to specify |
| the domain model of BPEL4WS. Using the Domain Model wizard, the |
| toolsmith creates an EMF model from the supplied XSD, which opens in |
| the graphical editor. Note: BPEL4WS is dependent upon WSDL, which is |
| also present in the model.</li> |
| <li>After reviewing the model of BPEL4WS and reviewing the mapping to |
| BPMN provided in the specification, the toolsmith creates a new |
| Diagram Mapping Model using the wizard. |
| <ul> |
| <li>The toolsmith defines the mappings from the previously defined |
| diagram elements and properties to the new domain model elements. As |
| expected, the mapping provided has some gaps, which allows the |
| toolsmith to get creative ;-)</li> |
| </ul> |
| </li> |
| <li>Using the Diagram Generation Model wizard, the toolsmith creates |
| a generation model to select options for the code generator. |
| <ul> |
| <li>The toolsmith selects "Generate All" to produce a full set of |
| domain and diagram plug-ins.</li> |
| </ul> |
| </li> |
| <li>The toolsmith runs the new plug-ins in a runtime instance to test |
| their capabilities.</li> |
| <li>Not satisfied with the provided layout algorithms, the toolsmith |
| decides to write a custom layout algorithm and adds it as a new |
| plug-in via the provided extension point. This layout now appears in |
| the tooling definition page.</li> |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td align="right" valign="top" width="16"> |
| <p align="left"><img src="http://www.eclipse.org/images/Adarrow.gif" |
| border="0" height="16" width="16" alt=""></p> |
| </td> |
| |
| <td width="100%"> |
| <p><font face="arial,helvetica,geneva" size="-1"><b>Business Rules |
| Modeling</b></font></p> |
| </td> |
| </tr> |
| <tr> |
| <td /> |
| <td> |
| <p>To complement the new BPEL4WS modeling environment, the toolsmith |
| is now interested in creating a visual modeling tool for business |
| rules.</p> |
| </td> |
| </tr> |
| <tr> |
| <td /> |
| <td> |
| <ul> |
| <li>TODO: finish this scenario.</li> |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td align="right" valign="top" width="16"> |
| <p align="left"><img src="http://www.eclipse.org/images/Adarrow.gif" |
| border="0" height="16" width="16" alt=""></p> |
| </td> |
| |
| <td width="100%"> |
| <p><font face="arial,helvetica,geneva" size="-1"><b>Mind Map</b></font></p> |
| </td> |
| </tr> |
| <tr> |
| <td /> |
| <td> |
| <p>A toolsmith is interested in adding a <a target="_blank" |
| href="http://www.google.com/search?hl=en&q=mind+map"> Mind Map</a> |
| capability to Eclipse, but with the added ability to switch the |
| representation to either a <a target="_blank" |
| href="http://www.google.com/search?hl=en&lr=&q=gantt+chart">Gantt |
| chart</a> view, or a dependency view. In this scenario, the toolsmith |
| is starting from a blank slate, with no existing domain model or |
| notation definition.</p> |
| </td> |
| </tr> |
| <tr> |
| <td /> |
| <td> |
| <ul> |
| <li>The toolsmith launches Eclipse and the 'GMF Project' wizard. |
| <ul> |
| <li>The wizard steps the toolsmith through the creation of a new EMF |
| model for the domain, and three diagram definitions for the Mind |
| Map, Gantt Chart, and Dependency diagrams.</li> |
| <li>Upon completion, the graphical domain modeling surface is |
| presented for development of the mind map domain model.</li> |
| <li>In the project, the toolsmith sees an *.ecore file, an ecore |
| *.dgEcore diagram file, three *.gmfd diagram definition files with |
| associated *.gmft tool definition files, and three *.gmfm mapping |
| files.</li> |
| </ul> |
| </li> |
| <li>The toolsmith models the elements, attributes, and relationships |
| for the mind map domain model using the modeling surface, which |
| resembles an enhanced UML Class diagram. It is a fairly simple model, |
| with Topics, CallOuts, Relationships, etc. Task elements are also |
| associated with Topics, which was the motivation for including an |
| optional Gantt chart view. |
| <ul> |
| <li>The toolsmith then selects OCL as the constraint language for |
| the model and proceeds to refine the model by adding constraints. |
| <ul> |
| <li>A constraint is added which specifies that the target of a |
| Relationship may not be the same element as the source.</li> |
| <li>Another constraint is added to disallow cyclic dependencies |
| (where 'dependency' is one type of Relationship).</li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li>Satisified with the domain model, the toolsmith opens the diagram |
| definition for the mind map. |
| <ul> |
| <li>The toolsmith fills in general properties for the diagram and |
| opens the palette.</li> |
| <li>A new Node element is added to the definition. |
| <ul> |
| <li>A rounded rectangle shape is specified for the node. (lots of |
| options here: SVG, WYSIWYG primitive shape editor, etc.)</li> |
| <li>Using the mapping interface, a connection is made between the |
| new shape and the Topic element from the domain model.</li> |
| <li>A text label is added to the node using a tool from the |
| palette, with the option to center at the bottom of the node. A |
| mapping is made to the 'name' attribute of the Topic element.</li> |
| <li>The toolsmith then adds a new Connector element to the diagram |
| definition, mapping it to the 'dependency' enumerated type of |
| Relationship element in the domain model. |
| <ul> |
| <li>The new Connector element 'source' and 'target' are |
| correspondingly mapped to the Relationship 'source' and 'target' |
| attributes.</li> |
| <li>Graphic display properties of the Connector are specified and |
| similar actions are taken to define the other types of |
| Relationships.</li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li>In the tooling definition page, the toolsmith defines the |
| runtime options for the mind map diagram. |
| <ul> |
| <li>The toolsmith decides to put Relationship links in their own |
| drawer on the toolbar.</li> |
| <li>Options for the overview, flyover, and properties views are |
| selected.</li> |
| </ul> |
| </li> |
| <li>Note: an option here would have been to run the Diagram |
| Definition wizard, which would walk the toolsmith through a selected |
| domain model to create a quick set of default diagram elements.</li> |
| </ul> |
| </li> |
| <li>Anxious to see the capabilities of GMF, the toolsmith decides to |
| produce a Diagram Generator model of the mind map diagram definition |
| at this time using the toolbar action. |
| <ul> |
| <li>The toolsmith selects "Generate All" and lauches a runtime |
| workspace to test the new mind map. |
| <ul> |
| <li>In a new project, the toolsmith creates a Mind Map using the |
| provided wizard.</li> |
| <li>The toolsmith is able to create a new Topic and Subtopics.</li> |
| <li>The toolsmith attempts to create a Relationship of type |
| 'dependency' between a Topic and itself, which is disallowed.</li> |
| <li>The toolsmith tests the undo and redo features successfully.</li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| |
| </ul> |
| </td> |
| </tr> |
| </table> |
| </div> |
| |
| <div class="section"><a name="interop"></a> |
| <table border="0" cellspacing="5" cellpadding="2" width="100%"> |
| <tr> |
| <td align="left" valign="top" colspan="2" bgcolor="#595791"><b><font |
| color="#ffffff" face="Arial,Helvetica">Interoperability</font></b></td> |
| </tr> |
| <tr> |
| <td> |
| <p>The GMF project has the potential to interoperate with or leverage |
| capabilities from several Eclipse projects, most notably the Graphical |
| Editing Framework (GEF) and Eclipse Modeling Framework (EMF) |
| projects. It is anticipated that the GMF team will work closely |
| with these other teams and potentially contribute to them in order to |
| meet the goals of the project. GMF should not duplicate |
| functionality, nor add functionality which is more appropriately |
| housed in another Eclipse project.</p> |
| |
| <p>Each of those anticipated to be complementary or a dependency of |
| GMF is listed below:</p> |
| </td> |
| </tr> |
| </table> |
| </div> |
| <table border="0" cellspacing="5" cellpadding="2" width="90%" summary=""> |
| <tr> |
| <td align="right" valign="top" width="16"> |
| <p align="left"><img src="http://www.eclipse.org/images/Adarrow.gif" |
| border="0" height="16" width="16" alt=""></p> |
| </td> |
| <td width="100%"> |
| <p><font face="arial,helvetica,geneva" size="-1"><b><a |
| href="http://www.eclipse.org/emf/" target="_top">EMF</a> (Eclipse |
| Modeling Framework)</b></font></p> |
| </td> |
| </tr> |
| </table> |
| |
| <ul> |
| <li>EMF models are planned to be the primary source of mapped domain |
| models for use in defining diagrams in GMF. Furthermore, diagram |
| definitions and mapping models are themselves to be based on EMF.</li> |
| <li>Diagram persistence is to leverage EMF's XML/XMI mechanism, while |
| alternative persistence may be desireable. Persistence to a |
| relational database is likely to be required, as found in <a |
| href="http://mdr.netbeans.org/" target="_blank">MDR</a>, and as |
| possible using <a href="http://www.sympedia.org/cdo/" target="_blank">CDO</a>. |
| <a href="http://www-106.ibm.com/developerworks/java/library/j-sdo/" |
| target="_blank">SDO</a> capabilities are already available in EMF.</li> |
| <li>EMF currently has no facility for model constraint definition, |
| using OCL for example. This is a known limitation and a |
| discussion item on the EMF newsgroup. On this topic, the |
| University of Kent has an EMF facility for their <a |
| href="http://www.cs.kent.ac.uk/projects/ocl/index.html" |
| target="_blank">OCL</a> library.</li> |
| <li>EMF currently employs just the JET (Java Emitter Template) engine |
| for code generation. A goal of GMF is to provide a flexible means |
| by which alternative template engines may be used.</li> |
| </ul> |
| |
| <table border="0" cellspacing="5" cellpadding="2" width="90%" summary=""> |
| <tr> |
| <td align="right" valign="top" width="16"> |
| <p align="left"><img src="http://www.eclipse.org/images/Adarrow.gif" |
| border="0" height="16" width="16" alt=""></p> |
| </td> |
| <td width="100%"> |
| <p><font face="arial,helvetica,geneva" size="-1"><b><a |
| href="http://www.eclipse.org/gef/" target="_top">GEF</a> (Graphical |
| Editing Framework)</b></font></p> |
| </td> |
| </tr> |
| </table> |
| |
| <ul> |
| <li>The GEF project will serve as the base of GMF's Runtime Framework |
| and be the target for the generator. It is likely that work done |
| in GMF will be donated to the GEF project.</li> |
| </ul> |
| |
| <table border="0" cellspacing="5" cellpadding="2" width="90%" summary=""> |
| <tr> |
| <td align="right" valign="top" width="16"> |
| <p align="left"><img src="http://www.eclipse.org/images/Adarrow.gif" |
| border="0" height="16" width="16" alt=""></p> |
| </td> |
| <td width="100%"> |
| <p><font face="arial,helvetica,geneva" size="-1"><b><a |
| href="http://www.eclipse.org/uml2/" target="_top">UML2</a> (Unified |
| Modeling Language)</b></font></p> |
| </td> |
| </tr> |
| </table> |
| |
| <ul> |
| <li>The UML2 project represents one popular domain model requested for |
| use in GMF. This project will require the use of the <a |
| href="http://www.omg.org/cgi-bin/doc?ptc/2003-09-01" target="_blank">Diagram |
| Interchange Specification</a> for diagram persistence, which is also |
| under consideration as the general diagram definition model for GMF.</li> |
| </ul> |
| |
| <table border="0" cellspacing="5" cellpadding="2" width="90%" summary=""> |
| <tr> |
| <td align="right" valign="top" width="16"> |
| <p align="left"><img src="http://www.eclipse.org/images/Adarrow.gif" |
| border="0" height="16" width="16" alt=""></p> |
| </td> |
| <td width="100%"> |
| <p><font face="arial,helvetica,geneva" size="-1"><b><a |
| href="http://www.eclipse.org/gmt/" target="_top">GMT</a> (Generative |
| Model Transformer)</b></font></p> |
| </td> |
| </tr> |
| </table> |
| |
| <ul> |
| <li>The GMT project may provide the necessary means by which to |
| transform models, should it be determined such capabilities are |
| required for GMF.</li> |
| </ul> |
| |
| <table border="0" cellspacing="5" cellpadding="2" width="90%" summary=""> |
| <tr> |
| <td align="right" valign="top" width="16"> |
| <p align="left"><img src="http://www.eclipse.org/images/Adarrow.gif" |
| border="0" height="16" width="16" alt=""></p> |
| </td> |
| <td width="100%"> |
| <p><font face="arial,helvetica,geneva" size="-1"><b><a |
| href="http://www.eclipse.org/ve/" target="_top">VE</a> (Visual |
| Editor)</b></font></p> |
| </td> |
| </tr> |
| </table> |
| |
| <ul> |
| <li>There has been interest expressed in the newsgroup in providing |
| WYSIWYG capabilities in GMF using the VE project.</li> |
| <li>The VE project team has expressed interest in working with GMF, as |
| they have developed capabilities that are similar in function to what |
| GMF requires, including a common diagram model. This will require |
| further investigation, and is planned.</li> |
| </ul> |
| |
| <table border="0" cellspacing="5" cellpadding="2" width="90%" summary=""> |
| <tr> |
| <td align="right" valign="top" width="16"> |
| <p align="left"><img src="http://www.eclipse.org/images/Adarrow.gif" |
| border="0" height="16" width="16" alt=""></p> |
| </td> |
| <td width="100%"> |
| <p><font face="arial,helvetica,geneva" size="-1"><b><a |
| href="http://www.eclipse.org/ecf/" target="_top">ECF</a> (Eclipse |
| Communication Framework)</b></font></p> |
| </td> |
| </tr> |
| </table> |
| |
| <ul> |
| <li>The ECF project already supports the shared editing of <a |
| href="http://www.eclipse.org/ecf/plan.html#prss" target="_top">EMF/SDO</a> |
| models, which should potentially be leveraged as an option in GMF.</li> |
| </ul> |
| |
| <table border="0" cellspacing="5" cellpadding="2" width="90%" summary=""> |
| <tr> |
| <td align="right" valign="top" width="16"> |
| <p align="left"><img src="http://www.eclipse.org/images/Adarrow.gif" |
| border="0" height="16" width="16" alt=""></p> |
| </td> |
| <td width="100%"> |
| <p><font face="arial,helvetica,geneva" size="-1"><b><a |
| href="http://www.eclipse.org/proposals/eclipse-mddi/index.html" |
| target="_top">MDDi</a> (Model Driven Development Integration) <em><font |
| color="#0066ff">Proposed</font></em></b></font></p> |
| </td> |
| </tr> |
| </table> |
| |
| <ul> |
| <li>The MDDi project aims to introduce dynamic aspects to EMF models, |
| it can potentially be leveraged by GMF for required semantic |
| descriptions.</li> |
| <li>GMF is already referenced by the MDDi project as complementing its |
| "methodological integration view" where generation of MDDi-specific |
| elements could be provided by GMF.</li> |
| </ul> |
| |
| <table border="0" cellspacing="5" cellpadding="2" width="90%" summary=""> |
| <tr> |
| <td align="right" valign="top" width="16"> |
| <p align="left"><img src="http://www.eclipse.org/images/Adarrow.gif" |
| border="0" height="16" width="16" alt=""></p> |
| </td> |
| <td width="100%"> |
| <p><font face="arial,helvetica,geneva" size="-1"><b><a |
| href="http://www.eclipse.org/mylar" target="_top">Mylar</a> </b></font></p> |
| </td> |
| </tr> |
| </table> |
| |
| <ul> |
| <li>It is conceivable that the Mylar degree-of-interest (DOI) model can |
| extend beyond the navigation views of a model and to the graphical |
| (GEF-based) models as well. This will require |
| further investigation.</li> |
| </ul> |
| |
| <p>In addition to interoperability with other Eclipse projects, a number |
| of other interchange/integration possibilities exist for GMF, such as:</p> |
| |
| |
| <table border="0" cellspacing="5" cellpadding="2" width="90%" summary=""> |
| <tr> |
| <td align="right" valign="top" width="16"> |
| <p align="left"><img src="http://www.eclipse.org/images/Adarrow.gif" |
| border="0" height="16" width="16" alt=""></p> |
| </td> |
| <td width="100%"> |
| <p><font face="arial,helvetica,geneva" size="-1"><b><a |
| href="http://www.omg.org/" target="_blank">OMG</a></b></font> (Object |
| Management Group)</p> |
| </td> |
| </tr> |
| </table> |
| <ul> |
| <li>A number of specifications are likely to be adhered with in GMF and |
| its associated projects. The UML, OCL, DIS, etc. all provide an |
| opportunity for GMF to promote OMG specifications.</li> |
| </ul> |
| |
| <table border="0" cellspacing="5" cellpadding="2" width="90%" summary=""> |
| <tr> |
| <td align="right" valign="top" width="16"> |
| <p align="left"><img src="http://www.eclipse.org/images/Adarrow.gif" |
| border="0" height="16" width="16" alt=""></p> |
| </td> |
| <td width="100%"> |
| <p><font face="arial,helvetica,geneva" size="-1"><b><a |
| href="http://lab.msdn.microsoft.com/teamsystem/Workshop/DSLTools/" |
| target="_blank">Microsoft DSL Tools</a></b></font></p> |
| </td> |
| </tr> |
| </table> |
| <ul> |
| <li>A potential to transform and leverage diagram and domain model |
| definitions in both GMF and Microsoft's DSL Tools exist.</li> |
| </ul> |
| |
| <div class="section"><a name="outstanding"></a> |
| |
| <table border="0" cellspacing="5" cellpadding="2" width="100%"> |
| <tr> |
| <td align="left" valign="top" colspan="2" bgcolor="#595791"><b><font |
| color="#ffffff" face="Arial,Helvetica">Outstanding Items</font></b></td> |
| </tr> |
| <tr> |
| <td> |
| <p>The following items are in need of discussion and resolution:</p> |
| <ul> |
| <li> |
| <div>Constraints</div> |
| <ul> |
| <li>If OCL is used, what about providing an alternative syntax, such |
| as the Business Modeling (BM) syntax mentioned in Appendix C of "<a |
| href="http://www.amazon.com/exec/obidos/tg/detail/-/0321179366/qid=1115036607/sr=8-1/ref=sr_8_xs_ap_i1_xgl14/002-5361459-4046423?v=glance&s=books&n=507846">The |
| Object Constraint Language, Second Edition</a>"?</li> |
| </ul> |
| </li> |
| <li> |
| <div>Large Diagram Performance</div> |
| <ul> |
| <li> |
| <div>Investigate the performance characteristics of large diagrams |
| in single file versus multiple.</div> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </td> |
| </tr> |
| </table> |
| </div> |
| </div> |
| |
| |
| EOHTML; |
| |
| |
| # Generate the web page |
| $App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html); |
| ?> |