Quel moteur de base de connaissances / inférence basée sur des règles à choisir pour le temps réel système de prévention des incursions sur piste

StackOverflow https://stackoverflow.com/questions/1691968

  •  18-09-2019
  •  | 
  •  

Question

nous concevons un projet qui écouterait dialogue entre les contrôleurs de l'aéroport et les pilotes pour empêcher les incursions sur piste (par exemple. Un avion prend son envol alors que d'autres traverse la piste). Notre professeur nous veut utiliser Jena pour la base de connaissances (ou toute autre chose, mais il devrait être une sorte de rule- moteur sur la base). Inference est pas la chose principale à Jena et il n'y a pas beaucoup de documentation et des exemples. Nous avons donc besoin d'un moteur qui obtiendrait les messages des pilotes comme entrée et de sortie des risques possibles d'incursion ou de toute autre erreur dans le protocole de message. Il devrait être facile d'écrire des règles, et devrait être facile de fournir le moteur avec des données en temps réel.

image je l'ai quelque chose comme ceci:

  1. Un pilote envoie un message qu'il atterrit sur une piste, le système se souvient que la piste est occupée et personne ne devrait traverser
  2. Si quelqu'un est donné une instruction pour traverser cette piste, le moteur devrait tirer une règle que quelque chose cloche
  3. Lorsque le pilote envoie un message qu'il a quitté la piste et se dirige vers la porte, le système efface la piste et permet à d'autres avions pour l'utiliser.

est Jena, ou Prolog ou tout autre moteur de règles adapté pour cela? Je veux dire qu'il est convenable, mais nous avons vraiment besoin de l'utiliser? J'ai demandé au prof. si nous pouvions garder l'état de la piste et utiliser des contrôles simples basées sur les messages que nous recevons et il a dit qu'il n'est pas extensible et nous avons besoin de la base de connaissances. Quelqu'un peut-il me donner des conseils sur l'approche à utiliser pour ce système? Si vous recommanderiez K.B., alors que l'on devrait utiliser? Le projet est écrit en java.

Merci.

Était-ce utile?

La solution

Vous pouvez utiliser jena pour cela, mais il est avant tout une boîte à outils de rdf. Si vous n'êtes pas déjà en utilisant RDF, ou familier avec elle, alors je regarde ailleurs.

Votre cas est intéressant en ce qu'il semble assez dynamique. Forward enchaînant raisonneurs (comme Drools) pourrait ne pas être le meilleur choix, car les événements de mise à jour rend caduque les déductions. Essayez quelque chose Prolog-ish.

Autres conseils

Je recommande sûrement ILOG JRules pour vos besoins. J'utilise ILOG JRules et je suis vraiment impressionné par ses performances et de précision.

Mise à jour: Je suggère d'aller Drools aussi vous pouvez consulter Open Source des moteurs de règles Java

Un couple de collègues de travail aiment vraiment l'open source Drools.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top