next up previous contents
Next: Repository Up: Profiles Previous: Integration of Profile Values

Profile Checker

A second tool of the adaptation mechanism beside the adaptor generator is the profile checker . Its task is to verify that there is not more than one implementation class of an implementation group suitable for the same environment. This is tested by analyzing the profiles. The analysis is performed at compilation time to support the application programmer and at the start-up of the repository.

Because of the flexible nature of the profile values it is not possible to obtain a non-ambiguous result of the equality of two profiles. Three cases are possible:

1.
Two profiles are equal, i.e. the according implementation classes are suitable for the same environment $\Longrightarrow$ Error
2.
Two profiles can not be compared because of complex structure of profile values, no conclusion $\Longrightarrow$ Warning
3.
No profiles are equal $\Longrightarrow$ O.k.

For the comparison of two profiles the sets of profile values must fulfill following condition:

intersection of types must not be empty
If this is valid it is not guaranteed that it can be decided for all profiles of an implementation group whether they are valid, because if the intersection is a real subset of the set of profile values of one profile and the profile value in the intersection are equal.

The comparison mechanism is implemented in the class ProfileValue which is the superclass of all profile values. If a profile value implements a different matching function (s. section [*]) the equals() function must be overwritten, as well.


next up previous contents
Next: Repository Up: Profiles Previous: Integration of Profile Values
Copyright Munich Network Management Team