next up previous contents
Next: Summary of Context Awareness Up: Context Awareness Previous: Info-Component-Based Context Awareness -

Integrated Profile Based Context Awareness - Proposal 3

 The intention of this concept is the integration of the profiles into the implementation classes but holding down the costs for loading the implementation classes. The implementation classes containing the profiles are loaded into the repository, but only the profiles are transferred to the mobile code over the network.

The loaded implementation classes are instantiated and deliver their implementation profiles to the repository. The context awareness can download the implementation profiles from the repository for resolving the implementation class.

This construction implies that the implementation profiles are coded into the implementation class. The implementation class Configuration_UX_NETSCAPE contains the function getProfile() which describes the suitable environment for the implementation (s. figure [*]).


 
Figure: Example for an integrated profile  

The function getProfile() is declared by the interface IImplementationClass which must be implemented by all implementation classes in addition to the functionality interface, in this case IConfiguration. The association function in this concept is limited to the association of profile values by the logical and operator. The profile values are objects which contain the following three pieces of information:

1.
the profile value itself, e.g. ``Linux''
2.
the commands for getting the profile value from the environment, e.g.  System.getProperty("os.name");, i.e. the generating function
3.
the matching function between the implementation profile value and the environment profile value; i.e. the matching function
Every implementation profile is able to create an environment profile through the generating function and can compare the implementation profile with the created environment profile by applying the matching function.

Figure [*] shows how the implementation profile for the implementation class Configuration_UX_NETSCAPE is specified within the implementation class. The profile values Unix and Netscape are classes, which contain both the generating function and the matching function.

In this proposal the profile values are associated with and . This association is very strict, because an implementation class may be suitable for mor than one environment, e.g. for Linux or AIX . But because of mapping profile values to classes a further relation can be assigned to the profile values. The generalization can be constructed by building super- and subclasses. figure [*] shows the hierarchy of profile values of the type operating system as the mapped class hierarchy.


 
Figure: Generalization relation between profile values  

The matching function between profile values can then be expressed in terms of super- and subclasses:

If the profile value of the environment is the same class or a subclass of the profile value of the implementation class, the implementation class is suitable for the environment

If in the above example an implementation class has the implementation profile value UNIX , e.g. Configuration_UX_NETSCAPE, it can run on all hosts which can build an environment profile value that is a subclass of UNIX , like e.g. Linux or Solaris .

This is an universal rule, which does not rely on the type of the profile value, and can be implemented by the universal superclass ProfileValue for all profile values. The mapping of profile values to classes also offers the possibility to implement more complex expressions than a set of profile values which are evaluated by connecting with and.

A set of commonly used types of profile values can be provided as part of the adaptation framework, but application specific types, e.g. default web browser, must be added by the application programmer. A new type of profile class can be created, by extending the ProfileValue superclass. In the application specific profile values the generating function must be implemented in order to retrieve the value of an environment property from the system. The same applies to the matching function which matches two values of this type of profile value.


next up previous contents
Next: Summary of Context Awareness Up: Context Awareness Previous: Info-Component-Based Context Awareness -
Copyright Munich Network Management Team