Eclipse Triquetrum 0.1.0 Release Review

Type: 
Release
State: 
Successful
End Date of the Review Period: 

Reviews run for a minimum of one week. The outcome of the review is decided on this date. This is the last day to make comments or ask questions about this review.

Wednesday, October 5, 2016
Release: 

Eclipse Triquetrum 0.1.0

Description: 

This is the first Triquetrum release, the main goals are :

  • to integrate Ptolemy II in an Eclipse/OSGi solution stack.
  • to select and integrate the primary technical frameworks from the Eclipse Foundation to build a workflow runtime and RCP editor
  • to utilize the Eclipse project framework for releases. 

This release includes Ptolemy II dependencies packaged as OSGi bundles that have passed IP review and may be included in Eclipse projects.  The release also includes workflow service APIs and implementations, prototypes of an interface to C-based Python executables, a prototype of a task-based processing model and a prototype of an RCP block diagram editor for models.

API Certification: 

The project leadership certifies that the APIs in this release are "Eclipse Quality".

Architectural Issues: 

This is the first Triquetrum release as an Eclipse project. 

This release defines the core APIs and demonstrates the goals of the 3 lines of work of Triquetrum :

  • The task-based processing model provides a first iteration of the core APIs and some examples, e.g. of a basic integration in a workflow actor. This is a Triquetrum subsystem that is designed to be reusable independently of the workflows as well. It can easily be integrated in other process-oriented applications to decompose processes in sequences of traceable steps, including support for concurrent and asynchronous work.
  • The workflow subsystem is the core of Triquetrum, exploiting Ptolemy II's actor-based models of computation.
    Ptolemy II has a history as an "engine" for workflow systems, e.g. in the Kepler Scientific Workflow System, DAWN and Passerelle. Triquetrum's RCP workflow editor is in a prototype stage however, to demonstrate our ideas and selected underlying frameworks and to gather feedback from the initial friendly users.
  • For the third line of work, about adapters to integrate with external systems and other technical services, we demonstrate integration options to run C-Python scripts. APIs and implementations to integrate with computing grids are planned for the next release.

A lot of effort has been in handling IP issues.

Triquetrum is exploiting OSGi to provide actor libraries. Ptolemy II has a large collection of actor implementations that we would like to gradually add to Triquetrum. There are potential issues if a user wants to add an actor that is in the same Java package as an actor already in a OSGi bundle.  We believe that we have a strategy for that would use subclass BundleActivator and possible use a MoML filter. See Need a way for OSGi bundles to add MoML filters. This work would be fleshed out in a future release.

 

Non-Code Aspects: 

The bulk of the documentation is on the Triquetrum wiki, which includes an example of how to extend the system.

The documentation has been updated, though another review and updating screenshots will occur after the code freeze and before the release.

Usability Details: 

See Review the UI Guidelines and Checklist.

The RCP workflow editor is based on some proven Eclipse frameworks : mainly Graphiti, EMF and EMF Forms. As such most usability features are "inherited" from there and conform to expectations and guidelines.

There are however a number of remaining deviations/gaps that we deem not blocking for this first release but will be prioritized in a next release, together with feedback obtained from the initial users.

Here are the missing items (referring to the guideline numbers) :

  • 1.7 : no localized resources yet for our own labels and content
  • 1.9 : error handling is not yet complete. Most errors get logged via plain logging, but no user notification dialogs yet nor integration with Eclipse logging view.
  • 2.8 : icon types follow what is supported in Graphiti. No strict rules yet about SVG icons in Graphiti context bar and other diagram icons can be of different types (i.e. are mostly gifs or SVG, not always png)
  • 2.17 : folder/subfolder structure not followed. The very limited nr of icons/images is maintained in one simple folder
  • 6.21 : editor & outline are not yet linked, but via the graphical outline one can already quickly jump to a selected position in the diagram
  • 6.22 : error/status info not yet shown in the outline
  • 7.12 : link between editor tab and package/project explorer selection not yet implemented
  • 8 : there is no custom perspective yet

 

Communities: 

The Triquetrum project currently consists of two primary developers, though we have received contributions from other developers. 

We use the triquetrum-dev mailing list and Github Issues to provide support and communicate with our three communities.

This first Triquetrum release is part of the Eclipse Science Working Group. Eclipse Science 2016 Release.

Triquetrum uses Ptolemy II as its execution engine. We see Triquetrum as a possible successor to Ptolemy II.

The Kepler Scientific Workflow System also uses Ptolemy II as its execution engine. Kepler uses a custom module system, it is our hope that Triquetrum could provide a COTS OSGi-based module system for future versions of Kepler.