Tools for exploring and editing crosscutting concerns

Typical programming languages allow only a single decomposition of a program into source files. This results in concerns that are difficult to work with because they cut across the primary decomposition. Current development environments do not provide adequate support for working with crosscutting s...

Full description

Bibliographic Details
Main Author: Janzen, Doug
Language:English
Published: 2009
Online Access:http://hdl.handle.net/2429/15557
id ndltd-LACETR-oai-collectionscanada.gc.ca-BVAU.2429-15557
record_format oai_dc
spelling ndltd-LACETR-oai-collectionscanada.gc.ca-BVAU.2429-155572014-03-14T15:48:18Z Tools for exploring and editing crosscutting concerns Janzen, Doug Typical programming languages allow only a single decomposition of a program into source files. This results in concerns that are difficult to work with because they cut across the primary decomposition. Current development environments do not provide adequate support for working with crosscutting structure because multiple tools are required to perform even simple explorations, forcing the developer to remember how parts of the code are related to one another, and causing disorientation by having to switch back and forth between multiple views. Furthermore editing of crosscutting structure must be done within the context of the single decomposition provided by the source files. In this thesis we present the design and implementation of two prototype tools for working with crosscutting structure. With the JQuery protoype developers can construct many kinds of browsers by writing queries over program structure, and then incrementally extend these browsers to explore complex relationships between various code elements. With JQuery developers are able to perform complex explorations in the context of a single view, reducing disorientation. Their exploration path is explicitly maintained, thus reducing cognitive overhead. A case study was conducted that provides preliminary evidence for the usefulness of JQuery in performing a realistic development task involving crosscutting concerns. The Decal prototype supports the editing of crosscutting structure through the use of virtual source files (VSFs) that provide two mutally crosscutting points of view. In the classes view each VSF contains all the declarations related to a particular class. The modules view provides an alternate decomposition where each VSF may contain declarations from multiple classes. Each VSF is generated from a single common representation of the program strucure so that edits to a VSF in one view will be reflected in VSFs from the other view. By using Decal developers are not restricted to editing programs according to the single primary decomposition, but are able to choose either one of two decompositions that is most suitable to the particular task at hand. 2009-11-23T21:51:57Z 2009-11-23T21:51:57Z 2004 2009-11-23T21:51:57Z 2004-11 Electronic Thesis or Dissertation http://hdl.handle.net/2429/15557 eng UBC Retrospective Theses Digitization Project [http://www.library.ubc.ca/archives/retro_theses/]
collection NDLTD
language English
sources NDLTD
description Typical programming languages allow only a single decomposition of a program into source files. This results in concerns that are difficult to work with because they cut across the primary decomposition. Current development environments do not provide adequate support for working with crosscutting structure because multiple tools are required to perform even simple explorations, forcing the developer to remember how parts of the code are related to one another, and causing disorientation by having to switch back and forth between multiple views. Furthermore editing of crosscutting structure must be done within the context of the single decomposition provided by the source files. In this thesis we present the design and implementation of two prototype tools for working with crosscutting structure. With the JQuery protoype developers can construct many kinds of browsers by writing queries over program structure, and then incrementally extend these browsers to explore complex relationships between various code elements. With JQuery developers are able to perform complex explorations in the context of a single view, reducing disorientation. Their exploration path is explicitly maintained, thus reducing cognitive overhead. A case study was conducted that provides preliminary evidence for the usefulness of JQuery in performing a realistic development task involving crosscutting concerns. The Decal prototype supports the editing of crosscutting structure through the use of virtual source files (VSFs) that provide two mutally crosscutting points of view. In the classes view each VSF contains all the declarations related to a particular class. The modules view provides an alternate decomposition where each VSF may contain declarations from multiple classes. Each VSF is generated from a single common representation of the program strucure so that edits to a VSF in one view will be reflected in VSFs from the other view. By using Decal developers are not restricted to editing programs according to the single primary decomposition, but are able to choose either one of two decompositions that is most suitable to the particular task at hand.
author Janzen, Doug
spellingShingle Janzen, Doug
Tools for exploring and editing crosscutting concerns
author_facet Janzen, Doug
author_sort Janzen, Doug
title Tools for exploring and editing crosscutting concerns
title_short Tools for exploring and editing crosscutting concerns
title_full Tools for exploring and editing crosscutting concerns
title_fullStr Tools for exploring and editing crosscutting concerns
title_full_unstemmed Tools for exploring and editing crosscutting concerns
title_sort tools for exploring and editing crosscutting concerns
publishDate 2009
url http://hdl.handle.net/2429/15557
work_keys_str_mv AT janzendoug toolsforexploringandeditingcrosscuttingconcerns
_version_ 1716653326572978176