123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195 |
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-
- <title>Workflows — AToMPM 0.6 documentation</title>
-
- <link rel="stylesheet" href="_static/classic.css" type="text/css" />
- <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
- <link rel="stylesheet" href="_static/mystyle.css" type="text/css" />
-
- <script type="text/javascript">
- var DOCUMENTATION_OPTIONS = {
- URL_ROOT: './',
- VERSION: '0.6',
- COLLAPSE_INDEX: false,
- FILE_SUFFIX: '.html',
- HAS_SOURCE: true
- };
- </script>
- <script type="text/javascript" src="_static/jquery.js"></script>
- <script type="text/javascript" src="_static/underscore.js"></script>
- <script type="text/javascript" src="_static/doctools.js"></script>
- <link rel="top" title="AToMPM 0.6 documentation" href="index.html" />
- <link rel="prev" title="Troubleshooting" href="troubleshooting.html" />
- </head>
- <body role="document">
- <div class="related" role="navigation" aria-label="related navigation">
- <h3>Navigation</h3>
- <ul>
- <li class="right" style="margin-right: 10px">
- <a href="genindex.html" title="General Index"
- accesskey="I">index</a></li>
- <li class="right" >
- <a href="troubleshooting.html" title="Troubleshooting"
- accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">AToMPM 0.6 documentation</a> »</li>
- </ul>
- </div>
- <div class="document">
- <div class="documentwrapper">
- <div class="bodywrapper">
- <div class="body" role="main">
-
- <div class="section" id="workflows">
- <span id="id1"></span><h1>Workflows<a class="headerlink" href="#workflows" title="Permalink to this headline">¶</a></h1>
- <p>A Workflow is MDE-based solution where the user defines a “workflow” that can be parametrized at run-time and executed. This Workflow is a DSL for defining activities that can be performed in MDE tools. In the next subsections, we explain how to create and use these elements.</p>
- <p>An activity is composed of tasks, to define concrete actions to be performed. we want to automate user’s activities as much as possible, therefore most of the tasks are automatic: they do not require human interaction. For example, loading a formalism to create a metamodel is a task that can be automated, since the location of that formalism is known.</p>
- <img alt="_images/activities.png" src="_images/activities.png" />
- <p>An activity conforming to the metamodel starts from the initial node and terminates at the final node. Tasks can be sequenced one after the other.</p>
- <div class="section" id="using-workflows">
- <h2>Using Workflows<a class="headerlink" href="#using-workflows" title="Permalink to this headline">¶</a></h2>
- <p>Using a workflow is easy, and requires you to make use of the <em>Workflow</em> toolbar:</p>
- <img alt="_images/workflows_toolbar.png" src="_images/workflows_toolbar.png" />
- <p>You must perform each of the following activities:</p>
- <ol class="arabic simple">
- <li>Selects which workflow you desire to enact.</li>
- <li>Set the run-time parameters.</li>
- <li>Execute the workflow</li>
- </ol>
- </div>
- <div class="section" id="opening-the-workflow">
- <h2>Opening the workflow<a class="headerlink" href="#opening-the-workflow" title="Permalink to this headline">¶</a></h2>
- <p>To open a Workflow, press the fifth button of the <em>MainMenu</em> toolbar <a class="reference internal" href="overview.html#overview"><span class="std std-ref">Overview</span></a>. Opening a templeate model replaces the currently opened model, if any. If there are any unsaved changes in the currently opened model, you will receive a warning.</p>
- <ul class="simple">
- <li>Click on Open Model button <a class="reference internal" href="overview.html#overview"><span class="std std-ref">Overview</span></a></li>
- <li>Select <em>Formalism/Workflows/Templates…</em></li>
- <li>Select the file.</li>
- <li>Click on Ok button</li>
- </ul>
- <img alt="_images/templates.png" src="_images/templates.png" />
- </div>
- <div class="section" id="setting-the-run-time-parameters">
- <h2>Setting the run-time parameters<a class="headerlink" href="#setting-the-run-time-parameters" title="Permalink to this headline">¶</a></h2>
- <p>A prerequisite to execute a workflow is to set the run-time parameters. To do this, the user pushes the <em>LoadParameters</em> button, the first button on the <em>Workflow</em> toolbar . This creates an instance of the parameter object and pops up a dialog prompting for all required parameters. Write these parameters and push the ok button.</p>
- <img alt="_images/parameters.png" src="_images/parameters.png" />
- <div class="admonition note">
- <p class="first admonition-title">Note</p>
- <p class="last">Each parameter must be typed without extension. For example, the class diagram toolbar location is: “/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons.metamodel”, then we should type: “/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.uml”, where Icons.metamodel was predefined by the designer of this template.</p>
- </div>
- </div>
- <div class="section" id="execute-the-workflow">
- <h2>Execute the workflow<a class="headerlink" href="#execute-the-workflow" title="Permalink to this headline">¶</a></h2>
- <p>Click on the <em>Resume Process</em> button, the second button on the <em>Workflow</em> toolbar. This executes the worklow autonomously. When a manual task is reached, a new AToMPM window is opened with all necessary toolbars pre-loaded.
- A message describing the manual task to perform is displayed to the user and the simulation stops.
- After the user has completed the task, the user pushes the third button (<em>CompleteTask</em> button) . Then, the window closes and the simulation restarts.</p>
- </div>
- <div class="section" id="dependency">
- <h2>Dependency<a class="headerlink" href="#dependency" title="Permalink to this headline">¶</a></h2>
- <p>Workflow parameters are specified once per workflow; however, run-time parameters must be manually specified each time the workflow is executed. Therefore, a <em>Dependency</em> link can be specified between different tasks that share the same run-time parameters.</p>
- <p>A dependency link specifies which attribute from the target task gets its value from an attribute in the source task. For example, the location of the <a href="#id2"><span class="problematic" id="id3">*</span></a>SaveModel task is the same as the location of the texttt{OpenModel}when saving a model we just opened and modified.</p>
- </div>
- <div class="section" id="example-workflow-for-creating-a-dsl">
- <h2>Example Workflow for Creating a DSL<a class="headerlink" href="#example-workflow-for-creating-a-dsl" title="Permalink to this headline">¶</a></h2>
- <img alt="_images/create_dsl.png" src="_images/create_dsl.png" />
- <p>The image shows the workflow that specifies how to create a DSL and generate a modeling environment for it in AToMPM.
- The first task is <em>LoadToolbar</em>.
- Its location parameter is already predefined with the class diagram toolbar, since this is the standard formalism with which one creates a metamodel in AToMPM.
- The following task is <em>EditModel</em>.
- In this manual task, the user creates the metamodel of the DSL using class diagrams.</p>
- <img alt="_images/create_as.png" src="_images/create_as.png" />
- <p>Once this is complete, the workflow restarts executing from that task and proceeds with <em>SaveModel</em>.
- This task requires a run-time parameter to specify the location of where the metamodel is saved.
- The user sets the value in the popup dialog wizard.</p>
- <img alt="_images/create_dsl_parameters.png" src="_images/create_dsl_parameters.png" />
- <p>Now that the metamodel is created, a fork node proposes two flows: one for creating the concrete syntax of the DSL and one to generate the abstract syntax from the metamodel.
- Recall that the simulation chooses one flow and then the other in no specific order.
- Suppose the former flow is chosen.
- Then, a <em>LoadToolbar</em> task is executed to load the concrete syntax toolbar, the standard formalism in AToMPM.
- This is followed by an <em>EditModel</em> so the user can manually create the shapes of each element of the metamodel.
- Once this is complete, the workflow restarts and proceeds with a <em>SaveModel</em> task.
- Recall that the location is a run-time parameter to save the concerte syntax model with a predefined extension.
- The following task in this flow is <em>GenerateCS</em>.</p>
- <img alt="_images/create_cs.png" src="_images/create_cs.png" />
- <p>It takes as run-time parameter the location of where the generated artifact must be output.
- Specifically, the name used will be also the name of the toolbar that will be used to create a model with this DSL.
- Therefore, the location of the generated concrete syntax is the same as the location of the concrete syntax model the user created manually.
- The dependency link prevents the user from having to duplicate parameter values in the pop-up wizard.
- When the join node is reached, the simulation notices that the second flow was not executed yet.
- Therefore the next task to be executed is <em>GenerateAS</em>.
- Its location parameter uses the same value of the location attribute of <em>SaveModel</em>, as depicted by the dependency link between these two tasks.
- When the join node is reached again, this time all flows were executed and proceeds with the final task <em>LoadToolbar</em>.</p>
- <img alt="_images/create_model.png" src="_images/create_model.png" />
- <p>As stated before, its location parameter use the same value of the location attribute of previous <em>SaveModel</em> domain-specific model.
- The simulation ends on a new window open with the new DSL loaded, ready for the user to create his domain-specific model.</p>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
- <div class="sphinxsidebarwrapper">
- <h3><a href="index.html">Table Of Contents</a></h3>
- <ul>
- <li><a class="reference internal" href="#">Workflows</a><ul>
- <li><a class="reference internal" href="#using-workflows">Using Workflows</a></li>
- <li><a class="reference internal" href="#opening-the-workflow">Opening the workflow</a></li>
- <li><a class="reference internal" href="#setting-the-run-time-parameters">Setting the run-time parameters</a></li>
- <li><a class="reference internal" href="#execute-the-workflow">Execute the workflow</a></li>
- <li><a class="reference internal" href="#dependency">Dependency</a></li>
- <li><a class="reference internal" href="#example-workflow-for-creating-a-dsl">Example Workflow for Creating a DSL</a></li>
- </ul>
- </li>
- </ul>
- <h4>Previous topic</h4>
- <p class="topless"><a href="troubleshooting.html"
- title="previous chapter">Troubleshooting</a></p>
- <div role="note" aria-label="source link">
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="_sources/workflows.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
- </div>
- <div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
- <form class="search" action="search.html" method="get">
- <div><input type="text" name="q" /></div>
- <div><input type="submit" value="Go" /></div>
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
- </form>
- </div>
- <script type="text/javascript">$('#searchbox').show(0);</script>
- </div>
- </div>
- <div class="clearer"></div>
- </div>
- <div class="related" role="navigation" aria-label="related navigation">
- <h3>Navigation</h3>
- <ul>
- <li class="right" style="margin-right: 10px">
- <a href="genindex.html" title="General Index"
- >index</a></li>
- <li class="right" >
- <a href="troubleshooting.html" title="Troubleshooting"
- >previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">AToMPM 0.6 documentation</a> »</li>
- </ul>
- </div>
- <div class="footer" role="contentinfo">
- © Copyright 2016, Eugene Syriani, Hans Vangheluwe, Raphael Mannadiar, Conner Hansen, Simon Van Mierlo, Huseyin Ergin, Jonathan Corley.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.4.5.
- </div>
- </body>
- </html>
|