Que base de conhecimento / baseado em regras motor de inferência para escolher para o sistema de prevenção Incursão na pista em tempo real
-
18-09-2019 - |
Pergunta
estamos projetando um projeto que iria ouvir diálogo entre os controladores do aeroporto e pilotos para evitar incursões na pista (por exemplo. Um avião está decolando, enquanto outro está cruzando a pista). Nosso professor quer que usemos Jena para base de conhecimento (ou outra coisa, mas qualquer coisa que deve ser algum tipo de Regra de motor de base). Inferência não é a principal coisa em Jena e não há muita documentação e exemplos disso. Por isso, precisamos de um motor que iria receber mensagens de pilotos como os riscos de entrada e saída possível de incursão ou qualquer outro erro no protocolo de mensagem. Deve ser fácil de regras de escrita e deve ser fácil para fornecer motor com dados em tempo real.
imagem I que algo como isto:
- Um piloto envia uma mensagem que ele cair em alguma pista, o sistema lembra que a pista está ocupado e ninguém deve atravessá-lo
- Se alguém é dada uma instrução para cruzar esta pista, o motor deve disparar uma regra de que algo está errado
- Quando o piloto envia uma mensagem que ele deixou a pista e vai para o portão, o sistema limpa a pista e permite que outros planos de usá-lo.
Assim é Jena, ou prólogo ou qualquer outro mecanismo de regras adequado para isso? Quero dizer que é adequado, mas será que realmente precisa usá-lo? Perguntei ao prof. se pudéssemos manter o estado da pista e usar algumas verificações simples baseadas em mensagens que recebemos e ele disse que não é escalável e precisamos da base de conhecimento. Alguém pode me dar qualquer aconselhar sobre qual a abordagem a utilizar para este sistema? Se você recomendar K.B., então qual devemos usar? O projeto é escrito em Java.
Obrigado.
Solução
Você pode usar Jena para isso, mas é basicamente um conjunto de ferramentas RDF. Se você não estiver usando RDF, ou familiarizado com ele, então eu procurar outro lugar.
O seu caso é interessante na medida em que soa bastante dinâmica. Forward chaining raciocinadores (como Drools) pode não ser a melhor escolha, uma vez que eventos de atualização irá invalidar as deduções. Tente algo prólogo-ish.
Outras dicas
Eu gostaria certamente recomendaria ILOG JRules para suas necessidades. Tenho vindo a utilizar ILOG JRules e estou realmente impressionado com o seu desempenho e precisão.
Update: , então eu sugiro ir para Drools também você pode querer verificar Abrir regra de origem em Java
Um par de colegas de trabalho realmente amo o código aberto Drools .