PhDOOS Logo

Supported by AITO.

These pages are currently maintained by Alex Potanin

 

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