2015
DOI: 10.1109/ms.2014.103
|View full text |Cite
|
Sign up to set email alerts
|

Projecting a Modular Future

Abstract: We describe two innovations in programming languages: modularity and projectional editing. Language modularity refers to the ability to combine independently developed languages without changing their respective definitions. A language is not anymore a fixed quantity, instead it can be extended with domain-specific constructs as needed. Projectional editing refers to a technique of building editors and IDEs that avoid the need for parsers. They support a wide range of tightly integrated notations including tex… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
9
0

Year Published

2015
2015
2021
2021

Publication Types

Select...
4
3
1

Relationship

1
7

Authors

Journals

citations
Cited by 19 publications
(9 citation statements)
references
References 9 publications
0
9
0
Order By: Relevance
“…First, considering that full feature modularity is almost impossible to achieve, and also does not appear to be necessary according to our study, we suggest considering lightweight modularity techniques. An interesting technique could be module projections [61][62][63], where feature code is physically scattered, but developers can easily obtain projections of modules in their IDE. Second, feature scattering should already be considered when designing the system architecture, accounting for some extent of scattering and possibly a limited number of highly scattered outliers.…”
Section: Resultsmentioning
confidence: 99%
“…First, considering that full feature modularity is almost impossible to achieve, and also does not appear to be necessary according to our study, we suggest considering lightweight modularity techniques. An interesting technique could be module projections [61][62][63], where feature code is physically scattered, but developers can easily obtain projections of modules in their IDE. Second, feature scattering should already be considered when designing the system architecture, accounting for some extent of scattering and possibly a limited number of highly scattered outliers.…”
Section: Resultsmentioning
confidence: 99%
“…MPS [53] provided capabilities to define a DSL trough many aspects: abstract aspects (metamodel), sematic aspects (constraints), concrete syntaxes aspects (graphical editors), generators aspects (model transformations) and many others (e.g. behavior, type system, data flow or intentions) [54]. MPS furnish two ways to reuse DSLs: the reference and the extension mechanisms.…”
Section: In Lopmentioning
confidence: 99%
“…According to the comparison in [32] it is one of the most fully-featured language workbenches. It is also used in practice for developing languages in domains such as computational biology [76], web applications [1], requirements engineering [104], insurance DSLs [106], safety engineering [71] as well as embedded software [103]. MPS has an active user community and continues to be developed by Jetbrains and other contributors.…”
Section: Jetbrains Mpsmentioning
confidence: 99%
“…More recently, DSLs have been used in domains that are not traditionally associated with formal, executable or analyzable languages. Examples include home automation [43], computational biology [76] and business applications [106] in the insurance industry. Because the users in such domains are not trained as programmers, they have different expectations of how languages and IDE should work; the diversity of linguistic styles and their syntax grows.…”
Section: Introductionmentioning
confidence: 99%