skip to main content
Skip header Section
Domain Specific LanguagesSeptember 2010
Publisher:
  • Addison-Wesley Professional
ISBN:978-0-321-71294-3
Published:20 September 2010
Pages:
552
Skip Bibliometrics Section
Bibliometrics
Skip Abstract Section
Abstract

Designed as a wide-ranging guide to Domain Specific Languages (DSLs) and how to approach building them, this book covers a variety of different techniques available for DSLs. The goal is to provide readers with enough information to make an informed choice about whether or not to use a DSL and what kinds of DSL techniques to employ. Part I is a 150-page narrative overview that gives you a broad understanding of general principles. The reference material in Parts II through VI provides the details and examples you willneed to get started using the various techniques discussed. Both internal and external DSL topics are covered, in addition to alternative computational models and code generation. Although the general principles and patterns presented can be used with whatever programming language you happen to be using, most of the examples are in Java or C#.

Cited By

  1. ACM
    Baxter J, Carvalho G, Cavalcanti A and Júnior F (2023). RoboWorld: Verification of Robotic Systems with Environment in the Loop, Formal Aspects of Computing, 35:4, (1-46), Online publication date: 31-Dec-2024.
  2. ACM
    Nechi A, Groth L, Mulhem S, Merchant F, Buchty R and Berekovic M (2023). FPGA-based Deep Learning Inference Accelerators: Where Are We Standing?, ACM Transactions on Reconfigurable Technology and Systems, 16:4, (1-32), Online publication date: 31-Dec-2024.
  3. Godfrey T, Zschaler S, Batra R, Douthwaite S, Edgeworth J, Edwards M and Miles S Supporting Emergency Department Risk Mitigation with a Modular and Reusable Agent-Based Simulation Infrastructure Proceedings of the Winter Simulation Conference, (162-173)
  4. ACM
    Korz N and Andrzejak A Virtual Domain Specific Languages via Embedded Projectional Editing Proceedings of the 22nd ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, (122-137)
  5. Soueidi C and Falcone Y Bridging the Gap: A Focused DSL for RV-Oriented Instrumentation with BISM Runtime Verification, (327-338)
  6. ACM
    Davis M, Aghayi E, Latoza T, Wang X, Myers B and Sunshine J (2023). What’s (Not) Working in Programmer User Studies?, ACM Transactions on Software Engineering and Methodology, 32:5, (1-32), Online publication date: 30-Sep-2023.
  7. Rechenberger S and Frühwirth T FreeCHR: An Algebraic Framework for CHR-Embeddings Rules and Reasoning, (190-205)
  8. Bergenti F, Monica S and Petrosino G A Comprehensive Presentation of the Jadescript Agent-Oriented Programming Language Multi-Agent Systems, (100-115)
  9. Zschaler S, Bousse E, Deantoni J and Combemale B (2023). A generic framework for representing and analyzing model concurrency, Software and Systems Modeling (SoSyM), 22:4, (1319-1340), Online publication date: 1-Aug-2023.
  10. Boronat A (2023). Safe reuse in modelling language engineering using model subtyping with OCL constraints, Software and Systems Modeling (SoSyM), 22:3, (797-818), Online publication date: 1-Jun-2023.
  11. ACM
    Sozzo E, Conficconi D, Zeni A, Salaris M, Sciuto D and Santambrogio M (2022). Pushing the Level of Abstraction of Digital System Design: A Survey on How to Program FPGAs, ACM Computing Surveys, 55:5, (1-48), Online publication date: 31-May-2023.
  12. Chari G, Sheffer B, Branavan S and D'ippolito N Scaling Web API Integrations Proceedings of the 45th International Conference on Software Engineering: Software Engineering in Practice, (13-23)
  13. Boufaied C, Menghi C, Bianculli D and Briand L (2023). Trace Diagnostics for Signal-Based Temporal Properties, IEEE Transactions on Software Engineering, 49:5, (3131-3154), Online publication date: 1-May-2023.
  14. ACM
    Burgueño L, Muñoz P, Clarisó R, Cabot J, Gérard S and Vallecillo A (2023). Dealing with Belief Uncertainty in Domain Models, ACM Transactions on Software Engineering and Methodology, 32:2, (1-34), Online publication date: 30-Apr-2023.
  15. ACM
    Steimann F (2022). Containerless Plurals: Separating Number from Type in Object-Oriented Programming, ACM Transactions on Programming Languages and Systems, 44:4, (1-56), Online publication date: 31-Dec-2022.
  16. Cao H, Chen X, Zhang L, Zhang T and Xiao X (2022). A sound response to long-tailed changes in business process management, Service Oriented Computing and Applications, 16:4, (279-291), Online publication date: 1-Dec-2022.
  17. Hilbrich M, Müller S, Kulagina S, Lazik C, De Mecquenem N and Grunske L A Consolidated View on Specification Languages for Data Analysis Workflows Leveraging Applications of Formal Methods, Verification and Validation. Software Engineering, (201-215)
  18. Deckers R and Lago P (2022). Systematic literature review of domain-oriented specification techniques, Journal of Systems and Software, 192:C, Online publication date: 1-Oct-2022.
  19. Nidzwetzki J and Güting R (2022). BBoxDB streams: scalable processing of multi-dimensional data streams, Distributed and Parallel Databases, 40:2-3, (559-625), Online publication date: 1-Sep-2022.
  20. Koltun G and Pundel M (2022). Using two case studies to explore the applicability of VIATRA for the model-driven engineering of mechatronic production systems, Software and Systems Modeling (SoSyM), 21:4, (1643-1664), Online publication date: 1-Aug-2022.
  21. Gómez A, Iglesias-Urkia M, Belategi L, Mendialdua X and Cabot J (2022). Model-driven development of asynchronous message-driven architectures with AsyncAPI, Software and Systems Modeling (SoSyM), 21:4, (1583-1611), Online publication date: 1-Aug-2022.
  22. Gómez-Albarrán M, Sarasa-Cabezuelo A, Sierra-Rodríguez J and Temprado-Battad B (2022). Authoring and playing interactive fiction with conventional web technologies, Multimedia Tools and Applications, 81:11, (14705-14747), Online publication date: 1-May-2022.
  23. Andrén F, Strasser T and Kastner W Applying the SGAM methodology for rapid prototyping of smart Grid applications IECON 2016 - 42nd Annual Conference of the IEEE Industrial Electronics Society, (3812-3818)
  24. De Sanctis M, Iovino L, Rossi M and Wimmer M (2022). MIKADO: a smart city KPIs assessment modeling framework, Software and Systems Modeling (SoSyM), 21:1, (281-309), Online publication date: 1-Feb-2022.
  25. Klemmer L and Große D WAL: A Novel Waveform Analysis Language for Advanced Design Understanding and Debugging Proceedings of the 27th Asia and South Pacific Design Automation Conference, (358-364)
  26. Kreikemeyer J, Köster T, Uhrmacher A and Warnke T Inferring dependency graphs for agent-based models using aspect-oriented programming Proceedings of the Winter Simulation Conference, (1-12)
  27. Anand A, Sayani K and Shyamasundar R (2021). Fortress Abstractions in X10 Framework, International Journal of Parallel Programming, 49:6, (911-933), Online publication date: 1-Dec-2021.
  28. Perez-Alvarez J, Mos A, Hanrahan B and Adenuga I Decoupling server and client code through cloud-native domain-specific functions Proceedings of the 36th IEEE/ACM International Conference on Automated Software Engineering, (1174-1176)
  29. Stevens P The Future of Programming andModelling: A Vision Leveraging Applications of Formal Methods, Verification and Validation, (357-377)
  30. Meixner K, Rinker F, Marcher H, Decker J and Biffl S A Domain-Specific Language for Product-Process-Resource Modeling 2021 26th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA ), (1-8)
  31. ACM
    Weisenburger P, Wirth J and Salvaneschi G (2020). A Survey of Multitier Programming, ACM Computing Surveys, 53:4, (1-35), Online publication date: 31-Jul-2021.
  32. Klikovits S and Buchs D (2021). Pragmatic reuse for DSML development, Software and Systems Modeling (SoSyM), 20:3, (837-866), Online publication date: 1-Jun-2021.
  33. Della Santina C, Katzschmann R, Bicchi A, Rus D, Sadati S, Naghibi S, Shiva A, Michael B, Renson L, Howard M, Rucker C, Althoefer K, Nanayakkara T, Zschaler S, Bergeles C, Hauser H and Walker I (2021). TMTDyn, International Journal of Robotics Research, 40:1, (296-347), Online publication date: 1-Jan-2021.
  34. Sobrinho E, De Lucia A and Maia M (2021). A Systematic Literature Review on Bad Smells–5 W's: Which, When, What, Who, Where, IEEE Transactions on Software Engineering, 47:1, (17-66), Online publication date: 1-Jan-2021.
  35. ACM
    Schmiedmayer P Apodini Proceedings of the 21st International Middleware Conference Doctoral Symposium, (47-49)
  36. Kurklu E and Havelund K A Flight Rule Checker for the LADEE Lunar Spacecraft Theoretical Aspects of Computing – ICTAC 2020, (3-20)
  37. ACM
    Ali S and Yue T Modeling Quantum programs: challenges, initial results, and research directions Proceedings of the 1st ACM SIGSOFT International Workshop on Architectures and Paradigms for Engineering Quantum Software, (14-21)
  38. ACM
    Willis J, Wu N and Pickering M (2020). Staged selective parser combinators, Proceedings of the ACM on Programming Languages, 4:ICFP, (1-30), Online publication date: 2-Aug-2020.
  39. ACM
    Hossain M, Roy B, Roy C and Schneider K (2020). VizSciFlow: A Visually Guided Scripting Framework for Supporting Complex Scientific Data Analysis, Proceedings of the ACM on Human-Computer Interaction, 4:EICS, (1-37), Online publication date: 18-Jun-2020.
  40. Ruiz-Rube I, Person T, Dodero J, Mota J and Sánchez-Jara J (2019). Applying static code analysis for domain-specific languages, Software and Systems Modeling (SoSyM), 19:1, (95-110), Online publication date: 1-Jan-2020.
  41. Rabe M and Schmitt D Domain-specific language for modeling and simulating actions in logistics networks Proceedings of the Winter Simulation Conference, (1579-1590)
  42. ACM
    Andrzejak A, Kiefer K, Costa D and Wenz O Agile construction of data science DSLs (tool demo) Proceedings of the 18th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, (27-33)
  43. Hinkel G, Heinrich R and Reussner R (2019). An extensible approach to implicit incremental model analyses, Software and Systems Modeling (SoSyM), 18:5, (3151-3187), Online publication date: 1-Oct-2019.
  44. Tekinerdogan B and Arkin E (2019). ParDSL, Software and Systems Modeling (SoSyM), 18:5, (2907-2935), Online publication date: 1-Oct-2019.
  45. Sadati S, Zschaler S and Bergeles C A matlab-internal DSL for modelling hybrid rigid-continuum robots with TMTDyn Proceedings of the 22nd International Conference on Model Driven Engineering Languages and Systems, (559-567)
  46. ACM
    Beek M, Schmid K and Eichelberger H Textual Variability Modeling Languages Proceedings of the 23rd International Systems and Software Product Line Conference - Volume B, (151-157)
  47. Liao C and Chen K (2019). A service platform for streamlining the production of cyber–physical interactive performance art, Service Oriented Computing and Applications, 13:3, (221-236), Online publication date: 1-Sep-2019.
  48. ACM
    Denkers J A longitudinal field study on creation and use of domain-specific languages in industry Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, (1152-1155)
  49. Browne C, Stephenson M, Piette É and Soemers D A Practical Introduction to the Ludii General Game System Advances in Computer Games, (167-179)
  50. ACM
    Matsuba H, Matsuda M and Kawai M Pyne Workshop Proceedings of the 48th International Conference on Parallel Processing, (1-10)
  51. Kövesdán G and Lengyel L (2019). Meta3, Software and Systems Modeling (SoSyM), 18:4, (2421-2439), Online publication date: 1-Aug-2019.
  52. Tran N and Aoki T Conformance Testing of Schedulers for DSL-based Model Checking Model Checking Software, (208-225)
  53. ACM
    Sulyok C, Harte C and Bodó Z On the impact of domain-specific knowledge in evolutionary music composition Proceedings of the Genetic and Evolutionary Computation Conference, (188-197)
  54. ACM
    Sobernig S Chain of builders Proceedings of the 24th European Conference on Pattern Languages of Programs, (1-11)
  55. ACM
    Forbrig P and Dittmar A Applying agile methods and personas to S-BPM Proceedings of the 11th International Conference on Subject-Oriented Business Process Management, (1-10)
  56. ACM
    Rein P Reading logic as code or as natural language text Companion Proceedings of the 3rd International Conference on the Art, Science, and Engineering of Programming, (1-3)
  57. ACM
    Hu C, Geng G, Li B, Tang C and Wang X Verifying Cloud Application for the Interaction Correctness Using SoaML and SPIN Proceedings of the 2019 8th International Conference on Software and Computer Applications, (210-216)
  58. Stehle T and Riebisch M (2018). A porting method for coordinated multiplatform evolution, Journal of Software: Evolution and Process, 31:2, Online publication date: 14-Feb-2019.
  59. Hinkel G and Burger E (2019). Change propagation and bidirectionality in internal transformation DSLs, Software and Systems Modeling (SoSyM), 18:1, (249-278), Online publication date: 1-Feb-2019.
  60. Hinkel G, Goldschmidt T, Burger E and Reussner R (2019). Using internal domain-specific languages to inherit tool support and modularity for model transformations, Software and Systems Modeling (SoSyM), 18:1, (129-155), Online publication date: 1-Feb-2019.
  61. ACM
    Bergmayr A, Breitenbücher U, Ferry N, Rossini A, Solberg A, Wimmer M, Kappel G and Leymann F (2018). A Systematic Review of Cloud Modeling Languages, ACM Computing Surveys, 51:1, (1-38), Online publication date: 31-Jan-2019.
  62. Meyer T, Helms T, Warnke T and Uhrmacher A Runtime code generation for interpreted domain-specific modeling languages Proceedings of the 2018 Winter Simulation Conference, (605-615)
  63. ACM
    Germano E, Silvestre B, Ribeiro H and Carvalho S Workflow Management Platform for Orchestration of Ubiquitous Care Plan Services Proceedings of the Euro American Conference on Telematics and Information Systems, (1-8)
  64. Boßelmann S, Naujokat S and Steffen B On the Difficulty of Drawing the Line Leveraging Applications of Formal Methods, Verification and Validation. Modeling, (340-356)
  65. ACM
    Butting A, Dalibor M, Leonhardt G, Rumpe B and Wortmann A Deriving fluent internal domain-specific languages from grammars Proceedings of the 11th ACM SIGPLAN International Conference on Software Language Engineering, (187-199)
  66. ACM
    Gilson F Teaching software language engineering and usability through students peer reviews Proceedings of the 21st ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings, (98-105)
  67. ACM
    Poltronieri I, Zorzo A, Bernardino M and de Borba Campos M (2018). Usability evaluation framework for domain-specific language, ACM SIGAPP Applied Computing Review, 18:3, (5-18), Online publication date: 11-Oct-2018.
  68. ACM
    Han Y, He J and Dong Q CSSSketch2Code Proceedings of the 2nd International Conference on Advances in Artificial Intelligence, (29-35)
  69. Valente A and Marchetti E Fables – Exploring Natural Ways of Expressing Behavior to Create Digital Simulations Design, User Experience, and Usability: Designing Interactions, (110-126)
  70. D'silva J, De Moor F and Kemme B (2018). AIDA, Proceedings of the VLDB Endowment, 11:11, (1400-1413), Online publication date: 1-Jul-2018.
  71. Padilha B, Roberto R, Schwerz A, Pu C and Ferreira J WED-SQL: An Intermediate Declarative Language for PAIS Execution Web Services – ICWS 2018, (407-421)
  72. ACM
    Forbrig P, Dittmar A and Kühn M A Textual Domain Specific Language for Task Models Proceedings of the ACM SIGCHI Symposium on Engineering Interactive Computing Systems, (1-6)
  73. Naujokat S, Lybecait M, Kopetzki D and Steffen B (2018). CINCO, International Journal on Software Tools for Technology Transfer (STTT), 20:3, (327-354), Online publication date: 1-Jun-2018.
  74. van der Meer S, Keeney J and Fallon L Taming policy complexity: Model to execution NOMS 2018 - 2018 IEEE/IFIP Network Operations and Management Symposium, (1-8)
  75. ACM
    Poltronieri I, Zorzo A, Bernardino M and de Borba Campos M Usa-DSL Proceedings of the 33rd Annual ACM Symposium on Applied Computing, (2013-2021)
  76. ACM
    Benni B, Mosser S, Collet P and Riveill M Supporting micro-services deployment in a safer way Proceedings of the 33rd Annual ACM Symposium on Applied Computing, (1706-1715)
  77. ACM
    Stein C and Fogarty S dsmodels Proceedings of the Real World Domain Specific Languages Workshop 2018, (1-10)
  78. ACM
    Felleisen M, Findler R, Flatt M, Krishnamurthi S, Barzilay E, McCarthy J and Tobin-Hochstadt S (2018). A programmable programming language, Communications of the ACM, 61:3, (62-71), Online publication date: 21-Feb-2018.
  79. ACM
    Prasad G, Chimalakonda S and Choppella V Towards a Domain-Specific Language for the Renarration of Web Pages Proceedings of the 11th Innovations in Software Engineering Conference, (1-10)
  80. Bergmayr A, Grossniklaus M, Wimmer M and Kappel G (2018). Leveraging annotation-based modeling with Jump, Software and Systems Modeling (SoSyM), 17:1, (65-89), Online publication date: 1-Feb-2018.
  81. Holmes J, Groce A, Pinto J, Mittal P, Azimi P, Kellar K and O'brien J (2018). TSTL, International Journal on Software Tools for Technology Transfer (STTT), 20:1, (57-78), Online publication date: 1-Feb-2018.
  82. Vaderna R, Vuković Ž, Dejanović I, Milosavljević G and Fraguela B (2018). Graph Drawing and Analysis Library and Its Domain-Specific Language for Graphs’ Layout Specifications, Scientific Programming, 2018, Online publication date: 1-Jan-2018.
  83. uti A, Brand M and Verhoeff T (2018). Exploration of modularity and reusability of domain-specific languages, Computer Languages, Systems and Structures, 51:C, (48-70), Online publication date: 1-Jan-2018.
  84. Seipel D, Nogatz F and Abreu S (2018). Domain-specific languages in Prolog for declarative expert knowledge in rules and ontologies, Computer Languages, Systems and Structures, 51:C, (102-117), Online publication date: 1-Jan-2018.
  85. ACM
    Alshayeb M, Shaaban Y and Al-Ghamdi J (2018). SPMDL, Journal of Data and Information Quality, 9:4, (1-30), Online publication date: 31-Dec-2018.
  86. Rabe M, Schmitt D and Dross F Method to model actions for discrete-event simulations of logistics networks Proceedings of the 2017 Winter Simulation Conference, (1-12)
  87. ACM
    Martini R and Henriques P (2017). Automatic generation of virtual learning spaces driven by CaVaDSL: an experience report, ACM SIGPLAN Notices, 52:12, (233-245), Online publication date: 1-Dec-2017.
  88. ACM
    Martini R and Henriques P Automatic generation of virtual learning spaces driven by CaVaDSL: an experience report Proceedings of the 16th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, (233-245)
  89. ACM
    Zaytsev V Open challenges in incremental coverage of legacy software languages Proceedings of the 3rd ACM SIGPLAN International Workshop on Programming Experience, (1-6)
  90. ACM
    Xie H Principles, patterns, and techniques for designing and implementing practical fluent interfaces in Java Proceedings Companion of the 2017 ACM SIGPLAN International Conference on Systems, Programming, Languages, and Applications: Software for Humanity, (45-47)
  91. ACM
    Esperança V and Lucrédio D Late Decomposition of Applications into Services through Model-Driven Engineering Proceedings of the XXXI Brazilian Symposium on Software Engineering, (164-173)
  92. Batot E, Kessentini W, Sahraoui H and Famelis M Heuristic-based recommendation for metamodel Proceedings of the ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems, (210-220)
  93. Neag I and Gorringe C A .NET fluent interface for signal-oriented test programming 2017 IEEE AUTOTESTCON, (1-8)
  94. Mani N, Helfert M and Pahl C (2017). A Domain-specific Rule Generation Using Model-Driven Architecture in Controlled Variability Model, Procedia Computer Science, 112:C, (2354-2362), Online publication date: 1-Sep-2017.
  95. Cemus K, Klimes F, Kratochvil O and Cerny T (2017). Separation of concerns for distributed cross-platform context-aware user interfaces, Cluster Computing, 20:3, (2355-2362), Online publication date: 1-Sep-2017.
  96. ACM
    Groce A, Holmes J and Kellar K One test to rule them all Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis, (1-11)
  97. ACM
    Dietrich J, Sui L, Rasheed S and Tahir A On the construction of soundness oracles Proceedings of the 6th ACM SIGPLAN International Workshop on State Of the Art in Program Analysis, (37-42)
  98. ACM
    Ferreira W, Baldassarre M, Soares S, Cartaxo B and Visaggio G A Comparative Study of Model-Driven Approaches For Scoping and Planning Experiments Proceedings of the 21st International Conference on Evaluation and Assessment in Software Engineering, (78-87)
  99. ACM
    Chang S, Knauth A and Greenman B (2017). Type systems as macros, ACM SIGPLAN Notices, 52:1, (694-705), Online publication date: 11-May-2017.
  100. Glake D, Weyl J, Dohmen C, Hüning C and Clemen T Modeling through model transformation with MARS 2.0 Proceedings of the Agent-Directed Simulation Symposium, (1-12)
  101. Castro-Schez J, Gallardo J, Miguel R and Vallejo D (2017). Knowledge-based systems to enhance learning, Knowledge-Based Systems, 122:C, (180-198), Online publication date: 15-Apr-2017.
  102. Diprose J, MacDonald B, Hosking J and Plimmer B (2017). Designing an API at an appropriate abstraction level for programming social robot applications, Journal of Visual Languages and Computing, 39:C, (22-40), Online publication date: 1-Apr-2017.
  103. de Bakker M, de Jong K, Schmitz O and Karssenberg D (2017). Design and demonstration of a data model to integrate agent-based and field-based modelling, Environmental Modelling & Software, 89:C, (172-189), Online publication date: 1-Mar-2017.
  104. Bjørner D (2017). Manifest domains: analysis and description, Formal Aspects of Computing, 29:2, (175-225), Online publication date: 1-Mar-2017.
  105. ACM
    Cemus K and Cerny T (2017). Automated extraction of business documentation in enterprise information systems, ACM SIGAPP Applied Computing Review, 16:4, (5-13), Online publication date: 13-Jan-2017.
  106. ACM
    Chang S, Knauth A and Greenman B Type systems as macros Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages, (694-705)
  107. (2017). An overview of the model integration process, Environmental Modelling & Software, 87:C, (49-63), Online publication date: 1-Jan-2017.
  108. ACM
    Koniaris M, Papastefanatos G and Vassiliou Y Towards Automatic Structuring and Semantic Indexing of Legal Documents Proceedings of the 20th Pan-Hellenic Conference on Informatics, (1-6)
  109. ACM
    Nicolay J, Spruyt V and De Roover C Static Detection of User-specified Security Vulnerabilities in Client-side JavaScript Proceedings of the 2016 ACM Workshop on Programming Languages and Analysis for Security, (3-13)
  110. ACM
    Santos A and Gomes E Xdiagram: a declarative textual DSL for describing diagram editors (tool demo) Proceedings of the 2016 ACM SIGPLAN International Conference on Software Language Engineering, (253-257)
  111. ACM
    Rein P, Hirschfeld R and Taeumel M Gramada: immediacy in programming language development Proceedings of the 2016 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, (165-179)
  112. ACM
    Cemus K and Cerny T Business Documentation Derivation from Aspect-driven Enterprise Information Systems Proceedings of the International Conference on Research in Adaptive and Convergent Systems, (153-158)
  113. Martini R, Librelotto G and Henriques P (2016). Formal Description and Automatic Generation of Learning Spaces Based on Ontologies, Procedia Computer Science, 96:C, (235-244), Online publication date: 1-Oct-2016.
  114. ACM
    Lillack M, Berger T and Hebig R Experiences from reengineering and modularizing a legacy software generator with a projectional language workbench Proceedings of the 20th International Systems and Software Product Line Conference, (346-353)
  115. ACM
    Moore J, Price B, Smith A and van der Linden J Prototyping lighting schemes to reflect solar energy storage in the home Proceedings of the 2016 ACM International Joint Conference on Pervasive and Ubiquitous Computing: Adjunct, (1631-1635)
  116. Weichhart G, Guédria W and Naudet Y (2016). Supporting interoperability in complex adaptive enterprise systems, Data & Knowledge Engineering, 105:C, (90-106), Online publication date: 1-Sep-2016.
  117. Ataş M (2016). Open Cezeri Library, Computer Applications in Engineering Education, 24:5, (736-743), Online publication date: 1-Sep-2016.
  118. Yilmaz L Higher order synergies among agents, simulation, and model-driven engineering Proceedings of the Summer Computer Simulation Conference, (1-8)
  119. ACM
    Reinfurt L, Breitenbücher U, Falkenthal M, Leymann F and Riegg A Internet of things patterns Proceedings of the 21st European Conference on Pattern Languages of Programs, (1-21)
  120. ACM
    Iber J, Höller A, Rauter T and Kreiner C Patterns for designing configurability into domain-specific language elements Proceedings of the 21st European Conference on Pattern Languages of Programs, (1-14)
  121. Scheidgen M, Efftinge S and Marticke F Metamodeling vs Metaprogramming Proceedings of the 12th European Conference on Modelling Foundations and Applications - Volume 9764, (205-216)
  122. Klint P and Storm T Model Transformation with Immutable Data Proceedings of the 9th International Conference on Theory and Practice of Model Transformations - Volume 9765, (19-35)
  123. ACM
    Bussenot R, Leblanc H and Percebois C A Domain Specific Test Language for Systems Integration Proceedings of the Scientific Workshop Proceedings of XP2016, (1-10)
  124. ACM
    Scherr M and Chiba S (2015). Almost first-class language embedding: taming staged embedded DSLs, ACM SIGPLAN Notices, 51:3, (21-30), Online publication date: 11-May-2016.
  125. ACM
    Bernardino M, Rodrigues E and Zorzo A Performance testing modeling Proceedings of the 31st Annual ACM Symposium on Applied Computing, (1660-1665)
  126. Lopes F, Santos M, Fidalgo R and Fernandes S (2016). A Software Engineering Perspective on SDN Programmability, IEEE Communications Surveys & Tutorials, 18:2, (1255-1272), Online publication date: 1-Apr-2016.
  127. Cazzola W and Vacchi E (2016). Language components for modular DSLs using traits, Computer Languages, Systems and Structures, 45:C, (16-34), Online publication date: 1-Apr-2016.
  128. ACM
    Stewart R An Image Processing Language Proceedings of the 1st International Workshop on Real World Domain Specific Languages, (1-10)
  129. ACM
    Lezos C, Dimitroulakos G, Latifis I and Masselos K Automatic Generation of Code Analysis Tools Proceedings of the 1st International Workshop on Real World Domain Specific Languages, (1-10)
  130. ACM
    Cardoso B and Romão T Avoiding "...too late!" - Expressing and Detecting Opportunity with EveWorks and EveXL Proceedings of the 13th International Conference on Advances in Mobile Computing and Multimedia, (293-302)
  131. ACM
    Gaouar L, Benamar A and Bendimerad F Model Driven Approaches to Cross Platform Mobile Development Proceedings of the International Conference on Intelligent Information Processing, Security and Advanced Communication, (1-5)
  132. ACM
    Hölldobler K, Mir Seyed Nazari P and Rumpe B Adaptable symbol table management by meta modeling and generation of symbol table infrastructures Proceedings of the Workshop on Domain-Specific Modeling, (23-30)
  133. ACM
    Sotelo A and Takahashi S GOLD: a graph oriented language implemented using the eclipse Xtext framework Proceedings of the on Eclipse Technology eXchange, (19-24)
  134. ACM
    Scherr M and Chiba S Almost first-class language embedding: taming staged embedded DSLs Proceedings of the 2015 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, (21-30)
  135. ACM
    Grewe S, Erdweg S, Wittmann P and Mezini M Type systems for the masses: deriving soundness proofs and efficient checkers 2015 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward!), (137-150)
  136. ACM
    Cemus K, Cerny T and Donahoo M Evaluation of approaches to business rules maintenance in enterprise information systems Proceedings of the 2015 Conference on research in adaptive and convergent systems, (324-329)
  137. ACM
    Cabezuelo A, Conde M and Rodríguez J 6th International Workshop on Software Engineering for E-Learning (ISELEAR15) Proceedings of the 3rd International Conference on Technological Ecosystems for Enhancing Multiculturality, (661-665)
  138. Gestwicki P (2015). Teaching game programming with PlayN, Journal of Computing Sciences in Colleges, 31:1, (90-97), Online publication date: 1-Oct-2015.
  139. Pescador A, Garmendia A, Guerra E, Cuadrado J and de Lara J Pattern-based development of domain-specific modelling languages Proceedings of the 18th International Conference on Model Driven Engineering Languages and Systems, (166-175)
  140. Hölldobler K, Rumpe B and Weisemöller I Systematically deriving domain-specific transformation languages Proceedings of the 18th International Conference on Model Driven Engineering Languages and Systems, (136-145)
  141. Laursen J, Schultz U and Ellekilde L Automatic error recovery in robot assembly operations using reverse execution 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), (1785-1792)
  142. Ribeiro F, Muhammad H, Maidl A and Ierusalimschy R Preserving Lexical Scoping When Dynamically Embedding Languages Proceedings of the 19th Brazilian Symposium on Programming Languages - Volume 9325, (31-43)
  143. Mougenot I, Desconnets J and Chahdi H A DCAP to promote easy-to-use data for multiresolution and multitemporal satellite imagery analysis Proceedings of the 2015 International Conference on Dublin Core and Metadata Applications, (10-19)
  144. ACM
    Marr S, Seaton C and Ducasse S (2015). Zero-overhead metaprogramming: reflection and metaobject protocols fast and without compromises, ACM SIGPLAN Notices, 50:6, (545-554), Online publication date: 7-Aug-2015.
  145. ACM
    Hinkel G, Groenda H, Vannucci L, Denninger O, Cauli N and Ulbrich S A Domain-Specific Language (DSL) for Integrating Neuronal Networks in Robot Control Proceedings of the 2015 Joint MORSE/VAO Workshop on Model-Driven Robot Software Engineering and View-based Software-Engineering, (9-15)
  146. Koopman P and Plasmeijer R Type-Safe Functions and Tasks in a Shallow Embedded DSL for Microprocessors Central European Functional Programming School, (283-340)
  147. ACM
    Kühn M Applying Patterns when Generating Code Proceedings of the Mulitimedia, Interaction, Design and Innnovation, (1-7)
  148. ACM
    Marr S, Seaton C and Ducasse S Zero-overhead metaprogramming: reflection and metaobject protocols fast and without compromises Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation, (545-554)
  149. Barnett S, Vasa R and Grundy J Bootstrapping mobile app development Proceedings of the 37th International Conference on Software Engineering - Volume 2, (657-660)
  150. ACM
    Shioda M, Iwasaki H and Sato S (2014). LibDSL: a library for developing embedded domain specific languages in d via template metaprogramming, ACM SIGPLAN Notices, 50:3, (63-72), Online publication date: 12-May-2015.
  151. Korenkov Y, Loginov I and Lazdin A PEG-based language workbench Proceedings of the 17th Conference of Open Innovations Association FRUCT, (75-81)
  152. ACM
    Satish N, Kim C, Chhugani J, Saito H, Krishnaiyer R, Smelyanskiy M, Girkar M and Dubey P (2015). Can traditional programming bridge the ninja performance gap for parallel computing applications?, Communications of the ACM, 58:5, (77-86), Online publication date: 23-Apr-2015.
  153. ACM
    Fabry J, Dinkelaker T, Noyé J and Tanter É (2015). A Taxonomy of Domain-Specific Aspect Languages, ACM Computing Surveys, 47:3, (1-44), Online publication date: 16-Apr-2015.
  154. ACM
    Trias F, de Castro V, López-Sanz M and Marcos E RE-CMS Proceedings of the 30th Annual ACM Symposium on Applied Computing, (810-812)
  155. ACM
    Bačíková M, Porubän J, Chodarev S and Nosál' M Bootstrapping DSLs from user interfaces Proceedings of the 30th Annual ACM Symposium on Applied Computing, (2115-2118)
  156. Havelund K (2015). Rule-based runtime verification revisited, International Journal on Software Tools for Technology Transfer (STTT), 17:2, (143-170), Online publication date: 1-Apr-2015.
  157. ACM
    Hadas A and Lorenz D First-class domain specific aspect languages Companion Proceedings of the 14th International Conference on Modularity, (29-30)
  158. ACM
    Hadas A and Lorenz D Demanding first-class equality for domain specific aspect languages Companion Proceedings of the 14th International Conference on Modularity, (35-38)
  159. Clark T (2015). XPL, Science of Computer Programming, 98:P4, (589-616), Online publication date: 1-Feb-2015.
  160. Maeda K Parser development with an internal domain-specific language and an aspect weaver Proceedings of the 8th International Conference on Bioinspired Information and Communications Technologies, (235-238)
  161. ACM
    Gibbons J and Wu N (2014). Folding domain-specific languages, ACM SIGPLAN Notices, 49:9, (339-347), Online publication date: 26-Nov-2014.
  162. Reguly I, Mudalige G, Giles M, Curran D and McIntosh-Smith S The OPS domain specific abstraction for multi-block structured grid computations Proceedings of the Fourth International Workshop on Domain-Specific Languages and High-Level Frameworks for High Performance Computing, (58-67)
  163. Fernández A, Beltran V, Mateo S, Patejko T and Ayguadé E A data flow language to develop high performance computing DSLs Proceedings of the Fourth International Workshop on Domain-Specific Languages and High-Level Frameworks for High Performance Computing, (11-20)
  164. ACM
    Nguyen H, Kästner C and Nguyen T Building call graphs for embedded client-side code in dynamic web applications Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, (518-529)
  165. ACM
    Truong L, Markley C and Fox A An Extensible Framework for Composing Stencils with Common Scientific Computing Patterns Proceedings of the Second Workshop on Optimizing Stencil Computations, (33-40)
  166. ACM
    Acher M, Combemale B and Collet P Metamorphic Domain-Specific Languages Proceedings of the 2014 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software, (243-253)
  167. Aβmann U, Knoop J and Zimmermann W Model-Based Code-Generators and Compilers - Track Introduction Part I of the Proceedings of the 6th International Symposium on Leveraging Applications of Formal Methods, Verification and Validation. Technologies for Mastering Change - Volume 8802, (386-390)
  168. Collet P Domain Specific Languages for Managing Feature Models Part I of the Proceedings of the 6th International Symposium on Leveraging Applications of Formal Methods, Verification and Validation. Technologies for Mastering Change - Volume 8802, (273-288)
  169. ACM
    Rodrigues E, Saad R, Oliveira F, Costa L, Bernardino M and Zorzo A Evaluating capture and replay and model-based performance testing tools Proceedings of the 8th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, (1-8)
  170. ACM
    Shioda M, Iwasaki H and Sato S LibDSL: a library for developing embedded domain specific languages in d via template metaprogramming Proceedings of the 2014 International Conference on Generative Programming: Concepts and Experiences, (63-72)
  171. ACM
    Kranz J and Simon A Structure-Preserving Compilation Proceedings of the 16th International Symposium on Principles and Practice of Declarative Programming, (187-198)
  172. ACM
    Della Casa D and John G LiveCodeLab 2.0 and its language LiveCodeLang Proceedings of the 2nd ACM SIGPLAN international workshop on Functional art, music, modeling & design, (1-8)
  173. ACM
    Schefer-Wenzl S and Feiertag K A Domain-Specific Language for XML Security Standards Proceedings of the 2014 European Conference on Software Architecture Workshops, (1-7)
  174. ACM
    Johanson A and Hasselbring W Hierarchical Combination of Internal and External Domain-Specific Languages for Scientific Computing Proceedings of the 2014 European Conference on Software Architecture Workshops, (1-8)
  175. ACM
    Gibbons J and Wu N Folding domain-specific languages Proceedings of the 19th ACM SIGPLAN international conference on Functional programming, (339-347)
  176. Homer M, Jones T, Noble J, Bruce K and Black A Graceful Dialects Proceedings of the 28th European Conference on ECOOP 2014 --- Object-Oriented Programming - Volume 8586, (131-156)
  177. Mayer P and Schroeder A Automated Multi-Language Artifact Binding and Rename Refactoring between Java and DSLs Used by Java Frameworks Proceedings of the 28th European Conference on ECOOP 2014 --- Object-Oriented Programming - Volume 8586, (437-462)
  178. ACM
    Goldschmidt T A View-based Approach Towards an Engineering Platform for Industrial Automation in the Cloud Proceedings of the 2nd Workshop on View-Based, Aspect-Oriented and Orthographic Software Modelling, (39-42)
  179. Goldschmidt T Towards an Infrastructure for Domain-Specific Languages in a Multi-domain Cloud Platform Proceedings of the 10th European Conference on Modelling Foundations and Applications - Volume 8569, (242-253)
  180. ACM
    Hannig F, Lari V, Boppu S, Tanase A and Reiche O (2014). Invasive Tightly-Coupled Processor Arrays, ACM Transactions on Embedded Computing Systems, 13:4s, (1-29), Online publication date: 1-Jul-2014.
  181. ACM
    Kühn M and Forbrig P Mobile Data Collection Forms Based on DSLs with Different Levels of Abstraction Proceedings of the 2014 Mulitmedia, Interaction, Design and Innovation International Conference on Multimedia, Interaction, Design and Innovation, (1-8)
  182. ACM
    Cardoso B and Romão T Presenting EveWorks, a framework for daily life event detection Proceedings of the 2014 ACM SIGCHI symposium on Engineering interactive computing systems, (289-294)
  183. ACM
    Beaugnon U, Kravets A, van Haastregt S, Baghdadi R, Tweed D, Absar J and Lokhmotov A VOBLA Proceedings of the 2014 SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systems, (115-124)
  184. ACM
    Bruns R, Dunkel J, Lier S and Masbruch H DS-EPL Proceedings of the 8th ACM International Conference on Distributed Event-Based Systems, (83-94)
  185. ACM
    Beaugnon U, Kravets A, van Haastregt S, Baghdadi R, Tweed D, Absar J and Lokhmotov A (2014). VOBLA, ACM SIGPLAN Notices, 49:5, (115-124), Online publication date: 5-May-2014.
  186. ACM
    Cardoso B and Romão T The timeline as a programming interface CHI '14 Extended Abstracts on Human Factors in Computing Systems, (1423-1428)
  187. ACM
    Schöttle M, Alam O, Mussbacher G and Kienzle J Specification of domain-specific languages based on concern interfaces Proceedings of the 13th workshop on Foundations of aspect-oriented languages, (23-28)
  188. ACM
    Souza C and Figueiredo E How do programmers use optional typing? Proceedings of the 13th international conference on Modularity, (109-120)
  189. ACM
    Reis L, Di Iorio V and Bigonha R Defining the syntax of extensible languages Proceedings of the 29th Annual ACM Symposium on Applied Computing, (1570-1576)
  190. ACM
    Weiher M and Hirschfeld R (2013). Polymorphic identifiers, ACM SIGPLAN Notices, 49:2, (61-72), Online publication date: 5-Feb-2014.
  191. ACM
    Ewald R and Uhrmacher A (2014). SESSL, ACM Transactions on Modeling and Computer Simulation, 24:2, (1-25), Online publication date: 1-Feb-2014.
  192. Schmidt A, Kimmig D, Bittner K and Dickerhof M Teaching model-driven software development Proceedings of the Sixteenth Australasian Computing Education Conference - Volume 148, (97-104)
  193. Yue S and Gray J (2014). SPOT, Advances in Software Engineering, 2014, (9-9), Online publication date: 1-Jan-2014.
  194. Schützel J, Ewald R and Uhrmacher A Towards a general foundation for formalism-specific instrumentation languages Proceedings of the 2013 Winter Simulation Conference: Simulation: Making Decisions in a Complex World, (4008-4009)
  195. ACM
    Sarasa-Cabezuelo A and Sierra-Rodríguez J Software engineering for eLearning Proceedings of the First International Conference on Technological Ecosystem for Enhancing Multiculturality, (81-86)
  196. ACM
    Weiher M and Hirschfeld R Polymorphic identifiers Proceedings of the 9th symposium on Dynamic languages, (61-72)
  197. ACM
    Roth B, Jahn M and Jablonski S On the way of bottom-up designing textual domain-specific modelling languages Proceedings of the 2013 ACM workshop on Domain-specific modeling, (51-56)
  198. ACM
    Mayer P and Schroeder A Towards automated cross-language refactorings between Java and DSLs used by Java frameworks Proceedings of the 2013 ACM workshop on Workshop on refactoring tools, (5-8)
  199. Bachmann P Build from the end Proceedings of the 20th Conference on Pattern Languages of Programs, (1-12)
  200. Goswami D Rule engine for validating complex business objects Proceedings of the 20th Conference on Pattern Languages of Programs, (1-18)
  201. Hen-Tov A, Lorenz D, Schachter L, Wirfs-Brock R and Yoder J AOM domain-specific validations Proceedings of the 20th Conference on Pattern Languages of Programs, (1-13)
  202. Taentzer G, Mantz F, Arendt T and Lamo Y Customizable Model Migration Schemes for Meta-model Evolutions with Multiplicity Changes Proceedings of the 16th International Conference on Model-Driven Engineering Languages and Systems - Volume 8107, (254-270)
  203. ACM
    Horpácsi D Extending Erlang by utilising RefactorErl Proceedings of the twelfth ACM SIGPLAN workshop on Erlang, (63-72)
  204. ACM
    Pech V, Shatalin A and Voelter M JetBrains MPS as a tool for extending Java Proceedings of the 2013 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools, (165-168)
  205. ACM
    Mantz F, Taentzer G and Lamo Y Customizing model migrations by rule schemes Proceedings of the 2013 International Workshop on Principles of Software Evolution, (1-10)
  206. ACM
    Omar C, Chung B, Kurilova D, Potanin A and Aldrich J Type-directed, whitespace-delimited parsing for embedded DSLs Proceedings of the First Workshop on the Globalization of Domain Specific Languages, (8-11)
  207. ACM
    Rodriguez-Cerezo D, Gómez-Albarrán M and Sierra-Rodríguez J Interactive educational simulations for promoting the comprehension of basic compiler construction concepts Proceedings of the 18th ACM conference on Innovation and technology in computer science education, (28-33)
  208. Agt H and Kutsche R Automated construction of a large semantic network of related terms for domain-specific modeling Proceedings of the 25th international conference on Advanced Information Systems Engineering, (610-625)
  209. ACM
    Díaz O, Arellano C and Azanza M (2013). A language for end-user web augmentation, ACM Transactions on the Web, 7:2, (1-51), Online publication date: 1-May-2013.
  210. ACM
    Efftinge S, Eysholdt M, Köhnlein J, Zarnekow S, von Massow R, Hasselbring W and Hanus M (2012). Xbase, ACM SIGPLAN Notices, 48:3, (112-121), Online publication date: 10-Apr-2013.
  211. Ewald R and Uhrmacher A Setting up simulation experiments with SESSL Proceedings of the Winter Simulation Conference, (1-2)
  212. Blunk A and Fischer J Comparison of slx and model-driven language development for creating domain-specific simulation languages Proceedings of the Winter Simulation Conference, (1-2)
  213. James P, Beckmann A and Roggenbach M Using domain specific languages to support verification in the railway domain Proceedings of the 8th international conference on Hardware and Software: verification and testing, (274-275)
  214. Buzdin D and Nikiforova O (2012). Transformation of UML class diagram to internal java domain-specific language, Applied Computer Systems, 13:1, (61-67), Online publication date: 1-Nov-2012.
  215. ACM
    Cartaxo B, Costa I, Abrantes D, Santos A, Soares S and Garcia V ESEML Proceedings of the 2012 workshop on Domain-specific modeling, (55-60)
  216. ACM
    Omar C Active type-checking and translation Proceedings of the 3rd annual conference on Systems, programming, and applications: software for humanity, (113-114)
  217. ACM
    Kurpick T, Pinkernell C, Look M and Rumpe B Modeling cyber-physical systems Proceedings of the Modelling of the Physical World Workshop, (1-6)
  218. ACM
    Rose L, Kolovos D and Paige R EuGENia live Proceedings of the 2012 Extreme Modeling Workshop, (15-20)
  219. ACM
    Lengyel L and Mezei G Model-driven paradigms Proceedings of the 8th edition of the Educators' Symposium, (13-20)
  220. Schaefer I, Rabiser R, Clarke D, Bettini L, Benavides D, Botterweck G, Pathak A, Trujillo S and Villela K (2012). Software diversity, International Journal on Software Tools for Technology Transfer (STTT), 14:5, (477-495), Online publication date: 1-Oct-2012.
  221. Blunk A and Fischer J Prototyping domain specific languages as extensions of a general purpose language Proceedings of the 7th international conference on System Analysis and Modeling: theory and practice, (72-87)
  222. ACM
    Křikava F and Collet P On the use of an internal DSL for enriching EMF models Proceedings of the 12th Workshop on OCL and Textual Modelling, (25-30)
  223. ACM
    Efftinge S, Eysholdt M, Köhnlein J, Zarnekow S, von Massow R, Hasselbring W and Hanus M Xbase Proceedings of the 11th International Conference on Generative Programming and Component Engineering, (112-121)
  224. Robenalt S MDSD for games with eclipse modeling technologies Proceedings of the 11th international conference on Entertainment Computing, (511-517)
  225. Walter R, Masuch M and Funk M 2nd workshop on game development and model-driven software development Proceedings of the 11th international conference on Entertainment Computing, (500-503)
  226. ACM
    Vetro' A, Tomassetti F, Torchiano M and Morisio M Language interaction and quality issues Proceedings of the ACM-IEEE international symposium on Empirical software engineering and measurement, (319-322)
  227. Wcisło E, Habela P and Subieta K Implementing a query language for java object database Proceedings of the 16th East European conference on Advances in Databases and Information Systems, (413-426)
  228. ACM
    Díaz O, Arellano C and Puente G Wikipedia customization through web augmentation techniques Proceedings of the Eighth Annual International Symposium on Wikis and Open Collaboration, (1-10)
  229. Franchi E A Domain Specific Language Approach for Agent-Based Social Network Modeling Proceedings of the 2012 International Conference on Advances in Social Networks Analysis and Mining (ASONAM 2012), (607-612)
  230. ACM
    Groce A and Erwig M Finding common ground: choose, assert, and assume Proceedings of the Ninth International Workshop on Dynamic Analysis, (12-17)
  231. Goldschmidt T and Mahnke W An internal domain-specific language for constructing OPC UA queries and event filters Proceedings of the 8th European conference on Modelling Foundations and Applications, (62-73)
  232. ACM
    Aghaee S, Nowak M and Pautasso C Reusable decision space for mashup tool design Proceedings of the 4th ACM SIGCHI symposium on Engineering interactive computing systems, (211-220)
  233. ACM
    Haitzer T and Zdun U DSL-based support for semi-automated architectural component model abstraction throughout the software lifecycle Proceedings of the 8th international ACM SIGSOFT conference on Quality of Software Architectures, (61-70)
  234. Hebig R, Gabrysiak G and Giese H Towards patterns for MDE-related processes to detect and handle changeability risks Proceedings of the International Conference on Software and System Process, (38-47)
  235. George L, Wider A and Scheidgen M Type-Safe model transformation languages as internal DSLs in scala Proceedings of the 5th international conference on Theory and Practice of Model Transformations, (160-175)
  236. ACM
    Sobernig S, Gaubatz P, Strembeck M and Zdun U (2011). Comparing complexity of API designs, ACM SIGPLAN Notices, 47:3, (157-166), Online publication date: 18-Apr-2012.
  237. ACM
    Lindeman R, Kats L and Visser E (2011). Declaratively defining domain-specific language debuggers, ACM SIGPLAN Notices, 47:3, (127-136), Online publication date: 18-Apr-2012.
  238. Brooke P, Paige R and Power C Approaches to modelling security scenarios with domain-specific languages Proceedings of the 20th international conference on Security Protocols, (41-54)
  239. Garlan D, Dwivedi V, Ruchkin I and Schmerl B Foundations and tools for end-user architecting Proceedings of the 17th Monterey conference on Large-Scale Complex IT Systems: development, operation and management, (157-182)
  240. ACM
    Kovanovic V and Djuric D Highway Proceedings of the 5th India Software Engineering Conference, (33-36)
  241. Schreier S Model-Driven development of resource-oriented applications Proceedings of the 2011 international conference on Service-Oriented Computing, (201-206)
  242. ACM
    Maruyama N, Nomura T, Sato K and Matsuoka S Physis Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis, (1-12)
  243. ACM
    Walter R and Masuch M How to integrate domain-specific languages into the game development process Proceedings of the 8th International Conference on Advances in Computer Entertainment Technology, (1-8)
  244. ACM
    Alves A, Yanasse H and Soma N LattesMiner Proceedings of the compilation of the co-located workshops on DSM'11, TMC'11, AGERE! 2011, AOOPES'11, NEAT'11, & VMIL'11, (85-92)
  245. ACM
    Fernandes S and Cachopo J Strict serializability is harmless Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion, (257-276)
  246. ACM
    Basman A, Lewis C and Clark C To inclusive design through contextually extended IoC Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion, (237-256)
  247. ACM
    Sobernig S, Gaubatz P, Strembeck M and Zdun U Comparing complexity of API designs Proceedings of the 10th ACM international conference on Generative programming and component engineering, (157-166)
  248. ACM
    Lindeman R, Kats L and Visser E Declaratively defining domain-specific language debuggers Proceedings of the 10th ACM international conference on Generative programming and component engineering, (127-136)
  249. ACM
    Günther S Development of internal domain-specific languages Proceedings of the 18th Conference on Pattern Languages of Programs, (1-25)
  250. Agt H Supporting software language engineering by automated domain knowledge acquisition Proceedings of the 2011th international conference on Models in Software Engineering, (4-11)
  251. ACM
    Matthee M and Levitt S Domain specific languages contextualized Proceedings of the South African Institute of Computer Scientists and Information Technologists Conference on Knowledge, Innovation and Leadership in a Diverse, Multidisciplinary Environment, (310-313)
  252. Barringer H and Havelund K Internal versus external DSLs for trace analysis Proceedings of the Second international conference on Runtime verification, (1-3)
  253. Quesada L, Berzal F and Cubero J A language specification tool for model-based parsing Proceedings of the 12th international conference on Intelligent data engineering and automated learning, (50-57)
  254. Davies J, Gibbons J, Calinescu R, Crichton C, Harris S and Tsui A Form follows function Proceedings of the First international conference on Foundations of Health Informatics Engineering and Systems, (21-38)
  255. Erwig M and Walkingshaw E Semantics first! Proceedings of the 4th international conference on Software Language Engineering, (243-262)
  256. Kling W, Jouault F, Wagelaar D, Brambilla M and Cabot J MoScript Proceedings of the 4th international conference on Software Language Engineering, (180-200)
  257. ACM
    Ghosh D (2011). DSL for the uninitiated, Communications of the ACM, 54:7, (44-50), Online publication date: 1-Jul-2011.
  258. ACM
    Tremblay G and Lessard P A marking language for the oto assignment marking tool Proceedings of the 16th annual joint conference on Innovation and technology in computer science education, (148-152)
  259. ACM
    Reutelshoefer J, Striffler A, Lemmerich F and Puppe F Incremental compilation of knowledge documents for markup-based closed-world authoring Proceedings of the sixth international conference on Knowledge capture, (81-88)
  260. ACM
    Ghosh D (2011). DSL for the Uninitiated, Queue, 9:6, (10-21), Online publication date: 1-Jun-2011.
  261. ACM
    Eysholdt M and Behrens H Xtext Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion, (307-309)
  262. ACM
    Eysholdt M and Rupprecht J Migrating a large modeling environment from XML/UML to Xtext/GMF Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion, (97-104)
  263. Voelter M Embedded software development with projectional language workbenches Proceedings of the 13th international conference on Model driven engineering languages and systems: Part II, (32-46)
  264. Maeda K Structured data represented in Ruby syntax Proceedings of the WSEAS International Conference on Applied Computing Conference, (398-403)
  265. ACM
    Bell P A practical high volume software product line Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion, (994-1003)
