A Graphical Workflow Editor for Tool Integration in the Design And
Total Page:16
File Type:pdf, Size:1020Kb
A Graphical Workflow Editor for Tool Integration in the Design and Analysis of Gas Turbines Jasvir Kaur Dhaliwal A thesis submitted to McGill University in partial fulfillment of the requirements of the degree of MASTER OF SCIENCE The faculty of Electrical and Computer Engineering McGill University Montreal April 2020 c Jasvir Kaur Dhaliwal 2020 Abstract The development of complex cyber-physical systems such as aeroderivative gas turbines (AGT) frequently involves running variety of multi-disciplinary design and analysis tools executed along hierarchical workflows in a collaborative environment. The efficient and accurate definition of tool integration workflows is a major challenge because the processing of data for each tool in the sequence is dependent upon the results generated by the other tool. In this thesis, I present a graphical workflow editor to provide an interactive, intuitive and user- friendly tool to define complex tool integration workflows. The workflow editor builds on several innovative ideas: (1) instead of a static palette, reusable workflow elements can be selected and instantiated from a dynamic library of model classes, which is continuously synchronized with a version control system, (2) workflow elements are placed on a grid layout similar to UML swimlanes but with dynamically expandable columns and rows, (3) auto-wiring is provided to draw connections between type compatible workflow elements. The workflow editor is developed using popular model-based tool development platforms such as Eclipse Modeling Framework (EMF) for the definition of concepts of the domain specific language, Graphical Modeling Framework (GMF) and Sirius for the development of graphical modeling work- bench. For the model-to-text transformation, VIATRA framework is used which provides a graph pattern based query language and an efficient incremental query engine. The performance and scalability of Graphical Workflow Editor is supported by early experi- mental results discussed in this thesis. The results indicate that the time taken for the workflow definition remains within acceptable limits even for the larger and complex workflow models. A user study is also included to provide a general feedback about the features of graphical workflow editor. ii R´esum´e Le d´eveloppement de syst`emes physico-num´eriquescomplexes tels que les turbines `agaz a´ero- d´eriv´ees(TGA) implique tr`essouvent l'utilisation d'une diversit´ed'outils multidisciplinaires pour la conception et l'analyse, ex´ecut´esau travers de flux de travaux hi´erarchis´esdans un environnement collaboratif. La d´efinitionde l'int´egrationdes outils dans les flux de travaux se doit d'^etreefficace et pr´ecise. Elle repr´esente un des enjeux majeurs car le traitement des donn´eesde chaque outil dans la s´equenceest d´ependant des r´esultatsg´en´er´espar les autres outils. Dans ce m´emoire,je pr´esente un ´editeur graphique de flux de travaux qui offre un outil interac- tif, intuitif et avec une interface conviviale permettant de d´efinirl'int´egrationdes flux de travaux d'outils complexes. L'´editeurde flux de travaux est construit sur plusieurs id´eesinnovantes : (1) plut^otque d'utiliser une palette statique, des ´el´ements r´eutilisablesde flux de travaux peuvent ^etre s´electionn´eset instanci´esdepuis une librairie dynamique de mod`elesde classes, qui est continuelle- ment synchronis´eeavec un syst`emede contr^olede version, (2) les ´el´ements de flux de travaux sont plac´esdans une grille dont le nombre de colonnes et de lignes se modifie dynamiquement similaire aux couloirs UML, (3) l'´ecritureautomatique permet de dessiner les connexions entre les types d'´el´ements de flux de travaux compatibles. L'´editeurde flux de travail est d´evelopp´egr^ace`ades plateformes de d´eveloppement d'outils bas´essur les mod`elestels que Eclipse Modeling Framework (EMF) pour la d´efinitiondes concepts li´eesau langage sp´ecifiqueaux domaines, Graphical Modelling Framework (GMF) et Sirius pour le d´eveloppement de l'´etablide mod´elisationgraphique. Pour la transformation du mod`elevers le texte, la structure VIATRA est utilis´ee,ce qui procure un langage de requ^etebas´esur des mod`eles graphiques et un moteur incr´emental de requ^etesefficace. Les performances et la mise `al'´echelle de l'´editeurde flux de travaux est appuy´epar les r´esultatsexp´erimentaux pr´eliminairesdiscut´esdans ce m´emoire.Les r´esultatsprouvent que le temps moyen de d´efinitiond'un flux de travail reste dans les limites acceptables m^emepour les mod`elesde flux de travaux plus grands et plus complexes. Une ´etudeaupr`esdes utilisateurs est ´egalement incluse afin de donner un retour sur les diff´erentes fonctionnalit´espropos´eespar l'´editeurgraphique de flux de travaux. iii Table of Contents Abstract .............................................. ii R´esum´e ............................................... iii Table of Contents ......................................... iv List of Tables ........................................... vii List of Figures ........................................... viii Acknowledgements ........................................x 1 Introduction ..........................................1 1.1 Context and Motivation . .1 1.2 Contribution and Methodology . .2 1.3 Thesis Organization . .3 2 Industrial Background and Motivation .........................4 2.1 Introduction to Gas Turbines . .4 2.2 Design and Analysis of Aeroderivative Gas Turbines . .6 2.2.1 High-Level Design Workflow . .6 2.2.2 Hierarchical Workflows for Tool Integration . .8 2.2.3 Low-level Workflows . .8 2.2.4 Workflow Definition Practice for AGT at Siemens . 10 2.3 Summary . 11 3 Overview of Technologies .................................. 12 3.1 Domain-Specific Languages . 12 3.1.1 Models in Software and Systems Engineering . 12 iv Table of Contents 3.1.2 Foundations of Domain-Specific Languages . 13 3.1.3 Abstract Syntax . 14 3.1.4 Concrete Syntax . 19 3.1.5 Model representation formats . 21 3.2 Well-formedness Constraints and Model Transformations . 22 3.2.1 Constraint languages . 23 3.2.2 Model transformation techniques . 26 3.3 Version Control Systems . 30 3.3.1 Centralized Version Control Systems . 30 3.3.2 Distributed Version Control Systems (Git) . 32 3.4 Summary . 33 4 Graphical Editor for Tool Integration ......................... 34 4.1 Architecture of Graphical Workflow Editor . 35 4.2 User-Friendly Dashboard . 36 4.3 Interactive Wizards for Workflow Configuration . 37 4.4 Dynamic Palette . 38 4.5 Dynamic Grid Layout . 39 4.6 Auto-wiring of Workflow Elements . 39 4.7 Dynamic Workflow Library for Re-usability . 42 4.7.1 Save workflow . 43 4.7.2 Reusable workflow . 44 4.8 Summary . 44 5 Feature Implementation for Graphical Editor ..................... 45 5.1 Domain Specific Language . 45 5.1.1 Metamodel . 45 5.1.2 Java Code Generation . 47 5.1.3 Graphical Representation for DSL: Sirius . 47 5.2 Graphical Representation of Workflow Elements . 49 5.3 Setup of Dynamic Workflow Library for Reusability . 51 5.4 Setup of Dynamic Grid Layout . 52 5.5 Setup of Dynamic Palette . 54 v Table of Contents 5.6 Implementation of Auto-wiring . 54 5.7 Implementation of Workflow Definition File Generation . 57 5.7.1 Query Development Environment . 57 5.8 Summary . 59 6 Evaluation ........................................... 60 6.1 Performance Study . 60 6.1.1 Evaluation of RQ1 . 61 6.1.2 Evaluation of RQ2 . 63 6.2 Initial User Study . 64 6.3 Summary . 65 7 Related Work ......................................... 66 7.1 Business Process Modeling Workflows . 66 7.1.1 Business Process Model and Notation (BPMN) . 66 7.1.2 Java Business Process Model (jBPM) . 68 7.1.3 GWE vs BPMN and jBPM . 69 7.2 Workflows for Data Analytics . 69 7.2.1 Konstanz Information Miner (KNIME) . 69 7.2.2 RapidMiner . 70 7.2.3 GWE vs KNIME and RapidMiner . 71 7.3 Tool Integration Workflows for CPSs . 71 7.3.1 OpenMETA . 71 7.3.2 Advanced Data management tools for the engineering of CPS : AIDE . 72 7.3.3 GWE vs OpenMeta and AIDE . 73 7.4 Summary . 73 8 Conclusion and Future Work ............................... 74 8.1 Conclusions . 74 8.2 Future Work . 75 Bibliography ............................................ 76 vi List of Tables 6.1 Experiment results for creating 100 workflow elements (10 times): the total time taken for auto-wiring, overall I/O connection for these elements . 62 6.2 Experiment results for varying level of complexity and total time taken for auto-wiring 64 6.3 Aggregated results of user satisfaction survey for Graphical Workflow Editor (1: Strongly disagree, 2: disagree, 3: neutral, 4: agree, 5: strongly agree) . 65 vii List of Figures 2.1 Gas Turbine Engine [59] . .5 2.2 High-level Gas Turbine Design Workflow . .7 2.3 Low-level Gas Turbine Design Workflow Structure . .9 2.4 An overview of Performance Workflow at Siemens AGT . .9 2.5 An overview of SAS Analysis Workflow at Siemens AGT . 10 3.1 An overview of modeling language infrastructure . 16 3.2 Abstract syntax representation of modeling language . 17 3.3 EMF binds Java, XML and UML . 18 3.4 Abstract vs Concrete Syntax . 19 3.5 A sample Sirius diagram (created using the Graphical Workflow Editor) . 21 3.6 A sample of VIATRA query Pattern . 23 3.7 An example of VQL Constraint for validation . 24 3.8 Overview of runtime components of VIATRA Query [23] . 27 3.9 A sample of Java Transformation based on VIATRA Query API . 27 3.10 An overview of Acceleo transformation architecture [15] . 28 3.11 An overview of Centralized Version Control System [41] . 31 3.12 An overview of Distributed Version Control System [41] . 33 4.1 An overview of a Graphical Workflow Editor architecture . 35 4.2 Dashboard view of graphical workflow editor . 36 4.3 Create new workflow wizard: Page 1.