<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>On the Interplay between Model-Driven Engineering, Domain-Specific Languages, and Petri Nets</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Manuel Wimmer</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>CDL-MINT</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>TU Wien</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Austria wimmer@big.tuwien.ac.at</string-name>
        </contrib>
      </contrib-group>
      <abstract>
        <p>Model-Driven Engineering (MDE) [2] is a paradigm to tame the complexity of modern systems, automate engineering tasks, and support inter-human communication. Domain-Specific Languages (DSLs) [4] are an important ingredient for MDE as they allow domain experts (who may not necessarily be software experts) to express their concerns with more familiar concepts than with traditional general purpose languages. However, DSLs typically have a smaller user base which increases the relative development and maintenance cost, not only for the languages themselves, but also for their accompanying tools [7]. Now the question arises how to reduce this overhead. Can well-studied general purpose languages such as Petri Nets help in this setting? In my talk, I will demonstrate that Petri Nets can play a very central role in this setting, especially when it comes to the semantics of DSLs [3]. In the last decade, several metamodeling frameworks emerged, e.g., see AToMPM1, GEMOC Studio2, GME3, MetaEdit+4 to name just a few examples, which allow not only the definition of the syntax of modeling languages and the generation of supporting tools such as model editors and validators, but also semantic concerns may be specified and automatically turned into tool support such as execution engines [5], debuggers [1], and verification engines [8]. However, having a unified methodology to develop DSLs systematically to benefit from rich out-of-the-box tool support is still an open research challenge where Petri Nets may form an important cornerstone. Furthermore, I will present some lessons learned from past projects and outline new application areas for DSLs combined with Petri Nets in the realm of Industry 4.0. In particular, I will report on our experiences of realizing model transformation engines based on Coloured Petri Nets [10] and their utilization for specifying the semantics of declarative model transformation languages [9]. Finally, recent advances are outlined how the prescriptive models of MDE are combined with the descriptive models of process mining to allow for continuously improved software systems [6].</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>PNSE’18 – Petri Nets and Software Engineering</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Bousse</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leroy</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Combemale</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wimmer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Baudry</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Omniscient debugging for executable DSLs</article-title>
          .
          <source>Journal of Systems and Software</source>
          <volume>137</volume>
          ,
          <fpage>261</fpage>
          -
          <lpage>288</lpage>
          (
          <year>2018</year>
          ). https://doi.org/10.1016/j.jss.
          <year>2017</year>
          .
          <volume>11</volume>
          .025
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Brambilla</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cabot</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wimmer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Model-Driven Software</surname>
          </string-name>
          Engineering in Practice, Second Edition. Synthesis Lectures on Software Engineering, Morgan &amp; Claypool Publishers (
          <year>2017</year>
          ). https://doi.org/10.2200/S00751ED2V01Y201701SWE004
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Bryant</surname>
            ,
            <given-names>B.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gray</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mernik</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Clarke</surname>
            ,
            <given-names>P.J.</given-names>
          </string-name>
          , France, R.B.,
          <string-name>
            <surname>Karsai</surname>
          </string-name>
          , G.:
          <article-title>Challenges and directions in formalizing the semantics of modeling languages</article-title>
          .
          <source>Comput. Sci. Inf</source>
          . Syst.
          <volume>8</volume>
          (
          <issue>2</issue>
          ),
          <fpage>225</fpage>
          -
          <lpage>253</lpage>
          (
          <year>2011</year>
          ). https://doi.org/10.2298/CSIS110114012B
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Kosar</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bohra</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mernik</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Domain-specific languages: A systematic mapping study</article-title>
          .
          <source>Information &amp; Software Technology</source>
          <volume>71</volume>
          ,
          <fpage>77</fpage>
          -
          <lpage>91</lpage>
          (
          <year>2016</year>
          ). https://doi.org/10.1016/j.infsof.
          <year>2015</year>
          .
          <volume>11</volume>
          .001
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Mayerhofer</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Langer</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wimmer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kappel</surname>
          </string-name>
          , G.:
          <article-title>xMOF: Executable DSMLs Based on fUML</article-title>
          .
          <source>In: Proceedings of the 6th International Conference on Software Language Engineering (SLE)</source>
          . pp.
          <fpage>56</fpage>
          -
          <lpage>75</lpage>
          (
          <year>2013</year>
          ). https://doi.org/10.1007/978-3-
          <fpage>319</fpage>
          -02654-
          <issue>1</issue>
          _
          <fpage>4</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Mazak</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wimmer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>On Marrying Model-driven Engineering and Process Mining: A Case Study in Execution-based Model Profiling</article-title>
          .
          <source>In: Proceedings of the 6th International Symposium on Data-driven Process Discovery and Analysis (SIMPDA)</source>
          . pp.
          <fpage>78</fpage>
          -
          <lpage>88</lpage>
          (
          <year>2016</year>
          ), http://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>1757</volume>
          /paper6.pdf
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Mernik</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heering</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sloane</surname>
            ,
            <given-names>A.M.</given-names>
          </string-name>
          :
          <article-title>When and how to develop domain-specific languages</article-title>
          .
          <source>ACM Comput. Surv</source>
          .
          <volume>37</volume>
          (
          <issue>4</issue>
          ),
          <fpage>316</fpage>
          -
          <lpage>344</lpage>
          (
          <year>2005</year>
          ). https://doi.org/10.1145/1118890.1118892
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Meyers</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Deshayes</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lucio</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Syriani</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vangheluwe</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wimmer</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>ProMoBox: A Framework for Generating Domain-Specific Property Languages</article-title>
          .
          <source>In: Proceedings of the 7th International Conference on Software Language Engineering (SLE)</source>
          . pp.
          <fpage>1</fpage>
          -
          <lpage>20</lpage>
          (
          <year>2014</year>
          ). https://doi.org/10.1007/978-3-
          <fpage>319</fpage>
          -11245-
          <issue>9</issue>
          _
          <fpage>1</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Wimmer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kappel</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schönböck</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kusel</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Retschitzegger</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schwinger</surname>
            ,
            <given-names>W.:</given-names>
          </string-name>
          <article-title>A Petri Net Based Debugging Environment for QVT Relations</article-title>
          .
          <source>In: Proceedings of the 24th IEEE/ACM International Conference on Automated Software Engineering (ASE)</source>
          . pp.
          <fpage>3</fpage>
          -
          <lpage>14</lpage>
          (
          <year>2009</year>
          ). https://doi.org/10.1109/ASE.
          <year>2009</year>
          .99
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Wimmer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kappel</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schönböck</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kusel</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Retschitzegger</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schwinger</surname>
            ,
            <given-names>W.:</given-names>
          </string-name>
          <article-title>TROPIC: A Framework for Model Transformations on Petri Nets in Color</article-title>
          .
          <source>In: Companion Proceedings to the 24th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA)</source>
          . pp.
          <fpage>783</fpage>
          -
          <lpage>784</lpage>
          (
          <year>2009</year>
          ). https://doi.org/10.1145/1639950.1640013
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>