{"title":"Efficient Execution for Domain Specific Languages: Comparing Two Approaches for Demography and Cellular Biology","authors":"Till Köster, A. Uhrmacher","doi":"10.1145/3573900.3593630","DOIUrl":null,"url":null,"abstract":"Domain Specific Languages (DSLs) provide an abstraction optimized for a specific class of problems. In Modelling and Simulation, DSLs can be used by domain experts to express a model using the concepts and rules from their domain. One challenge is to find efficient means of executing these models. Here we present our experience in realizing two different DSLs for two different application domains. The first, ML-Rules, uses a custom syntax of an external language to describe transitions in cell biological systems as chemical reactions. For the second, ML3, we have an internal language embedded in the Rust programming language. ML3 is designed for agent-based simulation. Both languages follow an event-driven Continuous-time Markov chain semantic. However, the challenges in efficient execution differ.","PeriodicalId":246048,"journal":{"name":"Proceedings of the 2023 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation","volume":"63 3 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-06-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 2023 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3573900.3593630","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Domain Specific Languages (DSLs) provide an abstraction optimized for a specific class of problems. In Modelling and Simulation, DSLs can be used by domain experts to express a model using the concepts and rules from their domain. One challenge is to find efficient means of executing these models. Here we present our experience in realizing two different DSLs for two different application domains. The first, ML-Rules, uses a custom syntax of an external language to describe transitions in cell biological systems as chemical reactions. For the second, ML3, we have an internal language embedded in the Rust programming language. ML3 is designed for agent-based simulation. Both languages follow an event-driven Continuous-time Markov chain semantic. However, the challenges in efficient execution differ.