next up previous contents
Next: Standard Conformity Up: MAFFinder Service Previous: The real MAFFinder   Contents

Auxiliary Classes

The two classes used in special manner in the MAFFinder are the AgentSystemInfo and the AgentProfile. Both hold additional information about the corresponding parts of the Agent System. These information is in detail:

AgentSystemInfo
It contains the name of the System (agentSystemName), the type (agentSystemType), the languages supported (languageMaps) with their serialization mechanism, a short description (agentSystemDescription), the major version number (majorVersion), the minor version number (minorVersion) and a list (array) of undefined properties (properties). The properties are not described in the standard and they are still not used for Agent Systems in TAgents.
AgentProfile
It contains the language of the Agent (languageId), the type of the creator System (agentSystemType), the description of the creator System (agentSystemDescription), the major and minor version numbers (majorVersion, minorVersion), the type of serialization used (serialization) and a list of undefined properties. The properties are from the same kind as in the AgentSystemInfo but there is already one entry used for TAgents. The first object of the properties array is defined as the name of the class of the Agent. This could be used also as a small description of the Agent like the, here missing field but existing in the AgentSystemInfo, description.
Both classes provide a method called fit. This method compares only the defined entries of the classes. Every entry, which are defined in the class MASIFConstants, has a id (constant) for not being set. For example with setting the minorVersion to MINOR_VERSION_NOT_SET (-1) means that this field should not be compared. The fit method would return true even if the other object minor version is defined. This is used for a indistinct (fuzzy) search for Agents or AgentSystems which fit into some requirements. If you look after an Agent or Agent System in the MAFFinder it first checks if the name parameter is not null. If the name (of the Agent or Agent System) is defined it returns the location for this name. If it is not defined it checks all stored AgentProfiles (or AgentSystemInfos when looking for an Agent System) for the ones to which the given profile fits into. These are then returned back to the caller. You can for examples look for all Agents of the class ``AgentEx3'' by calling the lookupAgent with an empty Name and the AgentProfile with just the first entry of the properties array filled. All other fields of the profile have to be set to their ``*_NOT_SET'' values.


next up previous contents
Next: Standard Conformity Up: MAFFinder Service Previous: The real MAFFinder   Contents
Thomas Letsch 2001-02-21