{"title":"领域特定语言的有效执行:人口学和细胞生物学两种方法的比较","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":"{\"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}","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}
Efficient Execution for Domain Specific Languages: Comparing Two Approaches for Demography and Cellular Biology
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.