DocumentCode :
744472
Title :
Projecting a Modular Future
Author :
Voelter, Markus ; Warmer, Jos ; Kolb, Bernd
Volume :
32
Issue :
5
fYear :
2015
Firstpage :
46
Lastpage :
52
Abstract :
Two innovations are enhancing programming languages´ capabilities. First, modularity lets you combine independently developed languages without changing their respective definitions. A language is no longer a fixed quantity; you can extend it with domain-specific constructs as needed. Second, projectional editing lets you build editors and IDEs that don´t require parsers. Such editors and IDEs support a range of tightly integrated notations, including textual, symbolic, tabular, and graphical notations. In addition, by avoiding parsers, they avoid grammar composition´s well-known limitations. Three examples illustrate how these two innovations affect programming-language design. A set of modular extensions of C for embedded programming enables efficient code generation and formal analysis. A language for requirements engineering flexibly combines structured and unstructured (prose) data. Finally, a language for defining insurance rules uses mathematical notation. These examples all rely on the open source JetBrains MPS (Meta Programming System) language workbench. This article is part of a special issue on Software Architecture.
Keywords :
C language; formal specification; formal verification; program compilers; public domain software; C modular extensions; IDEs; code generation; embedded programming; formal analysis; grammar composition; graphical notations; insurance rules; mathematical notation; meta programming system language workbench; open source JetBrains MPS; programming-language design; projectional editing; requirements engineering; software architecture; structured data; symbolic notations; tabular notations; textual notations; unstructured data; Computer languages; Embedded software; Generators; Programming; Software development; Software engineering; Syntactics; MPS; Meta Programming System; domain-specific languages; language engineering; language workbenches; mbeddr; programming languages; projectional editing; software development; software engineering;
fLanguage :
English
Journal_Title :
Software, IEEE
Publisher :
ieee
ISSN :
0740-7459
Type :
jour
DOI :
10.1109/MS.2014.103
Filename :
6866847
Link To Document :
بازگشت