Муравьи представляют столь же важный тестовый «материал» для искусственной жизни, что и мушки Drosophilia для генетики. Они занимают особое место в искусственной жизни благодаря своей индивидуальной простоте при достаточно сложном групповом поведении. Муравьи способны создавать гибкие динамические архитектуры там и тогда, где и когда это необходимо, например, специальные пути между гнездами и источниками пищи или даже «живые мосты» при перемещении муравьиного роя в лесу. Существует немало имитаторов искусственной жизни, опирающихся на моделирование свойств колонии муравьев.
Модель MANTA ориентирована на создание программной среды для реализации «социальных вычислений». При ее создании использован агентно-ориентированный подход к программированию. Система MANTA состоит из агентов трех типов:
- агенты – сотрудники: матка, рабочие муравьи, мужские особи;
- зависимые агенты – личинки на разных стадиях развития, коконы;
- «физические» агенты – свет, влажность, мусор, погибшие муравьи.
Свойства агентов объединяются в классы, причем класс, расположенный ниже по иерархии, наследует свойства верхнего класса. Все агенты в модели имеют:
- общую абстрактную форму поведения – класс EtnoBehavior;
- графическое представление (иконку) – класс InterfaceBehavior;
- определенное положение в пространстве – класс LocatedBehavior;
- возможность изменять свое состояние как функцию времени (могут взрослеть) – класс MaturingBehavior.
Таким образом, иерархическая структура используется не только в самом представлении биологических и физических агентов, но и в их программных функциях, таких как интерфейс. Например, класс InterfaceBehavior позволяет любому агенту сообщить о своем местонахождении так, чтобы оно было отражено графически на экране монитора. Программисту надо лишь причислить агента к определенному классу, чтобы присвоить ему все желаемые возможности.
Существуют важные отличия между абстрактными и конкретными классами. Абстрактные классы предлагают ряд методов и абстрактных структур. При этом в них существуют методы, которые используются всеми объектами класса. Например, метод «ReadEnvironment», вызываемый каждым объектом на каждом цикле моделирования, обеспечивает различные функции: оценку запасов еды или возраста агента. Конкретные классы определяют параметры, контролирующие каждую отдельную реализацию абстрактно описанного поведения.
Модель MANTA представляет собой весьма удачную попытку вместить биологию и физику искусственного мира в рамки объектно- и агентно-ориентированных подходов к программированию, где муравьиное сообщество программно реализовано как иерархия реактивных агентов.