Next: Standard Conformity
Up: MAFFinder Service
Previous: The real MAFFinder
  Contents
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: Standard Conformity
Up: MAFFinder Service
Previous: The real MAFFinder
  Contents
Thomas Letsch
2001-02-21