skip to main content
10.1145/1890683.1890689acmotherconferencesArticle/Chapter ViewAbstractPublication PagesecoopConference Proceedingsconference-collections
research-article

DSL evolution through composition

Published: 22 June 2010 Publication History

Abstract

The use of domain specific languages (DSL), instead of general purpose languages introduces a number of advantages in software development even if could be problematic to maintain the DSL consistent with the evolution of the domain. Traditionally, to develop a compiler/interpreter from scratch but also to modify an existing compiler to support the novel DSL is a long and difficult task. We have developed Neverlang to simplify and speed up the development and maintenance of DSLs. The framework presented in this article not only allows to develop the syntax and the semantic of a new language from scratch but it is particularly focused on the reusability of the language definition. The interpreters/compilers produced with such a framework are modular and it is easy to add remove or modify their sections. This allows to modify the DSL definition in order to follow the evolution of the underneath domain. In this work, we explore the Neverlang framework and try out the adaptability of its language definition.

References

[1]
A. V. Aho, R. Sethi, and J. D. Ullman. Compilers: Principles, Techniques, and Tools. Addison Wesley, Reading, Massachusetts, 1986.
[2]
W. Cazzola and I. Speziale. Sectional Domain Specific Languages. In Proceedings of the 4th Domain Specific Aspect-Oriented Languages (DSAL'09), pages 11--14, Charlottesville, Virginia, USA, on 3rd of Mar. 2009. ACM.
[3]
S. Dmitriev. Language Oriented Programming: The Next Programming Paradigm. OnBoard, pages 1--13, Nov. 2004.
[4]
T. Ekman and G. Hedin. The JastAdd Extensible Java Compiler. In Proceedings of the 22nd Annual Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA'07), pages 1--18, Montréal, Québec, Canada, Oct. 2007. ACM.
[5]
B. Ford. Parsing Expression Grammars: a Recognition-Based Syntactic Foundation. In N. D. Jones and X. Leroy, editors, Proceedings of the 31st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'04), pages 111--122, Venice, Italy, Jan. 2004. ACM.
[6]
M. Fowler. Language Workbenches: The Killer-App for Domain Specific Languages? Martin Fowler's Blog, May 2005.
[7]
S. Freeman and N. Pryce. Evolving an Embedded Domain-Specific Language in Java. In Proceedings of the Dynamic Languages Symposium (DLS'06), pages 855--865, Portland, Oregon, USA, Oct. 2006. ACM.
[8]
E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Professional Computing Series. Addison-Wesley, Reading, Ma, USA, 1995.
[9]
J. Greenfield, K. Short, S. Cook, and S. Kent. Software Factories: Assembling Apllications with Patterns, Models, Frameworks and Tools. Wiley, 2004.
[10]
G. Hedin and E. Magnusson. JastAdd --- An Aspect-Oriented Compiler Construction System. Science of Computer Programming, 47(1):37--58, Apr. 2003.
[11]
J. Johannes. Controlling Model-Driven Software Development through Composition Systems. In Proceedings of the 7th Nordic Workshop on Model Driven Software Engineering (NW-MODE'09), pages 240--253, Tampere, Finland, Aug. 2009.
[12]
S. Kent. Model Driven Engineering. In M. J. Butler, L. Petre, and K. Sere, editors, Proceedings of the 3rd International Conference on Integrated Formal Methods (IFM'02), LNCS 2335, pages 286--298, Turku, Finland, May 2002. Springer.
[13]
D. A. Ladd and J. C. Ramming. Two Application Languages in Software Production. In Proceedings of the USENIX 1994 Very High Level Languages Symposium, pages 1--10, Santa Fe, New Mexico, USA, Oct. 1994.
[14]
N. Nystrom, M. R. Clarkson, and A. C. Myers. Polyglot: An Extensible Compiler Framework for Java. In Proceedings of the 12th International Conference on Compiler Construction (CC'03), LNCS 2622, pages 138--152, Warsaw, Poland, Apr. 2003. Springer.
[15]
D. Steinberg, D. Budinsky, M. Paternostro, and E. Merks. EMF: Eclipse Modeling Framework. Addison-Wesley, Dec. 2008.
[16]
A. van Deursen and P. Klint. Little Languages: Little Maintenance. Journal of Software Maintenance: Research and Practice, 10(2):75--92, Mar.-Apr. 1998.
[17]
A. van Deursen, P. Klint, and J. Visser. Domain-Specific Languages: An Annotated Bibliography. ACM SIGPLAN Notices, 35(6):26--36, June 2000.
[18]
J. White, J. H. Hill, J. Gray, S. Tambe, A. Gokhale, and D. C. Schmidt. Improving Domain-specific Language Reuse with Software Product-line Configuration Techniques. IEEE Software, 26(4):47--53, July-Aug. 2009.

Cited By

View all
  • (2023)Task Completeness Assessments in the Evolution of Domain-Specific Modelling LanguagesAdvanced Information Systems Engineering10.1007/978-3-031-34560-9_19(314-329)Online publication date: 8-Jun-2023
  • (2022)Towards a recipe for language decomposition: quality assessment of language product linesEmpirical Software Engineering10.1007/s10664-021-10074-627:4Online publication date: 1-Jul-2022
  • (2020)Neverlang and FeatureIDE just marriedProceedings of the 24th ACM Conference on Systems and Software Product Line: Volume A - Volume A10.1145/3382025.3414961(1-11)Online publication date: 19-Oct-2020
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
RAM-SE '10: Proceedings of the 7th Workshop on Reflection, AOP and Meta-Data for Software Evolution
June 2010
45 pages
ISBN:9781450305365
DOI:10.1145/1890683
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

  • CEKTRA
  • University of Maribor
  • AITO: Association Internationale pour les Technologies Objets

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 22 June 2010

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Conference

ECOOP '10
Sponsor:
  • AITO

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)17
  • Downloads (Last 6 weeks)0
Reflects downloads up to 13 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Task Completeness Assessments in the Evolution of Domain-Specific Modelling LanguagesAdvanced Information Systems Engineering10.1007/978-3-031-34560-9_19(314-329)Online publication date: 8-Jun-2023
  • (2022)Towards a recipe for language decomposition: quality assessment of language product linesEmpirical Software Engineering10.1007/s10664-021-10074-627:4Online publication date: 1-Jul-2022
  • (2020)Neverlang and FeatureIDE just marriedProceedings of the 24th ACM Conference on Systems and Software Product Line: Volume A - Volume A10.1145/3382025.3414961(1-11)Online publication date: 19-Oct-2020
  • (2020)Pragmatic reuse for DSML developmentSoftware and Systems Modeling10.1007/s10270-020-00831-4Online publication date: 14-Oct-2020
  • (2018)Developing and evolving a DSL-based approach for runtime monitoring of systems of systemsAutomated Software Engineering10.5555/3288647.328871325:4(875-915)Online publication date: 1-Dec-2018
  • (2018)Developing and evolving a DSL-based approach for runtime monitoring of systems of systemsAutomated Software Engineering10.1007/s10515-018-0241-x25:4(875-915)Online publication date: 5-Jul-2018
  • (2017)A Systematic Mapping Study on DSL Evolution2017 43rd Euromicro Conference on Software Engineering and Advanced Applications (SEAA)10.1109/SEAA.2017.25(149-156)Online publication date: Aug-2017
  • (2016)Gradually Learning Programming Supported by a Growable Programming LanguageIEEE Transactions on Emerging Topics in Computing10.1109/TETC.2015.24461924:3(404-415)Online publication date: Jul-2016
  • (2016)Leveraging Software Product Lines Engineering in the development of external DSLsComputer Languages, Systems and Structures10.1016/j.cl.2016.09.00446:C(206-235)Online publication date: 1-Nov-2016
  • (2015)NeverlangComputer Languages, Systems and Structures10.1016/j.cl.2015.02.00143:C(1-40)Online publication date: 1-Oct-2015
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media