Launching support for Sphinx Workflows
Up to now, Sphinx workflows could be launched by right-clicking workflow files or model elements/files in the Sphinx Model Explorer and using the ''Run Workflow...'' context menu item. However, this approach was limited in the sense that users always must navigate to the model element/file they wanted the workflow to operate on. They also had to reselect the workflow to be run each time anew, and it was not possible to specify and pass any additional arguments to the workflow. To address these issues, a new launch configuration type ''Sphinx Worklow'' has been introduced. It enables users to define, memorize and invoke recurrent combinations of workflow, model element/file and optionally additional workflow arguments. These launch configurations can be invoked through the usual Eclipse menus and toolbar buttons as any other launch configuration. Alternatively, they can be invoked on the command line. Therefore, a headless launcher application has been made available that enables launch files behind Sphinx Workflow or any other launch configuration to be invoked in non-interactive batch processes.
Simplification in applying Viatra Query-based Sphinx features to user-defined metamodels
Sphinx comes with Viatra Query-backed model search and proxy resolution services. In order to use them for a given metamodel, users had to complement them with self-written (or generated) and quite repetitive Viatra Query patterns covering all relevant element types of the metamodel in question. However, the functionality behind those Viatra Query patterns can also be obtained by using the Viatra Query Base Index (which is also used by the Viatra Query engine). Therefore, the Viatra Query integration in Sphinx as well as model search and proxy resolution implementations based on it have been completely refactored. The formerly used metamodel-specific Viatra Query patterns have been replaced by corresponding generic implementations leveraging the Viatra Query Base Index. As a result, users don't need to provide any metamodel-specific Viatra Query patterns at all now. They can benfit of the Viatra Query-backed Sphinx services for any metamodel by simply using the Sphinx-provided out-of-the box service implementations instead. This greatly reduces the complexity and effort behind the application and use of Viatra Query-backed Sphinx services to user-defined metamodels.