Construindo Aplicações Semânticas com Desenvolvimento Ágil
1. NEES/IC e CAED/ICMC
Universidade Federal de Alagoas e Universidade de São Paulo
ig.ibert@ic.ufal.br e sisotani@icmc.usp.br
Ig Ibert Bittencourt e Seiji Isotani
Construindo Aplicações Semânticas
com Desenvolvimento Ágil:
Plataforma JOINT
Conferência Web.br 2014
5. NEES/IC e CAED/ICMC
Universidade Federal de Alagoas e Universidade de São Paulo
ig.ibert@ic.ufal.br e sisotani@icmc.usp.br
Ig Ibert Bittencourt e Seiji Isotani
Construindo Aplicações Semânticas
com Desenvolvimento Ágil:
Plataforma JOINT
Conferência Web.br 2014
10. Como recomendar um imóvel de acordo
com os interesses e graus de
relacionamentos?
11. Como recomendar um imóvel de acordo com os interesses e graus de
relacionamentos?
Pessoas e
Relacionamentos
Interesses
Imóveis
Cidades
Educação
Segurança
Pontos Comerciais
Ontologias
15. Ontologias
Compreender a
estrutura das coisas
Melhorar a
comunicação
entre pessoas
Interoperar
sistemas
Potencializar
Serviços
Filosofia
Linguística
Lógica
Computação
Ontologia
Aplicada
16. “The fast‐growing science of
ontology could exert a greater
impact on humanity than the rise of
the Internet… ontologies allow for
data to interoperate and for
machines to make inferences. The
report calls for more education and
training opportunities for
ontologists, and for better means of
connecting ontologists with
organizations that need them.
17. Semantic Interoperability is considered to be the
problem of this decade…[currently] costing
productivity, lives and billions of dollars
annually…the overall human and financial cost to
society from our failure to share and reuse
information is many times the cost of the systems’
operation and maintenance [OMG, SIMF]
27. JOINT – Java Ontology INtegrated Toolkit
Implementação
Software baseado em Ontologias
Transformação
Código Java (Infraestrutura)
Formalização
Artefato Computacional (OWL, RDF-S)
Conceitualização
Modelagem Conceitual
JOINT
J
O
I
N
T
-
D
E
28.
29. JOINT-DE
Sistema de Mapeamento Ontologia-Objeto (OOMS);
Uso do Sesame como API base;
Uso de Objetos Desconectados;
Operações em repositórios (criar, limpar, remover, backup);
Operações em ontologias (adicionar, remover e atualizar ontologias);
Geração de Código;
Operações em Instâncias (CRUD);
Operações de Inferência (DL, SWRL e SPARQL)
33. JOINT-DE (Gerador de Código)
Baseado no gerador de código do Alibaba (objetos persistentes);
Geração de Interfaces Java (herança múltipla);
Geração de classes concretas;
Classes implementas as interface gerada e a interface serializable;
45. Estudos Empíricos (JOINT-DE)
Uso de Memória
Hipótese Hipótese Nula Hipótese Alternativa Descrição Resultado (SIG. 0,05) Melhor Resultado
H1 H1-0: T(F1, O1) = T(F2, O1) H1-1: T(F1, O1) ≠ T(F2, O1) Tempo por iteração na
operação create
Com diferença
significativa
JOINT-DE
H2 H2-0: T(F1, O2) = T(F2, O2) H2-1: T(F1, O2) ≠ T(F2, O2) Tempo por iteração na
operação retrieve
Com diferença
significativa
JOINT-DE
H3 H3-0: T(F1, O3) = T(F2, O3) H3-1: T(F1, O3) ≠ T(F2, O3) Tempo por iteração na
operação update
Com diferença
significativa
JOINT-DE
H4 H4-0: M(F1, O1) = M(F2,
O1)
H4-1: M(F1, O1) ≠ M(F2,
O1)
Média de memória na
operação create
Sem diferença
significativa
-
H5 H5-0: M(F1, O2) = M(F2,
O2)
H5-1: M(F1, O2) ≠ M(F2,
O2)
Média de memória na
operação retrieve
Com diferença
significativa
JOINT-DE
H6 H6-0: M(F1, O3) = M(F2,
O3)
H6-1: M(F1, O3) ≠ M(F2,
O3)
Média de memória na
operação update
Com diferença
significativa
Alibaba
46. Estudos Empíricos (JOINT-DE)
Casos de Uso (MeuTutor)
INTERFACE DO USUÁRIO EM PHP
SERVIÇOS WEB
NEGÓCIO
PERSISTÊNCIA
BANCO DE
DADOS RDF
SATÉLITE
1
SATÉLITE
2
SATÉLITE
3
MICRO-KERNEL
SATÉLITE
4
SATÉLITE
...
SATÉLITE
N
CONECTOR
CONECTOR
USUÁRIOS FINAIS
Visão geral da arquitetura do MeuTutor-ENEM
47.
48. Estudos Empíricos (JOINT-DE)
Casos de Uso (MeuTutor)
0
1000
2000
3000
4000
5000
6000
Tempo de Resposta - Login
MeuTutor JOINT-DE
0
200
400
600
800
1000
1200
1400
1600
Memória Utilizada - Login
MeuTutor JOINT-DE
49. Estudos Empíricos (JOINT-DE)
Casos de Uso (MeuTutor)
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
Tempo de Resposta - Cadastro
MeuTutor JOINT-DE
0
200
400
600
800
1000
1200
1400
Memória Utilizada - Cadastro
MeuTutor JOINT-DE
50. Estudos Empíricos (JOINT-DE)
Casos de Uso (MeuTutor)
0
50
100
150
200
250
Tempo de Resposta - Troféus
MeuTutor JOINT-DE
0
50
100
150
200
250
300
350
400
450
500
Memória Utilizada - Troféus
MeuTutor JOINT-DE
52. Como recomendar um imóvel de acordo com os interesses e graus de
relacionamentos?
Pessoas e
Relacionamentos
Interesses
Imóveis
Cidades
Educação
Segurança
Pontos Comerciais
Ontologias
55. JOINT – Java Ontology INtegrated Toolkit
Implementação
Software baseado em Ontologias
Transformação
Código Java (Infraestrutura)
Formalização
Artefato Computacional (OWL, RDF-S)
Conceitualização
Modelagem Conceitual
J
O
I
N
T
-
D
E
O
L
E
D
?
?
J
O
I
N
T
-
L
D
Metodologia (E.S. + E.O.) + Conjunto de Boas Práticas
H
O
Z
O
56. Ig Ibert Bittencourt
Núcleo de Excelência em Tecnologias Sociais
Universidade Federal de Alagoas
Mesa Redonda: TI e Educação
II Workshop de EaD/UFGD: Educação no
Mundo da Tecnologia Digital