2009-11-07 10 views
7

stiamo progettando un progetto che ascolta il dialogo tra i controllori e piloti dell'aeroporto per prevenire incursioni in pista (ad esempio un aereo sta decollando mentre altri sta attraversando la pista). Il nostro professore vuole che usiamo Jena per knowledge base (o qualsiasi altra cosa, ma dovrebbe essere una sorta di motore basato su regole). L'inferenza non è la cosa principale in Jena e non c'è molta documentazione ed esempi di questo. Quindi abbiamo bisogno di un motore che possa ricevere messaggi dai piloti come input e output possibili rischi di incursione o qualsiasi altro errore nel protocollo dei messaggi. Dovrebbe essere facile scrivere regole e dovrebbe essere facile fornire al motore dati in tempo reale.Quale base di conoscenza/motore di inferenza basato su regole per scegliere in tempo reale Sistema di prevenzione incursioni in pista

ho immagine è qualcosa di simile:

  1. Un pilota invia un messaggio che atterra su qualche pista, il sistema ricorda che la pista è occupato e nessuno dovrebbe attraversare
  2. Se viene dato a qualcuno un'istruzione per attraversare questa pista, il motore dovrebbe attivare una regola che qualcosa non va
  3. Quando il pilota invia un messaggio che ha lasciato la pista e va al gate, il sistema cancella la pista e consente ad altri aerei di usarlo.

Quindi Jena, o prolog o qualsiasi altro motore di regole adatto a questo? Voglio dire, è adatto, ma abbiamo davvero bisogno di usarlo? Ho chiesto al prof. se potessimo semplicemente mantenere lo stato della pista e utilizzare alcuni semplici controlli basati sui messaggi che riceviamo, ha detto che non è scalabile e che abbiamo bisogno della base di conoscenza. Qualcuno può darmi qualche consiglio su quale approccio usare per questo sistema? Se raccomandi k.b., quale usare? Il progetto è scritto in java.

Grazie.

risposta

1

È possibile utilizzare jena per questo, ma è principalmente un toolkit rdf. Se non stai già usando RDF, o hai familiarità con esso, allora guarderei altrove.

Il tuo caso è interessante in quanto suona abbastanza dinamico. In futuro, i ragionatori concatenati (come Drools) potrebbero non essere la scelta migliore, poiché gli eventi di aggiornamento invalidano le detrazioni. Prova qualcosa di prolog-ish.

+0

Grazie, ho scritto un codice di esempio con Jena, risulta che non è molto difficile. –

3

Consiglierei sicuramente ILOG JRULES per le vostre esigenze. Ho utilizzato ILOG JRULES e sono davvero impressionato dalle sue prestazioni e accuratezza.

Aggiornamento: allora suggerirei di andare per Drools anche si potrebbe voler controllare Open Source Rule Engines in Java

+0

Scusate, ho dimenticato di menzionare, siamo studenti, quindi preferiamo OpenSource. –

2

Un paio di colleghi di lavoro in realtà ama il open source Drools.

+0

Sembra molto interessante. Grazie! –

Problemi correlati