Quale base di conoscenza / motore inferenziale basato su regole di scegliere per il sistema di prevenzione Incursione in pista in tempo reale

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

  •  18-09-2019
  •  | 
  •  

Domanda

stiamo progettando un progetto che avrebbe ascoltare dialogo tra controllori aeroportuali e piloti per evitare incursioni di pista (ad es. Un aereo sta decollando mentre altri sta attraversando la pista). Il nostro professore ci vuole utilizzare Jena per base di conoscenza (o qualsiasi altra cosa, ma dovrebbe essere una sorta di su regole motore a base). Inference non è la cosa principale a Jena e non c'è molta documentazione ed esempi di questo. Quindi abbiamo bisogno di un motore che otterrebbe i messaggi provenienti da piloti come i rischi di ingresso e uscita possibile di incursione o qualsiasi altro errore nel messaggio di protocollo. Dovrebbe essere facile da scrivere le regole, e dovrebbe essere facile da fornire il motore con dati in tempo reale.

immagine che è 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 qualcuno viene dato un ordine di attraversare questa pista, il motore dovrebbe sparare una regola che qualcosa non va
  3. Quando il pilota invia un messaggio che ha lasciato la pista e va al cancello, il sistema cancella la pista e lascia altri piani di usarlo.

Quindi è Jena, o prologo o qualsiasi altro motore di regole adatto a questo? Voglio dire che è adatto, ma abbiamo davvero bisogno di usarlo? Ho chiesto al prof. se solo potessimo mantenere lo stato della pista e utilizzare alcuni semplici controlli basati sui messaggi che riceviamo e lui ha detto che non è scalabile e abbiamo bisogno della base di conoscenze. Qualcuno può darmi qualche consiglio su quale approccio utilizzare per questo sistema? Se si consiglia K.B., allora quale dovremmo usare? Il progetto è scritto in Java.

Grazie.

È stato utile?

Soluzione

Si potrebbe utilizzare Jena per questo, ma è soprattutto un toolkit rdf. Se non stai già utilizzando RDF, o familiarità con essa, allora vi consiglio di cercare altrove.

Il tuo caso è interessante in quanto suona abbastanza dinamica. Forward chaining ragionatori (come Drools) potrebbe non essere la scelta migliore, dal momento che gli eventi di aggiornamento per non invalidare la deduzioni. Provare qualcosa di Prolog-ish.

Altri suggerimenti

Vorrei raccomandare sicuramente ILOG JRules per le vostre esigenze. Sono stato con ILOG JRules e sono veramente impressionato con le sue prestazioni e precisione.

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

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top