Какую базу знаний / механизм вывода на основе правил выбрать для системы предотвращения несанкционированного выезда на ВПП в реальном времени

мы разрабатываем проект, который будет прислушиваться к диалогу между диспетчерами аэропорта и пилотами для предотвращения несанкционированных выездов на взлетно-посадочную полосу (например, один самолет взлетает, а другой пересекает взлетно-посадочную полосу). Наш профессор хочет, чтобы мы использовали Jena для базы знаний (или чего-то еще, но это должно быть какое-то правило - на базе двигателя). Логический вывод - не главное в Йене, и здесь не так много документации и примеров. Поэтому нам нужен двигатель, который будет получать сообщения от пилотов в качестве входных и выходных данных о возможных рисках вторжения или любой другой ошибки в протоколе сообщений. Должно быть легко писать правила и легко предоставлять механизму данные в реальном времени.

Я представляю это примерно так:

  1. Пилот отправляет сообщение, что он приземляется на какой-то взлетно-посадочной полосе, система запоминает, что взлетно-посадочная полоса занята и никто не должен ее пересекать.
  2. Если кому-то дается указание пересечь эту взлетно-посадочную полосу, двигатель должен срабатывать правило, что что-то не так.
  3. Когда пилот отправляет сообщение о том, что он покинул взлетно-посадочную полосу и идет к выходу на посадку, система очищает взлетно-посадочную полосу и позволяет другим самолетам использовать ее.

Подходит ли для этого Jena, пролог или любой другой движок правил? Я имею в виду, что он подходит, но действительно ли нам нужно его использовать? Я спросил у проф. если бы мы могли просто следить за состоянием взлетно-посадочной полосы и использовать несколько простых проверок на основе сообщений, которые мы получаем, и он сказал, что это не масштабируемо, и нам нужна база знаний. Может ли кто-нибудь посоветовать мне, какой подход использовать для этой системы? Если вы рекомендуете k.b., то какой из них мы должны использовать? Проект написан на java.

Спасибо.


person Denis Tulskiy    schedule 07.11.2009    source источник


Ответы (3)


Вы можете использовать для этого jena, но это в первую очередь инструментарий rdf. Если вы еще не используете RDF или не знакомы с ним, я бы поискал в другом месте.

Ваш кейс интересен тем, что звучит довольно динамично. Форвардные логические цепочки (например, Drools) могут быть не лучшим выбором, поскольку события обновления сделают выводы недействительными. Попробуйте что-нибудь прологическое.

person user205512    schedule 07.11.2009
comment
Спасибо, я написал образец кода с Jena, оказалось, что это не очень сложно. - person Denis Tulskiy; 08.11.2009

Я обязательно порекомендую ILOG JRULES для ваших нужд. Я использовал ILOG JRULES и очень впечатлен его производительностью и точностью.

Обновление: Тогда я бы предложил пойти на Drools, также вы можете захотеть чтобы проверить механизмы правил с открытым исходным кодом на Java

person Rachel    schedule 07.11.2009
comment
Извините, я забыл упомянуть, мы студенты, поэтому предпочитаем OpenSource. - person Denis Tulskiy; 07.11.2009

Паре коллег по работе очень нравится Drools с открытым исходным кодом.

person Jim Ferrans    schedule 07.11.2009
comment
Смотрится очень интересно. Спасибо! - person Denis Tulskiy; 07.11.2009