TY - DATA T1 - DYOL v0.2: Design Your Own Language PY - 2017/07/22 AU - Vadim Zaytsev UR - https://figshare.com/articles/figure/DYOL_v0_2_Design_Your_Own_Language/5234581 DO - 10.6084/m9.figshare.5234581.v1 L4 - https://ndownloader.figshare.com/files/8942947 KW - software languages KW - language design KW - design toolkit KW - design with intent KW - persuasive technology KW - decision making KW - lateral thinking KW - general strategies KW - design patterns KW - software recipes KW - compiler design KW - Applied Computer Science KW - Software Engineering KW - Conceptual Modelling KW - Programming Languages KW - Markup Languages KW - Design KW - Engineering Design Knowledge KW - Models of Engineering Design N2 - Software languages have always been an essential component of model-driven engineering. Their importance and popularity has only been rising with language workbenches, language-oriented programming, agile language engineering and other methodologies that enable us to quickly and easily create new languages specific for each domain. Creating a new language suitable for the problem at hand, ceased being challenging for engineers: having, reusing or designing a DSL is just a regular MDE problem solving recipe. Now we focus on making software language creation methods reliable and repeatable. However, language design is largely a form of art and has resisted most attempts to turn it into a form of science or engineering. In this project I have borrowed concepts, techniques and principles from the domain of persuasive technology, or wider yet, design with intent — which was developed as a way to influence users behaviour for social and environmental benefit. Software language designers can make similarly conscious choices in order to influence the behaviour of language users. This ability to cause changes in user behaviour is what we refer to as “language design” — this definition allows us to separate design concerns from implementation concerns. The DYOL (pronounced like “duel”) toolkit for language design contains cards with design components that were extracted from 24 books on parsing techniques, compiler construction, compiler design, language implementation, language documentation, programming languages, software languages, etc, as well as from the original set of Design with Intent cards and papers on DSL design. The resulting language design card toolkit can be used by DSL designers to cover important design decisions and make them with more confidence. ER -