Supported by AITO.
|
|
Supporting The Adaptable Operating Systems Using Aspect-Oriented Framework.
Panitiq Netinant ( Thai )
Illinois Institute of Technology 3140 S. Michigan Ave #901
Chicago, IL 60616
U.S.A.
tel: 1-312-8421671 fax: netipan@iit.edu
Keywords:
analysis/design frameworks patterns
adaptability operating systems
Abstract:
Developing complex system software such as operating systems requires simultaneously
concerning multiple ?aspects? in both design and implementation. Examples of aspects
are such as scheduling, synchronization, security, availability, and reliability. Supporting
separation of concerns in operating systems can provide a number of benefits such as
comprehension, reusability, extensibility and reconfigurability in both design and
implementation. However, in order to maximize these benefits, such a support is difficult
to accomplish because some aspects in operating systems such as synchronization,
scheduling, fault tolerance cuts across the basic functionalities of the system. The
interaction of their components becomes more complex. This interaction may limit
reusability, adaptability, and make it difficult to validate the design and correctness of the
system. As a result, re-engineering of these systems might be inevitable to meet new
future requirements. Two-dimensional models lead to inflexibility, limits possibilities for
reusability and adaptability, and make it hard to understand, develop and adapt. Treating
Aspects, Components, and Layers as a two dimensional models is not a well design
model. Aspect-Oriented Programming (AOP) is emerging as a set of technologies for
allowing the separate expression of multiple concerns of aspects in the software
development. Aspect-Oriented Programming promotes the separation of the different
aspects of components in the system into their natural form. Besides, Aspect-Oriented
Programming could be well supported if there is an operating system built based on
Aspect-Oriented Design. Our work concentrates on how to maximize separation of
aspects, components, and layers from each other, and minimize changes to adapt. Our
goal is to achieve a better design and implementation model for operating systems in
terms of comprehension, flexibility, reusability and adaptability.
Our observation suggests that an Aspect-Oriented Approach that uses Aspect-Oriented
Frameworks could support operating system design and implementation in cleanly
separating components and aspects from each other. We argue that a crosscutting
property of the operating system should be excluded from the basic functional modules if
there is a possibility to often change it, and it should not be treated as a single monolithic
aspect. We have developed an Aspect-Oriented Framework, which simplifies system
design and implementation by expressing it at higher level of abstraction. Our proposed
framework is based on decomposition of aspects in operating system design and
implementation that consist of components, aspects, and layers (ACL). On top of
components and aspects, a layer consists of a collection of components and aspects. In
general, lower layers deal with system software. The lower the layer, the closer the
hardware is. The higher layers deal with application software. The overall framework
architecture is divided into two frameworks based on two layers: a base framework on the
low layer and an application framework on the upper layer. The Base Framework
corresponds to the system layer. On the upper layer application software may compose of
more than one application frameworks. The framework uses design patterns. ACL
framework provides adaptability allowing for an open language and architecture where
new aspects can be manageable and added in both application and operating system
easier.
The PhD work started: 01/1999
HTML3
JAVA
Last modified on Mon Aug 15 14:59:24 2005
|