Professional Documents
Culture Documents
MARCELO UDO
So Bernardo do Campo
2009
MARCELO UDO
So Bernardo do Campo
2009
Udo, Marcelo
Interpretao e equivalncia de modelos UML.P e PDDL para
Planejamento Automtico / Marcelo Udo. So Bernardo do Campo,
2009.
83 f. : il.
CDU 681.3.02
MARCELO UDO
Dissertao de Mestrado
Centro Universitrio da FEI
Departamento de Engenharia Eltrica
Banca Examinadora:
___________________________________________
Prof. Dr. Flavio Tonidandel (Orientador) FEI
_________________________________________________
Prof. Dr. Flvio Soares Corra da Silva USP
_________________________________________________
Prof. Dr. Paulo Eduardo Santos FEI
So Bernardo do Campo
2009
Ao Esprito Universal e a vocs, que bem-
vindas dEle, possam me trazer o sonho
da realidade como a prpria realidade em
sonho e eu possa me sentir completo
como algum que passou e fez diferena
por aqui.
AGRADECIMENTOS
professores do Centro Universitrio FEI no que tange ao respeito e background na rea de IA.
Agradeo aos colegas da USP. Agradeo ao grande camarada Ferreira e por tanto tempo de
amizade sin cera. Agradeo as lembranas boas dos colegas de classe: Cleber, Adriane,
Cssio, Alexandre, Leandro, Lucas e Ferreira. Agradeo minha esposa pelos momentos cujo
dilogo era entre meus dedos e as teclas, meus olhos e a tela. Agradeo aos meus pais, Celso
e Maria, por tUDO. Agradeo Herika, minha irm, por me ajudar com a reviso do texto.
Agradeo ao amigo Alexandre Esteves, irmo de vontade. E para a senhora, minha av,
agradeo por me contar tantas histrias e quando penso na senhora, toda noite vira um palco
criticam a PDDL, pois ela uma linguagem semelhante a um cdigo fonte e difcil de ser
utilizada como linguagem de modelagem de domnio. Isso foi uma das motivaes para as
linguagem UML.P conhecida como a UML com abordagem para planejamento automtico.
PDDL so semiformais, optou-se por utilizar a F-Logic, que uma lgica correta e
Since the beginning of the Planning in Artificial Intelligence field, many languages have
appeared to describe domains and its problems. Nowadays, PDDL is broadly used and
accepted by the researchers due to its robustness and expression. However, some
researchers in the automatic planning field criticize PDDL, because it is a language similar
to a source code and difficult to be used as a domain modeling language. This was one of
the motivations for the research in the Knowledge Engineering for Automatic Planning.
Nowadays, the Knowledge Engineering for planning domains and problems has shown
planning community has researched new tools, methods, and modeling languages.
In this work, the knowledge engineering tool itSIMPLE has the UML.P language
known as UML for the Automatic Planning approach. The need is to interpret the UML.P
models into PDDL models. As UML.P and PDDL are semi-formal languages, it was
decided to use F-Logic, which is a sound and complete logic to give support to this
interpretation.
and F-Logic.
LISTA DE FIGURAS
I
Smbolo que denota a Interpretao Correspondente PDDL e F-Logic. Esse smbolo
diferente do smbolo lgico de equivalncia, sendo ele apenas um smbolo apresentando uma
CAPTULO 1 ................................................................................................................. 1
1. INTRODUO ....................................................................................................... 1
1.1. Motivaes ........................................................................................................... 3
1.2. Objetivo ............................................................................................................... 4
1.3. Estrutura da Dissertao ........................................................................................ 4
CAPTULO 2 ................................................................................................................. 6
2. REVISO BIBLIOGRFICA ...................................................................................... 6
2.1. Descrio de Aes................................................................................................ 6
2.2. Linguagens de Modelagem de Domnios de Planejamento .......................................... 7
2.2.1. STRIPS STanford Research Institute Problem Solver ............................................... 7
2.2.2. ADL Action Description Language ......................................................................... 9
2.2.3. PDDL Planning Domain Definition Language ........................................................ 10
2.2.4. Modelagem de Domnio e de Problema em PDDL .................................................... 11
2.3. Representao de Conhecimento usando Quadros e Grafos...................................... 16
2.3.1. Rede Semntica Semantic Network ..................................................................... 17
2.3.2. Quadros Frames ............................................................................................... 18
2.3.3. Rede Hbrida Hybrid Network ............................................................................. 20
2.4. Lgica desenvolvida para Classes e Objetos............................................................ 24
2.5. Ferramentas de Engenharia do Conhecimento ........................................................ 26
2.6. Engenharia do Conhecimento e o Planejamento Automtico ..................................... 29
CAPTULO 3 ............................................................................................................... 32
3. A F-LOGIC .......................................................................................................... 32
3.1. Sintaxe e Semntica da F-Logic............................................................................. 32
3.1.1. Propriedades da F-Logic ....................................................................................... 35
CAPTULO 4 ............................................................................................................... 41
4. INTERPRETAO DA PDDL EM F-LOGIC................................................................. 41
4.1. Correspondncia de Interpretao PDDL e F-Logic .................................................. 43
CAPTULO 5 ............................................................................................................... 51
5. INTERPRETAO DA UML.P EM F-LOGIC ............................................................... 51
5.1. Interpretao Completa UML.P em F-Logic ............................................................. 51
CAPTULO 6 ............................................................................................................... 60
6. INTERPRETAO DA UML.P EM PDDL UTILIZANDO A F-LOGIC ................................ 60
6.1. Estudo da Interpretao da UML.P para PDDL atravs da F-Logic.............................. 61
6.2. Exemplos da Equivalncia entre Modelos UML.P e PDDL utilizando a F-Logic .............. 72
6.3. Perdas Semnticas na Interpretao do modelo UML.P em modelo PDDL................... 77
CAPTULO 7 ............................................................................................................... 79
7. CONCLUSO ....................................................................................................... 79
7.1. Trabalhos Futuros................................................................................................ 79
REFERNCIAS BIBLIOGRFICAS ........................................................................ 80
1
CAPTULO 1
1. INTRODUO
1.1. Motivaes
As motivaes desse presente trabalho, para melhor cit-las, foram classificadas em
motivaes acadmicas e motivaes industriais, assim como segue abaixo:
Acadmica
- Atender s necessidades da rea de Planejamento Automtico, que por sua
vez, desde seu incio, os pesquisadores direcionaram a pesquisa da rea para
melhorar as tcnicas e eficincia na gerao de planos, deixando a
Engenharia do Conhecimento em segundo plano (VAQUERO, 2007);
- Formalizar a interpretao da UML.P em PDDL atravs de uma Lgica
completa e correta como a F-Logic (KIFER; LAUSEN; WU, 1995) para
futuramente manter Bases de Conhecimento de domnios de Planejamento
Automtico;
- Atualmente, h idias sobre o uso de ferramentas da Engenharia do
Conhecimento por usurios comuns que no saibam quase nada sobre
Planejamento Automtico e necessitem de um plano com uma seqncia de
aes e que leve em considerao os recursos utilizados (MCCLUSKEY,
2002).
Industrial
- A UML j amplamente utilizada no quotidiano das empresas pelos
engenheiros de software e o objetivo da rea de Planejamento Automtico
em lidar com problemas reais, tal como: identificar a seqncia de aes a
partir de um estado inicial do problema, fazendo o escalonamento de
recursos para ento alcanar o estado objetivo, que resolve o problema. Tudo
isso, dado o conhecimento que se tem do domnio em questo para, ento,
gerar scripts de trabalho para vrios profissionais atuarem com mais preciso
e no-conformidades tendendo a zero no trabalho. Avanos importantes no
4
contexto industrial. A UML.P pode ser implantada nas empresas para uso
dos engenheiros de software atravs da ferramenta itSIMPLE (VAQUERO et
al. 2005), que possui planejadores independentes de domnio embarcados.
No caso dessa dissertao, so planejadores que apenas precisam do domnio
e do problema especificados em PDDL.
1.2. Objetivo
posteriores nas interpretaes de Modelos UML.P e PDDL. Pois, essas interpretaes devem
contar com o mapeamento de ambas linguagens para a F-Logic.
CAPTULO 2
2. REVISO BIBLIOGRFICA
Neste captulo foi realizada uma reviso bibliogrfica com o intuito de avaliar conceitos
necessrios para este trabalho, que surgiram em pesquisas sobre Representao do
Conhecimento, Engenharia do Conhecimento e Planejamento Automtico; apresentar a UML
e sua abordagem para planejamento automtico chamada UML.P (VAQUERO et al. 2006) e
juntamente da PDDL apresentando algumas lacunas que necessitam ser preenchidas. Alm
disso, esse captulo faz uma preparao dos conceitos que sero utilizados para mostrar que
factvel para o engenheiro do conhecimento, ou projetista de domnio realizar a modelagem
de qualquer domnio em UML.P e obter instantaneamente esse domnio j especificado em
PDDL.
Para a rea de Planejamento Automtico, a descrio das aes que afetam os estados do
mundo com mudanas importante como representao do conhecimento e componente
fundamental para uma linguagem de modelagem de domnios (LIFSCHITZ; REN, 2007). De
acordo com Dana Nau, adquirir esse conhecimento uma das coisas mais importantes para a
pesquisa de Planejamento Automtico, pois os planejadores poderiam ser mais teis ao lidar
com problemas reais (NAU, 2007).
Surgiram muitas abordagens para representao de aes, tais como: o clculo situacional
(situation calculus) (MCCARTHY; HAYES, 1969), o clculo de eventos (event calculus)
(KOWALSKI; SERGOT, 1986) e o STRIPS (FIKES; NILSSON, 1971), todavia, na rea de
Planejamento Automtico, a linguagem ADL (PEDNAUT, 1989) foi a que melhor atendeu a
rea na modelagem de domnios reais, at ento, difceis de serem modelados pelo STRIPS.
A maneira pela qual a ADL foi criada permite trabalhos de pesquisa sobre descrio de
aes modernas como o C+ (LIFSCHITZ; REN, 2007), que toma como referncia sua
formalizao e o raciocnio sobre os efeitos das aes (PEDNAULT, 1994).
Para este trabalho, logo abaixo, sero apresentadas algumas linguagens de modelagem de
domnios de planejamento. Como a STRIPS, que define as aes como uma transformao de
7
um conjunto de frmulas em lgica de primeira ordem, e a ADL, que possui uma descrio
dos efeitos das aes para atender a efeitos dependentes de contexto e por ltimo a PDDL,
que incorpora a STRIPS, a ADL e outras linguagens na sua descrio.
Recordando que esse presente trabalho tem por objetivo tratar os tipos e predicados da
PDDL, que so por sua vez importantes para a descrio das aes.
Tabela 1 - STRIPS
P: agarra( ) livre(X) sobre_a_mesa(X)
Pega(X) A: agarra(X)
E: sobre_a_mesa(X) agarra( )
P: agarra(X)
Descarrega(X) A: sobre_a_mesa(X) agarra( ) livre(X)
E: agarra(X)
Fonte: Luger, 2004
Essas melhorias proporcionadas pela ADL, ainda segundo (RUSSELL; NORVIG, 2004),
facilitaram a leitura dos modelos de planejamento, de modo que a ADL tem sido usada em
trabalhos atuais de Planejamento Automtico para Sistemas de Transio de Grafos
(EDELKAMP; JABBAR; LAFUENTE, 2005), o que demonstra ganhos nos tratamentos de
problemas de Planejamento de domnios reais devido flexibilidade da ADL. Algumas dessas
melhorias foram tambm incorporadas na prpria linguagem STRIPS.
A PDDL em 1998 foi apresentada por Drew McDermott (1998) e se tornou um padro
como linguagem de especificao de domnios e problemas utilizada nas competies de
planejamento. A PDDL incorpora as descries feitas em STRIPS ou ADL. Apesar de alguns
pesquisadores da comunidade de Planejamento Automtico no apreciar algumas das
funcionalidades da PDDL, tais como: a descrio de tempo, a semelhana com cdigo fonte, o
trabalho pouco intuitivo, etc.; mesmo assim, no h como negar o avano que ela tem
proporcionado rea (FOX, M.; LONG, 2003). A PDDL desde o seu comeo teve um papel
extremamente importante por ter pressionado a comunidade de Planejamento a produzir
planejadores que controlassem problemas de planejamento mais realsticos (MCDERMOTT,
2003).
Pode-se perceber que nos idos do Planejamento Clssico, quando a maioria dos problemas
de Planejamento eram conhecidos como Toy Problems, no havia problemas com a STRIPS
no que tange modelagem extensa, porque o domnio era simples em relao ao que se
passou a exigir da comunidade de Planejamento. Para McCluskey (2003), a PDDL no foi
projetada para ser associada com modelagem de domnios, pois a mesma, segundo
McCluskey, parece uma linguagem de mquina. Olhando singularmente para esse aspecto,
a PDDL no uma linguagem de modelagem prtica do engenheiro do conhecimento ou
projetista de domnio para ser aplicada a modelagem e isso se amplia quando se trata de
domnios reais e complexos.
(:predicates
(sobre ?blo - Bloco ?blo1 - Bloco)
(segurando ?man - Manipulador ?blo - Bloco)
(sobreMesa ?blo - Bloco ?mes - Mesa)
(garraLivre ?man - Manipulador)
(nadaSobre ?blo - Bloco)
)
Na figura acima, o domnio Mundo dos Blocos tem definido seus predicados que relatam
a seguinte informao: um bloco fica sobre outro bloco ou no, o manipulador pode segurar
um bloco, podem existir blocos sobre a mesa e o manipulador pode ter sua garra livre e, por
ltimo, um bloco pode ter sua face topo livre. Nessa categoria, o projetista de domnio pode
definir as relaes rgidas (state invariants) do domnio, que so as relaes que se mantm
imutveis no domnio, e as relaes flexveis (fluents), que so relaes mutveis no domnio.
Ainda sobre relaes flexveis de domnio, o Mundo dos Blocos pode ter exemplificado
outra categoria importante da PDDL que funciona como uma relao flexvel, chamada de
:functions, que define as funes que lidam com valores numricos, assim como segue
abaixo:
(:functions
(pesoMesa ?mes Mesa))
(:constraints
(and
(forall (?blo1 - Bloco ?blo2 - Bloco ?blo - Bloco)
(always
(imply
(and
(sobre ?blo ?blo1)
(sobre ?blo ?blo2)
)
(= ?blo1 ?blo2)
)
)
)
Na figura acima, a restrio significa que, se um bloco est sobre outro bloco, ento, s
pode estar sobre esse bloco.
J a representao das aes parte essencial para a rea de planejamento e a PDDL
mantm inclusive a abrangncia que a ADL (PEDNAULT, 1989) trouxe para a rea de
Planejamento Automtico no que tange descrio de aes, que tem atualmente apoiado o
desenvolvimento de novos trabalhos na rea sobre transformao de grafos (EDELKAMP;
JABBAR; LAFUENTE, 2005). Para exemplificar essa descrio de aes na PDDL, segue a
definio de uma ao do Mundo dos Blocos:
14
(:action pegar
:parameters (?m - Manipulador ?x - Bloco ?t - Mesa)
:precondition
(and
(sobreMesa ?x ?t)
(nadaSobre ?x)
(garraLivre ?m))
:effect
(and
(segurando ?m ?x)
(not (garraLivre ?m))
(not (sobreMesa ?x ?t)))
)
(:init
(sobreMesa C Mesa1)
(sobre B C)
(sobre A B)
(nadaSobre A)
(garraLivre Manipulador1)
)
(:goal
(and
(sobre C B)
(sobre B A)
(sobreMesa A Mesa1)
(nadaSobre C)
(garraLivre Manipulador1)
)
)
Figura 9 Estado Objetivo do Problema em PDDL do Mundo dos Blocos.
Na figura acima, h a definio do estado objetivo onde o bloco C deve estar sobre o
bloco B, o bloco B deve estar sobre o bloco A, o bloco A deve estar sobre a Mesa1, nada deve
estar sobre o bloco C e o Manipulador1 deve ter sua garra livre.
Nessa subseo, foram expostas as categorias da PDDL e como o projetista de domnio
pode definir domnios e problemas de planejamento utilizando essas categorias. Pode-se notar
que essa linguagem no apropriada para as atividades de aquisio, anlise e modelagem de
um processo de EC devido a sua semelhana com cdigo fonte.
Na prxima seo, h uma reviso sobre representao de conhecimento na forma de
redes com a finalidade de mostrar a propenso do ser humano desde pocas remotas a utilizar
redes para melhor representar o conhecimento adquirido.
16
A primeira Rede Semntica apareceu na histria no sculo 234-305 d.C. cujo filsofo
Porfrio comentou o mtodo de Aristteles para categorizao de supertipos e subtipos usando
uma rede. Apenas, em 1909, Charles S. Peirce criou o que ele chamou de grafos existenciais
com a primeira formalizao da rede semntica usando a lgica moderna (RUSSELL;
NORVIG, 2004) (SOWA, 2006).
Porm, houve um destaque na dcada de 60 (RUSSELL; NORVIG, 2004) quando Ross
Quillian props um modelo computacional para a memria humana chamado de memria
semntica justamente pelo seu interesse por memria humana e processamento de linguagens
(BITTENCOURT, 2006). J na dcada de 70, houve grande interesse pelas redes semnticas
implementadas em sistemas para compreenso da linguagem natural devido facilidade de
representar o conhecimento com a sua notao.
A Rede Semntica uma representao visual de ns e arcos que se relacionam. Os ns
so qualificados como categorias ou classes, conceitos e objetos, ao passo que os arcos,
geralmente, so qualificados como predicados em lgica de primeira ordem e possuem a
restrio de apenas relacionar dois ns, ou seja, um relacionamento binrio. Atravs desses
componentes da rede semntica e uma orientao usada para model-la, obtm-se uma
representao do domnio pretendido (SOWA, 2006).
A orientao para a modelagem de uma Rede Semntica ajuda na leitura do domnio
representado e composta de algumas regras, tais como (NILSSON, 1998):
H dois tipos de Ns:
Ns que podem ser categorias ou propriedades das categorias;
Ns que representam os prprios objetos do domnio.
H trs tipos de Arco:
Arco denotando herana conhecido como arco -um;
Arco para instncia de categorias;
Arcos para funes.
Entretanto, Bittencourt (2006) cita tambm o arco parte-de e chama os Arcos para
funes de especficos do domnio chamando-os de Traos. Essa definio de arcos e ns
ajudam na interpretao do domnio. Todavia, no impede que o projetista cometa erros na
modelagem da rede.
18
Com a rede semntica da figura 10 tem-se uma leitura visual e intuitiva que facilita o
entendimento do domnio. Por exemplo, sabe-se que a UML.P uma especializao da UML
e que ela uma rede hbrida.
A coerncia do domnio deve depender bastante da viso do projetista ou engenheiro do
conhecimento, de tal forma que a Rede Semntica possa ser validada. Contudo, mesmo com
essa restrio, evidente o uso massivo das redes semnticas como representao do
conhecimento, tanto que Marvin Minsky na dcada de 70, segundo (RUSSELL; NORVIG,
2004) e (BITTENCOURT, 2006), produziu um trabalho sobre Frames, usando as redes
semnticas.
Os Quadros, mais conhecidos como Frames, foram desenvolvidos com base nas redes
semnticas cujo objetivo foi destacar as propriedades das categorias e evidenciar os
19
relacionamentos com outros quadros (BENDER, 1996). Um frame algo que contm Slots
(vaga em um esquema), onde cada atributo de uma categoria ou frame um slot. Um frame
pode se relacionar com outros frames. Por exemplo, dois frames: Veculo e Caminho, onde
Caminho -um Veculo. O frame Caminho possui um slot que o -um do tipo Veculo,
dessa forma, veja abaixo uma figura com esse exemplo:
Figura 11 Quadros.
Marvin Minsky foi criticado por criar algo j existente nas linguagens orientadas a objetos
(RUSSELL; NORVIG, 2004). Todavia, seu trabalho acabou fornecendo uma melhor direo
para as linguagens orientadas a objetos (BITTENCOURT, 2006) e ao longo da dcada de 70
houve esforos para formalizar a rede semntica e os frames.
Pode-se tratar os frames com lgica de primeira ordem como no exemplo a seguir
(BENDER, 1996):
Tabela 3 - Convertendo Frames para Regras
Predicado Significado
frame(X) X um frame
Is-a(X, Y) Frame Y um caso especial do frame X
slot(X, S) S um slot de X
default(X, S, V) V o valor default do slot S de X
Fonte: BENDER, 1996
atividades, estados, classes, objetos e outros diagramas. Prxima subseo deve detalhar
melhor a UML.
A rede hbrida (neste trabalho trata-se de uma linguagem com uma coleo de redes com
diferentes propsitos) de maior uso atualmente a UML, que foi criada por Booch, Jacobson,
Rumbaugh (1999) na rea da Engenharia de Software para a modelagem de sistemas (SOWA,
2006) e possui um subconjunto de diagramas que so redes. A UML citada como uma rede
hbrida devido ao fato de possuir diferentes tipos de redes (SOWA, 2006), entretanto, nem
todos os diagramas da UML so redes, tais como: diagrama de seqncia, diagrama de tempo,
etc. A UML.P (VAQUERO et al, 2006), que uma abordagem da UML para a rea de
Planejamento Automtico, possui 4 (quatro) diagramas (redes):
Diagrama de Casos de Uso esse diagrama trata das interaes entre os Agentes,
chamados de Atores, e os casos de uso, subobjetivos do domnio. A seguir, um
exemplo do domnio Logstica para o diagrama de casos de uso:
seta a que define herana assim como o -um na rede semntica, a segunda seta significa
que alguma classe chamada parte compe outra classe chamada todo, e a terceira seta
para as associaes entre classes. A quarta seta no havia na rede semntica e usada para
intensificar a segunda seta -parte, pois ela significa que determinada parte s existe para
compor determinado todo, por exemplo, o brao parte de Joo e no existiria sem Joo.
Com os relacionamentos e as redes descritas acima possvel descrever um domnio real
de Planejamento Automtico e, tambm, descrever um conjunto de problemas pertinentes a
esse domnio com o intuito de se obter Planos com uma seqncia de aes levando em
considerao os recursos a serem utilizados. Exemplo disso, o Domnio de Lean Software
Development na rea de engenharia de software com um problema de cumprimento de prazos
e escalonamento de recursos (UDO et al. 2008). Entretanto, falta uma definio formal para a
UML.P que herdou essa deficincia da prpria UML.
Essa deficincia foi tratada parcialmente em GOMES (2008), que formalizou a
interpretao completa do diagrama de classes da UML.P, utilizando a lgica no-monotnica
F-Logic que pode ser aplicada a objetos e ser revisada na prxima seo.
Na sintaxe da F-Logic a representao da classe acima deve ficar assim como segue:
Bloco[nadaSobre@=> Boolean; sobre@=> Bloco].
O smbolo => significa que se trata da assinatura de mtodo escalar para um atributo ou
associao da UML.P. O smbolo => ser apresentado em detalhes no captulo 3. Nesse
caso, trata-se das regras sobre como um bloco analisado no domnio mundo dos blocos.
E para criar, por exemplo, uma situao baseada nessa classe e em suas propriedades
(atributos e associaes), instancia-se objetos em UML.P assim como segue:
Na sintaxe da F-Logic, a representao dos objetos acima deve ficar assim como segue:
bloco1:Bloco[nadaSobre@->true, sobre@->bloco2].
bloco2:Bloco[nadaSobre@->false].
O smbolo -> acima o mtodo escalar de dados para os objetos UML.P utilizando
regras e representando fatos. O smbolo -> ser apresentado em detalhes no captulo 3.
Ainda no captulo 3, tanto a sintaxe da F-Logic quanto sua semntica correta e completa
sero detalhadas, de modo a compreender a interpretao completa da UML.P em F-Logic
realizada em (GOMES, 2008), alm da criao da interpretao correspondente da PDDL em
F-Logic e vice versa, tal como pode ser visto na seguinte figura:
Para esclarecer melhor como o FLORA-2 funciona, abaixo h uma apresentao de sua
interface, onde:
H uma definio de classes, regras e objetos;
No caso abaixo, a regra :
- ?X:Bloco[nadaSobre->false] :- ?Y:Bloco[nadaSobre->true, sobre->?X].
Se o bloco Y no tem nada sobre ele e ele est sobre outro bloco X, ento, o
bloco X tem outro bloco sobre ele;
O bloco 1 no tem nada sobre ele e ele est sobre o bloco 2;
Foi perguntado Base de Conhecimento (BC) do Flora: o bloco 2 no tem nada
sobre ele, tem? O Flora responde: tem. Isso pode ser visto na tela como:
- bloco2:Bloco[nadaSobre->true].
No.
//Definio de Classes
Boolean[].
Bloco[nadaSobre=>Boolean,
sobre=>Bloco].
//Definio de Regras
?X:Bloco[nadaSobre->false]:-?Y:Bloco[nadaSobre->true,sobre->?X].
//Definio de Objetos
bloco1:Bloco[nadaSobre->true, sobre->bloco2].
//Consulta BC
bloco2:Bloco[nadaSobre->false].
O Flora-2 tambm possui um visualizador das classes e objetos criados assim como seus
atributos e valores:
29
tambm comps aes para avaliar os mtodos da engenharia usada para o Planejamento e
tambm sugere que as linguagens de modelagem de domnio sejam estruturadas, alm de uma
BC de Planejamento ampla. McCluskey props aes, tambm, no que tange semntica das
linguagens utilizadas em planejamento, assim como a PDDL, para que haja um processo forte
de padronizao para dar suporte a qualquer informao necessria e relacionada ao
Planejamento Automtico.
CAPTULO 3
3. A F-LOGIC
Essa dissertao tem como objetivo demonstrar que modelos UML.P provenientes do
diagrama de classes podem ser interpretados em modelos PDDL, especificamente, tipos e
predicados. Contudo, devido s duas linguagens, UML.P e PDDL, serem semiformais,
utilizou-se a F-Logic, que uma lgica correta e completa, para demonstrar como interpretar
os elementos dos modelos UML.P em elementos dos modelos PDDL. A Interpretao
Completa j foi criada em (GOMES, 2008), e ela faz o mapeamento da sintaxe visual do
diagrama de classes da UML.P na F-Linguagem da F-Logic. Assim, esse trabalho tambm
deve utilizar-se da mesma estratgia: mapear a sintaxe da PDDL na F-Linguagem da F-Logic.
Portanto, esse captulo deve detalhar as definies necessrias para compreender as
Interpretaes Completa e Correspondente e, tambm, sobre a equivalncia dos modelos
UML.P e PDDL a partir da teoria da F-Logic.
Dessa maneira, a partir da prxima seo, devem ser apresentadas as propriedades da F-
Logic (KIFER, LAUSEN, WU, 1995).
A F-Logic uma lgica de primeira ordem para objetos de acordo com (KIFER,
LAUSEN, WU, 1995), pois possui propriedades claramente atreladas ao objeto, tais como,
classes e mtodos. Dadas essas consideraes, para que a sua sintaxe tenha como demonstrar
as propriedades atreladas ao objeto, em (KIFER, LAUSEN, WU, 1995) h uma definio para
F-Molculas que trata dessa questo e ela ser apresentada tal como segue:
Definio 3.1: Uma molcula em F-Logic (F-Molcula) dada pelas seguintes afirmaes
(KIFER, LAUSEN, WU, 1995):
1. Uma definio IS-A dada na forma C::D ou na forma O:C, onde C, D e O so id-
termos;
33
2. Uma molcula de objeto dada na forma de O[uma lista separada por ; de expresses
de mtodos]. Uma expresso de mtodo pode ser:
a. Expresso de dados no herdvel:
i. Expresso escalar (k 0):
ScalM@Q1,...,Qk -> T
ii. Expresso de conjunto de valores (l, m 0):
SetM@R1,...,Rl ->> {S1,...,Sm}
b. Expresso de dados escalares e de conjunto de valores herdveis. Essas expresses
so como as expresses de dados no herdveis exceto que os smbolos -> e ->>
so substitudos por *-> e *->> respectivamente.
c. Expresso de Assinatura:
i. Assinatura escalar (n, r, 0):
ScalM@V1,...,Vn => {A1,...,Ar}
ii. Assinatura de conjunto de valores (s, t, 0).
SetM@W1,...,Ws =>> {B1,...,Bt}
Dentro de uma f-molcula podem existir vrios mtodos que juntos de sua classe so
considerados f-tomos. Em (KIFER, LAUSEN, WU, 1995), existe tambm a explicao dos
f-tomos, tal como segue:
A f-molcula X[ScalM@=>A; SetM@=>>B] equivalente conjuno de seus f-tomos
X[ScalM@=>A] X[SetM@=>>B].
Os f-tomos apresentados acima so importantes para se entender que uma f-molcula
muitas vezes no atmica como nas f-molculas IS-A, apresentadas na definio 3.1 item 1.
Por isso, f-molculas podem ser decompostas em um conjunto de f-tomos.
Portanto, nesse trabalho ser utilizado o termo f-tomo, que a parte atmica da F-
Linguagem. Os f-tomos sero bastante utilizados no captulo 4 sobre a Interpretao
Correspondente, no captulo 5 sobre a Interpretao IFR de forma reduzida e no captulo 6
sobre equivalncia e interpretao dos modelos UML.P e PDDL.
Outra propriedade essencial da F-Logic a sua semntica chamada de F-estrutura, que
um mapeamento contendo estruturas semnticas de acordo com sua tupla I= U, U, U, IF,
I, I->>, I*, I*->>, I=>, I=>>, onde cada elemento dessa tupla possui um mapeamento com
sua sintaxe, tambm conhecida como F-Linguagem (KIFER; LAUSEN; WU, 1995). A saber,
as estruturas semnticas so:
- U o domnio de I;
- U o mapeamento que denota a herana de classes em F-Logic;
36
Apenas os itens da tupla I=U, U, I=>, I=>> fazem parte dessa dissertao no que tange
a interpretar o diagrama de classes na UML.P e os tipos e predicados da PDDL. Para
relembrar, o smbolo U o mapeamento da sintaxe da f-molcula descrita na definio 3.1
item 1 e os smbolos I=> e I=>> so os mapeamentos da sintaxe descrita na definio 3.1 item
2c.
Com a explicao da F-estrutura da F-Logic, apresenta-se como a definio a seguir
utiliza a semntica para demonstrar a satisfao das F-Molculas (KIFER; LAUSEN; WU,
1995):
Definio 3.2 (Satisfao das F-Molculas) Seja I uma F-estrutura e G uma F-Molcula.
Escreve-se I G se e somente se as regras abaixo se mantm:
1. Quando uma F-Molcula G uma assero IS-A ento:
i) (Q) U (P), se G = Q :: P; ou
(Q) U (P), se G = Q : P
ii) Quando uma F-Molcula G uma molcula de objeto da forma O[a ; lista
separada de expresses de mtodo], ento para toda expresso de mtodo E em G,
as seguintes condies devem-se manter:
a) Se E um mtodo escalar no herdvel na forma ScalM@Q1, ... , Qk T, o
elemento I(k) ((ScalM))((O), (Q1), ... , (Qk)) deve ser definido e igual a
(T). As mesmas condies devem ser mantidas para o caso de E ser uma
expresso escalar herdvel, apenas necessrio mudar o I(k) por I(k)*.
b) Se E um mtodo de conjunto de valores no herdvel na forma SetM@R1, ...
, Rl ->> {S1, ... , Sm}, o conjunto I(l)->> ((SetM))((O), (R1), ... , (Rl)) deve
ser definido e conter o conjunto {(S1), ... , (Sm)}. As mesmas condies
37
devem ser mantidas para o caso de E ser uma expresso de vrios valores
herdvel, apenas necessrio mudar o I(k)->> por I(k)*->>.
c) Se E um mtodo escalar de assinatura na forma ScalM@Q1, ... , Qn => {R1,
... , Ru}, ento o conjunto I(n)=> ((ScalM))((O), (Q1), ... , (Qn)) deve ser
definido e conter o conjunto {(R1), ... , (Ru)}.
d) Se E um mtodo de conjunto de valores de assinatura na forma SetM@V1,
... , Vs =>> {W1, ... , Wv}, ento o conjunto I(s)=>> ((SetM))((O), (V1), ... ,
(Vs)) deve ser definido e conter o conjunto {(W1), ... , (Wv)}.
De acordo com (KIFER; LAUSEN; WU, 1995) as condies da definio 3.2 denotam o
seguinte:
- A condio (i) apresenta (Q) como uma subclasse de (P) na forma G = Q :: P, ou
(Q) como um membro da classe (P) na forma G = Q : P. Como exemplo, pode-se
citar o domnio Logstica onde a classe Caminho uma subclasse da classe Veculo,
ou um objeto caminho Mercedes Benz que membro da classe Caminho;
- As condies (a) e (b) denotam que a funo de interpretao, para instncias, deve
ser definida com os tipos apropriados e permitir resultados compatveis com esses
tipos. Esses tipos compatveis fazem parte das assinaturas de mtodos nas condies
(c) e (d);
- As condies (c) e (d) denotam que o tipo do mtodo ScalM ou SetM devem ser
especificados pela expresso com os tipos associados a este mtodo pela funo I.
Nesta dissertao, a satisfao das f-molculas se dar pelas condies i), c) e d). Isso
porque se levar em considerao a assero IS-A e as expresses de mtodo para assinatura,
que so as condies que descrevem o domnio de Planejamento Automtico. J as outras
condies, seguem o especificado nas condies i), c) e d) para os problemas de Planejamento
Automtico.
Na F-Logic h importantes propriedades: a assero IS-A, a Igualdade e as Expresses de
Assinaturas. Assim ser apresentada cada uma delas de acordo com (KIFER; LAUSEN; WU,
1995).
CAPTULO 4
Essa estratgia de interpretao j foi provada em (KIFER; LAUSEN; WU, 1995) a partir
do Teorema 18.1, que demonstra os mapeamentos entre a F-Logic e a Lgica de Predicados,
onde esse teorema demonstra que factvel a interpretao de um para outro e vice versa. Em
(DECKER, 1998), h tambm um trabalho sobre como representar a F-Logic em Lgica de
Predicados (o smbolo na tabela 4 significa interpretado em) a partir de uma tabela
chamada de esquema de traduo para a F-Logic:
Nessa seo sero apresentadas algumas definies necessrias para mostrar como a
Interpretao Correspondente entre os elementos da PDDL, tais como, Tipos e Predicados e
as classes e mtodos da F-Logic. Vale informar que o smbolo utilizado para denotar a
I
Interpretao Correspondente nas definies .
I
A Interpretao Correspondente mostra uma interpretao possvel da PDDL em
F-Logic e vice versa. Nesse contexto, interpretao significa ler uma descrio PDDL e
descrev-la em F-Logic e vice versa.
No caso dos tipos e subtipos da PDDL existe uma interpretao em F-Logic baseada na
propriedade IS-A. Para exemplificar essa interpretao, pode-se citar o domnio Logstica que
j amplamente exposto nos trabalhos sobre PDDL, que possui os tipos Veculo, Pacote,
Lugar, Cidade, Caminho, Avio, Aeroporto e Localizao. A descrio em F-Logic para os
tipos do domnio Logstica :
Cidade :: , Veculo :: , Pacote :: e Lugar :: . Essa descrio significa que cada Tipo
est contido no conjunto universal de Tipos ;
Caminho :: Veculo, Avio :: Veculo, Aeroporto :: Local, Localizao :: Local. Essa
descrio significa que cada subtipo um subconjunto de um dado Tipo. Abaixo, apresenta-se
a definio para a Interpretao Correspondente de Tipos e Subtipos da PDDL e das classes e
subclasses da F-Logic.
Com a definio 4.1, o domnio Mundo dos Blocos, por exemplo, pode ser interpretado de
I
PDDL em F-Logic e vice-versa.
I
a) PDDL: i,j P1i (tj) em F-Logic: Clj G e ScalMi@=>{Booleano} E sendo que
E G onde E o conjunto de mtodos e Booleano um tipo primitivo para que a F-
estrutura I G seja satisfeita;
b) A interpretao Correspondente feita para cada termo envolvido das duas linguagens:
I I
P1i ScalMi, tj Clj e o tipo primitivo Booleano representa o verdadeiro ou
falso da Lgica de Predicados.
Assim, para todo predicado em PDDL na forma ( P1i ? tipo tj), que idntico a um
mtodo E na F-Logic, bem tipado de acordo com a F-estrutura I(n)=>, de modo que E G e I
G seja satisfeita. Logo, todas as interpretaes de PDDL em F-Logic devem satisfazer sua
F-estrutura.
Para esclarecer a definio 4.2 no que tange F-Logic, tenha o domnio Planta de
Manufatura onde o tipo Mquina foi interpretado de PDDL em F-Logic:
- G = {Mquina :: };
- E = {Mquina[disponvel@=>Booleano]};
- Portanto, E G para que I G seja satisfeita.
No caso dos Predicados 2-rios e n-rios, h a necessidade de definir um tipo do
predicado como o mais relevante entre os tipos para denomin-lo como Tipo mais Relevante
(TMR) do predicado. Houve uma abordagem semelhante a essa utilizada para interpretar a
PDDL em Objetos em (TONIDANDEL et al, 2006). A definio abaixo para obter o TMR
uma abordagem com a qual se pode ter o uso da Lgica de Primeira Ordem para Objetos
como vista em (KIFER; LAUSEN; WU, 1995), j que na Lgica de Predicados isso no
necessrio. Para a PDDL, o TMR no provoca nenhuma perda semntica.
46
Definio 4.3 (TMR Tipo mais Relevante e Parmetros) Os Predicados da PDDL 2-rios na
forma ( P 2i ?tipo tj?tipo1tl) e n-rios na forma ( P 2i ?tipo tj?tipo1tl? ... ?tipontn) com n > 2
possuem apenas um tipo mais relevante da lista de tipos.
1. Para o Predicado 2-rio, h uma lista com 2 tipos onde o primeiro tipo o TMR:
Seja o predicado P 2i (tj, tl), onde o tipo tj o Tipo mais Relevante e tl o segundo tipo;
2. O tipo TMR de um predicado PDDL o id-termo Classe F-Logic;
3. Para o Predicado n-rio para n > 2, h uma lista com n tipos onde o primeiro tipo o
TMR e os demais, Parmetros:
Seja P ni (tj, tl,..., tn), o tipo tj o Tipo mais Relevante e tl,..., tn so Parmetros.
O Tipo mais relevante (TMR) foi definido como o tipo com o qual se ter o id-termo
Classe de cada assinatura de mtodo em F-Logic e os Parmetros so classes que esto nos
mtodos como parmetros. Para a lgica de objetos F-Logic, as aes e transformaes de
estados acontecem a partir dos objetos e, por isso, necessrio ter um tipo mais relevante que
seja responsvel por essas aes. Isso no tem relevncia para a PDDL.
A F-Logic uma Lgica de Primeira Ordem para Objetos e, assim, quando h mais de um
tipo na lista de tipos de um predicado, para interpretar esse predicado em F-Logic necessrio
assumir que o primeiro Tipo da lista de tipos o TMR e, assim, ele ser o id-termo Classe em
F-Logic.
Com a definio 4.3 tem-se, ento, o id-termo Classe escolhido em predicados com mais
de um tipo. Para completar a definio da Interpretao Correspondente de predicados n-rios
PDDL, com n > 2, e mtodos escalares F-Logic segue a definio abaixo:
I
a) PDDL: i,j,l,...,n P ni (tj, tl,..., tn) F-Logic:Clj G e ScalMi@Ql,...,Qn=>{Booleano}
E onde:
i) Em PDDL, o tipo tj o TMR;
ii) Em F-Logic, o id-termo classe Clj o TMR;
iii) Em PDDL, os tipos tl, ..., tn da Lista de Tipos dos predicados so Parmetros dos
mtodos escalares na F-Logic;
iv) Em F-Logic, o TMR e os Parmetros dos mtodos escalares so os tipos da Lista
de Tipos de predicados em PDDL:
Lista de Tipos LT = {TMR, {Parmetros}};
v) Do predicado n-rio da PDDL em mtodo escalar da F-Logic tem-se:
TMR[ P ni @Parmetros=>Booleano];
vi) Do mtodo escalar em F-Logic em predicado n-rio da PDDL tem-se:
ScalMi(TMR, Parmetros);
b) A interpretao Correspondente feita para cada termo envolvido das duas
I I I
linguagens: P ni ScalMi, tj Clj, tl,...,tn Ql,...,Qn e o tipo primitivo
Booleano representa o verdadeiro ou falso da Lgica de Predicados.
Para esclarecer a definio acima, seja o predicado (Acessvel ?tipo1 Veculo ?tipo2
?tipo3 Localizao) do domnio MetricVehicle. Pela definio 4.3, o tipo TMR Veculo
e ele o id-termo classe. Pela definio 4.4, o predicado Acessvel deve ser interpretado em
F-Logic como Veculo[Acessvel@Localizao, Localizao=>Booleano]. Em seguida,
pode-se demonstrar tambm a interpretao desse mtodo com parmetros da F-Logic
Veculo[Acessvel@Localizao, Localizao=>Booleano] em predicado n-rio da PDDL
(Acessvel ?tipo Veculo ?tipo1 ?tipo2 Localizao). Por exemplo, pela definio 4.3 sabe-
se que Veculo o TMR e os Parmetros so a classe Localizao, de modo que se tem a
lista de tipos LT={TMR,{Parmetros}}. Pela definio 4.4, o mtodo escalar com
parmetros ScalMi Acessvel interpretado como Predicado P ni . E, logo, a interpretao
P ni (LT), que nesse exemplo trata-se do predicado (Acessvel ?tipo Veculo ?tipo1 ?tipo2
Localizao). Dessa maneira, todos os predicados n-rios, com n > 2, e os mtodos com
parmetros da F-Logic tm uma Interpretao Correspondente.
48
Dessa maneira, fazendo a interpretao de Predicados 2-rios da PDDL apenas a partir das
informaes dos predicados, no h como evidenciar a interpretao adequada em F-Logic.
Poderia existir uma poltica de modelagem onde o engenheiro do conhecimento devesse criar
constraints em todos os casos que houvesse predicados como o predicado (sobre ?tip
Bloco?tipoBloco). Assim, quando no houver constraints, ento, a escolha do smbolo
=>>.
49
Com a definio 4.5 acima, mostra-se que a partir da descrio de domnio da PDDL
optou-se por interpretar os predicados 2-rios de forma abrangente, ou seja, fornecendo a todo
predicado 2-rio a possibilidade de lidar com mais de uma tupla de objetos na F-Logic.
Justamente porque na PDDL os seus predicados no possuem essa informao.
Do contrrio, como j explanado, poderia utilizar-se o elemento (:contraints para suprir o
modelo PDDL com essa informao. Por exemplo, sabe-se que no domnio Mundo dos
Blocos, um bloco somente pode ficar sobre outro Bloco, ou em cima da mesa, ou ainda na
garra do rob. Para tratar isso como uma constraint abaixo segue a descrio em PDDL:
(:constraints
(and
(forall (?blo1 - Block ?blo2 - Block ?blo - Block)
(always
(imply(and(on ?blo ?blo1)(on ?blo ?blo2))(= ?blo1 ?blo2)
))))
50
Essa constraint auxiliaria como interpretar predicados 2-rios em PDDL para o smbolo
=> em F-Logic.
Portanto, os predicados 2-rios da PDDL sero interpretados conforme a definio 4.5 da
Interpretao Correspondente com o smbolo =>> que lhe fornece maior abrangncia na F-
Logic. Lembrando que os predicados na PDDL no possuem esse tipo de informao.
Dessa forma, cumpre-se as interpretaes de classes, mtodos escalares e mtodos de
conjunto de valores da F-Logic e os tipos, predicados 1-rios, 2-rios e n-rios da PDDL. Para
exemplificar as ltimas definies a tabela abaixo mostra algumas dessas interpretaes:
No domnio Mundo dos Blocos da tabela acima, para explicar uma das interpretaes da
tabela, colocou-se um rob para organizar blocos em mais de uma mesa. Por isso, o mtodo
Robo[segurando@Bloco, Mesa => Booleano]. Da a sua interpretao em um predicado n-
rio segurando(Robo, Bloco, Mesa) ou em PDDL (segurando ?tip Robo ?tip Bloco ?tip1
Mesa)). As interpretaes ora apresentadas na tabela esto de acordo com as ltimas
definies que completam o como interpretar classes, mtodos escalar e de conjunto de
valores da F-Logic, alm dos tipos, predicados 1-rios, 2-rios e n-rios da PDDL.
Prximo captulo, ser discutida a interpretao de modelos UML.P em F-Logic
apresentada em (GOMES, 2008) para extrao de conhecimento semelhante discusso
apresentada aqui sobre PDDL e F-Logic
51
CAPTULO 5
Figura 24 Interpretao Completa da UML.P em F-Logic e sua Interpretao Forma Reduzida IFR.
Essa interpretao torna possvel descrever em F-Logic todas as classes projetadas para
um determinado domnio.
Com a interpretao F-Logic para classes, agora apresenta-se como interpretar os atributos
de uma classe UML.P assim como segue na tabela a seguir:
53
Interpretao F-Logic
P/ Vj,t = 1
classeA[associao_classeB => mutabilidade; associao_classeB *-> <mutabilidade>;
associao_classeB_fimB => classeB;
associao_classeB_fimB@limConjunto => inteiro;
associao_classeB_fimB@lim_Inferior *-> <Vs>;
associao_classeB_fimB@lim_Superior *-> <Vt>;
associao_classeB_fimB@caracteristica => assocTipoEx;
associao_classeB_fimB@assoc_TipoEx *-> <AssociaoTipo>]
P/ Vj,t > 1
As assinaturas sero idnticas as mostradas acima, porm o mtodo
associao_classeX_fimX=>classeX ter o smbolo => substitudo por =>>.
Interpretao F-Logic
A interpretao para a ClasseA ser idntica ao primeiro e segundo exemplo desta tabela,
observando a navegabilidade da associao e ao tipo de associao, e a ClasseB ter sua
interpretao da seguinte maneira:
classeB[associao_classeA => mutabilidade;
associao_classeA *-> <mutabilidade>;
associao_classeA_fimA => classeA;
associao_classeA_fimA@limConjunto => inteiro;
associao_classeA_fimA@lim_Inferior *-> 1;
associao_classeA_fimA@lim_Superior *-> 1;
associao_classeA_fimA@caracteristica => assocTipoEx;
associao_classeA_fimA@assoc_TipoEx *-> assoc_Composicao]
Fonte: GOMES, 2008
Dadas as interpretaes expostas nas tabelas acima, a seguir as F-Molculas com seus F-
tomos:
ASSINATURAS AUXILIARES (FIXO)
Generalizaes de Classes
Bloco::classeFund
Mesa::classeFund
Manipulador::classeFund
Assinaturas de Classes
ester_agente : tipoEstereotipo
Manipulador[estereotipo@*->ester_Agente;
garraVazia@=> Booleano;
No F-tomo acima, garraVazia um mtodo escalar com o tipo primitivo Booleano. Para
a classe Manipulador h duas situaes: sua garra est vazia ou no. Nos trs F-tomos logo
56
abaixo, h a descrio sobre as condies limtrofes do mtodo garra vazia e os dois ltimos
F-tomos lidam com a mutabilidade e seu tipo para a classe Manipulador:
Bloco[nadaSobre@=> Booleano;
nadaSobre@limConjunto => inteiro;
nadaSobre@lim_Inferior *-> 1;
nadaSobre@lim_Superior *-> 1;
nadaSobre@caracteristica=>mutabilidade;
nadaSobre@atrib_carac*->mut_Estatico]
Manipulador[segurando_Bloco@=>mutabilidade;
segurando_Bloco@*->mut_Estatico;
segurando_Bloco_segurando@=>Bloco;
segurando_Bloco_segurando@limConjunto=>inteiro;
segurando_Bloco_segurando@lim_Inferior*->1;
segurando_Bloco_segurando@lim_Superior*->*;
segurando_Bloco_segurando@caracteristica=>assocTipoEx;
segurando_Bloco_segurando@assoc_TipoEx*->assoc_Simples]
57
Abaixo esto os F-tomos descritos para a classe Bloco. Como pode ser visto, essa
descrio bastante semelhante descrio realizada acima para classe Manipulador. bvio
que se trata de uma descrio maior porque ela lida com duas associaes para a classe em
questo:
Bloco[sobre_Bloco@=>mutabilidade;
sobre_Bloco_sobre@=>Bloco;
sobre_Bloco_sobre@limConjunto=>inteiro;
sobre_Bloco_sobre@caracteristica=>assocTipoEx;
sobre_Bloco*->mut_Estatico;
sobre_Bloco_sobre@lim_Inferior*->1;
sobre_Bloco_sobre@lim_Superior*->1;
sobre_Bloco_sobre@assoc_TipoEx*->assoc_Simples;
sobreMesa_Mesa@=>mutabilidade;
sobreMesa_Bloco_sobreMesa@=>Bloco;
sobreMesa_Bloco_sobreMesa@limConjunto=>inteiro;
sobreMesa_Bloco_sobreMesa@caracteristica=>assocTipoEx;
sobreMesa_Bloco@*->mut_Estatico;
sobreMesa_Bloco_sobreMesa@lim_Inferior*->1;
sobreMesa_Bloco_sobreMesa@lim_Superior*->1;
sobreMesa_Bloco_sobreMesa@assoc_TipoEx*->assoc_Simples]
Com a definio acima da Interpretao IFR de Forma Reduzida, pode-se demonstrar que
apropriadamente ela um subconjunto da Interpretao Completa.
Com o Teorema 5.1 demonstra-se como obter a IFR da descrio de F-tomos realizada
em (GOMES, 2008). Tambm importante citar que a interpretao IFR de forma reduzida
so 4 tipos de f-tomos que possuem equivalncia com os f-tomos da Interpretao
Correspondente da PDDL e F-Logic, que foi apresentada no captulo 4. Esses 4 tipos de f-
tomos da IFR so o f-tomo de classe, o f-tomo de Associao, o f-tomo de Atributo
simples e o f-tomo de Atributo com parmetros. Esses f-tomos so equivalentes
respectivamente ao f-tomo de Tipo, o f-tomo de Predicado 2-rio, o f-tomo de Predicado
1-rio e o f-tomo de Predicado n-rio da Interpretao Correspondente.
No prximo captulo sero demonstradas as equivalncias entre F-tomos da UML.P e F-
tomos da PDDL, alm de demonstrar a equivalncia do modelo UML.P com o modelo
PDDL.
60
CAPTULO 6
iii. Existe em UML.P um conjunto de atributos At ={At1, At2, ..., Ati}, onde cada
atributo de At possui nomenclatura idntica a um predicado 1-rio de P1 em
v. Existe em UML.P um conjunto de atributos com parmetros Atp ={Atp1, Atp2, ...,
Atpi}, onde cada atributo com parmetros de Atp possui nomenclatura idntica a
um predicado n-rio de P n em PDDL do conjunto P n ={ P 1n , P n2 , ..., P ni }
formando uma bijeo;
Para esclarecer o objetivo da SRDD definida acima, a figura abaixo apresenta que
considerando a SRDD, h para o mesmo Domnio U, dois modelos um em UML.P e outro
em PDDL. Sendo que esses dois modelos possuem quatro conjuntos e o essencial que um
modelo em UML.P com esses quatro conjuntos possui a mesma nomenclatura com os outros
quatro conjuntos do modelo em PDDL, formando ambos bijees.
Tomando o domnio Mundo dos Blocos, a SRDD restringe que em UML.P haja o
elemento visual classe com nomenclatura Bloco e restringe que em PDDL haja a descrio
de tipo com nomenclatura Bloco. Qualquer variao sobre isso j no permite fazer a
correspondncia de modelos.
63
Definio 6.2 (F-tomo de associao UML.P relaxado) Todo o f-tomo obtido de modelos
UML.P a partir da Interpretao Completa e Interpretao IFR de forma reduzida deve ser
relaxado substituindo o smbolo => para o smbolo =>>.
A tabela acima mostra como classes e tipos, associaes, atributos e predicados so ambos
interpretados facilmente em uma lgica correta e completa como a F-Logic. Dessa maneira,
comprovando interpretaes como essa, alcana-se o objetivo desse trabalho que validar as
modelagens em UML.P para PDDL.
Dessa maneira, demonstra-se atravs dos teoremas abaixo que os f-tomos da UML.P, na
Interpretao IFR de Forma Reduzida, so equivalentes aos f-tomos da Interpretao
Correspondente da PDDL em F-Logic.
Se I Cl T, ento, I T Cl
Se I Cli Ti, ento, I Ti Cli
Como o f-tomo = Cli ::Cl e o f-tomo = Ti ::T, portanto,
Com o teorema 6.1 tem-se que qualquer f-tomo de classe e sua subclasse em UML.P tem
equivalncia com um f-tomo de tipo e seu subtipo em PDDL de acordo com a SRDD.
J no prximo teorema busca-se provar que todos os f-tomos IS-A para classes do
modelo UML.P so equivalentes aos f-tomos IS-A para tipos do modelo PDDL.
Teorema 6.2 (Equivalncia de Modelos para f-tomos IS-A) Considerando a SRDD e sendo a
frmula UML.P, que possui todos os f-tomos IS-A para o modelo UML.P e a frmula PDDL,
que possui todos os f-tomos IS-A para o modelo PDDL, tem-se que
UML.P PDDL, se
todas as classes de Cl tm nomenclatura idntica aos tipos de T.
Prova
De acordo com a SRDD, a nomenclatura das classes do conjunto Cl idntica a dos
tipos do conjunto T, formando uma bijetora. O fato de ser uma bijetora supe-se que
haja uma funo f e sua inversa f -1, de modo que f :Cl T se e somente se f -1:T Cl.
Da, pelo teorema 6.1 para toda nomenclatura idntica entre Cl e T demonstra-se a
equivalncia entre f-tomos. Como Cl e T formam uma bijeo, eles tm a mesma
cardinalidade, ento, os modelos so equivalentes no que tange s classes e aos tipos
UML.P PDDL
Com o teorema 6.2, todas as classes da UML.P e tipos da PDDL foram interpretados em
F-Logic, de modo que todos eles tenham a forma de f-tomos IS-A.
A seguir, o teorema demonstrar a equivalncia entre um f-tomo de associao de classe
e um f-tomo de predicado 2-rio.
Prova
66
Portanto,
Com o teorema 6.3 tem-se que qualquer f-tomo de associao de classes em UML.P tem
equivalncia com um f-tomo de predicado 2-rio em PDDL de acordo com a SRDD.
A seguir, o teorema 6.4 demonstrar que todos os f-tomos de associao de classes do
modelo UML.P e de predicados 2-rios do modelo PDDL so equivalentes.
uma bijetora supe-se que haja uma funo f e sua inversa f -1, de modo que f: As P 2
se e somente se f -1: P 2 As. Da, pelo teorema 6.3 para toda nomenclatura idntica
entre As e P 2 demonstra-se a equivalncia entre f-tomos desde que pelo teorema 6.2,
Com o teorema 6.2 e 6.4, provou-se que dado um mesmo domnio, onde o engenheiro do
conhecimento ou projetista de domnio use a mesma nomenclatura para definir seus tipos e
67
Prova
De acordo com a SRDD, a nomenclatura de atributo de classe idntica a de predicado
1-rio. Pela Interpretao Completa e a Interpretao IFR de forma reduzida tem-se o
f-tomo de atributo de classe da UML.P na forma Cli[Ati@=>Booleano] da F-Logic.
Pela Interpretao Correspondente tem-se o f-tomo de predicado 1-rio da PDDL
na forma Ti [ P1i @=>Booleano] da F-Logic. Pelo teorema 6.2, tem-se que Cli Ti. Como
Com o teorema 6.5 tem-se que qualquer f-tomo de atributo simples em UML.P tem
equivalncia com um f-tomo de predicado 1-rio em PDDL de acordo com a SRDD. O
importante demonstrar no teorema a seguir que todos os atributos simples de um modelo em
UML.P so equivalentes aos predicados 1-rios de um modelo em PDDL.
uma bijetora supe-se que haja uma funo f e sua inversa f -1, de modo que f: At P1
se e somente se f -1: P1 At. Da, pelo teorema 6.5 para toda nomenclatura idntica
entre At e P1 demonstra-se a equivalncia entre f-tomos desde que pelo teorema 6.2,
Com o teorema 6.6, todo atributo de classe pode ser interpretado em predicado 1-rio da
PDDL.
A seguir, o prximo teorema lida com a equivalncia entre f-tomos de atributo com
parmetros de classe e de predicado n-rio.
Prova
De acordo com a SRDD, a nomenclatura de atributo com parmetros de classe
idntica a de predicado n-rio. Pela Interpretao Completa e a Interpretao IFR de
forma reduzida tem-se o f-tomo de atributo com parmetros de classe da UML.P na
forma Cli [Atpi@p1, , pn =>Booleano] da F-Logic. Pela Interpretao Correspondente
tem-se o f-tomo de predicado n-rio da PDDL na forma Ti[ P ni @p1,,pn=>Booleano]
da F-Logic. Pelo teorema 6.2, tem-se que Cli Ti. Os parmetros p1,,pn so classes ou
tipos, ento, tambm pelo teorema 6.2, p1 p1 ,, pn pn. A ordem dos parmetros
importa devido Interpretao Correspondente utilizar o TMR para interpretar
predicados em F-Logic. Como o atributo de classe com parmetros Atpi tem a mesma
nomenclatura que o predicado n-rio P ni , ento, Cli [Atpi@p1, , pn =>Booleano]
Ti[ P ni @p1,,pn=>Booleano]
69
Com o teorema 6.7, sabe-se que um f-tomo de atributo com parmetros de classe
equivalente a um f-tomo de predicado n-rio. O prximo teorema demonstra que todos esses
atributos so equivalentes aos predicados n-rios de acordo com sua demonstrao.
Teorema 6.8 (Equivalncia de Modelos para f-tomos de atributo com parmetros de classes
e de predicados n-rios) Considerando a SRDD e sendo a f-frmula UML.P, que possui todos os
f-tomos de atributos com parmetros de classes do modelo UML.P e a f-frmula PDDL, que
possui todos os f-tomos de predicados n-rios do modelo PDDL, tem-se que UML.P PDDL,
se todos os atributos com parmetros de classes de Atp tm nomenclatura idntica aos
predicados n-rios de P n .
Prova
De acordo com a SRDD, a nomenclatura dos atributos com parmetros de classes do
conjunto Atp idntica a dos predicados n-rios do conjunto P n , formando uma
bijetora. O fato de ser uma bijetora supe-se que haja uma funo f e sua inversa f -1, de
modo que f: Atp P n se e somente se f -1: P n Atp. Da, pelo teorema 6.7 para toda
Com o teorema 6.8 tem-se que qualquer f-tomo de atributo com parmetros em UML.P
tem equivalncia com um f-tomo de predicado n-rio em PDDL de acordo com a SRDD.
Os teoremas 6.1-8 demonstram que os f-tomos dos modelos em UML.P e PDDL de
acordo com a SRDD so equivalentes.
(Exemplo dos Teoremas 6.1-8) No domnio Mundo dos Blocos, pode-se exemplificar o
teorema da seguinte maneira:
1. Para Cl1 :: Cl T1 :: T:
a. Cl1 T1 Manipulador e Cl T, que so idnticos e tratam-se do conjunto universal
dos tipos ou classes, de modo que Manipulador Manipulador;
a. Cl1 T1 Manipulador, Cl2 T2 Bloco, de modo que As1 e P12 sejam o mtodo
Segurando. Para que a descrio do mtodo de conjunto de valores seja:
Manipulador[Segurando@=>>Bloco] Manipulador[Segurando@=>>Bloco];
Com o teorema 6.9 demonstrou-se que o modelo UML.P de acordo com a IFR e a SRDD
equivalente ao modelo PDDL de acordo com a Interpretao Correspondente e a SRDD.
Entretanto, na Interpretao Completa do modelo UML.P h muitos outros f-tomos
(GOMES, 2008). Por isso, no teorema 6.10 abaixo demonstra-se que um modelo PDDL
conseqncia lgica de um modelo UML.P, mas o contrrio no verdadeiro. Essa
demonstrao de que o modelo PDDL conseqncia lgica de um modelo UML.P s
possvel porque o teorema 11.3 em (KIFER; LAUSEN; WU, 1995) demonstra que a deduo
F-Logic correta utilizando suas propriedades e regras de inferncia.
72
Com os teoremas apresentados nesse captulo, essa dissertao demonstrou que factvel
a interpretao de modelos da UML.P em modelos da PDDL de acordo com a suposio
SRDD.
O diagrama de classes UML.P para o domnio Satlite possui 4 (quatro) classes, 4 (quatro)
associaes de classes e 3 (trs) atributos de classes. As classes, seus atributos e suas
associaes fazem parte da suposio SRDD. Dessa forma, esses so os elementos que
possuem equivalncia com os elementos PDDL de acordo com a Interpretao
Correspondente em F-Logic.
Para o diagrama de classes do domnio Satlite, abaixo segue a tabela com a descrio F-
Logic em comum descrio PDDL e ao diagrama de classes.
Tabela 14 Equivalncia entre UML.P e PDDL para o domnio Jantar dos Filsofos
F-Logic Classes e Mtodos PDDL Tipos e Predicados
Filosofo :: ClasseFund. (define (domain Dining_Philosophers)
Garfo :: ClasseFund. (:requirements :typing)
(:types
Filosofo[direito@=>>Garfo; Filosofo - T
esquerdo@=>>Garfo; segurando=>>Garfo; Garfo - T)
faminto@=>Booleano; (:predicates
temEsquerdo@=>Booleano; (direito ?fil - Filosofo ?gar -
temDireito@=>Booleano; Garfo)
comendo@=>Booleano; (esquerdo ?fil - Filosofo ?gar -
pensando@=>Booleano]. Garfo)
(segurando ?fil - Filosofo ?gar -
Garfo)
(faminto ?fil - Filosofo)
(temEsquerdo ?fil - Filosofo)
(comendo ?fil - Filosofo)
(pensando ?fil - Filosofo)
(temDireito ?fil - Filosofo)
)
75
O diagrama de classes projetado para o domnio Logstica possui como diferena aqui os
relacionamentos de Herana. Por exemplo,as classes Caminho e Avio so do tipo Veculo e
as classes Local e Aeroporto so do tipo Lugar.
Para o diagrama de classes acima, abaixo segue a tabela com a descrio F-Logic em
comum descrio PDDL e ao diagrama de classes.
Para o diagrama de classes acima, abaixo segue a tabela com a descrio F-Logic em
comum descrio PDDL e ao diagrama de classes.
CAPTULO 7
7. CONCLUSO
REFERNCIAS BIBLIOGRFICAS
BOOCH, Grady; JACOBSON, Ivar; RUMBAUGH, James. The Unified Modeling Language
User Guide. Addison-Wesley, 1999.
COPPIN, B. Artificial Intelligence Illuminated. Sudbury, MA, Jones and Bartlett, 2004.
EDELKAMP, S.; JABBAR, S.; LAFUENTE, A. L. Action Planning for Graph Transition
Systems. Verification and Validation of Model-Based Planning and Scheduling Systems
(VVPS). Monterey, AAAI Press, pages 58-66, 2005.
FIKES, R.E.; NILSSON, N.J. STRIPS: A New Approach to the Application of Theorem
Proving to Problem Solving. Technical Note 43r. AI Center, SRI International, 333
Ravenswood Ave, Menlo Park, CA 94025, May 1971.
FOX, M.; LONG, D. 2003. PDDL 2.1: An Extension to PDDL for Expressing Temporal
Planning Domains. Journal of Artificial Intelligence Research 20:61-124.
KIFER, M.; LAUSEN, G.; WU, J. Logical Foundations of object-oriented and frame-based
languages. Journal of ACM, v. 42, p. 741-843, May 1995.
81
LKA, M. Extensional and intensional semantics of pUML objects. In: IIT.SRC 2005
Informatics and Information Technology Student Research Conference. Bratislava, April
2005, J. Minrov (supervisor), pp. 167174.
LUGER, George F. Artificial Intelligence: Structures and Strategies for Complex Problem
Solving (5th Edition). Addison-Wesley, 2004.
MCDERMOTT, D. & the AIPS-98 Planning Competition Committee 1998. PDDL The
Planning Domain Definition Language. Tech. rep., Available at:
www.cs.yale.edu/homes/dvm.
MCDERMOTT, D. PDDL2.1 - The Art of the Possible? Commentary on Fox and Long.
Journal of Artificial Intelligence Research 20:145 148, 2003.
OMG Object Management Group, 2001. Unified Modeling Language Specification: version
2.1. URL: www.omg.org/uml.
82
PEDNAULT, E. ADL: Exploring the middle ground between STRIPS and the situation
calculus. In International Conference on Principles of Knowledge Representation and
Reasoning, 1., Toronto, 1989. Proceedings. s.n. 1989, p.324-332.
PEDNAULT, E. ADL and the state-transition model of action. Journal of Logic and
Computation, 4:467512, 1994.
RAMALHO, F., ROBIN, J. and SCHIEL, U. Concurrent Transaction Frame Logic Formal
Semantics for UML Activity and Class Diagrams. Electronic Notes in Theoretical
Computer Science, Volume 95, 17 May 2004 Edited by A. Cavalcanti and P. Machado,
Elsevier, 2004.
SCHREIBER G., AKKERMANS H., ANJEWIERDEN A., DE HOOG R., SHADBOLT N.,
VAN de Velde W., WIELINGA B. Knowledge engineering and management. The
CommonKADS methodology. MIT Press, 2000.
TONIDANDEL F., VAQUERO T.S., and SILVA J.R. Reading PDDL, Writing an Object-
Oriented Model. In Leture Notes in Computer Science. International Joint Conference on
AI IBERAMIA/SBIA. Springer-Verlag. 2006.
VAQUERO, T. S.; TONIDANDEL, F.; SILVA, J. R. 2005. The itSimple tool for Modeling
Planning Domains. ICAPS 2005 Competition ICKEP, Monterey, California, USA.
VAQUERO, T. S.; TONIDANDEL, F.; BARROS, L. N. de; SILVA, J. R. 2006. On the Use
of UML.P for Modeling a Real Application to the Planning Problem.
83