• 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