Contributors
  • ThoughtWorks, Inc.

Recommendations

Raphael M. Malyankar

Domain-specific languages (DSLs) deal with focused problems, usually within the context of a larger system or software tool. They generally focus on narrow, well-defined aspects of a software system, such as configuration, or on modeling a specific class of problems in a well-defined domain. Whether called by name or not, DSLs turn up in many software development situations; any programmer who has used some flavor of regular expression languages in general-purpose languages, such as in Java, C#, or Perl, or the configuration files for Struts or Hibernate, has encountered one. Software architects, developers, and even engineers in other disciplines who use design or simulation software will encounter modeling or configuration tools that clearly need a DSL of one kind or another. Architects, designers, and developers of software systems of even moderate size and complexity will often need to invent and implement such a language for some aspect of the software system, extend an existing language, or improve support for it in the system. This book deals with many of the questions that will arise during the definition, design, and development of such DSLs. The overall structure of this book is what Fowler calls a "duplex book": a relatively short narrative text communicates the concepts and basic ideas, and is intended to be read in full; the reference material should be read as needed. The first quarter of this book (Part 1) is a practitioner's textbook: a mixture of fundamental concepts in computer science (CS) and compilers; practical advice about when to apply the concepts; explanations of the trickier or less obvious points; and guidelines and tips for implementation. This section includes tips on when to use a DSL, discussions of the DSL life cycle, language idioms, tips for language design and construction, models of computation, constraints and tradeoffs in using DSLs, and short discussions of the basic concepts of programming language design and related issues (for example, interpreted versus compiled languages and compiler implementation). The final chapter in Part 1 discusses language workbenches. But, as the book makes clear, the state of the art in language workbenches is such that language designers can only draw one conclusion from this chapter: workbenches have potential, and it might be worth looking for one, but don't depend on finding one suited to particular circumstances. The first chapter in Part 2 contains very brief overviews of a few popular DSLs, including cascading style sheets (CSS) and Hibernate query language (HQL). This part should be read with Part 1. The rest of the book is a handbook for software architects, designers, and developers. It is a collection of conceptual building blocks that range from basic programming language concepts, such as lexical analysis and recursive descent parsing, to more advanced ideas, such as production rules. Each chapter in this reference portion of the book (Parts 2 through 6) has the same general structure: describe a DSL design/implementation building block, and then discuss its use, functioning, and implementation. It includes code fragments in Java, C#, and Ruby. Though much of the book discusses fundamental ideas in programming languages and compiler theory and implementation, this is not a textbook for learning programming language theory or compiler design. Readers need to have a basic knowledge of CS theory (specifically, programming languages and automata), such as what might be gained from an undergraduate CS course; undergraduate-level (at least) coursework in compilers would also be useful. Practitioners familiar with compiler theory will have already encountered many of the techniques described here; however, they should still find it useful to have the relevant software patterns collected in one volume for handy reference. For those without backgrounds in compilers or programming language design, there is still useful material in the first part. Motivated software architects and developers who have the appropriate CS coursework or experience may find the significant time and effort required to learn the necessary background material in compilers and programming worthwhile, especially if they are designing and developing new, complex software systems, which are likely to have features or requirements where a DSL would be an appropriate part of the solution. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.