To use the plug-in you need:
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 :
You could download it or use the update manager. See more ...
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.
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!
To reach the MoDiscoWorkflow plug-in user interface, you have to click on this button
and then click on the “Run Configuration” menu.
You can now build your MoDiscoWorkflow. Various properties are proposed to you:
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:
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.
As other launch configurations, users are able to save these configuration as an external file, or configure usage ...
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.
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.
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.
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:
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.
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.
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.
This part defines:
This part defines:
In this example, we are creating a new driver for launcher of papyrus. Follow these steps:
<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.
To extend capability of MoDiscoWorkflow, users are able to provide other workflow engines through extension point mechanism.
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.
This part defines:
This part defines:
Right now, it's not possible to bind the parameters between components. Furthermore, the workflow is executed in a sequential way.
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