Towards Debugging Facilities for Graphical Modeling Languages in Web-Based Modeling Tools
Total Page:16
File Type:pdf, Size:1020Kb
Towards debugging facilities for graphical modeling languages in web-based modeling tools DIPLOMARBEIT zur Erlangung des akademischen Grades Diplom-Ingenieur im Rahmen des Studiums Business Informatics eingereicht von HansjörgEder,BSc Matrikelnummer 01426985 an der Fakultät für Informatik der Technischen Universität Wien Betreuung: O.Univ.Prof.Dipl.-Ing. Mag. Dr.techn. Gertrude Kappel Mitwirkung: Dipl.-Ing. Dr.techn. Philip Langer Wien, 10. Dezember 2020 Hansjörg Eder Gertrude Kappel Technische UniversitätWien A-1040 Wien Karlsplatz 13 Tel. +43-1-58801-0 www.tuwien.at Towards debugging facilities for graphical modeling languages in web-based modeling tools DIPLOMA THESIS submitted in partial fulfillmentofthe requirements forthe degree of Diplom-Ingenieur in Business Informatics by HansjörgEder,BSc Registration Number 01426985 to the Faculty of Informatics at the TU Wien Advisor: O.Univ.Prof.Dipl.-Ing. Mag. Dr.techn. Gertrude Kappel Assistance: Dipl.-Ing. Dr.techn. Philip Langer Vienna, 10th December,2020 Hansjörg Eder Gertrude Kappel Technische UniversitätWien A-1040 Wien Karlsplatz 13 Tel. +43-1-58801-0 www.tuwien.at Erklärung zur Verfassungder Arbeit Hansjörg Eder,BSc Hiermit erkläre ich, dass ichdieseArbeit selbständig verfasst habe,dass ichdie verwen- detenQuellenund Hilfsmittel vollständig angegeben habeund dass ichdie Stellen der Arbeit–einschließlichTabellen,Karten undAbbildungen –, dieanderen Werken oder dem Internet im Wortlaut oder demSinn nach entnommensind, aufjeden Fall unter Angabeder Quelleals Entlehnung kenntlich gemacht habe. Wien, 10. Dezember 2020 Hansjörg Eder v Acknowledgements First of all, Iwouldliketothank my family, withoutwhose motivating and financial support thisstudy would not have been possible. Moreover, Iwouldliketothank my fellowstudentswith whom Iworked for hours on exercises and alsospent many fun evenings. Iwould also like to thank my friends, whohavebeenwith me for years. Although I hadlittle time foractivities,Icouldalwaysrely on theirsupport. Iwouldliketothank O.Univ.Prof. Dr. Gertrude Kappel and Dr.TanjaMayerhofer, who sparkedmyinterest in Model Engineeringduring my Master’sstudies. Iwouldespeciallyliketothank Dr. Philip Langer, without whose constantsupport and valuable feedback,this work would not have been possible. Thankyou forencouraging me to continuewith thisthesis. vii Kurzfassung Die modellgetriebene SoftwareentwicklungbietetVorteile im Entwicklungsprozess, in- demsie die Abstraktionsebeneerhöht und damit die Komplexität einerbestimmten Domäne reduziert. Domänenspezifische Sprachen(DSSs) erhöhen dieProduktivität für Entwickler und verbessern die Kommunikation mitDomänenexperten. DSSs können in textuelle Sprachen (TS) undgrafische Sprachen (GS) unterteilt werden. Die für die Erzeugung vonDSSs erforderlichen Tools undEditoren sind in der Regel tief in eine spezifische Entwicklungsumgebung (IDE) integriert. DieseIDEsverwendenverschiedene Programmierschnittstellen,umdie gleichen Funktionen für verschiedeneSprachen zu implementieren, waszumehrerenImplementierungenfür eineIDE führt. Zu diesem Zweckwurdedas Language Server Protocol (LSP) fürTSund dasGraphicalLanguage ServerProtocol(GLSP) für GS eingeführt.Diese Protokolletrennen den Editorvon den Sprachkonzepten undermöglichen so dieWiederverwendung eines Sprachservers über mehrere IDEs. Die zunehmendeKomplexität in derSoftwareentwicklungführt zu einem erhöhten Auftreten vonFehlern in Programmenund Modellen und erfordert daherDebugging- Möglichkeiten sowohl für TS als auchfür GS. Daher wurde das Debug Adapter Protocol (DAP) eingeführt,umdie Kommunikation zwischender IDE undeinem konkreten Debugger zu standardisieren. Vergleichbar mit den Zielen desLSP und GLSP beabsichtigt das DAPeine generische grafische Benutzeroberfläche pro IDE zu verwenden und dieselben sprachspezifischen Debuggerübermehrere IDEs hinweg wiederzuverwenden. Diese Arbeit analysiertwie das DAPfür TS und das GLSPfür GS kombiniert werden können, um Modelldebuggingineiner webbasierten Umgebungzuunterstützen. Des Weiterenwird evaluiert,obdie bekannten Debugging-Konzeptezum Debuggen vonTS auf GS übertragen werdenkönnen. Diese Arbeit zielt vorallem darauf ab zu untersuchen, ob das DAPauf GS angewendet werdenkann. Darüber hinausbeabsichtigt dieseArbeit, bestehende Debugging-Komponentenund -Frameworks, die in Bezugauf TS entwickelt wurden, wiederzuverwenden. Die Ergebnisse dieser Arbeitwerden anhand vonzwei Anwendungsfällen ausgewertet.Der ersteFallzielt darauf ab zu untersuchen, ob das DAP für TS auf GS wiederverwendet werdenkann. Derzweite Anwendungsfall zielt darauf ab, die Wiederverwendbarkeit des entwickelten FrameworksimHinblickauf weitere GS und Domänenprobleme zu bewerten. Die Ergebnisseder Fallstudie zeigen, dass das DAPeine effiziente Multi-Editor-Integration ermöglicht.Darüber hinaus zeigen dieErgebnisse,dass dasentwickelte Debugging-Framework die Anforderungen einesmodernenDebuggers erfüllt und dieIntegration zusätzlicherDebuggerfür weitere Sprachen erleichtert. ix Abstract Model-drivendevelopment(MDD) offersadvantages in the developmentprocessby raisingthe levelofabstraction and reducing thecomplexity of aspecific domain. Domain- Specific Languages (DSLs) used in MDDraise theproductivity for developers and improve communication with domain experts. DSLs can be divided into textual languages (TLs) and graphical languages (GLs).IDEs provide differentapplication programminginterfaces (APIs) fordeveloping tool support forvarious languages.Iftoolsupport for alanguage is required in multiple IDEs, the implementation of thesame language has to be repeated for eachIDE basedontheir differentAPIs.For thispurpose, the Language ServerProtocol (LSP) forTLs separates theeditor interface fromthe languagelogic and allowsthe reuse of one language serverimplementing thelanguage logicacrossseveral LSP-basedIDEs. Likethe LSP,the Graphical Language Server Protocol (GLSP)was invented to transfer the advantagesofextensibilityand reusability to GLs. Increasedcomplexity in software developmentleads to an increased number of errors in programs and models and,therefore, it requires debuggingfacilities for both TLsand GLs. Therefore, the Debug AdapterProtocol(DAP) wasinvented to standardize the communication between theIDE and aconcretedebugger. The DAPintends that an IDE offersone generic graphical user interface for debuggingfunctionalityand that there isone debuggerper language implementing thelanguage-specific debuglogic that can then be reused among IDEs. Thisthesis analyzesawayofcombining theDAP for TLs and theGLSP for GLs to supportmodel debugging inaweb-based environment. Furthermore, it is evaluated whether thewell-known debugging conceptsfor debugging source code can be transferred to GLs. Thethesis intendstoreuse existingdebugging components and frameworks developedfor TLs. The resultsofthis work are evaluated in two use cases.The first use case is the running example andaimsatinvestigatingwhether the DAPfor TLs can be reused forGLs. The second use caseintends to evaluate thereusabilityofthe developedframework concerning further GLs and domainproblems.The case study’s resultsindicatethat the DAPenablesefficientmulti-editorintegration of debuggers, i.e., one language-specific debugger can efficientlybeintegratedwith aDAP-baseddebugging interface and that aDAP-based debugging interface can efficientlyintegrate with multiple language-specific debuggers. Further, the results showthatthe developeddebugging framework meets therequirements of amoderndebuggerand facilitates the integration of debugging support forfurther GLs. xi Contents Kurzfassung ix Abstract xi Contents xiii 1Introduction1 1.1 Motivation .................................. 1 1.2 Problem Statement.............................2 1.3 Aim of theWork ..............................3 1.4 Methodology ................................ 4 1.5 Structure of the Work ........................... 4 2Background 7 2.1 Model-DrivenDevelopment ........................7 2.2 Domain-Specific Languages ........................12 2.3 Debugging in Domain-Specific Modeling ................. 19 3Web-based Modeling Tools25 3.1 Language Server Protocol .........................25 3.2 Graphical Language Server Protocol ................... 29 3.3 DebugAdapterProtocol..........................34 3.4 Summary.................................. 38 4Applying the DAPtoGLSP 41 4.1 RunningExample:WorkflowModelingLanguage +Diagram Editor .. 41 4.2 Requirements forDebuggingthe WorkflowModelingLanguage ....47 4.3 WorkflowModelingLanguage Debugger .................56 5Architecture and Implementation 65 5.1 Technological Background .........................65 5.2 Implementation Details ..........................69 5.3 Challenges .................................. 76 xiii 6Evaluation 81 6.1 StateMachine Modeling Language .....................81 6.2 Open Problems...............................94 6.3 Interpretation of theResults ........................ 95 7Related Work 99 7.1 Debugging Domain-Specific Models ....................99 7.2 Web-based DSML Environments ..................... 103 7.3 Other Related Work ............................ 103 8Summary and Conclusion 105 8.1 Summary.................................. 105 8.2 Comparison with Related Work ......................106 8.3 Limitations and Future Work .......................107 Bibliography 111 xiv CHAPTER 1 Introduction 1.1 Motivation Theprogress of technology leads to theincreasingcomplexity of software components to ensurethe functionalityofmodern systems. Model-driven software development(MDSD) offers advantages in the developmentprocessbyraising