Ein Agent System stellt eine Laufzeitumgebung für Agenten dar,
besitzt einen eindeutigen Agent System Type und wird
ebenfalls von einer Authority gestartet. Agenten
befinden sich innerhalb des Agentensystems in einer
Ausführungsumgebung, den sogenannten Places. Ein Place kann
eine Umgebung sein, in der z. B. bestimmte Zugriffsrechte auf Ressourcen gelten.
Agenten und Agentensysteme besitzen jeweils einen eindeutigen Identifikator (Name), wobei ein Name aus folgenden Teilen besteht:
Mehrere Agentensysteme mit derselben Authority können zu einer Region zusammengefaßt werden. Mit einer Region kann vor allem eine Lastverteilung erreicht werden.
Agentensysteme kommunizieren untereinander mit Hilfe einer Communication Infrastructure, welche jedoch nicht näher bestimmt ist.
Die Funktion des Naming Service übernimmt der MAFFinder. Pro Region wird genau ein MAFFinder benötigt. Bei ihm werden Agenten, Agentensysteme und Places registriert, deregistriert und gesucht. Als Ergebnis einer Suchanfrage nach einem Agenten, wird eine Location zurückgegeben. Eine Location besteht aus der Adresse des Agentensystems und dem Place, entweder in Form eines Uniform Resource Locators (URL) oder eines Uniform Resource Identifiers (URI). D. h. man bekommt nicht die Referenz auf einen Agenten, sondern immer nur die Adresse des Agentensystems, auf dem der Agent läuft.
Es werden in der MAF-Spezifikation zwei Schnittstellen mit Hilfe der Interface Definition Language (IDL), einer Schnittstellenbeschreibungssprache (vgl. Abschnitt 3.3) definiert: