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
Pages167-182
Number of pages16
DOIs
StatePublished - 2011
Externally publishedYes
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
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

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

ASJC Scopus subject areas

  • Theoretical Computer Science
  • General Computer Science

Fingerprint

Dive into the research topics of 'Code reuse with language oriented programming'. Together they form a unique fingerprint.

Cite this