Skip to main content
Jump to: navigation, search

Difference between revisions of "ModelingAmalgam"

m (Removed reference to branded packages to align with current thinking of Amalgam's purpose.)
Line 1: Line 1:
The Modeling Amalgamation Project (just '''amalgam''' for short) will provide improved packaging, integration, and usability of Modeling project components.
+
The Modeling Amalgamation Project (just '''amalgam''' for short) will provide improved packaging, integration, and usability of Modeling project components.  
  
== Packages ==
+
== Packages ==
Amalgam will deliver packages designed to target the different user communities of Modeling technology.  Initially, a package will be created to form the basis of a Modeling package for Ganymede, and will likely evolve into the package for "Toolsmiths" to use in developing model-centric applications using EMF, GMF, etc.  Another package will provide what "Practitioners" will expect to have available for end user tooling, such as UML2 Diagramming.
+
  
=== Eclipse Modeling Tools ===
+
Amalgam used to provide several packages dedicated to different profiles of users but is now focusing on providing '''one''' package easy to starts with and easy to extend.  
The first package offered by Amalgam defines the [http://phoenix.eclipse.org/packages/eclipse-ide-software-architects-and-modeling Modeling Package] available from the [http://www.eclipse.org/epp Eclipse Packaging Project].
+
  
Currently, this package includes the following features (including their dependencies).  The EPP configuration file can be viewed [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.amalgam/releng/org.eclipse.amalgam.releng/epp/eclipse_modeling_ganymede.xml?root=Modeling_Project&revision=1.28&content-type=text%2Fplain here]
+
<br>
  
'''Modeling Features'''
+
=== Eclipse Modeling Package  ===
* org.eclipse.emf.sdk
+
* org.eclipse.emf.ecore.sdo.sdk
+
* org.eclipse.emf.teneo.sdk
+
* org.eclipse.emf.emfqtv.all.sdk
+
* org.eclipse.emf.ecoretools.sdk
+
* org.eclipse.emf.ecoretools.diagram.search
+
* org.eclipse.emf.mint.sdk
+
* org.eclipse.emf.compare.sdk
+
* org.eclipse.emf.search.sdk
+
* org.eclipse.emf.cdo.sdk
+
* org.eclipse.gmf.sdk
+
* org.eclipse.m2m.qvt.oml.sdk
+
* org.eclipse.m2m.atl.sdk
+
* org.eclipse.ocl.all.sdk
+
* org.eclipse.uml2.sdk
+
* org.eclipse.uml2tools.sdk
+
* org.eclipse.uml2.search
+
* org.eclipse.uml2.diagram.clazz.search
+
* org.eclipse.xsd.sdk
+
* org.eclipse.jet.sdk
+
* org.eclipse.net4j.sdk
+
  
'''Dependencies'''
+
The Eclipse Modeling Package is a base and sound platform one can rely on for development tasks leveraging the modeling technologies. The Package is focusing on EMF and its complementary frameworks and tools&nbsp;: we call that the "base platform". That said the modeling community is way more diverse than that and provides complete IDE's for dedicated langages. Those are provided through the discovery UI.  
* org.eclipse.sdk (platform + jdt + pde + cvs)
+
* org.eclipse.gef.sdk
+
  
'''Other'''
+
==== Base Platform  ====
* org.eclipse.mylyn...
+
* org.eclipse.epp.usagedata.feature (an obligatory aspect of the packaging project)
+
  
=== DSL Toolkit ===
+
The base platform is a complete Eclipse SDK + Modeling Frameworks, it is intended ot be extended by components from the discovery UI.&nbsp;
While the Eclipse Modeling Tools package from EPP aims to deliver an all-in-one package for Modeling technology, the DSL Toolkit is a [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.amalgam/releng/org.eclipse.amalgam.releng/builder/dsltk/dsltk.product?root=Modeling_Project&view=co product definition] based offering that includes just elements for a Toolsmith.  Initially, it will include the following:
+
  
'''Modeling Features'''
+
To ease adoption the base platform will be kept as small as possible and the whole package should not get bigger than 250Mb.
* org.eclipse.emf.sdk
+
* org.eclipse.emf.emfqtv.all.sdk
+
* org.eclipse.emf.mwe.sdk
+
* org.eclipse.gmf.sdk
+
* org.eclipse.gmf.sdk.experimental
+
* org.eclipse.m2m.qvt.oml.sdk
+
* org.eclipse.ocl.all.sdk
+
* org.eclipse.uml2.sdk
+
* org.eclipse.uml2tools.sdk
+
* org.eclipse.xpand.sdk
+
* org.eclipse.emf.teneo.sdk
+
* org.eclipse.amalgam.dsltk
+
* org.eclipse.amalgam.examples.dsltk
+
  
'''Dependencies'''
 
* org.eclipse.sdk (platform + jdt + pde)
 
* org.eclipse.gef.sdk
 
  
'''Other'''
 
* org.eclipse.cvs
 
  
=== Modeler ===
+
To be part of the base platform a component should fulfill the following requirements&nbsp;:
The Modeler [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.amalgam/releng/org.eclipse.amalgam.releng/builder/modeler/modeler.product?root=Modeling_Project&view=co product definition] includes just the bare essentials to do traditional "modeling" (read: drawing pictures).  UML2 Tools and the STP BPMN modeler are the initial components, though more are expected to be added.  For example, the STP SCA diagram feature will be added when its JDT dependency is removed.  The lack of dependency on JDT and other large toolkits/frameworks is necessary to ensure a minimal download size.
+
  
'''Modeling Features'''
+
*a'''low UI profile '''(only a few actions, no perspectives..)
* org.eclipse.ocl.all
+
*'''small''' (including non-packaged dependencies)
* org.eclipse.emf.emfqtv.all
+
*being a complementary '''framework''' to EMF or a tool with a fairly small focus
* org.eclipse.gmf
+
*being already '''adopted''' by the community at large<br>
* org.eclipse.uml2tools.examples
+
*part of the '''simultaneous''' release and fulfilling all the''release train requirements''
* org.eclipse.amalgam.modeler
+
* org.eclipse.amalgam.examples.modeler
+
* org.eclipse.stp.bpmn.feature
+
  
'''Dependencies'''
 
* org.eclipse.platform
 
* org.eclipse.gef
 
  
'''Other'''
 
* org.eclipse.cvs
 
  
== Opting In ==
+
Your component will be removed from the base platform if&nbsp;:
Similar to the Eclipse [[Ganymede release train]] itself, Modeling projects and components will need to "opt-in" and satisfy a set of Must Do and Recommended elements. 
+
  
Before becoming part of an Amalgam package offering, projects/components '''must satisfy''' these items:
+
*there is '''no consumable builds'''
 +
*major integration issues are'''not addressed'''
  
{| class="wikitable" style="text-align:left"
+
==== Discovery ====
|-
+
! Item
+
! Rationale
+
|-
+
| Branding cleanliness
+
| As packages may form the basis of commercial products, they will need to be as "clean" as possible (feature/plug-in names, providers, legal documents, icons, etc.). This is also just good Eclipse citizenship.
+
|-
+
| Build regularity
+
| Frequent and reliable builds are absolutely essential to ensuring Amalgam builds go smoothly.  If a project is on the Eclipse simultaneous release train, it should be fine to include in Amalgam packages.
+
|-
+
| Clean dependencies
+
| When building packages, minimal and accurate dependency declaration is essential.  Projects that include feature or bundle dependencies that pull in unwanted or unnecessary elements will be excluded until cleaned up or repackaged.
+
|}
+
  
Additionally, it is '''recommended''' that projects/components satisfy the following items as well:
+
We are trying to ease discovery of modeling components through a discovery ui easing installation of those. The discovery is here to help you attract more users and get more feedback, as such it's as open as possible, If you want to be part of it, '''just''' ask through a bugzilla'''.'''
 +
The only requirement are
  
{| class="wikitable" style="text-align:left"
+
*being an Eclipse project and&nbsp;following the '''Eclipse Development Process'''
|-
+
*'''testing''' your contribution
! Item
+
! Rationale
+
|-
+
| Capability definition
+
| While Amalgam has defined some capabilities to hide some UI contributions, it would be better for each project to define its own.  Additionally, Amalgam has redefined some wizards and other UI contributions to give a more unified appearance and improve workflow, and therefore defined its own capabilities.
+
|}
+
  
== Reviews ==
 
In order to assess what is required from Amalgam in its mission to improve packaging, integration, and usability, a series of package reviews will be performed.  Reviews will lead to the creation of bugs to be assigned to either a Modeling project/component, or to the Amalgam project to improve integration and functionality offered by the package.  Below are the list of package milestone reviews completed to date:
 
  
* [[Modeling Ganymede M6 Review]]
 
* [[Modeling Ganymede M7 Review]]
 
  
[[Category:Modeling]]
+
 
[[Category:GMF]]
+
 
[[Category:MDD]]
+
Your component will be removed from the discovery UI if&nbsp;:
 +
 
 +
*its '''installation is failing'''
 +
*major integration issues are not adressed
 +
 
 +
<br>
 +
 
 +
Being part of the discovery one year doesn't mean you'll be part of it the year after, we'll just make sure to notify you.&nbsp;
 +
 
 +
 
 +
 
 +
== Reviews  ==
 +
 
 +
In order to assess what is required from Amalgam in its mission to improve packaging, integration, and usability, a series of package reviews will be performed. Reviews will lead to the creation of bugs to be assigned to either a Modeling project/component, or to the Amalgam project to improve integration and functionality offered by the package. Below are the list of package milestone reviews completed to date:
 +
 
 +
*[[Modeling Ganymede M6 Review]]
 +
*[[Modeling Ganymede M7 Review]]
 +
 
 +
[[Category:Modeling]] [[Category:GMF]] [[Category:MDD]]

Revision as of 12:09, 26 April 2010

The Modeling Amalgamation Project (just amalgam for short) will provide improved packaging, integration, and usability of Modeling project components.

Packages

Amalgam used to provide several packages dedicated to different profiles of users but is now focusing on providing one package easy to starts with and easy to extend.


Eclipse Modeling Package

The Eclipse Modeling Package is a base and sound platform one can rely on for development tasks leveraging the modeling technologies. The Package is focusing on EMF and its complementary frameworks and tools : we call that the "base platform". That said the modeling community is way more diverse than that and provides complete IDE's for dedicated langages. Those are provided through the discovery UI.

Base Platform

The base platform is a complete Eclipse SDK + Modeling Frameworks, it is intended ot be extended by components from the discovery UI. 

To ease adoption the base platform will be kept as small as possible and the whole package should not get bigger than 250Mb.


To be part of the base platform a component should fulfill the following requirements :

  • alow UI profile (only a few actions, no perspectives..)
  • small (including non-packaged dependencies)
  • being a complementary framework to EMF or a tool with a fairly small focus
  • being already adopted by the community at large
  • part of the simultaneous release and fulfilling all therelease train requirements


Your component will be removed from the base platform if :

  • there is no consumable builds
  • major integration issues arenot addressed

Discovery

We are trying to ease discovery of modeling components through a discovery ui easing installation of those. The discovery is here to help you attract more users and get more feedback, as such it's as open as possible, If you want to be part of it, just ask through a bugzilla. The only requirement are

  • being an Eclipse project and following the Eclipse Development Process
  • testing your contribution



Your component will be removed from the discovery UI if :

  • its installation is failing
  • major integration issues are not adressed


Being part of the discovery one year doesn't mean you'll be part of it the year after, we'll just make sure to notify you. 


Reviews

In order to assess what is required from Amalgam in its mission to improve packaging, integration, and usability, a series of package reviews will be performed. Reviews will lead to the creation of bugs to be assigned to either a Modeling project/component, or to the Amalgam project to improve integration and functionality offered by the package. Below are the list of package milestone reviews completed to date:

Back to the top