Code reuse with language oriented programming

David H. Lorenz, Boaz Rosenan

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

There is a gap between our ability to reuse high-level concepts in software design and our ability to reuse the code implementing them. Language Oriented Programming (LOP) is a software development paradigm that aims to close this gap, through extensive use of Domain Specific Languages (DSLs). With LOP, the high-level reusable concepts become reusable DSL constructs, and their translation into code level concepts is done in the DSL implementation. Particular products are implemented using DSL code, thus reusing only high-level concepts. In this paper we provide a comparison between two implementation approaches for LOP: (a),using external DSLs with a projectional language workbench (MPS); and (b),using internal DSLs with an LOP language (Cedalion). To demonstrate how reuse is achieved in each approach, we present a small case study, where LOP is used to build a Software Product Line (SPL) of calculator software.

Original languageEnglish
Title of host publicationTop Productivity through Software Reuse - 12th International Conference on Software Reuse, ICSR 2011, Proceedings
PublisherSpringer Verlag
Pages167-182
Number of pages16
Volume6727
ISBN (Print)9783642213465
DOIs
StatePublished - 1 Jun 2011
Event12th International Conference on Software Reuse, ICSR 2011 - Pohang, Korea, Republic of
Duration: 13 Jun 201117 Jun 2011

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume6727 LNCS

Conference

Conference12th International Conference on Software Reuse, ICSR 2011
Country/TerritoryKorea, Republic of
CityPohang
Period13/06/1117/06/11

All Science Journal Classification (ASJC) codes

  • Theoretical Computer Science
  • General Computer Science

Cite this