Modularizing Crosscutting Concerns in Software
Code modularization provides benefits throughout the software life cycle; however, the presence of crosscutting concerns (CCCs) in software hinders its complete modularization. Traditional modularization techniques work well under the assumption that code being modularized is functionally orthogonal...
Main Author: | |
---|---|
Format: | Others |
Published: |
Scholar Commons
2011
|
Subjects: | |
Online Access: | http://scholarcommons.usf.edu/etd/3327 http://scholarcommons.usf.edu/cgi/viewcontent.cgi?article=4522&context=etd |
id |
ndltd-USF-oai-scholarcommons.usf.edu-etd-4522 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-USF-oai-scholarcommons.usf.edu-etd-45222015-09-30T04:40:59Z Modularizing Crosscutting Concerns in Software Saigal, Nalin Code modularization provides benefits throughout the software life cycle; however, the presence of crosscutting concerns (CCCs) in software hinders its complete modularization. Traditional modularization techniques work well under the assumption that code being modularized is functionally orthogonal to the rest of the code; as a result, software engineers try to separate code segments that are orthogonal in their functionality into distinct modules. However, in practice, software does not decompose neatly into modules with distinct, orthogonal functionality. In this thesis, we investigate the modularization of CCCs in software using two different techniques. Firstly, we discuss IVCon, a GUI-based tool that provides a novel approach to the modularization of CCCs. We have designed IVCon to capture the multi-concern nature of code. IVCon enables users to create, examine, and modify their code in two different views, the woven view and the unwoven view. The woven view displays program code in colors that indicate which CCCs various code segments implement, while the unwoven view displays code in two panels, one showing the core of the program and the other showing all the code implementing each concern in an isolated module. IVCon aims to provide an easy-to-use interface for conveniently creating, examining, and modifying code in, and translating between, the woven and unwoven views. Secondly, we discuss LoPSiL, which is a location-based policy-specification language. LoPSiL is Turing-complete and provides users with language constructs that enable them to manipulate location information; hence, LoPSiL can be used to specify and enforce generic policies that might involve location-based constraints. We have implemented a LoPSiL compiler using AspectJ, and we observe and discuss how the use of traditional units of modularization---aspects in this case---help modularize functionally orthogonal CCCs such as security and auditing. 2011-01-01T08:00:00Z text application/pdf http://scholarcommons.usf.edu/etd/3327 http://scholarcommons.usf.edu/cgi/viewcontent.cgi?article=4522&context=etd default Graduate Theses and Dissertations Scholar Commons Aspect-Oriented Programming Code Maintenance Policy-Specification Languages Security Software Engineering American Studies Arts and Humanities Computer Sciences |
collection |
NDLTD |
format |
Others
|
sources |
NDLTD |
topic |
Aspect-Oriented Programming Code Maintenance Policy-Specification Languages Security Software Engineering American Studies Arts and Humanities Computer Sciences |
spellingShingle |
Aspect-Oriented Programming Code Maintenance Policy-Specification Languages Security Software Engineering American Studies Arts and Humanities Computer Sciences Saigal, Nalin Modularizing Crosscutting Concerns in Software |
description |
Code modularization provides benefits throughout the software life cycle; however, the presence of crosscutting concerns (CCCs) in software hinders its complete modularization. Traditional modularization techniques work well under the assumption that code being modularized is functionally orthogonal to the rest of the code; as a result, software engineers try to separate code segments that are orthogonal in their functionality into distinct modules. However, in practice, software does not decompose neatly into modules with distinct, orthogonal functionality. In this thesis, we investigate the modularization of CCCs in software using two different techniques.
Firstly, we discuss IVCon, a GUI-based tool that provides a novel approach to the modularization of CCCs. We have designed IVCon to capture the multi-concern nature of code. IVCon enables users to create, examine, and modify their code in two different views, the woven view and the unwoven view. The woven view displays program code in colors that indicate which CCCs various code segments implement, while the unwoven view displays code in two panels, one showing the core of the program and the other showing all the code implementing each concern in an isolated module. IVCon aims to provide an easy-to-use interface for conveniently creating, examining, and modifying code in, and translating between, the woven and unwoven views.
Secondly, we discuss LoPSiL, which is a location-based policy-specification language. LoPSiL is Turing-complete and provides users with language constructs that enable them to manipulate location information; hence, LoPSiL can be used to specify and enforce generic policies that might involve location-based constraints. We have implemented a LoPSiL compiler using AspectJ, and we observe and discuss how the use of traditional units of modularization---aspects in this case---help modularize functionally orthogonal CCCs such as security and auditing. |
author |
Saigal, Nalin |
author_facet |
Saigal, Nalin |
author_sort |
Saigal, Nalin |
title |
Modularizing Crosscutting Concerns in Software |
title_short |
Modularizing Crosscutting Concerns in Software |
title_full |
Modularizing Crosscutting Concerns in Software |
title_fullStr |
Modularizing Crosscutting Concerns in Software |
title_full_unstemmed |
Modularizing Crosscutting Concerns in Software |
title_sort |
modularizing crosscutting concerns in software |
publisher |
Scholar Commons |
publishDate |
2011 |
url |
http://scholarcommons.usf.edu/etd/3327 http://scholarcommons.usf.edu/cgi/viewcontent.cgi?article=4522&context=etd |
work_keys_str_mv |
AT saigalnalin modularizingcrosscuttingconcernsinsoftware |
_version_ |
1716825311964823552 |