3ª Prova - 25 de Fevereiro de 2000

- Autorizada a consulta de documentação pessoal;
- Tempo de realização da prova (parte teórica + parte prática): 2 horas;
- Utilize folhas separadas para cada parte.

- Especifique como poderia ser usada uma abordagem Multi-Agente para
auxiliar no controlo do tráfego numa cidade. Indique os agentes que devem
estar envolvidos, como devem cooperar e que tipo de pedidos devem fazer uns
aos outros. Que dificuldades podemos encontrar numa solução deste tipo?
- Porque razão se implementam mecanismos de timout numa plataforma de
desenvolvimento de Sistemas Multi-Agente? Que cuidados devemos ter com o uso
de tais mecanismos?
- Que vantangens se poderão tirar da experiência do desenvolvimento de
sistemas periciais para o establecimento de ontologias?

Um sistema de informação dum sistema de produção caracteriza-se por
conter informação acerca de:
- Produtos, que representam as possibilidades de fabrico do sistema de
produção. Contém informação acerca do processo de fabrico (operações
ou tarefas) e necessidades de matérias primas para o fabrico de cada
Produto;
- Recursos, que representam as entidades físicas de fabrico dos produtos.
Contém informação sobre as suas capacidades, tarefas de fabrico previstas
e os custos associados a cada operação;
- Ordens de Fabrico, que representam as "obrigações" de
produção recebidas e aceites do exterior. Corresponde sempre a um Produto
possível de realizar pelo sistema e caracteriza-se por uma data limite de
execução e uma quantidade de produção.
Pretende-se desenvolver um sistema baseado em agentes inteligentes e
cooperativos que modelize um sistema de produção.
- Que entidades consideraria aptas e aconselháveis para modelizar como
agentes cooperativos? Em que conversações participaria cada uma das
entidades sugeridas (com que entidades e com que objectivos).
- Usando uma nomenclatura semelhante a um autómato finito (usada durante as
aulas), especifique o processo de recepção e aceitação de pedidos,
descrevendo pormenorizadamente o conteúdo das mensagens e das estruturas de
dados utilizadas.
- A Ordem de Fabrico contacta os Recursos capazes de realizar cada tarefa do
Produto, indicando a Tarefa a realizar, quantidade a produzir e data limite.
Cada Recurso dispõe duma agenda de tarefas previstas que consulta para
informar a Ordem de Fabrico acerca da suas disponibilidades. Em função das
respostas recebidas, a Ordem de Fabrico contracta o Recurso mais vantajoso
para realizar cada tarefa e rejeita os restantes.
Implemente numa linguagem à sua escolha, o processo descrito sob o ponto de
vista do Recurso. Considere que existem previamente definidas as seguintes
funções:
- agenda_disponivel(Tarefa,Quant,Data_Limite) -> [Intervalo_Tempo];
- agenda_insere_tarefa(Tarefa,Intervalo_Tempo) -> ok;
- agenda_insere_tarefa_provisoria(Tarefa,[Intervalo_Tempo]) -> ok;
- agenda_liberta_tarefa_provisoria(Tarefa) -> ok;
- envia_para_ordem_fabrico(Mensagem) -> ok.
- Considere que cada recurso é potencialmente composto por vários
recursos, e que tanto pode ser contactado/contractado como um todo, como
individualmente. As capacidades e funcionalidades do todo são um
sobre-conjunto de todas as funcionaldades das partes. Que alterações
sugere no que respeita a novas entidades, conversações e serviços
complementares?

Última actualização: 19-01-2001
