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 条
  • [1] A DOMAIN-SPECIFIC PROGRAMMING LANGUAGE FOR PARTICLE SIMULATIONS ON DISTRIBUTED-MEMORY PARALLEL COMPUTERS
    Awile, Omar
    Mitrovic, Milan
    Reboux, Sylvain
    Sbalzarini, Ivo F.
    [J]. PARTICLE-BASED METHODS III: FUNDAMENTALS AND APPLICATIONS, 2013, : 436 - 447
  • [2] A Domain-Specific Embedded Language for Programming Parallel Architectures
    McGuiness, Jason
    Egan, Colin
    [J]. 2013 12TH INTERNATIONAL SYMPOSIUM ON DISTRIBUTED COMPUTING AND APPLICATIONS TO BUSINESS, ENGINEERING & SCIENCE (DCABES), 2013, : 83 - 88
  • [3] CAOS: A domain-specific language for the parallel simulation of cellular automata
    Grelck, Clemens
    Penczek, Frank
    Trojahner, Kai
    [J]. PARALLEL COMPUTING TECHNOLOGIES, PROCEEDINGS, 2007, 4671 : 410 - 417
  • [4] Blocks and Text Integration in a Language-Based Editor for a Domain-Specific Language
    Altuncu, Enes
    Bilgehan, Burak Kaan
    Kartal, Yavuz Selim
    Kizilgunes, Sercan
    Nikoo, Mahdi Saeedi
    Oguztuzun, Halit
    [J]. 2017 INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND ENGINEERING (UBMK), 2017, : 1084 - 1089
  • [5] PROOF OF EQUIVALENCE OF SEMANTIC METHODS FOR A SELECTED DOMAIN-SPECIFIC LANGUAGE
    Steingartner, William
    Novitzka, Valerie
    Schreiner, Wolfgang
    [J]. JOURNAL OF APPLIED MATHEMATICS AND COMPUTATIONAL MECHANICS, 2024, 23 (02) : 79 - 92
  • [6] A Domain-Specific Language for Microservices
    Donham, Jacob
    [J]. PROCEEDINGS OF THE 9TH ACM SIGPLAN INTERNATIONAL SYMPOSIUM ON SCALA (SCALA '18), 2018, : 2 - 12
  • [7] Decoupling Language and Editor - The Impact of the Language Server Protocol on Textual Domain-Specific Languages
    Buender, Hendrik
    [J]. MODELSWARD: PROCEEDINGS OF THE 7TH INTERNATIONAL CONFERENCE ON MODEL-DRIVEN ENGINEERING AND SOFTWARE DEVELOPMENT, 2019, 2019, : 129 - 140
  • [8] ParDSL: a domain-specific language framework for supporting deployment of parallel algorithms
    Bedir Tekinerdogan
    Ethem Arkin
    [J]. Software & Systems Modeling, 2019, 18 : 2907 - 2935
  • [9] ParDSL: a domain-specific language framework for supporting deployment of parallel algorithms
    Tekinerdogan, Bedir
    Arkin, Ethem
    [J]. SOFTWARE AND SYSTEMS MODELING, 2019, 18 (05): : 2907 - 2935
  • [10] Towards a Domain-Specific Language for Patterns-Oriented Parallel Programming
    Griebler, Dalvan
    Fernandes, Luiz Gustavo
    [J]. PROGRAMMING LANGUAGES, SBLP 2013, 2013, 8129 : 105 - 119