}}

Requirements

To use the plug-in you need:

Install MoDiscoWorkflow

Sources

You will find a version of this plug-in in the SVN repository.

Connection parameters to the SVN repository: MoDisco/SVN.

Here are deployment instructions :

Runtime

You could download it or use the update manager. See more ...

Dependencies errors

Because MoDisco Workflow has a driver mechanism to manage external components, each driver has a dependency to one handled component. To install a dedicated driver properly, the handled component shall have been installed. It is a reason why when you click on the "Install..." button, you can have dependency errors. In that case, you could install the missing packages at the origin of the errors or deselect the dedicated driver. Then restart the installation process.

640×599px
Example of dependencies errors

If you didn't have dependency errors, click on the "Finish" button. The installation of the MoDiscoWorkflow plug-in and its selected drivers is finished. Congratulations!

Build your MoDiscoWorkflow

The user interface of MoDiscoWorkflow

To reach the MoDiscoWorkflow plug-in user interface, you have to click on this button and then click on the “Run Configuration” menu.

503×375px
Main interface of MoDiscoWorkflow launch configuration

You can now build your MoDiscoWorkflow. Various properties are proposed to you:

Additional features of MoDiscoWorkflow

This component provides a simple workflow engine (only sequential, no parameters binding, etc.). However, it provides also an extension point to be able to plug other workflow engines, like MWE (Modeling Workflow Engine), even if the hmi doesn't reflect external features. It provides also export capabilities:

503×374px
Engine selection and export capabilities of MoDiscoWorkflow launch configuration

During an export of current workflow definition as a discoverer project, a plug-in project has been created in eclipse workspace and populated using available informations. It reproduces the behaviour of current workflow definition with discoverer capabilities (contextual menu, specific launch configuration, etc.). However, user still have to modify the plug-in project to be able to use generic parameters and not those statically defined in workflow. A complete example will come soon.

359×428px
An overview of plug-in project created from workflow informations.

Common tab

As other launch configurations, users are able to save these configuration as an external file, or configure usage ...

503×376px
Common tab of MoDiscoWorkflow launch configuration

Create a MoDiscoWork

After having clicked on the "New..." button, you must choose the type of workflow item you want to add. According to the installed drivers, you have more or less choice.

Choice of type for the workflow item

After choosing the type of MoDiscoWork, click on the "Next" button to configure your transformation. For the example, if we have chosen "Java Application", you can configure your MoDiscoWork of java type as you do usually in main dialog of launch configuration. Finally, the new configuration will be created and added in list of launch configurations and in current MoDisco workflow.

Edit a MoDiscoWork

To edit a MoDiscoWork, click on the “Edit…” button after selecting the desired MoDiscoWork. A new wizard opens to configure the selected MoDiscoWork as you do usually in main dialog of launch configuration.

Remove a MoDiscoWork

Remove a MoDiscoWork from the MoDiscoWorkflow

To remove a MoDiscoWork, you must select a MoDiscoWork in the MoDiscoWorkflow and click on the "Delete" button. A new window opens proposing these various choices:

Load a MoDiscoWork

Load a MoDiscoWork item from list of existing launch configurations

When you want to load a launcher (which is also a MoDisco workflow item) in the MoDiscoWorkflow, click on the "Load…" button. A new window opens proposing every launcher present in the launch configuration dialog which has a driver defined for the type of launcher. To add it in the workflow, select a launcher and click on the “Finish” button.

Run your MoDiscoWorkflow

When you finished building your MoDiscoWorkflow, click on the “Run” button. An error window opens if one or more MoDiscoWork are not valid. Every MoDiscoWork must be valid to run the MoDiscoWorkflow.

Add a driver in MoDiscoWorkflow for a type of launch configuration

"driver" extension point

"driver" extension point architecture

The MoDiscoWorkflow plug-in proposes an extension point named "driver". This extension point contains a "driverUI" part and an "execution" part. The "id" field is required. It allows binding both extension points.

"driverUI" part

This part defines:

"execution" part

This part defines:

Papyrus driver example

In this example, we are creating a new driver for launcher of papyrus. Follow these steps:

Driver Papyrus example ("driverUI" extension point)

Driver Papyrus example ("extension" extension point)


<source lang="java"> package org.eclipse.gmt.modisco.workflow.driver.papyrus.ui;

import java.util.List;

import org.eclipse.gmt.modisco.workflow.DriverInterface; import org.eclipse.gmt.modisco.workflow.driver.papyrus.Constant; import org.eclipse.gmt.modisco.workflow.ui.common.MoDiscoWorkParameter;

public class LaunchDriverPapyrus implements DriverInterface {

@Override public String getTypeLaunchConfig() { return "com.cea.papyrus.extensionpoints.transformation.launchConfigurationType"; } } </source>

The "com.cea.papyrus.extensionpoints.transformation.launchConfigurationType" string is the papyrus launcher type. The launcher type is present in the ".launch" file. This file is created during the creation of a new launcher of this type

<source lang="java"> package org.eclipse.gmt.modisco.workflow.driver.papyrus.execution;

import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.debug.core.ILaunch; import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; import org.eclipse.debug.core.ILaunchManager; import org.eclipse.gmt.modisco.workflow.ExecutionInterface; import com.cea.papyrus.extensionpoints.transformation.launch.LaunchTransformationDelegate;

public class TransformationExecute implements ExecutionInterface {

@Override public void launch(ILaunchConfigurationWorkingCopy configuration, ILaunch launch) { try { LaunchTransformationDelegate delegate = new LaunchTransformationDelegate(); delegate.launch(configuration,ILaunchManager.RUN_MODE, launch,new NullProgressMonitor()); } catch (CoreException e) { e.printStackTrace(); } } } </source>

It is necessary to use the delegate to execute the configuration.

Add a workflow engine in MoDiscoWorkflow

To extend capability of MoDiscoWorkflow, users are able to provide other workflow engines through extension point mechanism.

"engine" extension point

"engine" extension point definition

The MoDiscoWorkflow plug-in proposes an extension point named "engine". This extension point allows to connect any plug-in representing a type of workflow. It means a workflow engine, configured through "workflowExecution", and a workflow item defintion configured through "workflowCore" to bridge internal representation with MoDiscoWorkflow representation.

"workflowExecution" part

This part defines:

"workflowCore" part

This part defines:

Current limitations

Right now, it's not possible to bind the parameters between components. Furthermore, the workflow is executed in a sequential way.

Wishlist

Category:MoDisco

Updating This Document

This document is maintained in a collaborative wiki. If you wish to update or modify this document please visit http://wiki.eclipse.org/MoDisco/Components/Workflow/Documentation/0.8