A Domain-Specific Language and Editor for Parallel Particle Methods

被引:10
|
作者
Karol, Sven [1 ,3 ]
Nett, Tobias [1 ,3 ]
Castrillon, Jeronimo [1 ,3 ]
Sbalzarini, Ivo F. [1 ,2 ,4 ]
机构
[1] Tech Univ Dresden, Fac Comp Sci, Dresden, Germany
[2] Max Planck Inst Mol Cell Biol & Genet, Ctr Syst Biol Dresden, Dresden, Germany
[3] Chair Compiler Construct, Georg Schumann Str 7A, D-01187 Dresden, Germany
[4] APB, Room 2002,Nothnitzer Str 46, D-01187 Dresden, Germany
来源
关键词
Language workbenches; mathematical software; MPS; particle methods; scientific computing; DIMENSIONAL ANALYSIS; LIBRARY; SYSTEMS; DISCRETIZATION; OPTIMIZATIONS; SIMULATIONS; WORKBENCH; ALGORITHM; SEMANTICS; OPERATORS;
D O I
10.1145/3175659
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Domain-specific languages (DSLs) are of increasing importance in scientific high-performance computing to reduce development costs, raise the level of abstraction, and, thus, ease scientific programming. However, designing DSLs is not easy, as it requires knowledge of the application domain and experience in language engineering and compilers. Consequently, many DSLs follow a weak approach using macros or text generators, which lack many of the features that make a DSL comfortable for programmers. Some of these features-e.g., syntax highlighting, type inference, error reporting-are easily provided by language workbenches, which combine language engineering techniques and tools in a common ecosystem. In this article, we present the Parallel Particle-Mesh Environment (PPME), a DSL and development environment for numerical simulations based on particle methods and hybrid particle-mesh methods. PPME uses the Meta Programming System, a projectional language workbench. PPME is the successor of the Parallel Particle-Mesh Language, a Fortran-based DSL that uses conventional implementation strategies. We analyze and compare both languages and demonstrate how the programmer's experience is improved using static analyses and projectional editing, i.e., code-structure editing, constrained by syntax, as opposed to free-text editing. We present an explicit domain model for particle abstractions and the first formal type system for particle methods. 3
引用
收藏
页数:32
相关论文
共 50 条
  • [21] PoE: A Domain-Specific Language for Exploitation
    Kim, Jung Hyun
    Gustaman, Steve
    Cha, Sang Kil
    [J]. 2024 SILICON VALLEY CYBERSECURITY CONFERENCE, SVCC 2024, 2024,
  • [22] A domain-specific language for model coupling
    Bulatewicz, Tom
    Cuny, Janice
    [J]. PROCEEDINGS OF THE 2006 WINTER SIMULATION CONFERENCE, VOLS 1-5, 2006, : 1091 - +
  • [23] A Domain-Specific Language for Ubiquitous Healthcare
    Munnelly, Jennifer
    Clarke, Siobhan
    [J]. 2008 3RD INTERNATIONAL CONFERENCE ON PERVASIVE COMPUTING AND APPLICATIONS, VOLS 1 AND 2, 2008, : 759 - 764
  • [24] Domain-specific language for infrastructure as code
    Shvetcova, Valeriya
    Borisenko, Oleg
    Polischuk, Maxim
    [J]. 2019 IVANNIKOV MEMORIAL WORKSHOP (IVMEM 2019), 2019, : 39 - 45
  • [25] A Domain-Specific Language for Coordinating Collaboration
    Mayr-Dorn, Christoph
    Laaber, Christoph
    [J]. 2017 43RD EUROMICRO CONFERENCE ON SOFTWARE ENGINEERING AND ADVANCED APPLICATIONS (SEAA), 2017, : 57 - 60
  • [26] A domain-specific language for virtual classrooms
    Gañán, David
    Guerrero-Roldán, Ana-Elena
    Prieto-Blázquez, Josep
    Conesa, Jordi
    [J]. International Journal of Metadata, Semantics and Ontologies, 2014, 9 (04) : 313 - 323
  • [27] A domain-specific visual language for domain model evolution
    Sprinkle, J
    Karsai, G
    [J]. JOURNAL OF VISUAL LANGUAGES AND COMPUTING, 2004, 15 (3-4): : 291 - 307
  • [28] Domain-Specific Languages for Composable Editor Plugins
    Kats, Lennart C. L.
    Kalleberg, Karl T.
    Visser, Eelco
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2010, 253 (07) : 149 - 163
  • [29] Domain-specific optimizations of composed parallel components
    Gorlatch, S
    [J]. DOMAIN-SPECIFIC PROGRAM GENERATION, 2003, 3016 : 274 - 290
  • [30] RPL: A Domain-Specific Language for Designing and Implementing Parallel C plus plus Applications
    Janjic, V.
    Brown, C.
    MacKenzie, K.
    Hammond, K.
    Danelutto, M.
    Aldinucci, M.
    Daniel Garcia, J.
    [J]. 2016 24TH EUROMICRO INTERNATIONAL CONFERENCE ON PARALLEL, DISTRIBUTED, AND NETWORK-BASED PROCESSING (PDP), 2016, : 288 - 295