Евросоюз несколько лет финансирует проект AMOS (www.amosproject.org) Мадридского университета по созданию поисковой системы, автоматизирующей повторное использование общедоступного ПО. Хотя существуют каталоги подобных решений, например SourceForge.Net, в котором накоплено 60 тыс. открытых систем, нередко бывает трудно понять, в каком же реально состоянии находится тот или иной продукт, даже если авторы утверждают, что он закончен.
А вот AMOS ориентирован не на простое ведение базы общих описаний проектов, а на интеллектуальный анализ формальных определений программных модулей, что достигается использованием набора онтологических понятий и словаря, включающего типичные термины программирования. Используя систему логического анализа элементов кода, интерфейсов пакетов и взаимосвязей между ними, AMOS способен выдавать цепочки доступных модулей, удовлетворяющие поставленным условиям, и формировать готовые сборки из разных программ, решающие заданную сложную задачу. Он прошел успешное тестирование на дистрибутиве Red Hat Linux, обработав полное описание всех 700 элементов продукта и 90 тыс. взаимосвязей между ними.
Интересно, что в качестве ядра символьного анализа и интеллектуального поиска AMOS эксплуатируется общедоступная Пролог-система логического вывода Ciao Prolog.