Friedrich-Alexander-Universität UnivisSearchDeutsch FAU-Logo
Techn. Fakultšt Willkommen am Department Informatik FAU-Logo
Logo I4
Department of Computer Science 4

 Project Description
 Team and Contact
 Student Projects

Internal Pagesprotected area
Dept. of Computer Science  >  CS 4  >  Projects  >  AspectIX  >  Project Description

Project Description



Distributed applications face far more restrictions imposed by bad or varying system conditions than local applications. Thus nonfunctional properties or quality-of-service aspects become more important. For coping with scarce resources or other system restrictions, applications need to know what their clients expect and to dynamically decide on how the application's functionality is implemented best.

We assume that distributed applications are built using distributed objects which communicate with one another. The AspectIX middleware now supports adaptable and QoS-aware distributed objects. The clients of an object can express their requirements in terms of quality or nonfunctional properties. The object can issue a guarantee for fulfilling the requirements. The object implementation will consider the current system conditions, the current state of sub-ordinate objects acting as service provider, and the clients' requirements for realizing its functionality. If an object can no longer hold its issued guarantees it may adapt itself and eventually revoke guarantees. This in turn may cause clients to adapt to the new condition.

AspectIX is designed to be CORBA-compliant. Thus, ordinary CORBA objects can be hosted on an AspectIX ORB, and remote CORBA objects can be accessed from AspectIX. As only for some special objects of an application the mentioned requirements may be actually necessary an application can be partially developed as pure CORBA application and only some dedicated objects are treated as AspectIX objects.

Inside of an AspectIX object multiple quality implementations may support the nonfunctional requirements expressed by a client. As often the functional object implementation has to interact with the quality implementations, object development is not an easy task. AspectIX supports object developement by a developement environment that can almost automatically integrate quality implementations with functional code. The developement environment is based on techniques known from aspect-oriented programming.

To address especially scalability, AspectIX introduces the notion of policy-enabled systems. Strategic decisions are mapped to policy rules and mechanisms which have to be strictly separated from each other. A policy decision engine considers rules from object developers, application and domain administrator, and users to find a decision that has to be executed by the object. With allowing external entities to influence object-internal decisions in a controlled way, we gain administrative scalability. Additionally, the strict separation of policies and mechanisms supports reuse and facilitates maintenance and system management.

As AspectIX objects are fragmented, i.e., different parts of the same object reside on different locations, we investigate how our architecture can be used in the context of traditional mobile agents. It turns out that agents based on AspectIX objects can be more flexible than traditional agents. Especially, large agents can be built which is hardly possible with monolithic agents, as the migration costs become too high. This research is carried out in a sub-project called FOMAS

Innovative Claims

The innovative claims of the AspectIX projects are in detail:

  • Dynamic requirements of quality-of-service or other nonfunctional properties by a client.

  • Dynamic object-internal adaptation to changing requirements and varying system conditions.

  • Support for heterogeneous environments, e.g., hardware, operating systems, and programming languages.

  • End-to-end quality-of-service from a client to an object implementation.

  • Support for arbitrary quality-of-service categories, especially scalability.

  • Support for maintainability and system management by strictly separating policies from mechanisms.

  • Support for the integration of quality implementation into functional code.

  Imprint   Privacy Last modified: 2003-07-17 17:50   HR