Eclipse Sphinx™ provides a modeling tool platform for Eclipse that eases the development of IDE-like tool support for modeling languages used in software and systems development.
- Workspace Management: This component is built on EMF, EMF Transaction, and Eclipse Platform. It provides services for managing the lifecycle and editing domains of model instances that need to be centrally provided and shared in the workspace of Sphinx-based modeling tool applications. Included features are:
- Mapping of workspace resources to editing domains;
- Thread-safe loading, reloading, and unloading of shared model instances;
- Management of dirty state and thread-safe saving of shared model instances;
- Automatic synchronization of shared model instances with changes on workspace resources.
- Navigator View and Editor Sockets: This component is built on EMF, EMF Transaction, Eclipse Common Navigator Framework, Eclipse UI Forms, and GMF (later on also Graphiti, see Future components). It provides common logic for creating explorer views, form editors, and graphical editors operating on shared model instances in Sphinx-based modeling tool applications. Included features are:
- Thread-safe operation on shared model instances in the workspace rather than on individually loaded resources;
- Dirty state indication (asterisk on view/editor tab) and save button enablement according to dirty state of underlying shared model instance;
- View/editor-relative undo/redo context management for operations on model elements and workspace resources;
- Model-oriented editor behavior, i.e., rather than always having to open a complete resource containing model elements in an editor, editors can be opened on individual model elements coming from the same or different resource;
- "Link with Editor" capability, "Show In" capability, drag & drop, and view state saving and restoration for model elements in explorer views;
- Advanced filter capabilities for model elements, Properties view content , and palettes in graphical editors;
- Advanced graphical editor support (multi-editor and multi-diagram support, palette customization, preferences);
- Support for creating links between model elements from different modeling languages.
- Validation Runtime Extensions: This component is built on EMF, EMF Transaction, EMF Validation, and Eclipse Platform. It provides extended runtime-level services for validating models or model fragments in Sphinx-based modeling tool applications and visualizing validation results. Included features are:
- Manual (on-demand) and automatic (on-the-fly) validation;
- Validation problem marker management;
- Model-oriented Validation view (alias Problems view);
- Validation label decorator for model explorer view.
- Compare & Merge Integration: This component is built on EMF, EMF Transaction, EMF Compare, and Eclipse Compare Support. It provides extensions enabling model-based compare/merge operations to be carried out on shared model instances in Sphinx-based modeling tool applications. Included features are:
- Thread-safe operation on shared model instances in the workspace rather than on individually loaded resources;
- Thread-safe automatic merge operations;
- Comparison/merge of individual model elements or fragments (instead of complete resources only);
- Model-oriented dirty state management and editor-relative undo/redo contexts.
- EMF Runtime & Eclipse Platform Extensions: This component is built on EMF, EMF Transaction, and Eclipse Platform. It provides common runtime-level enhancements such as description of meta-models, description of shared model instances including their scopes, meta-model compatibility services, as well as a couple of performance optimizations and utilities. They are used by all other Sphinx platform components and are also available to Sphinx-based modeling tool applications.
The content of this open source project is received and distributed under the license(s) listed above. Some source code and binaries may be distributed under different terms. Specific license information is provided in file headers and in NOTICE files distributed with the project's binaries.
Member companies supporting this project over the last three months.