Eclipse Sphinx 0.9.0

0.9.0

Description

The Sphinx 0.9.0 release is focused on some functional enhancements as well as on bug fixes.

The most prominent functional enhancements include:

Dynamic workflows

A capability to perform dynamic scripting on models using Java or Xtend as programming language and MWE worflows as execution containers.

Check validation

A very lightweight approach to model validation by just writing Java or Xtend code and providing all extra information (constraint descriptions, error messages and severities, etc.) if needed through Java annotations and/or a centralizable check catalog.

EMF Compare 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.

Model query and index-based proxy resolution support (EMF IncQuery)

An integration of the very powerful EMF-IncQuery framework into Sphinx to support fast queries on big models and fast index-based resolution of proxy objects representing cross-document references.

Model search capability

A model search capability that is based on previously mentioned EMF-IncQuery integration and fully integrated with the Eclipse Search UI. It enables users to search for model elements with a given name or name pattern, displays all matches in the Search result view and enables users to navigate from any match to corresponding model element in model explorer views and model editors.

Reference view

Provides a view allowing navigating through the EMF cross reference elements from selected input objects.

Documentation view

Provides a view to show any additional documentation, e.g., EMF metadata documentation, from selected input object. It collects the data to be displaying through various extension points.

Architectural Issues

Sphinx is extensible through several dedicated extension points and allows adopters to override, enhance or customize close all of its out-of-the-box services through numerous overriding points (protected methods).

Sphinx still has some architectural issues entailing that the usage of its core plug-ins/feaures pulls in quite some additional dependencies. In particular, in addition to EMF, Sphinx "forces" adapters to use also Eclipse Platform and EMF Transaction. To overcome this problematic and facilitate the adoption of Sphinx in situations where the usage of additional dependencies other than EMF is not acceptable (e.g., Java standalone applications), a refactoring of the Sphinx architecture will have to be conducted. Some preparatory activities in that direction have already been started, and the plan is to get this architecture refactoring done and to come up with well-organized dependencies and a incrementally consumable plug-in/feature set until the next release of Sphinx.

Security Issues

None.

Non-Code Aspects

Examples have been updated and kept in sync with the changes and enhancements that have been realized in the related Sphinx components and services.

Usability Details

No significant changes.

End of Life

None.

Standards

The customizable XML serialization for EMF models that is adjustable through XML persistence mapping annotations on the underlying Ecore metamodel is based on the Extensible Markup Language (XML) 1.0 [1].

The newly introduced XSD schema generator for Ecore metamodels that can be controlled through XML persistence mapping annotations is based on the W3C XML Schema Definition Language (XSD) 1.1 [2], [3].

[1] http://www.w3.org/TR/xml

[2] http://www.w3.org/TR/2012/REC-xmlschema11-1-20120405

[3] http://www.w3.org/TR/2012/REC-xmlschema11-2-20120405

Communities

Sphinx is still primarily used in - though in no way limited to - the automotive industry [1]. The Eclipse IDE for automotive software developers package [6] includes Sphinx. While mainly having been used indirectly through Artop [2] (an Sphinx-based tool platform supporting the development of design tools for the AUTOSAR standard [3]) in its beginnings, Sphinx now is more and more also used for developing integrated tool support around arbitrary metamodels in different automotive and non-automotive projects and applications.

An important adoption of Sphinx has been made by the recently started EATOP project [4]. It provides to tool platform supporting the development of design tools for the EAST-ADL standard [5] and is entirely based on Sphinx.

Two new committers have joined the Sphinx project in this release cycle: Yue Ma, and Mark Brörkens.

[1] https://wiki.eclipse.org/Auto_IWG

[2] https://www.artop.org

[3] http://www.autosar.org

[4] http://eclipse.org/eatop

[5] http://www.east-adl.info

[6] https://eclipse.org/downloads/packages/

This release is part of Mars