From software extensions to product lines of dataflow programs
Dataflow programs are widely used. Each program is a directed graph where nodes are computations and edges indicate the flow of data. In prior work, we reverse-engineered legacy dataflow programs by deriving their optimized implementations from a simple specification graph using graph transformation...
Gespeichert in:
Veröffentlicht in: | Software and systems modeling 2017-10, Vol.16 (4), p.929-947 |
---|---|
Hauptverfasser: | , , , |
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | Dataflow programs are widely used. Each program is a directed graph where nodes are computations and edges indicate the flow of data. In prior work, we reverse-engineered legacy dataflow programs by deriving their optimized implementations from a simple specification graph using graph transformations called
refinements
and
optimizations
. In MDE speak, our derivations were PIM-to-PSM mappings. In this paper, we show how
extensions
complement refinements, optimizations, and PIM-to-PSM derivations to make the process of reverse engineering complex legacy dataflow programs tractable. We explain how optional functionality in transformations can be encoded, thereby enabling us to encode product lines of transformations as well as product lines of dataflow programs. We describe the implementation of extensions in the
ReFlO
tool and present two non-trivial case studies as evidence of our work’s generality. |
---|---|
ISSN: | 1619-1366 1619-1374 |
DOI: | 10.1007/s10270-015-0495-8 |