DocumentCode
722791
Title
Migrating to an Extensible Architecture for Abstract Syntax Trees
Author
Couto, Luis Diogo ; Tran-Jorgensen, Peter W. V. ; Coleman, Joey W. ; Lausdahl, Kenneth
Author_Institution
Dept. of Eng., Aarhus Univ., Aarhus, Denmark
fYear
2015
fDate
4-8 May 2015
Firstpage
145
Lastpage
154
Abstract
We present and analyse an architectural migration in the Overture tool, a tool for which the primary internal data structure is an Abstract Syntax Tree (AST). The migration was from a high-cohesion AST with functionality encapsulated in its nodes to an extensible, low-cohesion AST with functionality implemented in visitors. This was motivated by the need for a high degree of extensibility in the tool´s core functionality. We describe the migration process and both architectures in detail. We also present a comparative analysis between both architectures, including the trade-offs made between extensibility and performance. Finally, we generalise these results to other tool migrations that have hierarchical data structures at their core.
Keywords
abstract data types; software architecture; tree data structures; abstract syntax trees; comparative analysis; core functionality; extensible architecture migration; hierarchical data structures; high-cohesion AST; overture tool; primary internal data structure; tool migrations; Analytical models; Conferences; Data structures; Dispatching; Java; Syntactics;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Architecture (WICSA), 2015 12th Working IEEE/IFIP Conference on
Conference_Location
Montreal, QC
Type
conf
DOI
10.1109/WICSA.2015.10
Filename
7158516
Link To Document