{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2022,3,30]],"date-time":"2022-03-30T11:00:08Z","timestamp":1648638008162},"reference-count":31,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2016,4,1]],"date-time":"2016-04-01T00:00:00Z","timestamp":1459468800000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/creativecommons.org\/licenses\/by\/4.0"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Form. Asp. Comput."],"published-print":{"date-parts":[[2016,4]]},"abstract":"Abstract<\/jats:title>\n A domain specific language (DSL) focuses on the essential concepts in a specific problem domain, and abstracts from low-level implementation details. The development of DSLs usually centers around the meta-model, grammar and code generator, possibly extended with transformations to analysis models. Typically, little attention is given to the formal semantics of the language, whereas this is essential for reasoning about DSL models, and for assessing the correctness of the generated code and analysis models. We argue that the semantics of a DSL should be defined explicitly and independently of any code generator, to avoid all kinds of complexities from low-level implementation details. As the generated analysis models must reflect some of these implementation details, we propose to formalize them separately. To assess the correctness and consistency of the generated code and analysis models in a practical way, we use conformance testing. We extensively illustrate this general approach using specific formalizations for an industrial DSL on collision prevention. We do not aim for a generic semantic model for any DSL, but this specific DSL indicates the potential of a modular semantics to facilitate reuse among DSLs.<\/jats:p>","DOI":"10.1007\/s00165-016-0359-1","type":"journal-article","created":{"date-parts":[[2016,3,18]],"date-time":"2016-03-18T16:47:41Z","timestamp":1458319661000},"page":"181-206","update-policy":"http:\/\/dx.doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":2,"title":["Formalizing and testing the consistency of DSL transformations"],"prefix":"10.1145","volume":"28","author":[{"given":"Sarmen","family":"Keshishzadeh","sequence":"first","affiliation":[{"name":"Department of Computer Science, Eindhoven University of Technology, P.O. Box 513, 5600\u00a0MB, Eindhoven, The Netherlands"}]},{"given":"Arjan J.","family":"Mooij","sequence":"additional","affiliation":[{"name":"Embedded Systems Innovation by TNO, Eindhoven, The Netherlands"}]}],"member":"320","reference":[{"key":"e_1_2_1_2_1_2","doi-asserted-by":"crossref","unstructured":"Andova S van den Brand MGJ Engelen L (2011) Prototyping the semantics of a DSL using ASF+SDF: link to formal verification of DSL models. In: Proceedings of AMMSE\u201911 EPTCS vol 56 pp 65\u201379","DOI":"10.4204\/EPTCS.56.5"},{"key":"e_1_2_1_2_2_2","doi-asserted-by":"crossref","unstructured":"Andova S van den Brand MGJ Engelen L (2012) Reusable and correct endogenous model transformations. In: Proceedings of ICMT\u201912. LNCS vol 7307. Springer New York pp 72\u201388","DOI":"10.1007\/978-3-642-30476-7_5"},{"key":"e_1_2_1_2_3_2","doi-asserted-by":"publisher","DOI":"10.5555\/1355340"},{"key":"e_1_2_1_2_4_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1982.235428"},{"key":"e_1_2_1_2_5_2","doi-asserted-by":"crossref","unstructured":"De Moura L Bj\u00f8rner N (2008) Z3: an efficient SMT solver. In: Proceedings of TACAS\u201908. LNCS vol 4963. Springer New York pp 337\u2013340","DOI":"10.1007\/978-3-540-78800-3_24"},{"key":"e_1_2_1_2_6_2","doi-asserted-by":"crossref","unstructured":"Dutle AM Munoz CA Narkawicz AJ Butler RW (2015) Software validation via model animation. In: Proceedings of TAP\u201915. LNCS vol 9154. Springer New York pp 92\u2013108","DOI":"10.1007\/978-3-319-21215-9_6"},{"key":"e_1_2_1_2_7_2","doi-asserted-by":"crossref","unstructured":"Ehrig H Ermel C (2008) Semantical correctness and completeness of model transformations using graph and rule transformation. In: Proceedings of ICGT\u201908. LNCS vol 5214. Springer New York pp 194\u2013210","DOI":"10.1007\/978-3-540-87405-8_14"},{"key":"e_1_2_1_2_8_2","doi-asserted-by":"crossref","unstructured":"Fiorentini C Momigliano A Ornaghi M Poernomo I (2010) A constructive approach to testing model transformations. In: Proceedings of ICMT\u201910. LNCS vol 6142. Springer New York pp 77\u201392","DOI":"10.1007\/978-3-642-13688-7_6"},{"key":"e_1_2_1_2_9_2","doi-asserted-by":"crossref","unstructured":"Gaudel MC (1995) Testing can be formal too. In: Proceedings of TAPSOFT\u201995. LNCS vol 915. Springer New York pp 82\u201396","DOI":"10.1007\/3-540-59293-8_188"},{"key":"e_1_2_1_2_10_2","doi-asserted-by":"crossref","unstructured":"Keshishzadeh S Mooij AJ Mousavi M (2013) Early fault detection in DSLs using smt solving and automated debugging. In: Proceedings of SEFM\u201913. LNCS vol 8137 pp 182\u2013196","DOI":"10.1007\/978-3-642-40561-7_13"},{"key":"e_1_2_1_2_11_2","doi-asserted-by":"crossref","unstructured":"Keshishzadeh S Mooij AJ (2014) Formalizing DSL semantics for reasoning and conformance testing. In: Proceedings of SEFM\u201914. Springer New York pp 81\u201395","DOI":"10.1007\/978-3-319-10431-7_7"},{"key":"e_1_2_1_2_12_2","doi-asserted-by":"publisher","DOI":"10.1145\/1538788.1538814"},{"key":"e_1_2_1_2_13_2","unstructured":"Wolfram Research Inc. Mathematica 10.0.1.0. http:\/\/www.wolfram.com. Accessed Aug 2015"},{"key":"e_1_2_1_2_14_2","doi-asserted-by":"crossref","unstructured":"Mooij AJ Hooman J Albers R (2013) Gaining industrial confidence for the introduction of domain-specific languages. In: Proceedings of IEESD\u201913. IEEE pp 662\u2013667","DOI":"10.1109\/COMPSACW.2013.83"},{"key":"e_1_2_1_2_15_2","doi-asserted-by":"crossref","unstructured":"Mooij AJ Hooman J Albers R (2014) Early fault detection using design models for collision prevention in medical equipment. In: Proceedings of FHIES\u201913. LNCS vol 8315. Springer New York pp 170\u2013187","DOI":"10.1007\/978-3-642-53956-5_12"},{"key":"e_1_2_1_2_16_2","doi-asserted-by":"crossref","unstructured":"Moreira AM Hentz C D\u00e9harbe D de Matos ECB Neto JBS de Medeiros Jr V (2015) Verifying code generation tools for the B-method using tests: a case study. In: Proceedings of TAP\u201915. LNCS vol 9154. Springer New York pp 76\u201391","DOI":"10.1007\/978-3-319-21215-9_5"},{"key":"e_1_2_1_2_17_2","doi-asserted-by":"publisher","DOI":"10.1145\/1118890.1118892"},{"key":"e_1_2_1_2_18_2","doi-asserted-by":"crossref","unstructured":"Nagy I Cleophas LG van den Brand M Engelen L Raulea L Mithun EXL (2012) VPDSL: a DSL for software in the loop simulations covering material flow. In: Proceedings of ICECCS\u201912. IEEE pp 318\u2013327","DOI":"10.1109\/ICECCS20050.2012.6299227"},{"key":"e_1_2_1_2_19_2","doi-asserted-by":"crossref","unstructured":"Ratiu D Voelter M Molotnikov Z Schaetz B (2012) Implementing modular domain specific languages and analyses. In: Proceedings of workshop on MoDeVVa\u201912. ACM New York pp 35\u201340","DOI":"10.1145\/2427376.2427383"},{"key":"e_1_2_1_2_20_2","first-page":"778","volume-title":"Formal specification and analysis of domain specific models using maude, simulation: transactions of the society for modeling and simulation international","author":"Rivera JE","year":"2009"},{"key":"e_1_2_1_2_21_2","doi-asserted-by":"crossref","unstructured":"Sadilek DA Wachsmuth G (2008) Prototyping visual interpreters and debuggers for domain-specific modelling languages. In: Proceedings of ECMDA-FA\u201908. LNCS vol 5095. Springer New York pp 63\u201378","DOI":"10.1007\/978-3-540-69100-6_5"},{"key":"e_1_2_1_2_22_2","volume-title":"Eclipse modeling framework","author":"Steinberg D","year":"2008"},{"key":"e_1_2_1_2_23_2","doi-asserted-by":"crossref","unstructured":"Stappers FPM Weber S Reniers MA Andova S Nagy I (2012) Formalizing a domain specific language using sos: an industrial case study. In: Proceedings of SLE\u201911. LNCS vol 6940. Springer New York pp 223\u2013242","DOI":"10.1007\/978-3-642-28830-2_13"},{"key":"e_1_2_1_2_24_2","doi-asserted-by":"crossref","unstructured":"Theelen BD Florescu O Geilen MCW Huang J van der Putten PHA Voeten JPM (2007) Software\/hardware engineering with the parallel object-oriented specification language. In: Proceedings of the international conference on formal methods and models for codesign. IEEE pp 139\u2013148","DOI":"10.1109\/MEMCOD.2007.371231"},{"key":"e_1_2_1_2_25_2","first-page":"1","volume-title":"Formal methods and testing. LNCS, vol 4949","author":"Tretmans J","year":"2008"},{"key":"e_1_2_1_2_26_2","doi-asserted-by":"crossref","first-page":"75","DOI":"10.1016\/j.scico.2013.11.020","article-title":"Software engineering: redundancy is key","volume":"97","author":"van den Brand M","year":"2013","journal-title":"Sci Comput Program Elsevier"},{"key":"e_1_2_1_2_27_2","doi-asserted-by":"crossref","unstructured":"van den Berg F Remke A Mooij AJ Haverkort B (2013) Performance evaluation for collision prevention based on a domain specific language. In: Proceedings of EPEW\u201913 vol 8168. Springer New York pp 276\u2013287","DOI":"10.1007\/978-3-642-40725-3_21"},{"key":"e_1_2_1_2_28_2","first-page":"26","volume-title":"SIGPLAN notices, vol 35","author":"van Deursen A","year":"2000"},{"key":"e_1_2_1_2_29_2","doi-asserted-by":"crossref","unstructured":"Verriet J Liang HL Hamberg R van Wijngaarden B (2013) Model-driven development of logistic systems using domain-specific tooling. In: Proceedings of CSD&M. Springer New York pp 165\u2013176","DOI":"10.1007\/978-3-642-34404-6_11"},{"key":"e_1_2_1_2_30_2","unstructured":"Voelter M (2013) DSL engineering version 1.0. http:\/\/dslbook.org. Accessed Aug 2015"},{"key":"e_1_2_1_2_31_2","unstructured":"Xtext (2014) Version 2.7. http:\/\/www.eclipse.org\/Xtext\/. Accessed Aug 2015"}],"container-title":["Formal Aspects of Computing"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s00165-016-0359-1.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s00165-016-0359-1\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1007\/s00165-016-0359-1","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,1,7]],"date-time":"2022-01-07T06:54:17Z","timestamp":1641538457000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1007\/s00165-016-0359-1"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016,4]]},"references-count":31,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2016,4]]}},"alternative-id":["10.1007\/s00165-016-0359-1"],"URL":"https:\/\/doi.org\/10.1007\/s00165-016-0359-1","relation":{},"ISSN":["0934-5043","1433-299X"],"issn-type":[{"value":"0934-5043","type":"print"},{"value":"1433-299X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2016,4]]}}}