- Library Home /
- Search Collections /
- Open Collections /
- Browse Collections /
- UBC Theses and Dissertations /
- Improving evolvability of operating systems with AspectC
Open Collections
UBC Theses and Dissertations
UBC Theses and Dissertations
Improving evolvability of operating systems with AspectC Coady, Monica Yvonne
Abstract
Operating system code is complex. But, while substantial complexity is inherent to this domain, other complexity is caused by modularity problems. The implementation of certain key system concerns seems to defy traditional modular boundaries and impede evolution. From OS/360 to Windows NT, systems suffer from unintentional interactions between modules [Lehman and Belady 1985] and require developers to be intimately familiar with implicit patterns of interaction between subsystems [Vogels 1999]. The thesis of this work is that aspect-oriented programming (AOP) can be used to improve evolution in operating system code by improving modularity. Specifically, AOP can alleviate modularity problems associated with concerns that are inherently crosscutting - no single modular decomposition can localize both the crosscutting concern and the concerns it crosscuts. Better modularization of crosscutting concerns requires that their implementation be localized, their interaction with the parts of the system they crosscut be explicit, and their internal structure be clear. By accomplishing these three things, AOP can provide better structural support for evolution. The first part of the thesis provides a case study comparing modularity involving three crosscutting concerns in the original versus aspect-oriented implementation within the FreeBSD operating system [Lehey 1999]. This comparison highlights specific improvements in modularity of both the crosscutting concerns and the concerns that are crosscut, or interacting concerns, in the AOP implementation. The second part of the thesis surveys evolutionary changes the three crosscutting concerns underwent between releases 2.2 (1997), 3.3 (1999) and 4.4 (2001) of FreeBSD, and identifies some of the specific impediments the original implementation poses with respect to evolution. A case study of the impact of these same evolutionary changes on the aspect-oriented implementation highlights improvements in locality of change afforded by the AOP implementation, and the ways in which improvements in modularity persist across the versions. The final part of the thesis presents inferences and generalizations based on the results of the case studies. We infer from the case studies that AOP can be used to improve evolvability of the three crosscutting concerns and their interacting concerns in three versions of FreeBSD, without harming non-interacting concerns. We then generalize these modularity benefits to more concerns, more systems, and more versions, and infer support for our main claim - that aspect-oriented programming can be used to improve evolvability of operating system code by providing better modularity of crosscutting concerns and their interacting concerns, without harming non-interacting concerns.
Item Metadata
Title |
Improving evolvability of operating systems with AspectC
|
Creator | |
Publisher |
University of British Columbia
|
Date Issued |
2003
|
Description |
Operating system code is complex. But, while substantial complexity is inherent to this
domain, other complexity is caused by modularity problems. The implementation of
certain key system concerns seems to defy traditional modular boundaries and impede
evolution. From OS/360 to Windows NT, systems suffer from unintentional interactions
between modules [Lehman and Belady 1985] and require developers to be intimately
familiar with implicit patterns of interaction between subsystems [Vogels 1999].
The thesis of this work is that aspect-oriented programming (AOP) can be used to
improve evolution in operating system code by improving modularity. Specifically, AOP
can alleviate modularity problems associated with concerns that are inherently
crosscutting - no single modular decomposition can localize both the crosscutting concern
and the concerns it crosscuts. Better modularization of crosscutting concerns requires
that their implementation be localized, their interaction with the parts of the system they
crosscut be explicit, and their internal structure be clear. By accomplishing these three
things, AOP can provide better structural support for evolution.
The first part of the thesis provides a case study comparing modularity involving three
crosscutting concerns in the original versus aspect-oriented implementation within the
FreeBSD operating system [Lehey 1999]. This comparison highlights specific
improvements in modularity of both the crosscutting concerns and the concerns that are
crosscut, or interacting concerns, in the AOP implementation. The second part of the thesis surveys evolutionary changes the three crosscutting
concerns underwent between releases 2.2 (1997), 3.3 (1999) and 4.4 (2001) of FreeBSD,
and identifies some of the specific impediments the original implementation poses with
respect to evolution. A case study of the impact of these same evolutionary changes on
the aspect-oriented implementation highlights improvements in locality of change
afforded by the AOP implementation, and the ways in which improvements in
modularity persist across the versions.
The final part of the thesis presents inferences and generalizations based on the results of
the case studies. We infer from the case studies that AOP can be used to improve
evolvability of the three crosscutting concerns and their interacting concerns in three
versions of FreeBSD, without harming non-interacting concerns. We then generalize
these modularity benefits to more concerns, more systems, and more versions, and infer
support for our main claim - that aspect-oriented programming can be used to improve
evolvability of operating system code by providing better modularity of crosscutting
concerns and their interacting concerns, without harming non-interacting concerns.
|
Extent |
7216320 bytes
|
Genre | |
Type | |
File Format |
application/pdf
|
Language |
eng
|
Date Available |
2009-11-17
|
Provider |
Vancouver : University of British Columbia Library
|
Rights |
For non-commercial purposes only, such as research, private study and education. Additional conditions apply, see Terms of Use https://open.library.ubc.ca/terms_of_use.
|
DOI |
10.14288/1.0051456
|
URI | |
Degree | |
Program | |
Affiliation | |
Degree Grantor |
University of British Columbia
|
Graduation Date |
2003-11
|
Campus | |
Scholarly Level |
Graduate
|
Aggregated Source Repository |
DSpace
|
Item Media
Item Citations and Data
Rights
For non-commercial purposes only, such as research, private study and education. Additional conditions apply, see Terms of Use https://open.library.ubc.ca/terms_of_use.