AutomationML Generator

Figure 1


Figure 2


Figure 3


We extended the modeling editor for ManLang with a model transformation tool whose purpose is to transform the multiple-viewpoint models in AutomationML. By doing so, it is possible to exchange the models between different tools that can process any model in the AutomationML format.

To develop the model transformation tool, we used the Metaedit+ meta-modeling tool with which the modeling editor has been developed. Using Metaedit+’s model transformation development framework called MERL[1], we coded the translation algorithms in a way that Metaedit+ can understand. As shown Figure 1, we used the MERL editor provided by Metaedit+ and developed the generator using the templates provided by MERL. We essentially developed a sub-generator for each viewpoint supported by ManLang and that is responsible for generating the AutomationML code from a model corresponding to that viewpoint. Therein, we used the MERL templates to describe what maps to the viewpoint concepts in AutomationML. With sub-generators, we intended to facilitate the maintenance of the generator code and its understandability. The sub-generators are operated by the main generator in order whenever the user clicks to run the generator via the modeling editor. As depicted in Figure 2, users may click the “toAML” button on the modeling editor, which runs the main generator to transform the multiple-viewpoints model specified on the editor in AutomationML automatically. Whenever the “toAML” button is clicked, a dialog box appears that displays where the generated AutomationML file is located. Also, users may click on the “Run Output” button via the dialog box, which directly opens the AutomationML Editor to display the generated AutomationML model as depicted in Figure 3.


[1] Metaedit+’s MERL website: https://www.metacase.com/support/45/manuals/mwb/Mw.html