The Modeling Amalgamation Project (just amalgam for short) will provide improved packaging, integration, and usability of Modeling project components.
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
Currently, this package includes the following features (including their dependencies). The EPP configuration file can be viewed here
- org.eclipse.sdk (platform + jdt + pde + cvs)
- org.eclipse.epp.usagedata.feature (an obligatory aspect of the packaging project)
While the Eclipse Modeling Tools package from EPP aims to deliver an all-in-one package for Modeling technology, the DSL Toolkit is a product definition based offering that includes just elements for a Toolsmith. Initially, it will include the following:
- org.eclipse.sdk (platform + jdt + pde)
The Modeler 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.
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:
|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:
|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.|
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: