UMA ESTRATÉGIA DE APOIO À GERÊNCIA DE DADOS DE PROVENIÊNCIA
EM EXPERIMENTOS CIENTÍFICOS
Sérgio Manuel Serra da Cruz
Tese de Doutorado apresentada ao Programa de
Pós-graduação em Engenharia de Sistemas e
Computação, COPPE, da Universidade Federal
do Rio de Janeiro, como parte dos requisitos
necessários à obtenção do título de Doutor em
Engenharia de Sistemas e Computação.
Orientadores: Marta Lima de Queirós Mattoso
Maria Luiza Machado Campos
Rio de Janeiro
Agosto de 2011
UMA ESTRATÉGIA DE APOIO À GERÊNCIA DE DADOS DE PROVENIÊNCIA
EM EXPERIMENTOS CIENTÍFICOS
Sérgio Manuel Serra da Cruz
TESE SUBMETIDA AO CORPO DOCENTE DO INSTITUTO ALBERTO LUIZ
COIMBRA DE PÓS-GRADUAÇÃO E PESQUISA DE ENGENHARIA (COPPE) DA
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO COMO PARTE DOS
REQUISITOS NECESSÁRIOS PARA A OBTENÇÃO DO GRAU DE DOUTOR EM
CIÊNCIAS EM ENGENHARIA DE SISTEMAS E COMPUTAÇÃO.
Examinada por:
________________________________________________
Prof. Marta Lima de Queirós Mattoso, D.Sc.
________________________________________________
Prof. Maria Luiza Machado Campos, Ph.D.
________________________________________________
Prof. Ana Carolina Brandão Salgado, Docteur.
________________________________________________
Prof. Nelson Francisco Favilla Ebecken, D.Sc.
________________________________________________
Prof. Cláudia Maria Lima Werner, D.Sc.
RIO DE JANEIRO, RJ - BRASIL
AGOSTO DE 2011
iii
Cruz, Sérgio Manuel Serra da
Uma Estratégia De Apoio À Gerência De Dados De
Proveniência Em Experimentos Científicos / Sérgio
Manuel Serra da Cruz. – Rio de Janeiro: UFRJ/COPPE,
2011.
XIX, 214 p.: il.; 29,7 cm.
Orientador: Marta Lima de Queirós Mattoso
Maria Luiza Machado Campos.
Tese (doutorado) – UFRJ/ COPPE/ Programa de
Engenharia Sistemas e Computação, 2011.
Referências Bibliográficas: p. 180-201.
1. Proveniência. 2. Workflows Científicos. 3.
Experimentos in silico. 4. Ontologias. I. Mattoso, Marta
Lima de Queirós, et al. II. Universidade Federal do Rio de
Janeiro, COPPE, Programa de Engenharia de Sistemas e
Computação. III. Título.
iv
Dedico este trabalho aos faróis da minha vida, Ana Cláudia e Pedro, meus pais e avós.
v
AGRADECIMENTOS
Produzir uma tese de doutorado é antes de qualquer coisa é uma grande aventura,
muitas estórias tenho para contar e alguns arranhões para sarar. Mas, antes de qualquer
coisa é necessário agradecer a todos aqueles que de alguma forma contribuíram na
realização deste trabalho.
Inicialmente registro meus sinceros agradecimentos a Deus e à Maria, Mãe do Filho
eterno de Deus, mãe que sempre me acolheu nos momentos de fraqueza, me acalmou
nos momentos de angustia e me abraçou nas horas de felicidade.
(de joelhos) À minha esposa Ana Cláudia de Macêdo Vieira que me apoiou
incondicionalmente na longa e árdua e duríssima caminhada e ao meu filho Pedro
Vieira Cruz pela companhia e incentivo; aproveito e me desculpo pelas ausências de
muitos dias.
À minha mãe Emília e ao meu pai Manuel, inicialmente pela vida e também pelos
ensinamentos.
À minha avó Margarida e ao meu avô Manuel pela acolhida nos momentos mais difíceis
da minha existência, lamento que vocês tenham partido antes do término deste trabalho.
Agradeço do fundo d´alma às minhas caríssimas e sapientíssimas orientadoras prof.
Dra. Marta Mattoso e prof. Dra. Maria Luiza Machado Campos por terem me orientado
de modo brilhante e ter me permitido chegar até aqui e realizar muitos sonhos.
Aos profs. Drs. Ana Carolina Salgado, Nelson Ebecken, Claúdia Werner e por terem
aceitado participar da banca de avaliação do doutorado. Além disso, agradeço a profa.
Dra. Maria Cláudia Calvancati (Yoko) por ter participado do exame de qualificação.
Aos professores do PESC/COPPE-UFRJ pelas excelentes aulas e às secretárias do
PESC pela ajuda sempre bem vinda e pelo funcionamento impecável da secretaria.
vi
Aos professores Juliana Freire e Cláudio Silva e a Emanuele Santos da University of
Utah pela excelente acolhida e grande ajuda com o VisTrails.
Ao professor Giancarlo Guizzardi da UFES pela inestimável oportunidade de avaliação
da ontologia desenvolvida nesta tese.
A leal amizade dos fraternos amigos de doutoramento Macário Costa, Jorge Zavaleta e
Laci Mary, vocês são nota 10 e Qualis 7 !
Aos colegas mestres Frederico Tosta, Edno Silva, Carlos Eduardo (Kdu), Patricia
Barros e Anderson Marinho que de alguma forma contribuiram para o desenvolvimento
das soluções apontadas nesta tese.
Aos colegas de turma de doutorado e aos brilhantes alunos de I.C. Fernando Chirigati,
Rafael Dahis e Vinícius Neves.
A turma da bioinformática Diogo Tschoeke, Rafael Cuadrat, Marcelo Pontes e, em
especial, ao Dr. Alberto Dávila.
Aos alunos do NCE pelos almoços divertidos, eu disse: Fabrício, Rafael, Miguel e
Rubinho.
A Dra Deyse Caldas pela atenção dispensada a minha tireóide.
Aos colegas de trabalho e à direção do iNCE e da UFRRJ.
À UFRJ por tudo que me proporcionou e ao povo brasileiro e aos órgãos de fomento
pelos financiamentos para apresentar os artigos que compuseram esta tese.
Por fim, agradeço a você pelo interesse em ler a minha tese!
vii
Veni, vidi, vici
viii
Resumo da Tese apresentada à COPPE/UFRJ como parte dos requisitos necessários
para a obtenção do grau de Doutor em Ciências (D.Sc.)
UMA ESTRATÉGIA DE APOIO À GERÊNCIA DE DADOS DE PROVENIÊNCIA
EM EXPERIMENTOS CIENTÍFICOS
Sérgio Manuel Serra da Cruz
Agosto/2011
Orientadores: Marta Lima de Queirós Mattoso
Maria Luiza Machado Campos
Programa: Engenharia de Sistemas e Computação
A busca pelo conhecimento faz com que empresas e instituições de pesquisa
procurem não só novas formas de melhorar a qualidade dos experimentos científicos,
como também reduzir o tempo e os custos necessários para a sua execução usando
ambientes distribuídos. A gerência dos descritores de proveniência coletados ao longo
do ciclo de vida de experimentos científicos representa uma faceta preponderante neste
novo cenário. Esta tese apresenta uma estratégia de apoio à gerência dos descritores de
proveniência, baseada no desenvolvimento de uma solução computacional que envolve
a integração de uma ontologia de proveniência, bem fundamentada, intitulada OvO
(Open proVenance Ontology), e de um sistema de coleta de descritores de proveniência
intitulado Matriohska. Este sistema é capaz de ser acoplado aos workflows científicos
executados em ambientes distribuídos e heterogêneos do tipo nuvens de computadores.
A estratégia também possibilita a execução de consultas sobre os descritores de
proveniência de variadas granulosidades obtidos a partir de experimentos executados
nesses ambientes.
ix
Abstract of Thesis presented to COPPE/UFRJ as a partial fulfillment of the
requirements for the degree of Doctor of Science (D.Sc.)
AN APPROACH TO SUPPORT THE MANAGEMENT OF DATA PROVENANCE
OF SCIENTIFIC EXPERIMENTS
Sérgio Manuel Serra da Cruz
August/2011
Advisors: Marta Lima de Queirós Mattoso
Maria Luiza Machado Campos
Department: Computer Science and Engineering
The continuous quest for knowledge stimulates companies and research
institutions not only to investigate new ways to improve the quality of scientific
experiments, but also to reduce the time and costs needed for its implementation in
distributed environments. The management of provenance descriptors collected during
the life cycle of scientific experiments may represent an important goal to be achieved.
This thesis presents a new strategy which was focused to aid scientists to manage
different kinds of provenance descriptors. It describes a computational approach that
uses a well founded ontology named OvO (Open proVenance Ontology) and a
provenance infrastructure entitled Matriohska that can be attached to scientific
workflows executed on distributed and heterogeneous environments like the cloud of
computers. The approach also allows scientists to further perform semantic queries on
provenance descriptors with distinct types of granularity.
x
Índice
Capítulo 1 - Introdução .................................................................................................. 1
1.1. – Motivação ........................................................................................................... 2
1.2. – Caracterização do Problema ............................................................................... 5
1.3. – Objetivo da Tese ................................................................................................. 8
1.4 – Delimitação de Escopo ...................................................................................... 10
1.5. – Metodologia de Pesquisa .................................................................................. 11
1.6. – Organização da Tese ......................................................................................... 11
Capítulo 2 – Fundamentos de Experimentos Científicos em Larga Escala ............ 14
2.1 – Ciclo de Vida de Experimentos em Larga Escala ............................................. 15
2.2 – Recursos Científicos .......................................................................................... 20
2.2.1 – Modelo Científico ....................................................................................... 21
2.2.2 – Experimento Científico............................................................................... 22
2.2.3 – Workflows Científicos ................................................................................ 23
2.2.4 – Atividades, Artefatos e Agentes ................................................................. 24
2.3 – Gerência de Workflows Científicos .................................................................. 25
2.4 – Infra-estruturas de Sistemas Distribuídos .......................................................... 32
2.4.1 – Computação em Grade ............................................................................... 32
2.4.2 – Computação em Nuvem ............................................................................. 34
2.5 - Considerações Finais .......................................................................................... 38
Capítulo 3 - O papel da Proveniência e das Ontologias nos Experimentos
Científicos em Larga Escala ........................................................................................ 40
3.1. - Proveniência ...................................................................................................... 41
3.1.1 – Metamodelo Open Provenance Model ....................................................... 46
3.2 – Ontologias .......................................................................................................... 49
3.2.1 – Tipos de Ontologias .................................................................................... 50
3.2.2 – Linguagens de Modelagem de Ontologias ................................................. 52
3.2.3 – Modelagem de Ontologias .......................................................................... 53
3.2.4 – Compromisso Ontológico ........................................................................... 54
3.3 – Ontologia de Fundamentação Unificada (UFO) ................................................ 55
3.4 – Ontologias de Proveniência ............................................................................... 62
3.4.1 – OPMO ......................................................................................................... 63
3.4.2 – Proof Markup Language ............................................................................. 64
3.4.3 – Provenir ...................................................................................................... 64
3.4.4 – Provenance Vocabulary .............................................................................. 64
3.4.5– PREMIS ....................................................................................................... 65
3.4.6 – WOT Schema ............................................................................................. 65
xi
3.4.7 – SWAN-PAV ............................................................................................... 65
3.4.8 – Semantic Web Publishing ........................................................................... 66
3.4.9 – W3P ............................................................................................................ 66
3.4.10 – Dublin Core e outros vocabulários da Web .............................................. 66
3.4.11 – Ouzo Provenance Ontology ...................................................................... 67
3.5 - Estudo Comparativo Entre Ontologias de Proveniência .................................... 67
3.6 – Considerações Finais ......................................................................................... 71
Capítulo 4 – Categorização de Sistemas de Proveniência ......................................... 74
4.1 – Taxonomia de Proveniência .............................................................................. 75
4.1.1 – Captura de Proveniência ............................................................................. 76
4.1.2 – Objeto da Proveniência ............................................................................... 79
4.1.3 – Acesso aos Descritores de Proveniência .................................................... 81
4.1.4 – Apoio Semântico ........................................................................................ 83
4.1.5 – Armazenamento da Proveniência ............................................................... 85
4.2 - Análise dos Sistemas de Proveniência ............................................................... 87
4.3 - Considerações Finais .......................................................................................... 90
Capítulo 5 – Ontologia de Domínio de Proveniência de Experimentos Científicos
em Larga Escala ........................................................................................................... 91
5.1 – A Engenharia da Open proVenance Ontology .................................................. 92
5.1.1 – A Granulosidade da OvO ........................................................................... 94
5.1.2 – Notação Utilizada nos Diagramas da OvO ................................................. 96
5.2 – A Ontologia OvO .............................................................................................. 97
5.2.1 – Subontologia de Experimentos Científicos em Larga Escala ..................... 98
5.2.2 – Subontologia de Proveniência Prospectiva .............................................. 103
5.2.3 – Subontologia de Proveniência Retrospectiva ........................................... 109
5.3 - Considerações Finais ........................................................................................ 113
Capítulo 6 – Uma Arquitetura de Gerência de Proveniência de Experimentos
Científicos Apoiada por Ontologias de Domínio ..................................................... 116
6.1 – Histórico .......................................................................................................... 117
6.2 – Arquitetura Matriohska ................................................................................... 118
6.2.1 – Componente Dispatcher ........................................................................... 121
6.2.2 – Componente Execution Broker ................................................................. 123
6.2.3 – Componente Provenance Broker.............................................................. 123
6.2.4 – Componente Provenance Eavesdrop........................................................ 124
6.2.5 – Componentes Data Uploader e Data Downloader .................................. 125
6.3 – Modelo de Dados de Proveniência Matrioshka ............................................... 125
6.4 – Considerações Finais ....................................................................................... 130
xii
Capítulo 7 – Estudo de Caso: Gerência de Proveniência de Experimentos
Científicos em Bioinformática ................................................................................... 132
7.1 – Protótipo da arquitetura Matriohska ................................................................ 132
7.2 – Workflow OrthoSearch e as bases de dados biológicos .................................. 134
7.3 – Transformações do modelo ontológico ........................................................... 137
7.3.1 – Representação de Classes ......................................................................... 140
7.3.2 – Representação de Relacionamentos.......................................................... 142
7.4 – Mapeamento entre registros e triplas ............................................................... 146
7.5 – Considerações Finais ....................................................................................... 150
Capítulo 8 – Estudo de Caso: Consultas Sobre Descritores de Proveniência de
Experimentos Científicos ........................................................................................... 152
8.1 – Experimentos envolvendo descritores de proveniência retrospectiva ............. 154
8.1.1 – Consulta 1 ................................................................................................. 155
Figura 39. Consulta sobre descritores de proveniência retrospectiva envolvendo
apenas um sortal rígido. ........................................................................................ 156
8.1.2 – Consulta 2 ................................................................................................. 156
8.1.3 – Consulta 3 ................................................................................................. 158
8.2 – Experimentos envolvendo descritores de proveniência prospectiva ............... 159
8.2.1 – Consulta 4 ................................................................................................. 160
8.2.2 – Consulta 5 ................................................................................................. 161
8.3 – Experimentos envolvendo descritores de proveniência prospectiva e
retrospectiva.............................................................................................................. 162
8.3.1 – Consulta 6 ................................................................................................. 162
8.3.2 – Consulta 7 ................................................................................................. 164
8.3.3 – Consulta 8 ................................................................................................. 165
8.4 - Considerações Finais ........................................................................................ 166
Capítulo 9 – Conclusão .............................................................................................. 169
9.1 – Contribuições ................................................................................................... 171
9.2 – Limitações ....................................................................................................... 175
9.3 – Trabalhos Futuros ............................................................................................ 176
9.4 – Considerações Finais ....................................................................................... 178
Referências Bibliográficas ......................................................................................... 180
Apêndices ..................................................................................................................... 202
Apêndice 1 – Exemplo de Experimento de Larga Escala em Bioinformática ..... 202
Apêndice 2 – XSD do Manifesto de Atividade .................................................... 211
Apêndice 3 – XSD do Manifesto de Experimento ............................................... 212
Apêndice 4 – XSD do Manifesto de Configuração .............................................. 214
xiii
Índice de Figuras
Figura 1. Visão geral da estrutura desta tese relacionando os objetivos da tese com os
capítulos onde são alcançados. ....................................................................................... 13
Figura 2. Ciclo de vida de experimentos em larga escala (ao centro), adaptado de
(MATTOSO et al., 2010). .............................................................................................. 17
Figura 3. (a) Situação corrente de coleta de proveniência (b) Abordagem ideal para a
coleta de descritores de proveniência de experimentos de grande escala. Adaptado de
(MATTOSO et al., 2010) ............................................................................................... 20
Figura 4. Hierarquia de Recursos Científicos. ................................................................ 21
Figura 5. Representação de proveniência em elementos do dia-a-dia. (a) proveniência
nas obras artísticas, (b) em alimentos, (c) no agronegócio brasileiro e (d) nas
publicações científicas. ................................................................................................... 43
Figura 6. Representação das dependências entre entidades OPM, onde ―A‖ é um
artefato, ―P‖ é um processo e ―Ag‖ é um agente. As setas representam as relações de
causa e efeito (MOREAU et al., 2010). .......................................................................... 47
Figura 7. Exemplo de utilização da OPM em experimentos em larga escala ilustrar o
processo de anotação de seqüências protéicas. ............................................................... 48
Figura 8. Diferentes tipos de especificações de ontologias disponíveis na literatura de
Ciência da Computação. Adaptado de (SMITH, 2001).................................................. 49
Figura 9. Classificação das ontologias e o relacionamento entre elas, adaptado de
(GUARINO, 1998). ........................................................................................................ 52
Figura 10. Metamodelo do perfil OntoUML definido por GUIZZARDI (2005). .......... 62
Figura 11. Taxonomia de proveniência, adaptado de (CRUZ et al., 2009).................... 76
Figura 12. Sub-taxonomia de captura de proveniência .................................................. 76
Figura 13. Sub-taxonomia de objeto de proveniência. ................................................... 79
Figura 14. Sub-taxonomia de acesso à proveniência. ..................................................... 81
Figura 15. Sub-taxonomia de apoio semântico. ............................................................. 83
Figura 16. Sub-taxonomia de armazenamento da proveniência ..................................... 85
Figura 17. Representação esquemática da modelagem conceitual de uma ontologia de
domínio baseada em UML. ............................................................................................ 93
Figura 18. Ontologia OvO e suas subontologias. ........................................................... 98
Figura 19. Subontologia de experimento científico ..................................................... 100
Figura 20. Subontologia de proveniência prospectiva. ................................................ 107
Figura 21. Subontologia de proveniência retrospectiva. .............................................. 110
Figura 22. Contexto para gerência de proveniência de experimentos executados em
ambiente de nuvem de computadores. .......................................................................... 117
Figura 23. Diagrama de componentes e implantação da Matriohska........................... 120
Figura 24. A arquitetura Matriohska, suas camadas e componentes............................ 121
xiv
Figura 25. Diagrama de classes adotado pela Matriohska, adaptado de (SILVA et al.,
2010) e (CRUZ et al., 2011). ........................................................................................ 128
Figura 26. Telas de configuração de imagens e instâncias na nuvem da Amazon. ...... 134
Figura 27. Atividades concretas do workflow OrthoSearch executado na Nuvem ...... 135
Figura 28. Fragmento da implementação da Ontologia de OvO na ferramenta Protégé.
...................................................................................................................................... 139
Figura 29. Fragmento relativo ao mapeamento de classes com o estereótipo <<Phase>>
da OvO para OWL. ....................................................................................................... 141
Figura 30. Fragmento relativo ao mapeamento de classes representadas pelo estereótipo
<<Role>> para OWL. ................................................................................................... 142
Figura 31. Fragmento de código relativo ao mapeamento de relações do tipo formal da
OvO para OWL. ........................................................................................................... 144
Figura 32. Trecho de código relativo ao mapeamento de relações do tipo formal da
OntoUML para OWL DL. ............................................................................................ 145
Figura 33. Trecho de código relativo a uma parte do mapeamento de relações do tipo
Material Relators para OWL. ....................................................................................... 146
Figura 34. Definição da conexão do banco de dados da Arquitetura Matriohska com o
servidor D2RQ. ............................................................................................................. 148
Figura 35. Mapeamento. entre a classe Concrete Workflow da OvO e a tabela Project da
arquitetura Matriohska. ................................................................................................ 149
Figura 36. Mapeamento do tipo 1:N entre as Classes Person e Organization da OvO e
tabelas correspondentes da Matriohska através da propriedade hasProject. ............... 150
Figura 37. Mapeamento do tipo M:N entre as Classes Abstract_Workflow e
Concrete_Workflow da OvO e tabelas correspondentes da Matriohska através da
propriedade hasConcreteWorkflow. ............................................................................. 150
Figura 38. A ontologia OvO em conexão com a infra-estrtura de consulta e de coleta de
descritores de proveniência .......................................................................................... 154
Figura 39. Consulta sobre descritores de proveniência retrospectiva envolvendo apenas
um sortal rígido. ............................................................................................................ 156
Figura 40. Consulta sobre descritores de proveniência retrospectiva envolvendo
relacionamentos entre sortais rígidos. .......................................................................... 157
Figura 41. Consulta sobre descritores de proveniência retrospectiva envolvendo relações
sortais rígidos, anti-rígidos e relações. ......................................................................... 159
Figura 42. Consulta sobre descritores de proveniência prospectiva envolvendo sortais do
tipo <<Kind>>. ............................................................................................................. 160
Figura 43. Consulta sobre descritores de proveniência prospectiva envolvendo sortais do
tipo <<Kind>> e <<Role>>. ......................................................................................... 162
Figura 44. Consulta sobre descritores de proveniência retrospectiva e prospectiva
envolvendo sortais rígidos e anti-rígidos. ..................................................................... 164
Figura 45. Consulta sobre descritores de proveniência retrospectiva e prospectiva
envolvendo sortais do tipo <<Kind>> e <<Role>>. ..................................................... 165
xv
Figura 46. Consulta sobre descritores de proveniência retrospectiva e prospectiva
envolvendo sortais do tipo <<Kind>>. ......................................................................... 166
xvi
Índice de Quadros
Quadro 1. Matriz de decisão para escolha de SGWfC utilizado na tese..Erro! Indicador
não definido.
Quadro 2. Diferenças centrais entre os modelos de computação em grade e nuvem. .... 37
Quadro 3. Resumo das principais características dos níveis das linguagens .................. 52
Quadro 4. Lista de ontologias de Proveniência baseadas em Web Semântica ............... 63
Quadro 5. Comparativo entre os termos da OPMO, PML, Provenir e Provenance
Vocabulary...................................................................................................................... 68
Quadro 6. Comparativo entre os termos da OPMO, PREMIS, WOT-Schema e SWAN-
PAV (continuação). ........................................................................................................ 69
Quadro 7. Comparativo entre os termos da OPMO, W3P e Dublin Core (continuação).
........................................................................................................................................ 69
Quadro 8. Quadro comparativo entre os principais sistemas de proveniência. (adaptado
de (CRUZ et al., 2009). .................................................................................................. 89
Quadro 9. Notação gráfica utilizada nos diagramas UML da OvO................................ 96
Quadro 10. Correlação dos experimentos com os tipos de proveniência e subontologias
OvO utilizadas .............................................................................................................. 168
xvii
Lista de Termos e Abreviações
ACM – Association for Computing Machinery
AGWL – Abstract Grid Workflow Language
ADN – Ácido Desoxirribonucleico
ARN – Ácido Ribonucleico
BLAST – Basic Local Alignment Search Tool
COG – Cluster of Ortholog Groups (grupos de genes ortólogos presentes em
organismos procariotos).
DHT – Distributed Hash Tabela
DNDi – Drugs for Neglected Diseases initiative
EBS – Amazon Elastic Block Store
ECU – EC2 Compute Unit
FASTA – Arquivo texto que pode representar seqüências de ácidos nucleicos ou
aminoácidos.
GO – Gene Ontology
HPC – High Performance Computing
ICDE – International Conference on Data Engineering
IDC – International Data Corporation
IEEE – Institute of Electrical and Electronics Engineers
IPAW – International Provenance and Annotation Workshop
ISWC – International Semantic Web Conference
JAR – Java Archive
KOG – Cluster of Ortholog Groups (grupos de genes ortólogos presentes em
organismos eucariotos).
LOP – Lógica de Primeira Ordem
MAFFT – Multiple Alignments using Fast Fourier Transform
MoML – Modeling Markup Language
xviii
mRNA – Messenger Ribonucleid Acid
NSF – National Science Foundation
OPM – Open Provenance Model
OBO – Open Biological and Biomedical Ontologies
OvO – Open proVenance Ontology
OWL – Ontology Web Language
OWL-DL – Ontology Web Language – Description Logics
QoS – Quality of Service
QBE – Query by Example
RDF – Resource Description Framework
RDFS – Resource Description Framework Schema
REST– Representational State Transfer
RO – Relational Ontology
SBBD – Simpósio Brasileiro de Bancos de Dados
SBC – Sociedade Brasileira de Computação
Scufl – Simple Conceptual Unified Flow Language
SGBD – Sistema de Gerência de Banco de Dados
SGWfC – Sistemas de Gerência de Workflows Científicos
SOAP – Simple Object Access Protocol
SPARQL - SPARQL Protocol and RDF Query Language
SQL – Structured Query Language
TAPP – Theory and Practice of Provenance
UFO – Unified Foundational Ontology
UML – Unified Modeling Language
VDS – Virtual Data System
VLDB – Very Large Data Base Conference
xix
W3C – World Wide Web Consortium
WSDL – Web Services Description Language
WWW – World Wide Web Cobference
XML – eXtensible Markup Language
XSD – XML Schema Definition
1
Capítulo 1 - Introdução
A busca pelo conhecimento faz com que empresas e instituições de pesquisa
procurem não só novas formas de melhorar a qualidade dos experimentos científicos,
como também reduzir o tempo e os custos necessários para a sua execução. A adoção de
procedimentos computacionais que permitam atingir ganhos de produtividade e
qualidade na condução desses experimentos pode ser vista como um diferencial
competitivo para essas instituições.
Tradicionalmente, estes procedimentos computacionais têm sido grandes aliados
de físicos, químicos, biólogos e profissionais de outros ramos da ciência. Entretanto, à
medida que o conhecimento avança, um grande volume de dados apresenta-se
disponível para análise. A informação científica é continuamente gerada em
experimentos físicos realizados por sensores, equipamentos de bancada e, mais
recentemente, a partir de estudos experimentais em e-Ciência.
O termo e-Ciência é recente (HEY et al., 2009) e caracteriza-se pelo apoio ao
cientista para o desenvolvimento de ciência em larga escala utilizando infra-estrutura
computacional correspondente. Conseqüentemente, novas técnicas de condução dos
experimentos e da gerência de dados são cada vez mais necessárias neste novo cenário.
Se por um lado os estudos experimentais computacionais isolados, interligados
apenas na percepção do pesquisador que os conduz, não são suficientes para tratar a
complexidade imposta pelos problemas da pesquisa ou mesmo tratar o grande volume
de dados a serem analisados, por outro lado, o problema agrava-se quando o estudo
ocorre em ambientes computacionais distribuídos e heterogêneos. Os pesquisadores
necessitam utilizar novas técnicas, tecnologias e ferramentas que facilitem a gerência de
processos e artefatos científicos nestes ambientes e aumentem a confiabilidade sobre
artefatos, agentes e processos envolvidos.
Este capítulo apresenta a motivação, a caracterização do problema, hipótese e
objetivos desta tese. Além disso, apresenta o escopo da tese, metodologia de pesquisa
utilizada e resumo sobre os demais capítulos e a organização do texto.
2
1.1. – Motivação
Desde o surgimento da lógica de Euclides, passando pelos célebres
experimentos de Galileu e pelo desenvolvimento do Cálculo por Newton, passaram-se
centenas de anos. Neste ínterim, estabeleceram-se os pilares da teoria e experimentação
científica. Modernamente a Ciência da Computação vem revolucionando as pesquisas
científicas, sendo hoje reconhecida como o ―terceiro pilar‖ a sustentar as pesquisas em
todas as áreas do conhecimento (EMMOTT et al., 2005, FOMEL,CLAERBOUT,
2009).
A tecnologia da informação vem mediando novas formas de interação entre as
ciências, permitindo que realizem-se experimentos científicos que manipulem volumes
de dados crescentes cada vez mais complexos e inter-relacionados (MATTOSO et al.,
2009, DARCH et al., 2009). O sucesso e a credibilidade dos experimentos científicos
baseados no computador e a conseqüente publicação dos resultados estão ancorados na
capacidade dos pesquisadores de expor suas idéias, avaliar suas hipóteses, manipular
grandes volumes de dados e produzir resultados de modo não ambíguo para que sejam
replicados e reproduzidos por outros cientistas. Tudo isso requer a adoção de novas
abordagens computacionais (HEY et al., 2009).
Um experimento científico é uma estratégia perpendicular a diversos níveis de
abstração. Ele geralmente é composto por uma seqüência de ações logicamente
encadeadas que tem como finalidade provar a plausibilidade ou a falsidade de uma dada
hipótese. Cada experimento científico, independente do seu domínio, é concebido para
construir conhecimento e permitir que se tenha uma visão mais concreta do fenômeno
que se investiga (JARRARD, 2001). Para confirmar ou refutar uma hipótese, o
pesquisador explora variações de seqüências de ações, fazendo ajustes de parâmetros,
mudando um conjunto de dados ou mesmo a lógica das ações. O experimento científico
é uma das pedras angulares da abordagem empiricista do conhecimento humano
(CERVO et al., 2007).
Atualmente, os experimentos científicos em e-Ciência dificilmente podem ser
realizados em ambientes computacionais monolíticos devido ao longo tempo de
processamento requerido (SZALAY, GRAY, 2006), (HEY et al., 2009). Por outro lado,
a natureza multifacetada e distribuída das equipes de pesquisa, a complexidade dos
novos experimentos e o grande volume de dados a ser manipulado requer o uso de
3
computadores configurados em ambientes heterogêneos, distribuídos e de grande
capacidade de processamento (por exemplo, clusters, grades de computadores e, mais
recentemente, nuvens de computadores) (HOFFA et al., 2008), (VECCHIOLA et al.,
2009). Portanto, um novo e desafiador cenário impõe-se. Novas ferramentas
computacionais são aguardadas não só para mitigar a integração das etapas de
composição, execução e análise dos experimentos científicos em larga escala, como
também promover a correlação entre os dados e descritores de granulosidades distintas
produzidos ao longo destas etapas.
Os workflows científicos passaram a ser incorporados em projetos de e-Ciência.
Eles são utilizados para representar abstrações sobre experimentos realizados no
computador, permitindo uma composição estruturada de programas sob a forma de
seqüência de atividades que visa alcançar um determinado resultado. Junto a isso, com o
propósito de automatizar a construção e execução dos chamados workflows científicos,
foram desenvolvidas ferramentas computacionais denominadas sistemas de gerência de
workflows científicos (SGWfC) (TAYLOR et al., 2007), (HEY et al., 2009). Os
SGWfC possibilitam os pesquisadores realizarem uma espécie de programação em alto
nível, através do encadeamento de processos científicos (ou atividades) que seguem
uma determinada lógica.
Neste novo cenário, existe a real necessidade de disponibilizar recursos de
rastreabilidade que vinculem os experimentos às pessoas, recursos, programas e
artefatos de dados utilizados ou produzidos, com o intuito de ampliar a confiabilidade
do experimento, possibilitar sua validação ou até mesmo permitir a reprodução do
experimento por outros grupos de pesquisa. Esse recurso é conhecido como
proveniência (BUNEMAN et al., 2001, FREIRE et al., 2008, CHENEY et al., 2009,
MOREAU, 2010).
Proveniência fornece informações históricas (descritores) acerca dos processos e
artefatos manipulados pelo pesquisador ao conduzir um experimento em um
determinado ambiente. Essa informação histórica pode ser representada de muitas
formas, incluindo o uso de documentos, anotações manuais, semi-estruturadas ou
mesmo anotações digitais estruturadas (SIMMHAN et al., 2005), (GLAVIC,
DITTRICH, 2007), (FREIRE et al., 2008). O controle deste conjunto de descritores é
extremamente importante, uma vez que proporciona aos cientistas uma ampla variedade
de novas oportunidades de pesquisa. Por exemplo, a partir dos descritores de
4
proveniência é possível compreender os resultados de um experimento, garantir sua
reprodutibilidade e atestar a qualidade dos dados produzidos. Outro exemplo refere-se à
possibilidade de realização de auditorias para verificar quais recursos computacionais
estão sendo ou foram efetivamente utilizados. Em última análise, a capacidade de
gerência mais ampla da proveniência agrega valor à e-Ciência.
Os SGWfC são considerados ferramentas que têm por finalidade reduzir o
retrabalho e, conseqüentemente, aumentar a produtividade dos cientistas (MATTOSO,
CRUZ, 2008). Atualmente existem dezenas de SGWfC, alguns já consolidados e outros
ainda emergentes (ZHAO et al., 2008, MATTOSO, CRUZ, 2008). No entanto, apesar
desse expressivo número de ferramentas, a maior parte dos atuais SGWfC é incapaz de
gerenciar os descritores de proveniência de diferentes granulosidades produzidos
durante a concepção, execução e análise dos experimentos em larga escala ambientados
em sistemas distribuídos, em especial nas nuvens de computadores (ABBADI, LYLE,
2011).
Considerando as limitações dos atuais SGWfC, é possível perceber que estes
não oferecem apoio integrado à gerência da proveniência de experimentos científicos,
isto é, poucas iniciativas têm como objetivo final integrar as etapas do ciclo de vida
desses experimentos. Paralelamente a isso, existe a necessidade de compreender, em
detalhes, a semântica da proveniência produzida ao longo dessas etapas.
A utilização de ontologias como apoio semântico para representação de
conhecimento é uma das abordagens mais proeminentes na literatura de Bancos de
Dados (GUARINO, 1998, MEERSMAN, 2001, CULLOT et al., 2003). A área de
pesquisa em ontologias é multidisciplinar, sendo que a origem do termo vem da
Filosofia, mas atualmente o tema é amplamente estudado na área de Ciência da
Computação para representar o conhecimento em domínios específicos.
A adoção de ontologias relacionadas à proveniência de experimentos científicos
permite que o registro e as trocas de informações entre grupos de pesquisas dispersos
temporal e geograficamente se dêem de maneira homogênea. Neste sentido, surge a
necessidade de anotar as etapas dos experimentos científicos em larga escala, de forma
que grupos de pesquisa possam compartilhar ou reutilizar artefatos de dados que melhor
atendam as suas necessidades ou, ainda, permitir que realizem consultas mais
expressivas sobre os descritores de proveniência.
5
1.2. – Caracterização do Problema
Para que os pesquisadores se beneficiem dos descritores de proveniência
produzidos ao longo do ciclo de vida dos experimentos de larga escala executados em
ambientes computacionais distribuídos, é necessário que eles sejam capturados,
armazenados, classificados e, posteriormente, consultados (MATTOSO et al., 2008).
No entanto, a gerência efetiva de experimentos em larga escala requer novas
facilidades (por exemplo, técnicas de especificação de experimentos, técnicas de
distribuição de dados e processos, mecanismos de coleta e consulta de proveniência,
entre outros). Além disso, é necessário que se compreenda que estes experimentos são
fruto de estratégias evolutivas baseadas em etapas bem definidas ao longo do tempo.
Portanto, mapear, caracterizar e associar os diferentes tipos de descritores de
proveniências correlacionados com as etapas deste processo é um problema que deve
ser atacado (SZALAY, GRAY, 2006), (BELL et al., 2006)
Segundo MATTOSO et al. (2008, 2009, 2010), a gerência (coleta, registro e
análise) de descritores de proveniência de experimentos científicos conduzidos em
ambientes distribuídos e heterogêneos ainda é um problema em aberto e imerso em um
conjunto de limitações, a saber:
(i) Desacoplamento entre a parte conceitual e estrutural do experimento. Por
exemplo, os atuais sistemas de coleta de proveniência não são capazes de
correlacionar os entes abstratos (conceituais) e concretos (estruturais) de um
experimento, isto é, não há sistema que correlacione os artefatos produzidos
durante a execução de um workflow científico com as definições abstratas do
experimento;
(ii) Dificuldade de compreensão por parte de pesquisadores sobre o real
significado dos descritores de proveniência em sistemas distintos. Por exemplo,
até o momento não existem estruturas classificatórias que auxiliem na
categorização dos diversos tipos de descritores de proveniência envolvidos em
experimentos científicos em larga escala;
(iii) Falta concordância de como, quando, o que deve ser capturado e o significado
daquilo que foi capturado. Por exemplo, não há na literatura uma definição
clara de como a captura dos descritores de proveniência deve ser materializada,
nem como armazená-los e correlacioná-los;
6
(iv) Dificuldade de manipular e integrar descritores de proveniência de
granulosidades distintas. Por exemplo, os atuais sistemas de proveniência
concentram-se em apoiar a gerência de proveniência de granulosidade grossa
(proveniência relacionada aos elementos estruturais do experimento), poucos
oferecem apoio à gerência de proveniência de granulosidade fina (proveniência
relacionada aos elementos conceituais do experimento);
(v) Limitada interoperabilidade entre os descritores de proveniência gerados por
sistemas distintos. Por exemplo, o principal metamodelo de proveniência é
voltado especificamente para a proveniência coletada durante a execução de
um workflow. Além disso, ele não considera a existência de experimentos
científicos em larga escala nem os diferentes papéis que um pesquisador pode
desenvolver ao longo do ciclo de vida do experimento;
(vi) Elevada sobrecarga semântica sobre os descritores de proveniência. Por
exemplo, até o momento existem diversas propostas de ontologias de
aplicação, i.e., ontologias fortemente ligadas a programas específicos.
Nenhuma pode ser caracterizada como uma ontologia de domínio,
fundamentada em bases ontológicas consistentes e, que possa ser utilizada em
experimentos científicos em larga escala independente de domínios de
aplicação;
(vii) Por fim, existem ambigüidades com relação aos métodos de recuperação dos
descritores de proveniência. Por exemplo, como os atuais sistemas de
proveniência não correlacionam os descritores de proveniência coletados ao
longo do ciclo de vida do experimento científico, nem oferecem interfaces de
consultas e facilidades que permitam ao pesquisador investigar as estruturas de
armazenamento utilizadas, abundam propostas, geralmente imprecisas, sobre
os possíveis métodos de recuperação de descritores de proveniência.
Atualmente, a maior parte das soluções de coleta de proveniência não viabiliza a
associação do experimento científico e os seus workflows, nem permite associar estes
descritores com ontologias de proveniência. Além disso, as atuais soluções de coleta de
proveniência estão firmemente acopladas ao SGWfC e, geralmente, manipulam
descritores de proveniência de granulosidade grossa (MCPHILLIPS, BOWERS, 2005,
CALLAHAN et al., 2006, GOBLE et al., 2010). No entanto, começam a surgir
trabalhos na literatura que defendem novas abordagens para a coleta de proveniência,
7
que devem ser independentes de SGWfC e manipular descritores de proveniência de
diferentes granulosidades (GROTH et al. 2005, SIMMHAN et al., 2008, CRUZ et al.,
2008, MARGO, SELTZER, 2009, MUNISWAMY-REDDY, SELTZER, 2009,
MUNISWAMY-REDDY et al., 2010, CRUZ et al., 2010, MARINHO et al.,2010).
Paralelamente ao esforço coletivo de avaliar novos mecanismos de coleta de
proveniência, existe uma iniciativa que propõe um metamodelo para a representação da
proveniência, denomindo Open Provenance Model (OPM) (MOREAU et al., 2010). Os
autores desenvolveram uma representação genérica de proveniência, independente de
tecnologia, válida para diversas entidades, mas exclusivamente voltada para os
workflows científicos. A iniciativa tem como objetivo tornar a proveniência
intercambiável entre distintos sistemas de proveniência. O metamodelo OPM representa
um avanço na área. No entanto, ele também possui limitações (MARINHO et al, 2010,
e GROTH, MOREAU, 2011), tais como:
(i) Os SGWfC e os sistemas de gerência de proveniência que o adotam precisam
ser fortemente acoplados para que obtenham-se os benefícios propostos pelo
OPM;
(ii) O metamodelo OPM ainda está em fase de desenvolvimento, é muito genérico,
e contempla apenas as formas de proveniência retrospectiva;
(iii) O metamodelo não contempla sistemas distribuídos, nem discorre sobre a
possibilidade da adoção de acordos semânticos que permitam consultas sobre
os descritores de proveniência baseados em ontologias de experimentos
científicos.
O uso de ontologias em aplicações científicas não é uma novidade
(SOLDATOVA, KING, 2006, BIOLCHINI et al., 2007, MACCAGNAN et al., 2010,
MATTOSO et al., 2010). Em geral, são utilizadas em conjunto com outras já existentes,
portanto, devem ser interoperáveis. Estas também caracterizam-se por serem
desenvolvidas por equipes multidisciplinares, onde normalmente os conteudistas
pertencem à área do domínio da aplicação e os construtores são oriundos da Ciência da
Computação. No entanto, apesar de todo esse esforço, algumas limitações ainda
persistem, por exemplo, inexistem ontologias genéricas e bem fundamentadas que
versem sobre os descritores de proveniência de experimentos científicos em larga
escala. A inexistência dessas ontologias contribui para aprofundar os problemas comuns
8
à ciência contemporânea: dificuldade de interpretar, reproduzir e compartilhar os
resultados experimentais.
Uma possível estratégia para tratar o problema de gerência de descritores de
proveniência em ambientes distribuídos e heterogêneos requer o uso de diversas
técnicas. Ela pode envolver o desenvolvimento de um sistema de coleta de proveniência
independente de SGWfC que opere no ambiente distribuído e que ofereça apoio para a
realização de consultas sobre esses descritores. Este sistema operaria segundo
especificações genéricas e seria responsável pela captura e armazenamento, facilitando
posteriormente a consulta aos descritores de proveniência de um experimento científico
em e-Ciência.
A idéia central por trás dessa estratégia seria desacoplar a gerência de
proveniência que, normalmente, é centrada no workflow para uma gerência de
proveniência mais abrangente no nível do experimento científico, a partir de um
mecanismo de proveniência integrado que facilite a captura, acesso e posteriores
consultas aos descritores de proveniência de um experimento em larga escala.
Posto isto, a questão de pesquisa a ser investigada nesse trabalho é:
Em se tratando de experimentos científicos em larga escala executados em
ambientes distribuídos e heterogêneos, é possível promover a gerência de proveniência
de experimentos por meio da adoção de: (i) um sistema de coleta de proveniência que
opere ao longo do ciclo de vida do experimento e (ii) de uma ontologia de domínio, bem
fundamentada, tornando mais consistente a análise de proveniência destes
experimentos por parte dos pesquisadores?
1.3. - Objetivo da Tese
O objetivo deste trabalho de tese é viabilizar de pesquisa através do
desenvolvimento de estratégia computacional para a gerência de descritores de
proveniência. Ela envolve o projeto e desenvolvimento de uma ontologia, bem
fundamentada, intitulada OvO (Open proVenance Ontology) e também de uma solução
intitulada Matriohska que tornará possível a gerência de proveniência de experimentos
científicos em ambientes distribuídos e heterogêneos. A integração da OvO com a
Matriohska facilitará não só a gerência destes descritores, como também permitirá a
realização de consultas sobre os descritores de proveniência dos experimentos
9
científicos executados em ambientes flexíveis, heterogêneos e distribuídos do tipo
nuvens de computadores.
Este objetivo pode ser dividido em quatro objetivos específicos: os dois
objetivos iniciais requerem o desenvolvimento de modelos e mecanismos que possam
ser incorporados aos SGWfC existentes para viabilizar a captura e armazenamento de
descritores de proveniência oriundos de experimentos em e-Ciência executados nestes
ambientes. Os dois objetivos finais requerem o desenvolvimento de soluções, que se
beneficiem das tecnologias de Web Semântica (DEELMAN et al., 2009) e que
ofereçam suporte para uma manipulação semântica dos descritores de proveniência
produzidos ao longo do ciclo de vida de experimentos em e-Ciência.
Para alcançar a meta de pesquisa, os seguintes objetivos específicos foram
delineados:
Objetivo 1 - Proposta de um modelo que represente as etapas do ciclo de vida
de experimentos em e-Ciência que correlaciona os descritores de proveniência de
diferentes granulosidades produzidos ao longo de cada etapa;
Objetivo 2 - Proposta de um novo modelo ontológico, bem fundamentado, para
proveniência desta classe de experimentos. O modelo considera a importância da
explicitação dos compromissos ontológicos acerca dos conceitos de proveniência
relacionados a experimentos científicos em larga escala. O modelo proposto tem como
pilares: o metamodelo OPM (MOREAU et al., 2010), a ontologia de fundamentação
UFO e a representação formal, sob a forma de uma linguagem de nível ontológico
(GUIZZARDI, 2005);
Objetivo 3 - Proposta de uma arquitetura apoiada por um modelo ontológico
capaz de sustentar a coleta e o registro de descritores de proveniência sobre
experimentos de e-Ciência executados em ambientes flexíveis, distribuídos e
heterogêneos do tipo nuvens de computadores.
Objetivo 4 - Proposta de avaliação empírica da arquitetura por meio da
execução de experimentos da área de bioinformática e posterior recuperação de
descritores de proveniência através de consultas que utilizem o modelo ontológico
proposto.
10
1.4 - Delimitação de Escopo
Produzir conhecimento novo não é uma tarefa fácil, ainda mais quando um trabalho
de pesquisa está correlacionado com as áreas de ―proveniência‖, ―workflows‖, ―bancos de
dados‖, ―ontologias‖ e ―sistemas distribuídos‖, que por si só são temas multidisciplinares,
inovadores e desafiadores.
A linha temática desta tese espelha-se claramente nas discussões existentes em
diversas oficinas e simpósios da área de e-Ciência (por exemplo, IPAW- Provenance
Challenges (MOREAU et al., 2008, SIMMHAN et al., 2011) e Bancos de Dados
(MATTOSO, CRUZ, 2008); além das diversas edições especiais de revistas científicas
indexadas promovidas por conceituadas sociedades técnico-científicas (por exemplo, IEEE,
ACM, SBC entre outras).
Adicionalmente, esta pesquisa alinha-se com o eixo temático estabelecido pela
Sociedade Brasileira de Computação, isto é, aos Grandes Desafios da Pesquisa em
Computação no Brasil (CARVALHO et al., 2006), onde buscam-se formas de extração de
subconjuntos inter-relacionados de dados para apoio à pesquisa científica na área de e-
Ciência. Portanto, se por um lado a abrangência e atualidade desta pesquisa ajudam a
justificar a existência desta tese, por outro lado, isso exige uma clara definição do escopo
deste trabalho.
Este trabalho tem como escopo definir uma arquitetura genérica, modular e
independente de SGWfC que promova, facilite e automatize a coleta e a consulta de
descritores de proveniência sobre experimentos de larga escala executados em ambientes
distribuídos. Além disso, por tratar-se de um estudo em bancos de dados, buscar-se-á
adicionar semântica à gerência dos descritores, com vistas a tornar a administração destes
metadados mais harmônica por parte dos pesquisadores.
Para avaliar as vantagens e a viabilidade da proposta, serão realizados experimentos
que utilizavam conhecimentos intrínsecos à área de bioinformática, em especial à área de
genômica comparativa (LESK, 2005).
É primordial deixar claro que este trabalho não tem como escopo propor uma
arquitetura definitiva que abarque todo e qualquer tipo de ambiente distribuído ou mesmo
experimentos em e-Ciência de qualquer natureza, pois é entendido que cada área do
conhecimento deve ter características próprias e isso reflete-se na construção dos workflows
científicos utilizados nos experimentos. Além disso, os clusters, grades e nuvens de
computadores são ambientes computacionais que oferecem amplas possibilidades de
11
distribuição das atividades de um workflow científico, no entanto, cada ambiente possui
funcionalidades, primitivas e interfaces distintas (YU, BUYYA, 2005, ELMROTH et al.,
2010, OLIVEIRA et al., 2010). Esta tese busca uma solução que seja ao mesmo tempo
simples, criativa e funcional e que possa ser posteriormente adaptada para outros ambientes
distribuídos.
1.5. – Metodologia de Pesquisa
A metodologia de pesquisa corresponde ao conjunto de procedimentos adotados
para a obtenção do conhecimento (CERVO et al., 2007, WAZLAWICK, 2009). É a
aplicação do método científico, que por meio de um conjunto de processos e técnicas,
visa garantir a legitimidade científica do saber obtido (BARROS, LEHFELD, 2007).
Esta tese está fundamentada na área de Banco de Dados e faz parte do domínio
da Ciência da Computação, que é uma ciência do artificial e que permeia praticamente
todas as atividades humanas. O trabalho adota como estratégia de pesquisa o estudo de
caso e o método de pesquisa empregado é o qualitativo.
As etapas realizadas nesta pesquisa podem ser resumidas como:
(i) Definição e conceituação das etapas do ciclo de vida de experimentos científicos
em larga escala, caracterizando o papel e os tipos dos descritores de
proveniência disponíveis em cada etapa;
(ii) Projeto e construção de uma ontologia, bem fundamentada, sobre a proveniência
de experimentos científicos em larga escala;
(iii) Projeto e construção de um sistema de gerência de descritores de proveniência
apoiado por uma ontologia de proveniência capaz de operar em ambientes
distribuídos e heterogêneos do tipo nuvens de computadores;
(iv) Execução de workflows de bioinformática utilizando a infra-estrutura de coleta e
posteriores execuções de consultas sobre os descritores coletados.
1.6. - Organização da Tese
Esta tese está organizada em seis capítulos, além deste Capítulo introdutório.
Os Capítulos 2 e 3 apresentam a fundamentação teórica desta tese. No Capítulo
2, discutem-se problemas e oportunidades relacionados a e-Ciência e descreve-se um
12
novo ciclo de vida de experimentos em larga escala. No Capítulo 3, debate-se o papel
das ontologias de fundamentação e as limitações das principais ontologias de
proveniência atualmente disponíveis na literatura.
Os Capítulos 4, 5, 6 e 7 discutem as principais contribuições desta tese. O
Capítulo 4 apresenta a proposta de uma estrutura taxonômica voltada para os diversos
tipos de descritores de proveniência manipulada pelos principais sistemas de
proveniência. Tendo como base o ciclo de vida e a taxonomia de proveniência, o
Capítulo 5 discute o processo de engenharia ontológica e a proposta da ontologia OvO
(Open Provenance Ontology), uma ontologia de domínio, bem fundamentada, sobre a
proveniência de experimentos científicos em larga escala. O Capítulo 6 apresenta uma
arquitetura (genérica, modularizada e apoiada pela ontologia de domínio de
proveniência) denominada Matriohska. Ela permite a gerência de descritores de
proveniência de diferentes granulosidades oriundos de experimentos científicos em
larga escala executados em ambientes distribuídos baseados em nuvens de
computadores.
Os Capítulos 7 e 8 relatam uma avaliação empírica da proposta, onde são
apresentados conjuntos de consultas sobre os descritores de proveniência de diversas
granulosidades, coletados a partir de experimentos em larga escala do domínio da
bioinformática e conduzidos em ambiente de nuvem de computadores.
Finalmente, o Capítulo 9 destaca as conclusões gerais e relata as contribuições
desta tese, bem como considerações sobre limitações e futuras perspectivas para a
continuação desta pesquisa.
Um resumo da estrutura desta tese juntamente com a correlação de seus
objetivos está representado na Figura 1.
13
Figura 1. Visão geral da estrutura desta tese relacionando os objetivos da tese com
os capítulos onde são alcançados.
Introdução Capítulo 1
Conclusão Capítulo 9
Fundamentação Teórica
Fundamentos de Experimentos Científicos em Larga EscalaCapítulo 2
O Papel da Proveniência e das Ontologias nos Experimentos em Larga Escala Capítulo 3
Contribuições em Proveniência de Experimentos Científicos
Categorização dos Sistemas de Proveniência Capítulo 4
Ontologia de Domínio de Proveniência de Experimentos Científicos em Larga Escala Capítulo 5
Estudo de Caso
Estudo de Caso: Gerência de Proveniência de Experimentos Científicos em Bioinformática Capítulo 7
Objetivo 1
Objetivo 3
Objetivo 2
Objetivo 4
Referências Bibliográficas
Apêndices
Uma Arquitetura de Gerência de Proveniência de Experimentos Científicos Apoiada por Ontologias de Domínio
Capítulo 6
Estudo de Caso: Consultas sobre descritores de Proveniência de Experimentos Científicos
Capítulo 8
14
Capítulo 2 – Fundamentos de Experimentos Científicos em
Larga Escala
Ao longo dos últimos anos se assiste a uma revolução tecnológica silenciosa
apoiada na produção e compartilhamento de crescentes volumes de dados. Vivenciam-
se transformações extremadas, onde o que já é grande necessita ser ainda maior (por
exemplo, os clusters, as grades e as nuvens de computadores para o desenvolvimento de
ciência em larga escala) e o que já é pequeno se torna cada vez menor (por exemplo,
nanotecnologia e a altíssima integração dos circuitos, permitindo a confecção de
processadores com múltiplos núcleos). Os experimentos em grande escala beneficiam-
se destes dois extremos e requerem recursos computacionais cada vez mais potentes
para a sua execução e, geralmente, são realizados por equipes multidisciplinares e que
em alguns casos podem estar geograficamente dispersas.
Além disso, os experimentos abordam questões de pesquisa cada vez mais
complexas, sejam de interesse mundial, por exemplo, o projeto Sloan Digital Sky Survey
para o mapeamento dos corpos celestes (HEY et al., 2009) e o projeto Netune/Trident
para estudos na área de oceanografia (SIMMHAN, 2008), ou de importância nacional,
por exemplo, os projetos de exploração de petróleo em águas profundas (MATTOSO et
al., 2009) ou a busca de genes ortólogos dos tripanosomas causadores de doenças
tropicais negligenciadas (DÁVILA et al., 2008). Tudo isso representa um ponto de
inflexão que merece o desenvolvimento de estudos específicos.
No entanto, mesmo com todo o avanço científico obtido, ainda não conseguiu-se
abordar de forma precisa os desafios associados tanto à gerência de experimentos de
grande escala executados em ambientes distribuídos quanto à adição de semântica na
gerência de descritores de proveniência.
Além dessa necessidade tecnológica, é necessário estudar em profundidade
todos os aspectos e conceitos envolvidos no ciclo de vida de experimentos em grande
escala. Isto é, como essa nova classe de experimentos deve ser tratada por cientistas da
computação? Como esses experimentos serão compostos, executados e posteriormente
analisados? Adicionalmente, é importante questionar: Qual a semântica e quais os tipos
de descritores de proveniência que estão envolvidos no ciclo de vida de experimentos
em grande escala? Sem a combinação de uma sólida fundamentação conceitual com o
uso de tecnologias atuais, não será possível responder perguntas básicas: Como foi
15
construído, numa perspectiva de engenharia, um experimento científico? Quais artefatos
foram produzidos na execução do workflow Wf1 realizada no dia 03/02/2011 pelo
cientista C1 no ambiente distribuído Ad1? Ou ainda, Quais cientistas trabalharam na
concepção dos workflows Wf1 e Wf2 do experimento Exp1 e quais executaram o Wf1
com o arquivo de entrada I1?
Este capítulo está organizado da seguinte forma. Na Seção 2.1 discutimos uma
nova concepção de ciclo de vida de experimentos científicos em larga escala,
enfatizando o papel desempenhado pela proveniência em cada etapa deste ciclo. Na
Seção 2.2, correlacionamos os principais recursos científicos utilizados nesta categoria
de experimentos. Em seguida, na Seção 2.3, discutimos os principais conceitos
envolvidos na gerência de workflows científicos. Posteriormente, na Seção 2.4,
apresentamos um estudo comparativo entre as principais infra-estruturas
computacionais utilizadas na execução distribuída de experimentos em larga escala. Por
fim, o Apêndice 1, descreve-se os principais conceitos de Biologia Molecular
necessários para a compreensão dos experimentos em larga escala utilizados ao longo
desta tese.
2.1 - Ciclo de Vida de Experimentos em Larga Escala
A Ciência é um empreendimento sistemático baseado no método hipotético-
dedutivo mediado por experimentos científicos para a aquisição, organização e
condensação de conhecimento em leis e teorias. O conhecimento científico continua a
ser gerado por experimentos tradicionais (in vivo e in vitro) ou por duas recentes
modalidades de experimentos científicos mediados por computador que estão calcadas
no amplo uso de modelos computacionais: in virtuo (TRAVASSOS, BARROS, 2003) e
in silico (CAVALCANTI et al., 2005).
Uma investigação experimental típica envolve diversas etapas: observação,
previsão, hipótese, condução do experimento, análise e descrição dos resultados. O
método científico (independente do seu tipo) demanda que a investigação e seus
resultados sejam rigorosamente documentados, de tal forma que os experimentos
possam ser reproduzidos por outros pesquisadores (WILSON Jr., 1991).
Os experimentos em larga escala são representados pela combinação e
encadeamento de múltiplos programas, serviços e de equipamentos que utilizam
16
recursos distribuídos de computação, tais como clusters, grades e nuvens de
computadores. Adicionalmente, eles manipulam, produzem e analisam grandes volumes
de dados, podendo ser compartilhados por diversas equipes ou institutos de pesquisa
distintos que colaboram para o processo de descoberta científica (MATTOSO et al.,
2010), por esses motivos requerem rigoroso controle sobre os descritores de
proveniência (BRANCO, MOREAU, 2006).
A Figura 2 ilustra uma proposta de ciclo de vida de experimentos em larga
escala conforme apresentado em (MATTOSO et al., 2010). Ele consiste basicamente de
múltiplos laços realizados pelos pesquisadores ao longo do curso de um experimento
científico.
A Figura 2 esboça uma visão geral do ciclo de vida de experimentos em larga
escala que será adotado nesta tese. É importante ressaltar que os conceitos representados
na ilustração não representam em si uma solução do problema da tese, apenas indicam
um possível caminho de solução para o desenvolvimento de estratégias de gerência de
descritores de proveniência de experimentos científicos. Os experimentos científicos em
larga escala sujeitos à gerência de proveniência, em todas as suas etapas, tem sua
reprodutibilidade ampliada e induzem a produção de publicações mais convincentes,
possivelmente, associada aos descritores de proveniência.
O ciclo de vida é composto por três grandes etapas: composição, execução e
análise. Cada etapa representa um nível de abstração distinto, possuindo seus ciclos
independentes e ocorrendo em momentos distintos do tempo. Cada etapa produz
diferentes tipos de descritores de proveniência.
A etapa de composição é responsável pela estruturação conceitual e
configuração de todo o experimento científico, ali estabelece-se a seqüência lógica das
atividades conceituais, os tipos de dados de entrada/saída e os parâmetros que serão
utilizados em nível abstrato (OLIVEIRA et al., 2008, JUNAID et al., 2009). Essas
informações estão relacionadas com a proveniência do tipo prospectiva (FREIRE et al.,
2008, CRUZ et al., 2009). A etapa de composição pode ser decomposta em duas
subetapas: concepção e reuso. A concepção é responsável pela configuração do
experimento em nível abstrato. Neste momento, são definidos os protocolos do
experimento, isto é, ali são concebidos os workflows abstratos. A subetapa de reuso é
17
responsável pela recuperação de um experimento e readaptação para um novo
propósito.
Figura 2. Ciclo de vida de experimentos em larga escala (ao centro), adaptado de
(MATTOSO et al., 2010).
Ao término da etapa de composição, os workflows abstratos são instanciados em
workflows concretos para que possam ser executados em uma infra-estrutura
computacional adequada. A definição concreta é submetida a um SGWfC que é
responsável por executá-lo e produzir os resultados. Tem-se então a etapa de execução,
que é responsável pela realização do experimento propriamente dito. Ali são definidos
elementos estruturais, tais como programas, arquivos de entrada e parâmetros e recursos
computacionais utilizados pelas atividades que serão executadas pelo SGWfC. Estas
informações estão relacionadas com a proveniência do tipo retrospectiva (FREIRE et
al., 2008, CRUZ et al., 2009). Esta etapa pode ser decomposta em: distribuição e
monitoramento. A distribuição está relacionada com a necessidade de execução das
atividades do experimento em ambientes distribuídos, já o monitoramento está
relacionado com a necessidade de conferir e acompanhar a execução dos workflows e
atividades concretas, pois em muitos casos as execuções podem durar dias, semanas ou
mesmo meses.
Descritores de
Proveniência
Análise
Composição
ExecuçãoVisualização
Consulta
Concepção
Reuso
Monitoramento
Distribuição
Descoberta
Workflow
abstrato
Workflow
concreto
Alterações
no Workflow
abstrato
Resultados
ricos em
proveniência
18
Vale ressaltar que quando se trabalha com experimentos em larga escala,
algumas vezes é necessário que determinadas atividades de um workflow concreto
sejam executadas utilizando-se recursos computacionais diferenciados, por exemplo,
ambientes heterogêneos e distribuídos ao invés de simples estações de trabalho. Aos
SGWfC devem ser acopladas estruturas de software que ofereçam apoio ao: paralelismo
de dados e atividades (por exemplo, Hydra (OGASAWARA et al. 2009, BARBOSA,
2010), distribuição e monitoramento remoto (por exemplo, MidMon (CRUZ et al.,
2008)) ou mecanismos de segurança (por exemplo, Kairos (GADELHA Jr.,
MATTOSO, 2008).
Uma vez que o experimento é completamente executado, os pesquisadores
devem avaliar os resultados para verificar se suas hipóteses de pesquisa foram
confirmadas ou refutadas, iniciando a etapa de análise. A etapa de análise é responsável
pelos estudos sobre os dados e descritores de proveniência gerados pelas etapas
anteriores. Esta etapa também pode ser decomposta em subetapas: descoberta, consulta
e visualização. Na subetapa de descoberta, o cientista pode optar pela continuação ou
não do experimento; duas situações podem ocorrer:
(i) Os resultados aparentemente estão compatíveis com aqueles que eram esperados
segundo a hipótese da pesquisa e novas execuções são aguardadas para refinar o
experimento ou levantar novos dados;
(ii) A hipótese é refutada, retorna-se ao início do ciclo de vida do experimento.
Em ambos os casos novas execuções dos workflows concretos daquele
experimento são esperadas, ou para validar a hipótese original ou para estabelecer
novas. As subetapas de consulta e a visualização dizem respeito à investigação mais
refinada sobre os dados e descritores de proveniência e suas possíveis correlações.
Nos últimos anos ocorreram significativos progressos no desenvolvimento de
modelos formais de proveniência. No entanto, as questões de armazenamento,
manutenção e mesmo as formas de consulta ainda são um problema em aberto,
principalmente a última, pois não é tratada de uma forma independente do sistema
gerador de proveniência (KARVOUNARAKIS et al., 2010).
Segundo IOANNIDIS (1987) e MATTOSO et al. (2010), basicamente existem
dois tipos de consulta que os cientistas podem executar tanto sobre os resultados do
19
experimento quanto sobre os descritores de proveniência: consultas investigativas e
consultas analíticas.
As consultas investigativas operam sobre os resultados do experimento. As
consultas analíticas correlacionam os resultados do experimento com os descritores de
proveniência do experimento. Para viabilizar essas consultas, é necessário buscar
correlações entre os dados utilizados ou produzidos pelo experimento com os modelos
de proveniência adotados pelos cientistas. Nessa categoria, as consultas podem ser
realizadas sobre dados estruturados (relacional, XML ou RDF) e metadados, sendo
importante ressaltar que elas são domínio-dependentes (HOLLAND et al., 2008).
A subetapa de visualização representa outra forma de aquisição de
conhecimento sobre os resultados do experimento científico. Por exemplo, ao invés de
investigar grandes conjuntos de dados de forma manual ou semi-automatizada, os
pesquisadores podem aplicar um conjunto de técnicas de visualização e fazer uso de
mapas 2D ou 3D sobre os dados, ampliando assim a percepção e cognição sobre os
resultados do experimento. O uso de técnicas de visualização que associam os
resultados do experimento com os descritores de proveniência ainda são raramente
utilizadas (DEL RIO, SILVA, 2007, FENLEY, 2009, ARIAS-HERNANDEZ, FISHER,
2011). Por facilitar a compreensão, essas técnicas deveriam estar associadas aos
mecanismos utilizados pelo próprio SGWfC (DAVIDSON, FREIRE, 2008) como, por
exemplo, o provenance browser apresentador em (ANAND et al., 2010) e o Ediflow
apresentador em (BENZAKEN et al., 2011).
Atualmente, existem algumas propostas de ciclos de vida de experimento
disponíveis na literatura, como as apresentadas em: (IOANNIDIS et al., 1994, GOBLE
et al., 2003, BOSE, FREW, 2005, OINN et al., 2007, WOOLLARD et al., 2008,
DEELMAN et al., 2009, LUDÄSCHER et al., 2009). Essas referências possuem
perspectivas similares, no entanto, não compartilham da nossa visão em dois pontos
principais:
(i) Não consideram que o workflow está acoplado ao experimento científico. Isto é,
não são capazes de correlacionar os entes abstratos da parte conceitual com os
entes concretos da parte estrutural do experimento,
(ii) Não consideram os diferentes níveis de abstração descritos anteriormente.
Portanto, as consultas sobre os descritores de proveniência estão relacionadas
20
com aos descritores ligados à execução do workflow concreto e não sobre os
descritores relacionados ao ciclo de vida do experimento.
A Figura 3a representa a situação atual existente na maioria dos SGWfC. O ciclo
de vida de um experimento em larga escala pode ser representado por uma linha do
tempo. Nessa linha do tempo, cada etapa é representada no eixo do tempo (t), onde t0
representa a início do experimento e tn seu término. Atualmente, observa-se que os
SGWfC oferecem pouco ou nenhum suporte para a coleta de proveniência na etapa de
composição. Limita-se a apoiar a etapa de execução e negligenciam a etapa analítica.
Na Figura 3b, apresentamos um ambiente ideal para a coleta de proveniência
que devem ser realizadas ao longo das três etapas e de forma independente do SGWfC e
com auxílio de um sistema de gerência de descritores de proveniência.
Figura 3. (a) Situação corrente de coleta de proveniência (b) Abordagem ideal
para a coleta de descritores de proveniência de experimentos de grande escala.
Adaptado de (MATTOSO et al., 2010)
2.2 - Recursos Científicos
Recursos Científicos compreendem todos os elementos envolvidos na condução
de um experimento científico em larga escala. Faz-se necessário ressaltar que o termo
recurso possui uma elevada sobrecarga semântica e pode ser aplicado a diversos
contextos tanto na computação ou fora dela.
Segundo CAVALCANTI et al. ( 2003), recursos científicos correspondem aos
meios e modelos necessários para executar um experimento científico. Os autores
identificam cinco recursos principais: modelo, programa, dado, workflow e
experimento. Nesta tese, será adotada uma definição próxima a de CAVALCANTI
t0
t2
t1
t7
t3
t5
t4
t6
t8
SG
WfC
C o m p o s i t i o n
E x e c u t i o n
L i n h a d o t e m p o d o E x p e r i m e n t o
C i e n t í f i c o e m l a r g a e s c a l a
Composição
Execução
Análise
a
21
(l.c.), será utilizada a definição apresentada em CRUZ et al. (2010). Naquele trabalho
foi ampliada ligeiramente a definição anterior, considerando-se novos elementos de
menor granulosidade que mais se aproximam de experimentos em larga escala e, ainda,
dispõem os recursos científicos de acordo com a lista hierárquica de elementos
representada na Figura 4, a saber: modelo (científico), experimento (em larga escala),
workflow (abstrato e concreto), atividade (programa), artefato (dado e parâmetros) e
agente (pesquisador). A descrição dos recursos científicos ocorrerá nas próximas sub-
seções.
Figura 4. Hierarquia de Recursos Científicos.
2.2.1 - Modelo Científico
Um modelo é uma abstração simplificada da realidade e representa as principais
características e relações entre os elementos dessa realidade (LAW, KELTON, 1999).
Um modelo é considerado um construto subjetivo que incorpora somente as
observações e características mais fundamentais da realidade observada.
O termo modelo apresenta elevada carga semântica e é uma constante fonte de
incompreensões, uma vez que é utilizado em diversos contextos. Um modelo científico
é uma abstração criada pelo pesquisador e é representado em conjunto com hipóteses
sobre o comportamento de um sistema usado para fazer predições que possam ser
testadas por meio de experimentos científicos. Um modelo também pode ser definido
como o resultado do processo de produção de uma representação abstrata, conceitual,
gráfica ou visual de fenômenos, sistemas ou processos com o propósito de analisar,
Experimento
Modelo
Workflow
Atividade
Artefato
Agente
22
descrever, explicar, simular, explorar, controlar e predizer fenômenos ou processos
(JARRARD, 2001, CARTIER et al., 2001). Considera-se que a criação de um modelo é
uma parte essencial de qualquer atividade científica, podendo variar na sua
representação. Fórmulas, equações e algoritmos são exemplos de representações de um
modelo científico (CAVALCANTI et al., 2003).
Segundo HAEFNER (1996), a modelagem é um processo semi-formal onde
definem-se regras que tentam solucionar o problema da pesquisa e é composta por três
etapas: identificação do problema, formulação do experimento e validação
(HAEFNER, 1996). A primeira etapa requer a definição não ambígua do problema da
pesquisa, através da delimitação do escopo e definição do contexto da pesquisa. A
segunda implica na delimitação das fronteiras do sistema a ser implementado. Já a
terceira etapa envolve o teste das hipóteses da pesquisa para verificação da sua exatidão.
Caso alguma inconsistência seja detectada nesta etapa, o cientista deve retornar à etapa
anterior para reformular suas hipóteses.
Observa-se que essas três etapas guardam estreita correspondência com a
subetapa de concepção do ciclo de vida de experimentos em larga escala discutido
anteriormente na Seção 2.2.1. Isto é, a modelagem do experimento propriamente dito é
uma tarefa conceitual e de alto nível, onde o pesquisador não necessariamente lida com
os aspectos e questões tecnológicas associadas à implementação do seu modelo. Ele
apenas define o comportamento (objetivos, atividade, escopo e conjuntos de dados)
esperado através da especificação de workflows abstratos. Dessa forma, utiliza uma
abordagem top-down em relação à materialização do seu experimento, partindo de
estruturas conceituais mais abstratas até a especificação dos elementos estruturais
(workflows concretos, dados, equipamentos e equipes) necessários à execução do
experimento.
2.2.2 - Experimento Científico
Conduzir experimentos em larga escala não é uma tarefa trivial, consome tempo
e recursos científicos e financeiros, gerando um grande volume de dados e de
conhecimento cuja gerência é complexa. Portanto, oferecer apoio aos pesquisadores
para as atividades relacionadas à experimentação a partir de uma infra-estrutura
computadorizada pode trazer grandes benefícios.
23
Autores como TRAVASSOS E BARROS (2003), CAVALCANTI et al. (2003)
e BIOLCHINI et al. (2007) discorrem sobre as principais diferenças entre os
experimentos em ciência da computação: experimentos científicos do tipo in virtuo e in
silico.
Os experimentos in virtuo são conduzidos em um ambiente virtual, composto
por modelos numéricos que são manipulados pelos pesquisadores. O comportamento do
modelo é analisado através de simulações.
Estudos in silico são aqueles onde o objeto e o ambiente a serem estudados são
descritos com modelos computacionais numéricos onde nenhuma interação humana é
permitida. Os experimentos in silico são fortemente dependentes de recursos
computacionais (DEELMAN et al., 2009), requerem um ambiente controlado, têm
custo de execução mais baixo, pois não envolvem o uso de aparatos científicos
sofisticados, reagentes, materiais de bancada e ainda possibilitam antecipar futuros
riscos para a pesquisa. Neste trabalho, nosso foco está voltado para experimentos
científicos em grande escala do tipo in silico.
Os experimentos in silico podem ser planejados segundo as abordagens
tradicionais (JURISTO, MORENO, 2001) ou ainda como workflows científicos
(CAVALCANTI et al., 2005, TAYLOR, I. et al., 2007, MATTOSO et al., 2008, HEY
et al., 2009, DEELMAN et al., 2009). O planejamento, condução e análise de
experimentos in silico guardam estrita correlação com as etapas do ciclo de vida de
experimentos em grande escala, como descrito anteriormente.
2.2.3 – Workflows Científicos
O termo workflow não é uma exclusividade do ambiente científico. Pelo
contrário, ele tem suas origens nos anos 70 e foi inicialmente associado à automação de
escritórios (CRUZ, 2000, AALST, HEE, 2004). O objetivo dessa tecnologia era
oferecer soluções voltadas para a geração, armazenamento, compartilhamento e
roteamento de documentos em uma organização, no entanto, o foco dessa tecnologia
deslocou-se para outras áreas.
Inicialmente as ciências ligadas à Natureza (Biologia, Química, Física,
Geologia, Astronomia, entre outras) utilizavam scripts para praticar seus
processamentos científicos. Por exemplo, na bioinformática, os scripts definiam a
24
seqüência (completa ou parcial) de processos a serem executados, bem como seus
parâmetros e dados. Atualmente, o uso de scripts vem sendo paulatinamente
substituídos por workflows científicos (TAYLOR et al., 2007, DEELMAN et al., 2009,
LUDÄSCHER et al., 2009). O uso de scripts apresenta inúmeras desvantagens, como a
dificuldade de manutenção e a reduzida capacidade de reutilização, aumentando assim o
custo e o tempo de condução do experimento. Adicionalmente, existem outras
deficiências associadas aos scripts, como pouco ou nenhum suporte ao registro dos
descritores de proveniência.
Um workflow científico é parte da especificação de um experimento científico
do tipo in silico (TAYLOR et al., 2007, LUDÄSCHER, 2009, DEELMAN, et al., 2009,
SONNTAG et al., 2010). Segundo esses autores, ele representa um modelo ou template
que descreve uma seqüência de passos, implementadas por atividades (programas ou
serviços). Os workflows científicos podem ser representados em diversos níveis de
abstração (GIL et al., 2007). Segundo GIL et al. (2007) e DEELMAN et al. (2009), um
workflow é chamado de abstrato quando as atividades que o definem não estão
associadas a recursos computacionais, tais como programas, serviços ou qualquer outro
recurso computacional. Já um workflow concreto tem suas atividades mapeadas
diretamente para recursos computacionais. Workflows concretos são usualmente
modelados, interpretados e executados pelos SGWfC.
Os workflows científicos guardam correlação estreita com os experimentos
científicos propriamente ditos, podendo ser até mesmo confundidos uns com os outros.
No entanto, no escopo desta tese eles possuem diferentes significados. Os workflows
concretos podem ser executados inúmeras vezes com ligeiras modificações nas
atividades ou parâmetros. Todo esse procedimento, independentemente da natureza do
workflow é interativo e incremental, portanto, alterações na definição estrutural de um
workflow científico são constantes, mas esses workflows continuam fazendo parte de um
mesmo experimento científico.
2.2.4 – Atividades, Artefatos e Agentes
A materialização de um modelo científico faz parte do ciclo de vida do
experimento científico em larga escala e as atividades científicas (programas) são os
entes responsáveis por sua materialização. Uma atividade é essencialmente a
codificação de um algoritmo estabelecido pelo pesquisador, ele indica quais os passos
25
específicos, em que ordem eles devem ser executados e, ainda, quais parâmetros devem
ser utilizados.
Atividades devem ser encaradas como recursos intercambiáveis. Por exemplo,
supondo que exista uma atividade de workflow concreto que realize alinhamento
múltiplo de seqüência protéica, esta atividade pode ser materializada através de vários
tipos de processos científicos, por exemplo, pelo BLAST (ALTSCHUL et al., 1990),
HMMER (EDDY et al., 1995), MAFFT (KATOH et al., 2005), ClustalW
(THOMPSON et al., 1994) ou T-Coffee (NOTREDAME et al., 2000). Estes processos
são alinhadores de seqüências, mas cada um possui a sua implementação, seu próprio
algoritmo de alinhamento e, mais importante, cada processo utiliza ou produz diferentes
tipos de artefatos de dados. As atividades podem ser descritas com descritores
complementares, tais como: versão, autor, sistema operacional, linguagem de
codificação, bibliotecas, entre outros.
Artefatos científicos duplicam em volume, aproximadamente, a cada ano devido
à disponibilidade de novos aparatos científicos e ao aumento da capacidade de
processamento (BELL et al., 2009). Artefatos científicos são elementos de dados
compostos por informações factuais e que possuem uma representação digital em
sistemas de computação. Os artefatos podem existir em uma grande variedade de
formatos estruturados, semi-estruturados ou não estruturados, eles são obtidos através
de observações científicas diretas ou por intermédio da medição através de aparatos
científicos ou ainda, podem ser produtos obtidos através de processamento de dados. De
modo geral eles oferecem oportunidades para a obtenção de novas informações
científicas.
Agentes podem ser definidos de uma maneira simples: são objetos com atitude
(HAYES, 1999). Mais especificamente, um agente pode ser definido como uma
entidade autônoma que possui uma série de capacidades e objetivos estabelecidos, que
interage com um ambiente computacional e com o experimento científico, através
destas interações é capaz de executar uma atividade ou coordenar a sua execução.
2.3 - Gerência de Workflows Científicos
O termo SGWfC (Sistema Gerenciador de Workflows Científicos) é utilizado
para descrever as ferramentas que permitem a especificação, modelagem e execução do
26
workflow científico em um nível concreto, invocando as atividades definidas durante a
etapa de concepção do ciclo de vida (MATOS et al., 2008).
Atualmente existem dezenas de SGWfC, alguns já consolidados e outros
emergentes (ZHAO et al., 2008, MATTOSO, CRUZ, 2008). Dentre os sistemas mais
comuns podemos citar: DagMan (COUVARES et al., 2007), Taverna (OINN et al.,
2007) e sua versão colaborativa Co-Taverna (ZHANG, 2010), Kepler (LUDÄSCHER et
al., 2006), Confucious (ZHANG et al., 2010), Swift (ZHAO et al., 2007), VisTrails
(CALLAHAN et al., 2006, FREIRE et al., 2008), Pegasus (DEELMAN et al., 2005),
myExperiment (GOBLE et al., 2010), Askalon (FAHRINGER et al., 2007), Chimera
(FOSTER et al., 2002), P-Grade (KERTÉSZ et al., 2007), Triana (TAYLOR et al.,
2007), Woods (MEDEIROS et al., 2005), TRIO (AGRAWAL et al., 2006),
ProvManager (MARINHO et al. , 2010), entre outros.
Segundo YU e BUYYA (2005), os SGWfC podem ser classificados de diversas
formas. No entanto, para esta tese, a classificação crucial que utilizada levará em
consideração apenas SGWfC do tipo centralizado ou distribuído que oferecem suporte à
coleta de descritores de proveniência e podem executar atividades de modo distribuído.
SGWfC centralizados são caracterizados como sendo motores de execução de
workflows residentes em uma única máquina, tomando todas as decisões sobre o
escalonamento das atividades de um workflow. Segundo YU e BUYYA (2005), este
tipo de SGWfC possui escalonamento mais eficiente, no entanto não é escalável em
relação ao número de tarefas. Já os SGWfC distribuídos possuem mais de um motor de
execução, as tarefas são escalonadas por múltiplos escalonadores, são sistemas mais
escaláveis que os centralizados. No entanto, o custo dos cálculos e controle de
escalonamento pode afetar o desempenho do sistema. Além disso, o controle de
conflitos é mais complexo, pois envolve questões relacionadas aos atrasos da rede de
computadores aos quais estão submetidos.
Para efeito de estudo comparativo, destacamos apenas os SGWfC de maior
presença na literatura científica e que atendem à classificação definida anteriormente.
São eles: Kepler, Taverna, VisTrails, Swift, Pegasus e Askalon.
Kepler é um sistema maduro de código aberto em Java construído sobre o motor
de execução PtolemyII e visa atender múltiplos domínios do conhecimento. Ele tem
como meta desenvolver soluções genéricas tanto para o processamento de workflows
27
científicos quanto para os desafios de integração de aplicações científicas
(LUDÄSCHER et al., 2006). Kepler utiliza a metáfora diretor/ator para representar os
componentes do workflow concreto e ao tipo comunicação entre eles. Assim como em
um filme, um diretor no Kepler controla os atores, especificando como cada um deve
agir quando conectados. Já o papel dos atores é processar os dados disponíveis nas suas
portas de entrada e disponibilizar os resultados na porta de saída.
Kepler tem reduzido apoio à visualização de dados e à coleta de descritores de
proveniência. Os fluxos de execução do workflow são descritos em uma linguagem de
workflow conceitual chamada MoML (MCPHILLIPS, BOWERS, 2005), a qual é
baseada em XML. Kepler, apesar de maduro, é um sistema incompleto em termos de
usabilidade, pois suas funcionalidades de computação distribuída ainda estão em fase de
protótipo, não há interface de programação para que auxilie o desenvolvimento de
novos atores e, por fim, o sistema de coleta de proveniência ainda está em fase de testes
(MOUALLEM et al., 2009).
O sistema Taverna, desenvolvido pelo projeto myGrid (STEVENS et al., 2004,
OINN et al., 2007), é uma ferramenta de código aberto que objetiva compor e executar
workflows concretos, seu motor de execução é o Freefluo (WROE et al., 2007). O
ambiente foi direcionado, principalmente, para o domínio da bioinformática. Um
workflow Taverna consiste de uma coleção de processadores de dados e links de
controle. Além disso, estes processadores podem ter múltiplas entradas e saídas
(portas), de modo que um link estabelece uma dependência entre a saída de um
processador e a entrada de outro, os links de controle indicam que um processador
apenas pode iniciar a sua execução, depois que outro processador executou com sucesso
a sua operação.
No Taverna, os processadores são implementados com classes Java, permitindo
que a execução do experimento seja local ou remota (através de serviços Web). A
codificação por meio de serviços Web é a mais comum, com as portas de entrada e
saída dos processadores correspondendo às operações definidas na interface de serviço
WSDL (W3C, 2010). A maioria das saídas se dá sob a forma textual, entretanto, existe
apoio para a utilização de plugins nas ferramentas de visualização e coleta de
descritores de proveniência. Os workflows são descritos em uma linguagem conceitual
chamada Scufl (OINN et al., 2007), a qual é baseada em XML. Ela permite resolver
problemas de coordenação de recursos, no entanto, ainda apresenta algumas limitações,
28
tais como a exigência de, por exemplo, duplicação de links para arquivos de dados para
atividades que os utilizam.
VisTrails é um sistema modular de gerência de proveniência e workflows
científicos de código aberto desenvolvido em Python. Ele fornece amplo suporte para a
exploração e visualização de dados; foi concebido para gerenciar workflows de rápida
evolução, sendo um dos primeiros SGWfC a oferecer suporte à coleta de proveniência
prospectiva (FREIRE et al., 2008), registrando todos os passos realizados no decurso de
uma tarefa exploratória durante a composição de um workflow concreto. O sistema
permite que os pesquisadores naveguem de forma intuitiva em árvores de versões do
workflow, para realizar as seguintes operações: desfazer alterações sem perder nenhum
resultado, comparar visualmente diferentes workflows e seus resultados e, ainda,
examinar as ações que levaram a um determinado resultado. O motor de execução é o
VisTrails Cache Manager, que mantém o controle das operações que foram chamadas e
seus respectivos parâmetros.
Askalon é um sistema que fornece um ambiente para o desenvolvimento e a
execução de workflows em ambientes de grades de computadores. O sistema permite a
modelagem de workflows abstratos através de uma interface gráfica baseada nas
linguagens UML e AGWL. Estes workflows podem expressar grafos diretos acíclicos
ou estruturas mais sofisticadas que contenham repetições e desvios condicionais. O
workflow abstrato é, automaticamente, mapeado para um workflow concreto e
executado na grade.
O escalonamento das tarefas é estático, global e realizado por algoritmos
genéticos. O desempenho de cada componente do workflow é estimado, isto é, baseado
nos resultados coletados na fase de treinamento mede-se o tempo de execução de cada
tarefa com diferentes cargas em cada nó da grade. A estimativa de desempenho do
workflow é obtida combinando-se os dados adquiridos na fase de treinamento com
modelos analíticos. O suporte a coleta de descritores de proveniência no Askalon é
limitado.
Pegasus é um sistema sofisticado para planejamento e execução de workflows
que serão executados em grades de computadores, foi inicialmente denominado
Chimera (FOSTER et al., 2002) antes de ser submetido ao processo de atualização de
software. Pegasus também permite transformar workflows abstratos em workflows
29
concretos através de uma série de refinamentos sucessivos. O workflow abstrato é
definido na fase de composição, sendo composto de diversas atividades abstratas e
arquivos de entrada e saída descritos em termos de nomes lógicos. O objetivo do
Pegasus é mapear as atividades do workflow para os recursos disponíveis em uma grade
para coordenar sua execução. Dessa forma ele também utiliza técnicas de inteligência
artificial.
O sistema Pegasus utiliza o serviço MDS do Globus (FOSTER, 2005) e arquivos
de configuração dos recursos da grade (Pool config) para verificar quais nodos estão
disponíveis para a execução das atividades. O serviço de MDS fornece informação
sobre características da grade, tais como número de processadores existentes e
quantidade de memória principal e secundária disponível nos diferentes locais. Os
arquivos de configuração dos recursos da grade fornecem informações sobre o ambiente
de execução, tais como a identificação do servidor de GridFTP e do serviço de
localização de réplicas. Após a coleta de dados, o sistema promove as modificações no
workflow abstrato baseado na disponibilidade do sistema.
Pegasus também consulta o serviço de localização de réplicas para determinar
quais arquivos intermediários já estão disponíveis na grade. Baseado nestes conjuntos
de informações, o sistema define o workflow concreto de forma a conter somente as
tarefas necessárias para gerar os arquivos finais. Em casos extremos, se todos os
arquivos finais já existirem, nenhuma atividade será executada, com exceção talvez da
transferência dos dados para um local especificado pelo usuário e respectivo registro no
serviço localizador de réplicas. Esta redução do workflow é feita baseada na suposição
de que é mais eficiente acessar um artefato de dado pré-existente do que ter que gerá-lo
novamente. Uma vez que o workflow reduzido (mínimo) é gerado, a escolha dos
recursos para execução das atividades é implementada (seleção de sítio). Esta seleção
dos recursos é feita de forma centralizada, local, estática e baseada nas informações de
disponibilidade e da localização dos dados de entrada.
Ao sistema Pegasus é possível acoplar outros SGWfC, por exemplo, o Kepler
(MANDAL et al., 2007). O objetivo desse acoplamento é integrar a interface visual do
Kepler com as facilidades de mapeamento para grade do Pegasus, oferecendo diferentes
níveis de abstração para os pesquisadores. Alternativamente, o sistema também pode se
associar com o DAGMan. Pegasus não possui sistema de coleta de descritores de
30
proveniência, por isso, existem estudos para viabilizar sua associação com o sistema
Wings (KIM et al., 2008).
Swift é o sucessor do antigo sistema Virtual Dara System (VDS). Ele foi
concebido para permitir a especificação, execução e gerenciamento de workflows
associados a experimentos em larga escala. O sistema utiliza uma linguagem de scripts
chamada SwiftScript para definir os workflows concretos, permitindo o processamento
com baixo acoplamento, em ambientes paralelos ou de grades computacionais. Através
dessa linguagem é possível fazer usos de tipos de dados, data mappers, iterações e
desvios condicionais e composições procedurais.
Swift suporta a execução de workflows em ambientes de cluster e grades de
computadores que utilizam os sistemas Condor, GRAM e PBS. Ele também suporta o
motor de execução Falkon. Como limitação, Swift não suporta workflows em nuvens e
seu sistema de coleta de proveniência distribuída ainda está em fase de desenvolvimento
(GADELHA Jr. et al., 2011).
O Quadro 1 resume as principais características sobre os sistemas apresentados
nesta seção, onde leva-se em consideração vários aspectos importantes para esta tese,
tais como: suporte à proveniência, grau de adaptação dos workflows, capacidade de
execução parcial, suporte ao paralelismo, monitoramento e execução remota.
O Quadro 1 exibe uma matriz de decisão (ISIXSIGMA, 2011), onde os critérios
mais importantes, enunciados em (CRUZ e MATTOSO, 2008), têm seus valores
hierarquizados (por ordem decrescente de prioridade) de sete até um, apresentados na
coluna ―Critério‖. Esses valores são multiplicados por diferentes pesos de adequação do
sistema em estudo. Os valores dos pesos variam de zero até três, onde o valor nulo
significa nenhum suporte, o peso um significa pouco suporte, o peso cujo valor é dois
indica suporte médio e o valor três um bom suporte. A linha de ―Totais‖ indica o
somatório de cada critério multiplicado pelo seu peso para cada SGWfC estudado.
31
Quadro 1. Matriz de decisão para escolha de SGWfC utilizado na tese.
Critério SGWfC centralizados SGWfC distribuídos
Kepler Taverna VisTrails Swift Pegasus Askalon
Suporte a Proveniência 7 x 0 7 x 2 7 x 3 7 x 1 7 x 2 7 x 0
Permite adaptação de workflows
concretos
6 x 3 6 x 2 6 x 2 6 x 1 6 x 1 6 x 1
Execução parcial dos workflows 5 x 1 5 x 1 5 x 1 5 x 1 5 x 0 5 x 0
Suporte ao Paralelismo 4 x 0 4 x 0 4 x 0 4 x 3 4 x 3 4 x 3
Capacidade Monitoramento 3 x 1 3 x 1 3 x 1 3 x 0 3 x 3 3 x 3
Suporte ao Versionamento 2 x 0 2 x 0 2 x 1 2 x 0 2 x 0 2 x 2
Suporte a Execução remota 1 x 1 1 x 1 1 x 1 1 x 3 1 x 3 1 x 3
Totais 27 35 48 33 44 34
Levando em consideração a matriz de decisão, é possível evidenciar que o
SGWfC que possui maior pontuação é o VisTrails. Adicionalmente, ao analisar o
Quadro 1 é possível observar que:
(i) Com relação ao suporte à proveniência, é importante ressaltar que, em linhas
gerais, os sistemas centralizados possuem melhor suporte para coleta de
proveniência que os distribuídos.
(ii) Os SGWfC centralizados possuem interfaces gráficas que permitem que os
pesquisadores façam adaptações mais facilmente nos workflows concretos.
Poucos SGWfC distribuídos permitem adaptações, no entanto, muitas vezes elas
ocorrem em função da disponibilidade dos recursos computacionais
(iii) Nenhum dos sistemas centralizados permite que o cientista defina o workflow
em termos abstratos, apenas os distribuídos possuem essa funcionalidade. A
especificação abstrata é vantajosa quando se avalia o experimento científico
como um todo. Assim, o pesquisador pode trabalhar em dois níveis distintos,
ficando livre da incumbência de ter que decidir por si próprio, no momento do
planejamento do experimento, qual processo é o mais apropriado para execução
de uma dada atividade.
(iv) Os SGWfC avaliados oferecem poucos mecanismos de monitoramento da
execução dos workflows científicos. Em geral, a especificação de um workflow
concreto faz com que o cientista seja o responsável pelo monitoramento do
desempenho do sistema, mas, mesmo assim, os sistemas centralizados não
oferecem grandes recursos para efetuar essas tarefas.
32
(v) SGWfC distribuídos, quando comparados com os centralizados, requerem o uso
de ferramentas de terceiros para efetuar a coleta de descritores de proveniência.
Isso em si não é um problema, porém, requer que os cientistas configurem e
façam ajustes de mais de um pacote, tarefa que em determinados casos pode
demandar mão de obra terceirizada.
(vi) Os sistemas centralizados ainda não estão completamente maduros no que tange
à conexão com ambientes remotos e distribuídos. Além disso, não possuem
suporte nativo para o processamento distribuído, sendo necessário o
desenvolvimento de soluções;
(vii) Os sistemas centralizados, diferentemente dos distribuídos, não oferecem apoio
nativo às execuções paralelas.
Na próxima sub-seção serão discutidos os principais aspectos técnicos dos
ambientes de processamento distribuídos utilizados na execução de experimentos em
larga escala.
2.4 – Infra-estruturas de Sistemas Distribuídos
Existem diversas soluções para executar as atividades dos workflows científicos
em ambientes distribuídos. Por exemplo, grades de computadores de grande escala
(FOSTER, 2001, TALIA, 2002), grades baseadas em estação de trabalho
(ANDERSON, 2004) e nuvens de computadores (HOFFA et al., 2008, QIU et al.,
2009). O principal problema é que cada um destes ambientes requer diferentes esforços,
recursos e habilidades do pesquisador para definir, avaliar e executar as atividades do
workflow.
Nesta seção se discute os dois principais ambientes utilizados na condução de
experimentos em larga escala. A rigor, adiantamos que os experimentos poderiam ser
executados em vários ambientes distribuídos. Todavia, não há uma regra simples que
possa ser utilizada para definir o ambiente mais adequado.
2.4.1 – Computação em Grade
A computação em grade surgiu como uma iniciativa que permite a agregação de
recursos conectados em rede, formando um sistema distribuído e possibilitando a
resolução de problemas científicos e comerciais complexos (KESSELMAN, FOSTER,
33
1998). O conceito é relativamente antigo (surgiu em meados da década de 90), contudo,
vem sendo apresentado com uma nova dinâmica (FOSTER, 2001, TALIA, 2002).
Dentre os recursos compartilhados pelas grades se incluem a capacidade de
processamento e de armazenamento, os dispositivos de entrada e saída de dados, os
aplicativos e os conjuntos de artefatos. Na computação em grade os usuários podem
acessar dados e recursos virtualizados, sem considerar questões relacionadas à
administração desses recursos. Esse tipo de computação busca oferecer um ambiente
seguro, controlado e flexível para a utilização de recursos compartilhados por várias
Organizações Virtuais (OV) (FOSTER, 2001). OV são grupos lógicos de atuação em
um determinado projeto temático podendo estar geográfica e institucionalmente
separados.
As OV requerem a criação de aplicativos que se beneficiam dos recursos da
grade (grande velocidade de processamento, compartilhamento de recursos distribuídos
e reuso de programas). Para que uma atividade seja executada na grade, os aplicativos
devem ser ―gridificados‖ a priori, isto é, um programa legado deverá ter seu código
adaptado para que se torne um processo grade-compatível. Este procedimento
geralmente é complexo, muitas vezes exige a paralelização de algoritmos e elevado
esforço de programação para adaptação do legado para o paradigma de computação
orientada a serviços (MATEOS et al., 2008). Além disso, a instalação desses aplicativos
em grades não é trivial, requer profundo conhecimento sobre o funcionamento do
programa e do ambiente propriamente dito.
Os ambientes de grade de computadores podem ser classificados em dois
grandes tipos. No primeiro tipo estão os ambientes de grande escala, complexos e ricos
em funcionalidades e que tendem a ser os provedores de acesso a recursos intra e
interinstitucionais de larga escala, tais como clusters e os stogares. Estes ambientes
requerem o uso de middlewares específicos, por exemplo, Legion (NATRAJAN et al.,
2002), Condor (THAIN et al., 2003) e Globus (FOSTER, 2005).
O segundo tipo corresponde às grades que operam em estações de trabalho
(hospedeiras) distribuídas em vários domínios, onde o processamento típico se restringe
a aplicações cujas tarefas são independentes umas das outras e que usam os ciclos de
processamento livres dos hospedeiros. Estas aplicações, em sua maioria, devem ser
decompostas em atividades menores pouco sensíveis a alta latência existente na
34
comunicação entre os elementos da grade. Nesse tipo de grade, a execução das
aplicações é orquestrada por um escalonador central, que distribui as tarefas entre os
hospedeiros e aguarda os resultados desse processamento distribuído. Exemplo desse
tipo de grade é produzida pelo arcabouço BOINC (ANDERSON, 2004) que hospeda
vários projetos de bioinformática, entre eles o Folding@home (BEBERG et al., 2009),
onde se estudam as estruturas tridimensionais de proteínas.
2.4.2 – Computação em Nuvem
A computação em nuvem está se tornando uma das mais importantes
plataformas de pesquisa em e-Ciência (HOFFA et al., 2008, QIU et al., 2009). O
cenário atual demanda um alto volume de recursos computacionais para o apoio as
tarefas de elicitação, compartilhamento, manipulação e exploração de conjuntos de
dados provenientes de experimentos em larga escala.
A computação em nuvem tem potencial de contribuir para o avanço da Ciência
na medida em que pode disponibilizar um elevado volume de recursos sob demanda,
onde a escalabilidade de serviços, processos e de infra-estrutura é quase ilimitada. No
entanto, apesar dessas características, a computação em nuvem não necessariamente
simplifica a construção de experimentos em larga escala. Ela se apresenta como mais
uma alternativa tecnológica que merece ser estudada em detalhes.
A computação em nuvem é considerada um modelo de computação
relativamente novo (GILDER, 2006), que mesmo nos dias de hoje ainda não está
totalmente claro quais são os seus principais componentes ou mesmo a sua definição
clássica. Atualmente, existem mais de 20 definições versando sobre o tema
(VAQUERO et al., 2008, ARMBRUST et al., 2009, ZHANG et al., 2010). No contexto
desta tese, adotamos a definição de VAQUERO et al. (2008), pois o autor foi dos
pioneiros do tema. Além disso, sua definição é bastante adotada na literatura, pois é
fruto de um amplo estudo comparativo entre as diversas definições.
Segundo VAQUERO et al. (2008), nuvens de computadores são conjuntos de
recursos virtualizados (dispositivos de hardware, plataformas de desenvolvimento e/ou
serviços) e facilmente acessíveis. Os recursos são elásticos, podendo ser reconfigurados
dinamicamente, ajustando-se a variadas cargas de trabalho, o que permite a
racionalização do uso dos recursos. Os recursos são explorados sob demanda,
35
explorando o modelo de custos do tipo pagamento-por-uso, onde os provedores de
infra-estrutura e serviços oferecem QoS personalizados.
O paradigma da computação em nuvem contempla basicamente três modelos de
nuvem: públicas, privadas e híbridas (RIMAL et al., 2009). O primeiro tipo é oferecido
para o público em geral e sob um contrato de utilização, onde se paga pelo montante de
recursos utilizados. São exemplos as plataformas: Amazon Elastic Compute Cloud
(EC2) (AMAZON, 2011), Google AppEngine (GOOGLE, 2011), Windows Azure
Services (MICROSOFT, 2011), IBM Cloud Computing (IBM, 2011). Uma nuvem
privada é disponibilizada por um provedor interno de TI, que se comporta como um
provedor externo. Neste caso, os serviços são oferecidos apenas para os usuários
internos de uma organização (de negócios ou científica). Por fim, uma nuvem híbrida
prevê a utilização heterogênea, porém, integrada e coordenada dos dois tipos de nuvem.
Por exemplo, nele se combinam alguns serviços da nuvem externa com recursos
internos (HASSAN et al., 2009).
O ambiente de computação em nuvem é representado por três modelos de
serviços e eles definem um padrão de arquitetura para as principais soluções em nuvem
(RIMAL et al., 2009, MARINOS, 2009): Software como Serviço (SaaS), Plataforma
como Serviço (PaaS) e Infra-estrutura como Serviço (IaaS).
O modelo SaaS é composto por aplicativos que são executados em ambiente de
nuvem, eles são disponibilizados através da Internet e acessados por navegadores. Neste
modelo, o usuário não administra nem controla a infra-estrutura subjacente (redes,
servidores de bancos de dados, sistemas operacionais, armazenamento ou características
da aplicação). Exemplos desse modelo são: Google Docs, Facebook, Twitter, GMail,
entre outros.
O modelo PaaS é formado pelo sistema operacional, linguagens e ambientes de
desenvolvimento, disponibilizados como serviço. O usuário não administra ou controla
a infra-estrutura subjacente, mantém amplo controle sobre as aplicações ali
implementadas e, possivelmente, sobre as configurações de aplicações hospedadas nesta
infra-estrutura. Exemplos desse modelo são: Google AppEngine, Windows Azure
Services, entre outros.
Finalmente, o modelo IaaS facilita o acesso ao fornecimento de recursos, tais
como servidores, rede, armazenamento e outros recursos necessários para a construção
36
de aplicações que operem no regime de demanda. O usuário não administra ou controla
a infra-estrutura subjacente, mas tem controle sobre os sistemas operacionais, meios de
armazenamento, aplicativos instalados e, eventualmente, recursos de segurança tais
como firewalls. Exemplos desse modelo são: Apache Hadoop (APACHE, 2011),
(EUCALYPTUS, 2011), GoGrid (GOGRID, 2011), além dos serviços comercializados
pela Amazon (AMAZON, 2011).
Nesta tese, adotamos o modelo IaaS para o desenvolvimento da solução de
coleta de descritores de proveniência de experimentos em larga escala. Em especial
utilizamos o modelo oferecido pela Amazon (l.c.). Segundo JUVE et al. (2009), a
Amazon é o provedor comercial que oferece os serviços mais completos e a maior
liberdade de acesso aos recursos de computação em nuvem que podem ser utilizados em
experimentos científicos. Por questões de escopo, apresentaremos apenas os principais
serviços utilizados no desenvolvimento do trabalho: Amazon EC2 e Amazon S3
(AMAZON, 2011).
Amazon Elastic Compute Cloud (EC2) é um ambiente virtual de computação
responsável pela gerência da execução de aplicações na infra-estrutura da Amazon. O
EC2 provê quatro tipos de instâncias padrão, variando a quantidade de memória
principal e capacidade de armazenamento. Cada instância é uma máquina virtual que
opera sobre um servidor Xen de virtualização (BARHAM et al., 2003), cada instância
está associada a uma imagem denominada AMI (Amazon Machine Images). Estas
imagens podem ser pré-configuradas ou instaladas manualmente pelo desenvolvedor,
suportando uma grande variedade de sistemas operacionais, aplicativos, plataformas de
desenvolvimento, bibliotecas e configurações associadas. Uma AMI pode ocupar no
máximo 10GBytes de espaço.
Alguns exemplos de sistemas operacionais disponíveis para execução nas AMI
são Ubuntu, Red Hat, Windows, OpenSolaris, Debian entre outros. Em relação aos
principais aplicativos, podemos destacar o MySQL, Hadoop, Condor, OpenMPI,
Apache, entre outros. O EC2 suporta os protocolos REST e SOAP, além das linguagens
Java, Python, entre outras.
Em relação à segurança, EC2 utiliza grupos de segurança. Os grupos são
conjuntos de regras que permitem o acesso às instâncias. O tráfego de saída de dados é
livre, mas o de entrada é limitado. As regras de grupo também limitam o acesso externo
37
a uma porta específica e a determinados protocolos de rede. EC2 requer chaves
públicas/privadas do tipo PKI, além do protocolo X.509 (IETF, 2011). Assim, é
possível executar umas destas instâncias e depois verificar o estado das demais e
também configurar aspectos de rede, tais como serviço DNS. Cada instância possui
endereços representados públicos e privados pelos pares <endereço IP, nome DNS>.
O Amazon Simple Storage Service (S3) é um sistema de armazenamento
distribuído utilizado para armazenar objetos em buckets. Um bucket é um container de
objetos (arquivos). S3 foi desenvolvido com base no Dynamo (DECANDIA et al.,
2007). O Dynamo utiliza o par <chave-valor> em cada bucket e são armazenados em
uma DHT. Ele não possui suporte a associações ou esquemas relacionais e suporta
objetos binários de até 5GB. S3 fornece um repositório seguro, confiável e rápido para
armazenar as imagens AMI, além de armazenar e recuperar os resultados intermediários
durante a execução das tarefas de processamento.
O Quadro 2 apresenta um quadro comparativo entre os dois paradigmas
discutidos ao longo desta seção, comparando-os com a computação tradicional.
Quadro 1. Diferenças centrais entre os modelos de computação em grade e nuvem.
Computação
Tradicional
Computação em Grades Computação em Nuvem
Modelo de
aquisição
Hardware, Espaço físico e
Infra-estrutura
Clusters, Espaço físico e Infra-
estrutura Baseada em serviços
Modelo de
negócio
Elevados custos fixos
individualizados
(manutenção, suporte,
refrigeração, segurança)
Elevados custos fixos
compartilhados (manutenção,
suporte, refrigeração,
segurança)
Baixos custos fixos,Pagamento
por utilização dos recursos,
oferece QoS e SLA
Método de
acesso Restrito, Rede Interna
Restrito, Protocolos padrão da
Web, Requer chaves
(PKI1 e X.509)
Amplo, Protocolos padrão da
Web, Requer chaves (PKI e
X.509)
Recursos Sem compartilhamento
Compartilhamento, distribuição
coordenada, parcialmente
escalável
Compartilhamento de
elementos virtuais, elásticos e
dinâmicos
Aplicações Muitas com bom
desempenho
Poucas e com bom
desempenho
Muitas, heterogêneas e de
longa duração (serviços)
PKI - é um conjunto de hardware, software, pessoas, políticas e procedimentos
necessários para criar, gerenciar, armazenar, distribuir e revogar certificados digitais, com base no padrão criptográfico (X.509) de chave pública/privada.
38
As semelhanças e diferenças entre grades e nuvens têm causado sobreposição de
características e funcionalidades (VAQUERO et al., 2008, FOSTER, et al., 2008,
WEINHARDT et al., 2009). Uma das diferenças mais marcantes está baseada no fato
de as grades serem tipicamente utilizadas para execução de jobs; as nuvens também
suportam este tipo de processamento, no entanto, são mais utilizadas para
processamento baseado em serviços. As grades disponibilizam serviços de mais alto
nível que ainda não são cobertos pelas nuvens, ou seja, serviços que envolvem
colaborações para a execução de experimentos científicos, por exemplo, as OV podem
compartilhar recursos e dados. Como as nuvens ainda estão em evolução, os serviços de
alto nível, tais como, mecanismos de coleta de descritores de proveniência, ainda estão
em fase de desenvolvimento.
2.5 - Considerações Finais
Os computadores organizados sob a forma de sistemas distribuídos
desempenham um papel cada vez mais importante no processo científico e são
utilizados para controlar e executar experimentos científicos em larga escala,
contribuindo fortemente para a expansão na produção de artefatos de dados científicos.
Em suma, os dados passaram a ser produzidos em escala industrial e distribuídos em
escala jamais verificada. Este crescimento no volume de dados científicos, por sua vez,
exige o uso de mais computadores para a modelagem de novos experimentos e análise
de dados.
Neste sentido, discutimos as principais características de um novo ciclo de vida
de experimentos científicos em larga escala. O ciclo é representado por três etapas
(composição, execução e análise) e cada etapa está associada com um conjunto de
ações e ferramentas que produzem seus próprios descritores de proveniência.
Adicionalmente, foram apresentadas e discutidas as características e limitações
dos principais SGWfC. Na Seção 2.3, justificamos a escolha do VisTrails como
ferramenta de apoio à execução dos experimentos utilizados nesta tese. Apesar de ser
um SGWfC centralizado, é o sistema que oferece as melhores condições técnicas para
apoiar a coleta de descritores de proveniência ao longo do ciclo de vida de experimentos
em larga escala.
39
Ao término do capítulo, discutimos as principais características dos sistemas
distribuídos mais comumente utilizados em experimentos em larga escala, isto é,
apresentamos um estudo comparativo entre nuvens e grades de computadores e conclui-
se que existe forte sobreposição entre os dois paradigmas, pois muitos dos conceitos,
arquiteturas e tecnologias pertinentes às nuvens evoluíram a partir das grades. No
entanto, vislumbramos que o paradigma das nuvens de computadores ainda oferece
oportunidades e desafios para o processamento de aplicações científicas, principalmente
naquilo que se refere à gerência de descritores de proveniência de experimentos
executados de modo distribuído.
No próximo capítulo, discutiremos o papel central que as ontologias podem
desempenhar na formalização dos experimentos científicos em larga escala.
40
Capítulo 3 - O papel da Proveniência e das Ontologias nos
Experimentos Científicos em Larga Escala
O data deluge, ou em tradução livre para o português inundação de dados, é um
dos problemas mais críticos com o qual a atual sociedade da informação se depara. Este
vem sendo discutido não só por especialistas, como também pela grande imprensa
(ANDERSON, 2008), (ECONOMIST, 2010).
Segundo diversos autores (BERMAN, 2008, BELL et al., 2009, HILBERT,
LACROIX et al., 2009, LÓPEZ, 2011), o mundo em que vivemos já está imerso em
―oceanos de dados‖ digitais produzidos e reproduzidos em escala industrial. A
consultoria International Data Corporation (IDC) apresenta um estudo interessante
onde compara o volume de dados produzidos com constantes físicas (IDC, 2008). O
IDC considera que somente no ano de 2007 foram produzidos aproximadamente
2.25x1021
bits, o que equivale a 281 exabytes, ou ainda, pouco menos de 1% da
constante de Avogrado2 (6.022x1023
). Estima-se que o volume de bits produzidos por
empresas, novos acessos a Internet em países emergentes, redes sociais e aplicações
multimídia e científicas nos próximos 15 anos suplantará o valor dessa constante
(BERMAN, 2008, MUKHERJEE et al., 2009). Do ponto de vista da Ciência da
Computação e, em especial, da área de bancos de dados, estes fatos representam
enormes desafios para as próximas décadas; novas técnicas e tecnologias de busca e
recuperação de dados devem ser vislumbradas.
No contexto da e-Ciência o problema do data deluge também já foi anunciado.
Em 2003, HEY e TREFETHEN (2003) chamavam a atenção para o impacto da grande
produção de artefatos em experimentos científicos em engenharia, meteorologia, física
de partículas e bioinformática, em especial, daqueles que exigiam colaboração entre
equipes geograficamente dispersas e que faziam uso de recursos computacionais
compartilhados, tais como grades de computadores. Segundo os autores, uma das
possíveis formas de explorar os imensos conjuntos de dados heterogêneos seria através
da anotação de dados com metadados de proveniência.
A constante de Avogadro é uma constante físico-química fundamental que representa um mol de entidades elementares (átomos, moléculas, íons, eletrons). Formalmente, a constante é definida como o número de átomos de carbono em 12 gramas de produto. O valor absoluto dessa constante representa uma das maiores da Ciência.
41
BLAKE e BULT (2006) também registraram o problema, porém com ênfase na
área de bioinformática, destacando que o desafio é bem maior que o uso de simples
anotações. Os autores sugerem que o uso de ontologias pode facilitar a extração e
recuperação do conhecimento e ainda apoiar a interoperabilidade no campo da Biologia.
Isto é, o uso de ontologias formais (por exemplo, as ontologias da Gene Ontology (GO
Consortium, 2011)) pode facilitar a integração de artefatos e a correlação entre os
termos biológicos e os termos usados por humanos e computadores para ampliar a troca
de informações.
Mais recentemente diversos autores (BODENREIDER, 2008, SAHOO, SHET,
2009, HARTIG, 2009, HARTIG, ZHAO, 2010, GRAVES, 2010, entre outros),
advogam que os descritores consorciados aos artefatos científicos devem incluir
informações sobre as suas origens e estar associados com ontologias de contexto. Os
descritores devem incluir elementos, tais como quem ou qual processo produziu o
artefato, quais eram as fontes e instrumentos inicialmente utilizados, configurações e
parâmetros utilizados durante a realização do experimento, períodos de realização, entre
outros. Todas essas informações podem ser consideradas descritores de proveniência.
Este capítulo está organizado da seguinte forma. Na Seção 3.1, apresentamos o
conceito de proveniência, relacionando-o com o ciclo de vida de experimentos
científicos em larga escala. Em seguida, na Seção 3.2, apresentamos os principais
aspectos das ontologias e discutimos seu papel nos experimentos científicos. Na Seção
3.3, apresentamos os principais aspectos da ontologia de fundamentação UFO
necessária à construção de uma ontologia de proveniência bem fundamentada. Na Seção
3.4, relatamos um estudo comparativo entre as principais ontologias relacionadas ao
tema proveniência. Por fim, concluímos o capítulo na Seção 3.5.
3.1. - Proveniência
A gerência dos descritores de proveniência é uma questão que suscita muitas
pesquisas na área de Bancos de Dados. O interesse e a necessidade da gerência dos
descritores de proveniência crescem à medida que os dados proliferam. Com o aumento
do volume de artefatos científicos e as aplicações cada vez mais híbridas e distribuídas,
existe um crescente e legítimo interesse em investigar as origens dos dados, como eles
foram produzidos ou mesmo se é possível confiar neles.
42
Os aspectos fundamentais da proveniência não ficam restritos aos dados
presentes em sistemas de computação. Pelo contrário, a proveniência já vem sendo
utilizada e aplicada há tempos em situações do mundo real, em exemplos como:
(i) Belas artes e artefatos históricos para atestar a originalidade de uma obra ou
mesmo evitar falsificações. A proveniência nesses casos assegura qualidade
superior ao produto (Figura 5a);
(ii) Indústria de alimentos e no agronegócio brasileiro (AKABANE et al., 2010)
para acompanhar os processos fabris da linha de produção e a qualidade final
dos produtos alimentícios (Figura 5b e 5c, respectivamente)
(iii) Negócios em geral (CURBERA et al., 2008), na Ciência e até mesmo em
publicações científicas (Figura 5d), para assegurar a reprodutibilidade e a
veracidade do experimento e servir de evidência em disputas de patentes
(SCIENCE, 2006, FREW et al., 2010).
Em todos esses casos a proveniência tem o potencial de transformar sistemas,
tornando-os mais confiáveis e auditáveis.
Proveniência, em termos de sistemas computacionais, representa a
ancestralidade de um objeto digital. Ela pode ser descrita de várias formas dependendo
do domínio onde é aplicada (SIMMHAN et al., 2005, SRIVASTAVA, VELEGRAKIS,
2007). Atualmente, existem vários sinônimos para o termo ―Proveniência‖ (por
exemplo, Data lineage, Data tracking, Data Pedigree, Data Provenance e Provenance
Metadata (LING, ÖZSU, 2009)). Os dicionários Oxford (OXFORD, 2003) e Merriam-
Webster (MERRIAM-WEBSTER, 2011) e a enciclopédia de bancos de dados (LING,
ÖZSU, 2009) oferecem as seguintes definições3 para o termo proveniência
(provenance).
Definição 1 (OXFORD, 2003): “(i) the fact of coming from some particular
source or quarter; origin, derivation. (ii) the history or pedigree of a work of art,
manuscript, rare book, etc.; concretely, a record of the ultimate derivation and passage
of an item through its various owners.‖
Definição 2 (MERRIAM-WEBSTER, 2011): “(i) the origin,source; (ii) the
history of ownership of a valued object or work of art or literature.”
Optou-se por manter as definições em inglês para evitar perdas ou interpretações errôneas na tradução para o português.
43
Figura 5. Representação de proveniência em elementos do dia-a-dia. (a)
proveniência nas obras artísticas, (b) em alimentos, (c) no agronegócio brasileiro e
(d) nas publicações científicas.
Definição 3. (TAN, 2009): “Let t be a data element in the result of a query Q
applied to a dataset D. A data element may be a tuple in the relational model, or a
subtree in the semi-structured model. The provenance of t is the set of all proofs for t
according to Q and D. A proof for t according to Q and D is a set D´ of data elements
in D so that t is in the result of applying Q on D´. In some cases, a proof also details the
process by which t is derived from Q and D. Most work on provenance in databases
focused on finding data elements of D that witness the existence of t in the result, as well
as which data elements of D is t copied from. In scientific workflows, the provenance of
a result is typically a detailed description of the entire workflow used to arrive at the
result.”
As definições 1 e 2 são compatíveis, pois elas indicam proveniência como sendo
um processo de derivação de um objeto (fonte ou origem), alcançando um estado final
c
• Title: The Mona Lisa also known as La Gioconda (1479 -d. before 1550)
• Artist: Leonardo di ser Piero da Vinci, known as Leonardo da Vinci (1452-1519)
• Subject matter: portrait
• Description: size: H 0.77 m; W 0.53 m, oils on a poplar wooden panel
• Museum: Louvre Museum, Paris
• Number: INV 779
• Provenance:
Acquired by François I, either directly from Leonardo daVinci, during his stay in France, or upon his death from his heirs, the painting remained in the royal collections from the beginning of the sixteenth century to the creation of the Central Arts Museum at the Louvre in 1793. We know that it was kept at Versailles under the reign of Louis XIV and that it was in the Tuileries during the First Empire. Since the Restoration, the Mona Lisa has always remained in the Louvre Museum, a key piece of the national collections.
d
a
c
b
44
específico. A definição 3 apesar de ser mais estruturada também é compatível com as
demais. Ela está fortemente calcada na noção de regras, conjuntos de dados e no
processo de transformação de dados. Ela também expõe uma diferenciação entre os
objetivos da proveniência em bancos de dados e workflows.
A partir destas três definições, dois elementos fundamentais podem ser
identificados. O primeiro está relacionado com artefato, denotando um ponto de partida
ou uma origem e, um ponto final alcançado após uma atividade de derivação de um
objeto. O segundo elemento se relaciona com o processo, que é elemento usado para
derivar e registrar a transformação de um objeto.
Essas definições de proveniência permeiam diversos trabalhos disponíveis na
literatura, como (FREIRE et al., 2008, CHENEY et al., 2009, CHAPMAN,
JAGADISH, 2010). No entanto, são consideradas superficiais para o escopo desta tese.
Aqui se busca uma compreensão mais aprofundada do tema. Proveniência é uma
propriedade intrínseca do dado, lhe atribui valor e qualidade quando capturada e
registrada corretamente. Na computação, a proveniência está presente em diversos
contextos: e-Ciência, sistemas distribuídos, segurança, bancos de dados e Web
semântica.
Proveniência, como área de pesquisa, não é recente e os primeiros trabalhos
surgiram por volta de 1986 (BECKER e CHAMBERS, 1986 apud MOREAU, 2010).
Desde então o interesse pelo tema tem crescido drasticamente, conforme ilustrado
através do crescente número de publicações. Atualmente, foram identificados mais de
400 trabalhos sobre o tema (W3C, 2010), sendo que mais de 200 foram publicados nos
dois últimos anos (CRUZ et al., 2009, MOREAU, 2010).
A proveniência possui diferentes níveis de granulosidade e de abstração que
podem ser dirigidos a diferentes públicos. Ela representa um conhecimento mais
aprofundado sobre o processo experimental em e-Ciência e não apenas sobre dados
isolados. Por exemplo, em um nível mais alto, onde se discute da reprodutibilidade do
experimento, os pesquisadores podem validar seus resultados com os colegas dentro ou
fora da sua equipe de pesquisa. Neste caso, o pesquisador precisa saber quais conjuntos
de dados foram utilizados, que tipos de análise foram empreendidas e quais condições
experimentais foram utilizadas. No entanto, em certas situações, ou seja, em níveis
intermediários, a análise dos mesmos resultados pode ser dependente de informações
45
mais detalhadas sobre parâmetros, recursos computacionais, variáveis de ambiente
utilizadas, versões de bibliotecas. Em um nível ainda mais detalhado, a proveniência
também poderá ser utilizada para analisar o desempenho dos experimentos, de onde
registros são extraídos para determinar o número das tarefas executadas, sua
distribuição e tempo de execução. Portanto, é possível concluir que a proveniência não é
homogênea, ela apresenta múltiplas granulosidades. Logo, seu tratamento demanda
várias abordagens distintas.
Atualmente existem inúmeros surveys sobre o tema, no entanto, estes trabalhos
exploram a proveniência de forma compartimentalizada, isto é, discutem o tema sob a
forma de disciplinas isoladas, dificultando a comparação e a localização de
características equivalentes nestes trabalhos. Em geral, eles não consideram a produção
dos diversos tipos de proveniência ao longo do ciclo de vida do experimento científico.
Além disso, alguns autores utilizam termos distintos para descrever um mesmo
conceito. Por exemplo, SIMMHAN e colaboradores (2005) investigam o tema sob a
ótica da e-Ciência. BOSE e FREW (2005) investigam o papel da proveniência no
processamento científico. Em comum, ambos não consideram o papel da proveniência
ao longo do ciclo de vida dos experimentos científicos em larga escala. BUNEMAN et
al. (2001), BUNEMAN et al. (2006) e CHENEY et al. (2009) estudam a proveniência
sob a ótica dos bancos de dados; eles consideram que a proveniência é um dado
secundário, isto é, metadado que dever estar associado ao dado propriamente dito.
GLAVIC e DITTRICH (2007) e HOLLAND et al. (2008) classificam a
proveniência de acordo com um modelo de dados privado. MOREAU (2010) faz um
extenso levantamento sobre a proveniência na Web. Considerando que a proveniência
difere do metadado tradicional, pois pode guardar as correlações entre diferentes tipos
de objetos. De modo diferente destes trabalhos, CRUZ et al. (2009) apresentam uma
taxonomia de proveniência oferecendo uma visão mais conceitual sobre o tema. Além
disso, discutem sob à luz da OPM como os diferentes tipos de proveniência estão
consorciadas às diferentes etapas do ciclo de vida de experimentos científicos em larga
escala apresentados no Capítulo 2.
Nesta tese consideramos proveniência como descritores, isto é, metadados que
são (semi) automática e sistematicamente coletados e registrados em repositórios
adequados (arquivos estruturados, tabelas relacionais, esquemas RDF/OWL). Os
46
descritores auxiliam usuários ou sistemas computacionais a determinar a história de um
artefato através da evolução de processos, desde sua origem até seu destino final.
A próxima seção tem como objetivo discutir as principais características da
espeficicação OPM (MOREAU et al., 2010).
3.1.1 – Metamodelo Open Provenance Model
A especificação OPM, surgiu como um metamodelo (KÜHNE, 2005) voltado
para representar proveniência de workflows científicos. Teve suas primeiras idéias
discutidas durante os workshops IPAW e Provenance Challenges (MOREAU et al.,
2007). No momento ainda está em desenvolvimento e se encontra na versão 1.1
(MOREAU et al., 2010).
OPM foi concebido para ser a lingua franca dos sistemas de proveniência, pois
permite representar os descritores de proveniência de modo independente de tecnologia
e serializá-los em vários formatos tais como, RDF, XML e relacional. OPM surgiu da
necessidade de padronização de modelos de representação de proveniência e esta
iniciativa de metamodelagem visa permitir o intercâmbio de informações de
proveniência entre sistemas de proveniência distintos (MOREAU, 2010). A
proveniência é representada sob a forma de grafos.
Um grafo OPM é constituído por três entidades básicas (Artefato, Processo e
Agente) e por um pequeno conjunto de dependências e regras (Figura 6).
Para a OPM, um artefato é dito como pedaço imutável de um estado, que pode
ser uma materialização física de um objeto ou ter uma representação digital, caso se
trate de um sistema de computação. Neste metamodelo, um processo é tido como uma
ação ou conjunto de ações que utilizam ou produzem novos artefatos. Já um agente atua
como um estimulador de processos, permitindo, facilitando, controlando e afetando a
sua execução.
47
Figura 6. Representação das dependências entre entidades OPM, onde “A” é um
artefato, “P” é um processo e “Ag” é um agente. As setas representam as relações
de causa e efeito (MOREAU et al., 2010).
As entidades básicas se relacionam através de dependências. No metamodelo
existem cinco dependências (Figura 6): utilizou (Used) – é um relacionamento que
indica que um processo P utilizou um artefato A; geradoPor (wasGeneratedBy) – indica
que um artefato A foi produzido por um processo P; controladoPor (wasControlledBy) –
indica que um processo P foi controlado por um agente Ag; derivadoDe
(wasDerivedFrom) – indica que um artefato A2 foi um utilizado na geração do artefato
A1; inicializadoPor (wasTriggeredBy) – indica relacionamento entre dois processos, isto
é o processo P2 foi iniciado pelo processo P1. No metamodelo, as regras designam qual
é a função (ou papel) desempenhada pelos artefatos, processos e agentes.
No exemplo da Figura 7, são utilizados os elementos da OPM para indicar a
utilização de um processo de anotação por parte de um pesquisador que utiliza o
workflow científico OrthoSearch, para gerar anotações sobre seqüências protéicas. Os
artefatos consumidos são as seqüências dos arquivos COGs e as proteínas de um dado
protozoário (por exemplo, COG1, ..., COGn, Protozoa1, ..., Protozoan, ...), que são
―usadas‖ para a criação de uma ―Anotação‖, sendo este artefato produzido pelo
processo de comparação de seqüências, ―derivado‖ de dois artefatos. O artefato ―foi
gerado‖ através de um processo chamado ―Best Hit‖ e o processo ―foi controlado‖ pelo
―Pesquisador‖ que executou o workflow.
A P
Ag
utilizou
A PgeradoPor
A2
PcontroladoPor
A1derivadoDe
P2P1
inicializadoPor
48
Figura 5. Exemplo de utilização da OPM em experimentos em larga escala ilustrar
o processo de anotação de seqüências protéicas.
OPM representa um avanço em termos de interoperabilidade dos sistemas de
proveniência e independência de plataforma, no entanto, não é nem uma proposta
pioneira nem livre de questionamentos. Por exemplo, o metamodelo do sistema Karma2
(SIMMHAN et al., 2008) é anterior ao OPM. Karma2 está associado a um framework
que possui a intenção de registrar a proveniência de dados produzidos por workflows
executados em grades de computadores, onde o processamento das atividades do
workflow é obtido por invocações de serviços Web.
OPM apesar de ser um esforço coletivo da comunidade de proveniência,
apresenta algumas limitações (LIM et al., 2011). Ao analisar em detalhes do
metamodelo OPM, é possível perceber que ele:
(i) Não distingue as diferentes granulosidades associadas às proveniências
retrospectiva e prospectiva; seu desenvolvimento é fortemente baseado na
proveniência retrospectiva no domínio dos workflows científicos;
(ii) Não tece nenhuma consideração sobre a viabilidade da sua aplicação em
sistemas distribuídos;
(iii) Apesar de genérico, não comporta o registro da proveniência de todas as fases
do experimento científico em larga escala;
(iv) É fortemente calcado na fase de execução do workflow, nenhum comentário
sobre o mapeamento da proveniência obtida nas primeiras fases dos
experimentos científicos é considerado. O metamodelo leva em consideração
Protozoa1COG1
Best Hits
Anotação1
Pesquisador
controladoPor
geradoPor
utilizou utilizou
derivadoDe
derivadoDe
49
apenas a proveniência retrospectiva dos workflows, na OPM não há indícios ou
subsídios que indique sua utilização para proveniência prospectiva;
(v) Mesmo permitindo o registro de Agentes, OPM ainda não permite o registro dos
variados papéis que os agentes podem assumir durante o ciclo de vida de
experimentos em larga escala; o metamodelo registra apenas a presença de um
agente atuando como um ―ator‖ na execução de um processo.
3.2 – Ontologias
Na literatura da computação existe uma grande variedade de artefatos
classificados como ontologias, incluindo-se nestes desde catálogos (simples listas de
termos que não permitem raciocínio automatizado), passando por thesaurus e
taxonomias, até teorias lógicas formais que apoiam o raciocínio automatizado (Figura
8). As ontologias representam conjuntos de categorias e suas relações, que levam em
conta uma determinada visão do mundo. Elas têm se mostrado um dos meios mais
comuns para especificar tanto a estrutura de metadados em aplicações (científicas)
quanto a modelagem conceitual de sistemas de informação (PIKE, GAHEGAN, 2007).
Figura 6. Diferentes tipos de especificações de ontologias disponíveis na literatura
de Ciência da Computação. Adaptado de (SMITH, 2001).
Nesta tese consideramos que ontologias são artefatos que apoiam o raciocínio
automatizado. No entanto, mesmo assim, na computação existem várias definições
associadas ao termo ontologia, sendo a mais conhecida aquela proposta por GRUBER
(1993) ―Ontologia é uma especificação formal e explícita de uma conceituação
compartilhada‖.
No entanto, GUARINO (1998) posteriormente discute a definição proposta por
Gruber (1993) sob a luz de diversos trabalhos disponíveis na literatura (GRUBER,
Complexidade
Sem raciocínioautomático
Com raciocínioautomático
Coleção deFrames
Coleção de Taxonomias
Thesaurus
Glossário
Conjunto de Arquivos texto
Catálogo
Conjunto derestrições
Lógicas gerais
50
1995, GUARINO, GIARETTA, 1995, WELIE et al., 1998). O autor propõe uma
definição mais abrangente: ―Uma ontologia é uma descrição parcial e explícita de uma
conceituação‖. Para ele, o grau de especificação de uma conceituação depende do
propósito desejado para uma ontologia. É introduzida a idéia de classificações,
hierarquias e da existência de regras que regulam a combinação entre os termos e as
relações. As relações entre os termos são criadas por especialistas, e os usuários
formulam consultas usando os conceitos especificados. Uma ontologia define assim
uma ―linguagem‖ (conjunto de conceitos) que será utilizada para formular consultas.
Nesta tese adotaremos a definição apresentada por GUARINO (1998).
3.2.1 – Tipos de Ontologias
De modo geral as ontologias podem ser leves (lightweight) ou pesadas
(heavyweight) e podem ser modeladas com diferentes técnicas e codificadas com
diversos tipos de linguagens de inferência (USCHOLD, GRUNINGER, 1996).
Existem diversas classificações para ontologias. Em (USCHOLD, 1996,
USCHOLD, GRUNINGER, 1996), as ontologias são classificadas de acordo com graus
de formalidade (informais, semi-informais, formais ou rigorosamente formais). DING e
FENSEL (2001) as classificam de acordo com os seus propósitos. Já HEIJST et al.
(1997) classificam as ontologias de acordo com a natureza e a estrutura das
conceituações envolvidas. No entanto, foi GUARINO (1998) que unificou as
classificações e introduziu o conceito de hierarquia (Figura 9), classificando as
ontologias conforme a sua generalidade, a saber:
(i) Ontologias de Fundamentação (também chamadas ontologias genéricas ou de
topo) - Servem como base para o estabelecimento de consenso e negociação
entre humanos. Incluem conceitos relacionados a elementos globais, tais como
espaço, tempo, problema, objeto, evento e ação. Os conceitos são independentes
de um problema particular ou domínio. Para GUIZZARDI (2005) e CAMPOS
(2010), as ontologias de fundamentação são utilizadas com sucesso para
melhorar a qualidade de linguagens de modelagem de modelos conceituais. São
exemplos de ontologias de fundamentação: Descriptive Ontology for Linguistic
and Cognitive (MASOLO et al., 2002), General Formal Suggested Upper
Merged Ontology (SUMO) (PEASE et al., 2002), Basic Formal Ontology (BFO)
51
(GRENON et al., 2004), General Formal Ontology (GFO) (HERRE, 2010), e a
Unified Foundational Ontology (UFO) descrita por (GUIZZARDI, 2005).
(ii) Ontologias de Domínio – Segundo NOY e MCGUINNESS (2001), essa classe
de ontologias define um vocabulário comum para compartilhar informações de
um domínio genérico. Ela representa uma descrição de conceitos em um
domínio de discurso, suas propriedades e restrições. Os objetivos principais de
se desenvolver uma ontologia de domínio são: compartilhar informação,
reutilizar elementos do domínio, tornar suposições do domínio explícitas,
separar conhecimentos de domínio de conhecimento operacional e analisar o
conhecimento do domínio. Atualmente, existe uma grande quantidade de
ontologias de domínio em diversas áreas, tais como Medicina, Direito,
Engenharia, Modelagem Organizacional e Química (GUIZZARDI, 2005);
(iii) Ontologia de Tarefa – Provê o vocabulário de termos usados para resolver
problemas associados com uma tarefa genérica, que podem ou não ser realizadas
em um mesmo domínio. Inclui nomes de conceitos genéricos, podendo ser
reaproveitados em diferentes domínios. Em outras palavras, compreende um
conjunto de primitivas de representação da estrutura da tarefa, de forma
independente de um dado domínio (MIZOGUCHI et al., 1995). O conhecimento
de tarefa é associado à descrição da decomposição de uma tarefa em subtarefas,
do controle de fluxo ao longo dessas subtarefas e dos papéis de conhecimento
para o conhecimento do domínio que é usado ou produzido pelas subtarefas
(IKEDA et al., 1998).
(iv) Ontologias de Aplicação – São criadas a partir de conceitos de um domínio e de
uma tarefa particular, em certos casos, presos ao contexto de uma aplicação
específica que trata de um domínio específico (GUARINO, 1998). Para HEIJST
et al. (1997), as ontologias de aplicação contêm as definições que são
necessárias para modelar o conhecimento requerido por uma aplicação
particular. Elas são uma mistura de conceitos derivados de ontologias de
domínio e de tarefa. Resumidamente, uma ontologia de aplicação provê
conceitos e relacionamentos entre esses conceitos para uma dada aplicação.
52
Figura 7. Classificação das ontologias e o relacionamento entre elas, adaptado de
(GUARINO, 1998).
Atualmente, observa-se um crescente interesse no uso dessas ontologias de
fundamentação como ferramentas de modelagem conceitual (BELLATRECHE et al.,
2006). As evidências e vantagens da utilização das ontologias de topo para a
modelagem de novas ontologias podem ser explicadas através da seguinte
argumentação:
(i) As ontologias de fundamentação descrevem as categorias gerais que são usadas
para a construção dos modelos conceituais;
(ii) As ontologias de fundamentação permitem a construção de hierarquia de classes
e a representação das propriedades da classe;
(iii) As ontologias de fundamentação oferecem a possibilidade de uma integração a
priori com outras ontologias cujos conceitos possuem menor grau de abstração.
3.2.2 – Linguagens de Modelagem de Ontologias
Segundo GUARINO (1994 e 2009), as linguagens de modelagem de ontologias
possuem três níveis distintos (Quadro 3): lógico, epistemológico e ontológico.
Quadro 2. Resumo das principais características dos níveis das linguagens
As linguagens de modelagem do nível lógico provêem os construtos necessários
à formalização do conhecimento e permitem o raciocínio formal, mas carecem de
Ontologia de Fundamentação
Ontologia de Tarefa
Ontologia de Domínio
Ontologia de Aplicação
Nível d
e Ab
straçã
o d
os co
nceito
s
53
fundamentação cognitiva necessária para favorecer a representação do conhecimento de
modo estruturado. As linguagens de nível epistemológico permitem não só formalizar o
conhecimento, mas estruturá-lo, favorecendo o raciocínio formal e a derivação de novos
conhecimentos. No entanto, em ambos os níveis (lógico e epistemológico) a
interpretação do mundo real é completamente arbitrária. Em particular, no nível
epistemológico, apesar de acrescentar um significado estrutural ao conhecimento, não
está focado na sua representação formal. Por outro lado, as linguagens de nível
ontológico apresentam primitivas que satisfazem postulados formais de significado,
restringindo a interpretação de uma teoria lógica com base em distinções ontológicas
formais.
De acordo com GUARINO (2009), existem diversas linguagens de nível
epistemológico como, por exemplo, UML e OWL, entre outros. Exemplos de
linguagens de nível ontológico são raros. Uma proposta concreta nesta direção é
apresentada por GUIZZARDI (2005) em sua tese de doutorado, onde o metamodelo do
diagrama de classes da UML é estendido para incorporar as distinções ontológicas
definidas na ontologia de fundamentação UFO (GUIZZARDI, 2005).
3.2.3 - Modelagem de Ontologias
Atualmente, existem diversas linguagens de modelagem de ontologias e cada
uma possui expressividades distintas, não necessariamente abrigando todos os requisitos
apontados anteriormente. Essas linguagens são conhecidas como linguagens de
marcação de ontologias, o principal exemplo é a OWL (MCGUINNESS, HARMELEN,
2004). OWL é baseada em XML, RDF e RDFS, oferece alguns mecanismos para a
semântica formal e é considerada uma linguagem de nível epistemológico.
Ultimamente muitas ontologias vêm adotando a UML, como linguagem de
modelagem, apesar das suas deficiências, tais como, inconsistência, ambigüidade e
ausência de semântica formal para capturar a conceituação básica do universo de
discurso de uma ontologia (FALBO, 1998, GUIZZARDI, 2005, BARCELLOS,
FALBO, 2009, FALBO, 2010, MONTEIRO et al., 2010, GUIZZARDI. et al., 2010).
Vários autores já discutiram essas limitações e propuseram novas extensões e
formalismos para que ela se adéqüe à modelagem de ontologias (GUIZZARDI et al.,
2004, EVERMANN, 2005, LI, 2007). Por exemplo, a linguagem OntoUML
(GUIZZARDI, 2005), ele foi desenhada para que engenheiros de ontologia e analistas
54
em geral possam capturar os acordos semânticos de um universo de discurso e
visualizá-los sob a forma de diagramas de classes da UML. OntoUML é uma extensão
da UML 2.0, seus construtos são ontologicamente bem fundamentados, possuindo um
metamodelo isomórfico baseado na Ontologia de Fundamentação UFO (GUIZZARDI,
2005).
OntoUML é uma linguagem que adota diagramas de classe como linguagem
para expressar os conceitos de um domínio, admitindo somente modelos
gramaticamente válidos, isto é, somente aqueles modelos que satisfazem (do ponto de
vista lógico) a axiomatização de UFO, ou seja, aqueles modelos que são considerados
válidos segundo essa teoria ontológica. Essa linguagem também incorpora um conjunto
de padrões de modelagem de ontologias (ontological design patterns) para solução de
alguns problemas clássicos de modelagem no que dizem respeito a, por exemplo,
modelagem de papéis (GUIZZARDI et al., 2004), resolução do problema de
transitividade da relação todo-parte (GUIZZARDI, 2007) e resolução do problema de
colapso de restrições de cardinalidade (GUIZZARDI, 2008). Até o momento, diversas
ontologias de vários domínios de aplicação já foram modeladas utilizando a OntoUML,
exemplos estão disponíveis em (FALBO, 2010), (MONTEIRO, 2010) e (GUIZZARDI
et al., 2010).
Esta tese adotará a OntoUML como linguagem de modelagem de nível
ontológico na elaboração da ontologias de proveniência de experimentos científicos em
larga escala.
3.2.4 - Compromisso Ontológico
A noção de compromisso ontológico foi inicialmente apresentada por Quine
numa série de ensaios na área da Filosofia (QUINE, 1948 apud GOMEZ-PEREZ et al.,
2004). A noção de compromisso ontológico representa os acordos adotados ao utilizar
um vocabulário compartilhado de forma coerente e consistente em uma ontologia.
GUARINO (1998) formalizou a definição de compromisso ontológico com base
na relação entre o vocabulário adotado pela ontologia e o significado dos termos desse
vocabulário. Assim, de acordo com o autor, um compromisso ontológico é uma função
que correlaciona os termos do vocabulário da ontologia com uma conceituação.
55
Na maioria das vezes, os termos utilizados em linguagens naturais possuem
vários significados e uma ontologia deve se restringir à interpretação semântica destes
termos, fornecendo definições formais. Assim, o compromisso ontológico pode ser
visto, em primeiro lugar, como um tipo de mapeamento entre os termos da ontologia e
os significados pretendidos. Por isso, um dos papéis do compromisso ontológico é
determinar precisamente o significado que cada termo possui.
Com o objetivo de exemplificar o que foi apresentado, pode-se imaginar o
seguinte diálogo: um pesquisador ao exibir para outro duas amostras de material
metálico brilhante, afirma que uma amostra possui brilho mais intenso que a outra. O
segundo pesquisador contesta afirmando que o máximo que se pode afirmar é que as
percepções visuais de ambos são diferentes; reivindica que a análise correta deveria
focar aspectos que envolvessem questões sensoriais referentes a sensações de claridade
e ofuscamento do material.
Desse diálogo hipotético, conclui-se que o primeiro pesquisador está
comprometido com uma ontologia que envolve o objeto ―material metálico‖ e a
entidade ―brilho‖, enquanto o segundo pesquisador está comprometido com uma
ontologia que envolve as diferenças de percepção visual. Pode-se ainda acrescentar o
fato de que a entidade brilho, cuja existência é enfaticamente confirmada pelo primeiro
pesquisador e categoricamente negada pelo segundo, traz ainda o inconveniente de lidar
com o termo ―brilhante‖, o que implica em estabelecer uma comparação entre duas
entidades que são inexistentes para o segundo pesquisador, tornando sem validade a
afirmação feita pelo primeiro. Em geral, os compromissos ontológicos envolvem mais
que um mapeamento entre termos de linguagem natural e seus sentidos, também
incluem opções gerais, tais como a estrutura de tempo, espaço e eventos.
3.3 – Ontologia de Fundamentação Unificada (UFO)
UFO é uma ontologia de fundamentação proposta por GUIZZARDI (2005) e é
resultado da combinação das ontologias GFO e DOLCE, dos princípios da metodologia
OntoClean (GUARINO, WELTY, 2002) e também reúne teorias axiomáticas das áreas
de Ontologias Formais, Lógica Filosófica, Filosofia da Linguagem, Lingüística e
Psicologia Cognitiva.
56
UFO oferece um grande número de construtos e supre as limitações relacionadas
com a habilidade de capturar os conceitos básicos de linguagens de modelagem
conceitual que não são cobertos de forma satisfatória pelas demais ontologias de
fundamentação. A ontologia UFO é dividida em três fragmentos, a saber:
(i) O fragmento UFO-A é uma ontologia de endurants, isto é, representa os
aspectos estruturais dos indivíduos duradouros, este fragmento define o núcleo
desta ontologia. Uma distinção fundamental em UFO-A se dá entre indivíduos
(Particular) e universais (ou tipos) (Universal). Indivíduos são entidades que
existem na realidade e que possuem identidade única. Tipos ou universais são
padrões de características que podem ser materializados em um número de
diferentes indivíduos. UFO-A sistematiza conceitos, por exemplo, tipos e
estruturas taxonômicas (GUIZZARDI et al., 2004), relações todo-parte
(GUIZZARDI, 2007), propriedades intrínsecas e espaços de valores de atributos
(GUIZZARDI et al., 2006), propriedades relacionais (GUIZZARDI, 2008), entre
outros. Esse fragmento constitui uma teoria estável, formalmente caracterizada
com o aparato de uma lógica modal de alta expressividade, possuindo forte
suporte empírico promovido por experimentos em psicologia cognitiva.
(ii) O fragmento UFO-B (ontologia de perdurants, isto é, eventos) visa sistematizar
conceitos associados a aspectos dinâmicos, tais como estados, processos,
eventos, relações temporais, entre outros. Perdurants são indivíduos compostos
de partes temporais, eles ocorrem no tempo, no sentido de acumularem partes
temporais. Exemplos de perdurants são: uma conversa, um jogo de futebol, a
execução de uma sinfonia ou um processo de negócio. Ou seja, são eventos
compostos de partes temporais. A principal diferença entre eventos (perdurants)
e indivíduos duradouros (endurants) é que um objeto (indivíduo duradouro)
existe ou não existe no tempo, enquanto eventos ocorrem no tempo
(GUIZZARDI et al., 2008). O fragmento UFO-B ainda está em desenvolvimento
e não possui o mesmo nível de maturidade do fragmento A, por este motivo não
será utilizado nesta tese.
(iii) O fragmento UFO-C é uma ontologia de entidades sociais e intencionais, ela está
sendo construída sobre partes do fragmento UFO-A e UFO-B e visa sistematizar
conceitos que incluem Agente, Ação, Estados Intencionais, Delegação,
Compromissos e Reivindicações Sociais, entre outros. Os Agentes são capazes
57
de realizar eventos, enquanto objetos participam de eventos (GUIZZARDI et al.,
2008). O fragmento UFO-C também está em desenvolvimento e não possui o
mesmo nível de maturidade e estabilidade do fragmento A, por este motivo não
será utilizado nesta tese.
Uma estrutura ontológica de nível superior não só deve fornecer o suporte
adequado para a tomada de decisões ontológicas, mas também deve permitir que sejam
tomadas decisões da forma mais transparente possível na construção das novas
ontologias de domínio resultantes. Por este motivo ao escolher a UFO, em especial seu
fragmento UFO-A, optou-se pelo suporte a tipos, estruturas taxonômicas, relações todo-
parte, propriedade de valores, espaço de valores de atributos e propriedade relacionais.
Apesar de uma explicação mais completa e detalhada dos conceitos da UFO-A e
da OntoUML não fazerem parte do escopo desta tese, alguns conceitos primordiais
serão discutidos, pois são necessários para compreensão e apresentação da proposta de
uma ontologia de proveniência bem fundamentada discutida no Capítulo 5.
Como primeira etapa é necessário definir algumas categorias fundamentais da
UFO-A4: Indivíduo (individual) e Universal (universal). Indivíduos são entidades que
existem na realidade, possuindo uma identidade própria e única. Um computador, um
pesquisador, um experimento científico são exemplos de indivíduos. Universais, por sua
vez, são propriedades (ou padrões) que determinam uma classe e que podem ser
instanciados em um número de diferentes indivíduos. Por exemplo, Pessoa é um
universal que descreve as características comuns aos indivíduos, por exemplo, nome,
data de nascimento, gênero, entre outros.
Sortais (sortal) são universais que provêm princípio de identidade
(individualização e persistência) para suas instâncias, permitindo julgar se dois
particulares (classes) são os mesmos ou não. Por exemplo, os eucariontes (Protozoários,
Algas) e os mamíferos (Carnívoros, Hervívoros, Onívoros) são exemplos de sortais
universais.
Os sortais podem ser de dois tipos: Sortal Rígido (rigid sortal) e Sortal Anti-
rígido (anti-rigid sortal). Um sortal é rígido se, para toda instância α de U, α é
necessariamente uma instância de U. Em outras palavras, se α é instância de U em um
determinado mundo W, então α deve ser instância de U em todos os mundos possíveis.
Os termos originais da UFO são grafados entre << >>, em itálico e em inglês.
58
Resumindo, os sortais rígidos são propriedades que provêm o princípio da identidade e
necessariamente se aplicam aos indivíduos dessas classes enquanto existirem (são
exemplo de sortais rígidos as categorias: Espécie <<Kind>>, Subtipos <<Subkind>>,
Quantidade <<Quantity>>, e Coletivo <<Collective>>).
Já com os sortais anti-rígidos temos o contrário. Se α é instância anti-rígida de
U, então é possível que α não seja instância de U. Em outras palavras, se α é instância
de U em um mundo W, podem existir mundos W´ onde α não é instância U. Resumindo,
os sortais anti-rígidos são propriedades que possivelmente se aplicam somente a
determinados indivíduos de classes (são exemplo de sortais anti-rígidos as categorias:
Fase <<Phase>> e Papel <<Role>>).
Espécie <<Kind>> é um sortal rígido que provê o princípio de identidade às suas
classes e instâncias. Espécies (tipos) podem ser especializadas em outros subtipos
rígidos, ditos subtipos <<Subkind>> que herdam seus princípios de identidades
providos. Por exemplo, Cão, Gato, Pessoa, Protozoário, Cadeira, Livro, Computador,
Workflow, Organização de Pesquisa, Experimento, Artefato e Pesquisador são espécies
(tipos), enquanto se pode definir Arquivo de Entrada e Arquivo de Saída como
subespécies (subtipos) de Artefato.
Coletivo <<Collective>> é um sortal rígido que representa grupo de seres que
compartilham uma mesma conceituação (por exemplo, Floresta, Matilha) ou coisas (por
exemplo, Pilha de Tijolos) são classes do tipo Coletivo. Esse tipo, assim como Espécie,
provê princípio de identidade a suas classes, porém, são conjuntos de objetos que
exercem o mesmo papel. Quantidade <<Quantity>> também é um sortal rígido que ao
contrário dos demais tipos de sortais rígidos, carecem de princípios de individualização
e contagem, são exemplos de quantidade Água, Barro, Banco de Dados.
Fase <<Phase>> é um sortal anti-rígido instanciado em determinado mundo ou
período de tempo que constitui a história de um particular, mas não necessariamente em
todos os mundos. Isto é, em uma fase F, α representa uma determinada condição que só
depende das propriedades intrínsecas de F. Por exemplo, Professor Assistente, Adjunto
e Associado são fases da espécie Professor ou ainda, no caso desta tese, Concepção,
Execução e Análise são as fases da Espécie experimento científico em larga escala
(conforme discutido no Capítulo 2).
59
Papel <<Role>> é um tipo de Sortal anti-rígido instanciado eventualmente, mais
precisamente na participação em um evento ou numa determinada relação. Isto é, para a
regra R, α depende extrinsicamente (relacionalmente) de propriedades de R. Por
exemplo, Mãe é um papel para o subtipo Mulher mediante a existência da relação de
maternidade com uma classe do papel Filho da espécie Pessoa (GUIZZARDI, 2005).
Outro exemplo, no contexto dos Experimentos Científicos, seriam os papéis de
arquiteto, programador e executor de um workflow, ambos são subtipos da classe
Pesquisador que se relacionam com um determinado experimento.
Mixins são não sortais anti-rígidos que não oferecem o princípio da identidade,
são meras caracterizações. Mixins são essenciais na modelagem de dados. Um
<<Mixin>> representa as propriedades que são essenciais para algumas classes e
acidentais para outras (semi-rigidez). Por exemplo, a propriedade assento é essencial
para as classes cadeira e banqueta, mas acidental para as classes caixote e pedra.
Rolemixin <<Rolemixin>> representa um não sortal, anti-rígido e
relacionalmente dependente, i.e., um universal dispersivo que agrega propriedades que
são comuns a diferentes papéis <<Roles>>. Por exemplo, a classe pesquisador é um
<<rolemixim>> que agrega duas subclasses que desempenham papéis distintos
pesquisador pessoa física e pesquisador pessoa jurídica.
Uma categoria <<Category>> representa um tipo de universal misto (mixin
universal) que classifica as entidades que pertencem a espécies <<Kinds>> diferentes,
mas que compartilham uma propriedade comum essencial (ou seja, uma propriedade
que suas classes não podem perder). Uma categoria representa uma classe abstrata. Por
exemplo, um ente racional é uma categoria que pode ser especializada entre as espécies
Pessoa e Agente Artificial.
UFO-A também apresenta a entidade Relação (Relations). Relações são
entidades especiais que aglutinam (associam ou relacionam) outras entidades, elas
podem ser do tipo relações formais ou relações materiais (GUIZZARDI, 2008).
Relações formais (Formal Relations) acontecem diretamente entre duas ou mais
entidades sem que haja necessidade de intervenção de outro indivíduo. Em princípio,
esse tipo de associação inclui as relações que formam a superestrutura matemática da
UFO-A, por exemplo, dependência existencial, herança, parte-de, subconjunto-de,
instanciação, dentre outras (GUIZZARDI, 2005 e GUIZZARDI, 2008).
60
Genericamente temos que, uma associação A entre as classes C1,..., Cn de um
modelo conceitual pode, em princípio ser compreendida sob a ótica da UFO, como uma
relação R entre os universais correspondentes U1,..., Un, cujas extensões consistem em
todas as tuplas correspondentes às ligações de A. No entanto, as linguagens de
modelagem conceitual atuais (aqui se inclui a UML) não são capazes de distinguir entre
as relações formais e materiais.
Relações Materiais (Material Relations) possuem estrutura material própria e
dependem de uma entidade interventora para existir. Por exemplo, relações tais como
trabalhar em, estar matriculado em ou estar conectado a. Ou seja, a relação formal
entre Alberto e seu conhecimento α de Genômica Comparativa só acontece diretamente,
desde que Alberto e Genômica Comparativa existam. Outro exemplo, para que aconteça
uma relação material ser executado por entre o pesquisador Pedro e o workflow
concreto OrthoSearch, é necessário que exista uma terceira entidade (nesse caso, uma
execução) para mediar a relação entre o pesquisador Pedro e o workflow concreto
OrthoSearch. Essas relações são indivíduos que conectam (mediam) outros indivíduos e
são chamados momentos relacionais (relators). A notação de Relações Materiais é
apoiada por trabalhos relacionados à Filosofia (LOWE, 2006). A posição aqui defendida
é a importância de responder algumas questões específicas relacionadas à proveniência
de experimentos científicos, tais como: Qual o significado de associar Pedro à execução
do workflow OrthoSearch? Ou ainda, Porque é verdadeira a afirmação que Alberto
trabalha no laboratório de Bioinformática e não no de Banco de Dados?
UFO-A também considera, ainda, a noção de situação. Situações (Situations) são
entidades complexas constituídas por vários objetos (incluindo até mesmo outras
situações), sendo tratadas como um sinônimo para o que a literatura chama de estado de
coisas (state of affairs), ou seja, uma porção da realidade que pode ser compreendida
como um todo (GUIZZARDI et al., 2008). Segundo GUIZZARDI et al., (2008), um
exemplo desta situação seria: João está gripado e com febre. Com base nesse conceito,
define-se a relação estar presente entre objetos e as situações que eles constituem. Neste
caso, pode se dizer que o substancial João e seus momentos febre e gripe estão
presentes na situação João está gripado e com febre.
Tipos de dados, são representados na UFO-A através do estereótipo
<<DataType>>. Este estereótipo representa dados cujos membros são valores
numéricos pertencentes a um determinado conjunto de valores possíveis. Um conceito
61
representado como um <<DataType>> é uma representação teórica de um espaço
conceitual e das restrições impostas por suas respectivas estruturas geométricas
(GUIZZARDI, WAGNER; et al., 2004). Por exemplo, o domínio das cores pode ser
decomposto em três sub-domínios: brilho, saturação e contraste. Onde cada sub-
domínio possui uma representação linear e não negativa. Raciocínio análogo pode ser
aplicado no domínio do tempo, onde ele pode ser decomposto em sub-domínios de dias
e horas, cujos valores também são estáticos, lineares, crescentes e não-negativos.
UFO-A, bem como a linguagem OntoUML, envolve outros conceitos filosóficos
que devem ser plenamente compreendidos para a criação de modelos ontológicos
corretos e precisos. Os principais construtos da OntoUML (representados por retângulos
na cor cinza na Figura 10) são os conceitos (Category, Collective, Kind, Mixin, Mode,
Phase, Quantity, Relator, Role, RoleMixin, DataType, StructuralDataType, e Subkind) e
as relações (Characterization, ComponentOf, Datatype Association, Derivation,
Formal, Generalization, Material, Mediation, MemberOf, SubCollectionOf, e
SubQuantityOf ).
62
Figura 8. Metamodelo do perfil OntoUML definido por GUIZZARDI (2005).
3.4 – Ontologias de Proveniência
Existe um número muito restrito de sistemas que se beneficiam de ontologias de
proveniência. Com o objetivo de compreender como o grupo das ontologias de
proveniência foram concebidas, esta seção analisa seus principais representantes.
Este estudo comparativo tem como objetivo compreender dois pontos principais:
(i) Quais conceitos de proveniência são suportados por essas ontologias? Esta
análise permitirá compreender qual a similaridade e a cobertura das atuais
ontologias de proveniência, além se servir como base para o estabelecimento dos
conceitos necessários a uma nova ontologia de proveniência;
63
(ii) Como os conceitos de proveniência são modelados? Esta análise permitirá
compreender como os construtos foram utilizados no desenvolvimento das
ontologias de proveniência e como podem ser aplicados em novas ontologias de
proveniência.
Dentre as ontologias de proveniência avaliadas, destacamos apenas aquelas que
possuem maior presença na literatura especializada: OPMO (MOREAU, 2010), PML
(MCGUINNESS et al., 2007), Provenir (SAHOO, SHET, 2009), Provenance
Vocabulary (HARTIG, ZHAO, 2010), PREMIS (SANDERSON et al., 2010), WOT
Schema (GAO, HOUBEN, 2010), SWAN-PAV (GAO et al., 2006), SWP (BIZER,
2006), W3P (FREITAS et al., 2011), Dublin Core (DCMI Usage Bord, 2011) e Ouzo
(ZHAO, 2007).
O Quadro 4 lista o namespaces e prefixos das ontologias selecionadas para o
estudo comparativo.
Quadro 3. Lista de ontologias de Proveniência baseadas em Web Semântica
3.4.1 – OPMO
A ontologia OPMO (MOREAU, 2010) surgiu como um aperfeiçoamento da
ontologia OPMV (Open Provenance Model Vocabulary) desenvolvida por (ZHAO,
2010). A OPMO é uma ontologia que tem como base o metamodelo OPM e ainda está
em fase de desenvolvimento, tendo como foco principal a proveniência retrospectiva de
workflows científicos. Ela define um pequeno conjunto de conceitos e relações centrais.
Ontologia Namespace prefixo
OPMO http://openprovenance.org/ontology# opm
PML http://inference-web.org/2.0/pml-provenance.owl# pmlp
Provenir http://knoesis.wright.edu/provenir/provenir.owl# provenir
Provenance
Vocabulary
http://purl.org/net/provenance/ns# prv
PREMIS http://www.loc.gov/standards/premis/v2/premis-dd-2-0.pdf premis
WOT Schema http://xmlns.com/wot/0.1/ wot
SWAN-PAV http://swan.mindinformatics.org/ontologies/1.2/pav.owl# pav
SWP http://www4.wiwiss.fu-berlin.de/bizer/WIQA/swp/SWP-
UserManual.pdf
swp
W3P http://purl.org/provenance/spec/xprov_core/schema# w3p
Dublin Core http://www.dublincore.org/documents/dcmi-terms/ dcterms
Ouzo http://www.mygrid.org.uk/provenance# ouzo
64
As classes genéricas são: Artefatos, Agentes e Processos, enquanto que as relações
centrais estão associadas com o metamodelo OPM. A OPMO possui múltiplos perfis de
serialização em formato XML Schema e OWL.
3.4.2 – Proof Markup Language
A ontologia Proof Markup Language (PML) (MCGUINNESS et al., 2007),
atualmente na versão 2.0, é considerada pelos autores como uma ontologia de
proveniência. Ela foi subdividida em três vocabulários complementares (PML-P, PML-J
e PML-T). No entanto. a PML-P é uma ontologia relacionada com proveniência e tem
como objetivo prover um conjunto de primitivas que podem ser utilizadas para gerar
anotações de proveniência sobre dados em sistemas baseados em raciocínio (reasoning
systems). A modelagem da PML-P está ancorada em sólida fundamentação teórica, foi
desenvolvida em OWL e possui um grande número de classes.
3.4.3 – Provenir
A ontologia Provenir (SAHOO, SHET, 2009) foi desenvolvida com o objetivo
de ser uma ontologia de topo em proveniência retrospectiva para ser utilizada em
aplicações de Web Semântica na área de e-Ciência, em especial em bioinformática
Provenir reusa conceitos originais da SUMO (PEASE et al., 2002) e relações da RO
(Relational Ontology) (SMITH et al., 2005).
Assim como a OPMO, Provenir também é composta por três classes principais
(Dado, Processo e Agente) que estão ancoradas em dois conceitos primitivos da
ontologia SUMO (i.e. Processos é um occurrent e Agente e Dados são continuants).
Além dessas classes principais, existem cinco subclasses que buscam especializar a
classe de Dado para adaptá-lo ao contexto de workflows científicos. Enquanto a OPMO
utiliza poucos relacionamentos entre seus conceitos, Provenir utiliza uma grande
quantidade de relações importadas diretamente da RO. Os autores alegam que a
pequena quantidade de relacionamentos disponíveis na OPM dificulta o processo de
inferência da Provenir. Provenir foi desenvolvida em OWL.
3.4.4 – Provenance Vocabulary
Provenance Vocabulary (HARTIG, ZHAO, 2009), (HARTIG, ZHAO, 2010) é
uma ontologia voltada para a proveniência de dados ligados da Web (Open Linked Data
65
ou em português dados ligados abertos), permitindo que provedores de dados
publiquem suas informações associadas com os descritores de proveniência
correspondentes. O vocabulário ainda está em desenvolvimento, sendo codificado em
OWL-DL. A ontologia foi subdividida em um módulo central e dois módulos
suplementares que contêm os termos menos freqüentemente utilizados (termos de
acesso a dados e termos de criação de dados). Segundo HARTIG e ZHAO (2010),
Provenance Vocabulary não é adequada para descrever a proveniência de outros tipos
de elementos que não sejam documentos Web.
3.4.5– PREMIS
PREMIS (SANDERSON et al., 2010) é um dicionário de dados que ainda está
em fase de desenvolvimento pela Universidade de Ghent da Bélgica. PREMIS tem
como objetivo auxiliar a preservação de longo prazo de documentos em bibliotecas. Seu
foco principal é na proveniência de materiais físicos (livros, partituras, anotações, etc.)
ou documentos digitais. O modelo do dicionário especifica um grande volume de
descritores voltados para a área de biblioteconomia e utiliza uma Dublin Core e OWL
em sua representação.
3.4.6 – WOT Schema
Web of Trust (WOT Schema) (GAO, HOUBEN, 2010) é uma ontologia que
provê o vocabulário específico para os documentos da Web, permitindo que eles sejam
validados através de mecanismos que utilizam pares de chaves públicas e privadas
(Pretty Good Privacy - PGP). A iniciativa relaciona chaves criptográficas, documentos
e usuários para criar um mecanismo que promove o estabelecimento de estratégias de
confiabilidade dos dados através da utilização de uma trilha de proveniência. A
ontologia é codificada em OWL.
3.4.7 – SWAN-PAV
O projeto SWAN (Semantic Web Applications in Neuromedicine) (GAO et al.,
2006) é um projeto interdisciplinar que tem por objetivo desenvolver um arcabouço
semanticamente bem estruturado para ser utilizado em projetos de pesquisa envolvendo
a Doença de Alzheimer. O projeto contempla várias ontologias, entre elas a ontologia
PAV (Provenance, Authoring and Versioning) (CICCARESE, 2008) que foi
desenvolvida com o objetivo de prover apoio semântico e todas as relações necessárias
66
para o controle de proveniência e versionamento de documentos utilizados nos
experimentos relacionados com a doença. Os conceitos da SWAN-PAV não são bem
documentados e seu domínio se restringe aos experimentos que envolvem doenças
neurodegenerativas. PAV foi desenvolvida em OWL.
3.4.8 – Semantic Web Publishing
Semantic Web Publishing (SWP) (BIZER, 2006) não é uma ontologia, é um
vocabulário disposto sob a forma de um RDF-Schema. Ele é utilizado para prover meta-
informações sobre documentos Web quando movidos entre produtores e publicadores
de informações. Assim como o WOT Schema, a SWP também faz uso de assinaturas
digitais. O SWP foi desenvolvido como RDF.
3.4.9 – W3P
W3P (FREITAS et al., 2011) é uma proposta de ontologia que provê um modelo
genérico para a produção de documentos na Web. A W3P foi desenhada para ser
compatível com a especificação OPM. Os autores consideram que a reutilização de
conceitos OPM facilitará a interoperabilidade com outros modelos de proveniência.
W3P ainda está em construção e faz uso de padrões da Web Semântica. W3P utiliza
OWL como linguagem de representação.
3.4.10 – Dublin Core e outros vocabulários da Web
Dublin Core é um padrão muito difundido para representação de metadados de
propósito geral (DCMI, 2011), seus termos e propriedades estão disponíveis sob a
forma de esquemas RDFS. Dublin Core provê um vocabulário genérico de descritores
de recursos eletrônicos. Muitos dos termos novos e propriedades específicas foram
incluídos recentemente como forma de acomodação para uma descrição adequada da
proveniência de recursos eletrônicos. Por exemplo, os termos contributor, source,
creator, modified, publisher e provenance são recentes. A definição mais atual do termo
provenance é: ―uma declaração de qualquer mudança de propriedade ou custódia de
um recurso, desde sua criação, que seja significante para resguardar autenticidade,
integridade e interpretação do recurso‖. Esse termo foi declarado como necessário
porque descreve informações sobre essas mudanças e pode ajudar a selecionar um
recurso ou a interpretá-lo. No entanto, como se pode observar ele é muito genérico e
dificilmente pode ser associado com os descritores de experimentos científicos.
67
O vocabulário Friend of a Friend (FOAF) (FOAF, 2011) provê classes e
propriedades para descrever pessoas, organizações, grupos e agentes de software na
Web. As descrições baseadas em FOAF podem ser utilizadas para obter informações
sobre pessoas ou pesquisadores (por exemplo, nomes, grupos de pesquisa, email, entre
outros).
SIOC (Semantically-Interlinked Online Communities) (BOJARS, BRESLIN,
2011) também é um vocabulário para a Web. Ele é utilizado para descrever informações
sobre comunidades online como, por exemplo, blogs, postagens, anotações na Web e
mensagens de email de usuários identificados.
FOAF e SIOC possuem as mesmas desvantagens da Dublin Core, isto é, seus
termos são muito genéricos para descrever de modo preciso a proveniência de
experimentos científicos, além disso, são fortemente utilizados para mapear recursos na
Web. Por esse motivo, existem poucos trabalhos na literatura que associam estas
tecnologias com experimentos científicos (HARTIG, 2009).
3.4.11 – Ouzo Provenance Ontology
A ontologia Ouzo foi desenvolvida por ZHAO (2007) para ser parte integrante
do projeto myGrid. Ela foi concebida para representar a execução de workflows
científicos e os dados manipulados, além de mapear as entidades envolvidas na
execução de workflows através da Web. A ontologia é modular e expressa em OWL-
DL, sendo composta por quatro subontologias: Ontologia de processos, dados,
organização e de conhecimento. Para ZHAO (2007), outras ontologias podem ser
associadas à Ouzo com o objetivo de expressar aspectos de domínios específicos sobre
os dados utilizados no experimento. Ouzo é uma ontologia voltada exclusivamente para
o SGWfC Taverna, durante a sua modelagem inicial, e não levou em consideração a
especificação OPM. A ontologia foi posteriormente atualizada, permitindo a importação
e exportação de dados de acordo com a OPM.
3.5 - Estudo Comparativo Entre Ontologias de Proveniência
Nesta sub-seção se investiga a correlação dos conceitos utilizados pelas
ontologias de proveniência.
68
Com o objetivo de padronizar a análise, verificar sobreposição ou ausência de
termos e permitir que o resultado deste estudo comparativo seja facilmente
compreendido pelos cientistas interessados no uso de ontologias de proveniência, porém
sem profundo conhecimento sobre as técnicas utilizadas de construção de ontologias.
Utilizamos a especificação OPM, e a partir dos seus termos realizamos os
mapeamentos.
Os quadros 5, 6 e 7 apresentam a seleção de ontologias e comparação da
cobertura de seus conceitos. Cada célula do quadro contém um, dois ou mais conceitos
de proveniência de uma ontologia comparada com conceito equivalente da OPMO. Os
quadros 5, 6 e 7 foram desenvolvidos através da análise das definições em OWL das
ontologias e demais documentos de apoio.
Ressalta-se que os quadros foram divididos em três partes apenas por questões
de formatação e também para facilitar a leitura e compreensão. As ontologias FOAF e
SIOC não estão representadas, pois não possuem aplicação prática na área de
experimentos científicos em larga escala.
Quadro 4. Comparativo entre os termos da OPMO, PML, Provenir e Provenance
Vocabulary
Termos do modelo
de referência
(OPMO)
PML ProvenirProvenance
Vocabulary
opm:Process pmlj:InferenceStep provenir:process prv:Execution prv:DataAccessprv:DataCreation
opm:Artifact pmlp:Informationpmlp:Source
provenir:data prv:Artifact, prv:DataItemprv:CreationGuidelineprv:File
opm:Agent pmlp:Agent, pmlp:Source
provenir:agent prv:Actor
opm:Account pmlj:NodeSet provenir:has_participant Não há
opm:wasDerivedFrom pmlp:hasSourceUsage provenir:derives_from prv:precededBy
opm:used pmlj:hasAntecedentList provenir:has_participant prv:employedArtifactprv:usedDataprv:usedGuideline
opm:wasGeneratedBy pmlj:IsConsequentOfpmlp:hasConclusion
provenir:has_participant prv:yieldedBy prv:createdByprv:retrievedBy
opm:wasControlledBy pmlp:hasSourceUsagepmlj:hasInferenceEngine
provenir:has_agent prv:involvedActorprv:performedBy
opm:wasTriggeredBy Não há provenir:preceded_by Não há
69
Quadro 5. Comparativo entre os termos da OPMO, PREMIS, WOT-Schema e
SWAN-PAV (continuação).
Quadro 6. Comparativo entre os termos da OPMO, W3P e Dublin Core
(continuação).
A partir das análises dos quadros 5, 6 e 7 é possível traçar algumas conclusões
que são válidas para o escopo desta tese, a saber:
De forma geral é possível afirmar que cada ontologia foi desenvolvida segundo
um conjunto muito particular de considerações. Ou seja, ao avaliar as ontologias e seus
termos, percebe-se a ausência do estabelecimento de compromisso ontológico que
deveria revelar uma tomada de posição em relação aos objetos que se reconhecem como
fundamentais em uma determinada visão de mundo. Algumas ontologias são específicas
Termos do modelo
de referência
(OPMO)
PREMIS WOT-Schema SWAN-PAV
opm:Process premis:Event wot:SigEvent Não há
opm:Artifact premis:Object wot:PubKey Não há
opm:Agent premis:Agent Não há Não há
opm:Account Não há Não há pav:versionNumber
opm:wasDerivedFrom premis:relatedObjectIdentification Não há pav:importedFromSource, pav:previousVersion
opm:used premis:linkingObjectIdentifier wot:signer Não há
opm:wasGeneratedBy premis:relatedEventIdentification Não há pav:createdBy
opm:wasControlledBy premis:linkingAgentIdentifier Não há pav:contributors, pav:authors, pav:curators, pav:importedBy, pav:publishedBy, pav:submittedBy
opm:wasTriggeredBy Não há Não há Não há
Termos do modelo
de referência
(OPMO)
PREMISWOT-
SchemaSWAN-PAV
opm:Process premis:Event wot:SigEvent Não há
opm:Artifact premis:Object wot:PubKey Não há
opm:Agent premis:Agent Não há Não há
opm:Account Não há Não há pav:versionNumber
opm:wasDerivedFrom premis:relatedObjectIdentification Não há pav:importedFromSourcepav:previousVersion
opm:used premis:linkingObjectIdentifier wot:signer Não há
opm:wasGeneratedBy premis:relatedEventIdentification Não há pav:createdBy
opm:wasControlledBy premis:linkingAgentIdentifier Não há pav:contributors, pav:authorspav:curators, pav:importedBypav:publishedBypav:submittedBy
opm:wasTriggeredBy Não há Não há Não há
70
para o domínio de determinadas classes de estudo, enquanto que outras são
exclusivamente voltadas para a Web. Poucas consideram os experimentos e workflows
científicos, nenhuma possui conceitos relacionados aos experimentos científicos de
larga escala.
Algumas iniciativas que tratam do tema proveniência possuem algum grau de
equivalência com a OPMO. Porém, formalmente, não podem ser definidas como
ontologias. Algumas dessas iniciativas são vocabulários controlados (por exemplo,
SWP, Dublin Core, WOT Schema) ou simples dicionários de dados (por exemplo,
PREMIS).
Com relação às ontologias propriamente ditas (por exemplo, OPMO, PML,
Provenir, Provenance Vocabulary, SWAN-PAV, W3P, Ouzo), cada uma foi
desenvolvida sob os seus próprios princípios e sem explicitar claramente seus
compromissos ontológicos. Cada ontologia abrange diferentes enfoques relacionados à
proveniência. Por exemplo, poucas podem se relacionar com workflows ou
experimentos (por exemplo, OPMO, Provenir e SWAN-PAV), enquanto outras são
voltadas exclusivamente para a Web (por exemplo, Provenance Vocabulary e W3P).
Nenhuma das ontologias avaliadas apresenta conceitos capazes de distinguir de modo
efetivo as diferentes granulosidades envolvidas nos descritores de proveniência
prospectiva e retrospectiva.
Algumas ontologias são meramente representadas por vocabulários, enquanto
outras oferecem a capacidade de realizar inferências. Por exemplo, DCTerms é apenas
um vocabulário, enquanto que OPMO e PML permitem que se realizem inferências
sobre suas classes e propriedades. Porém, é notável que algumas das inferências
propostas (por exemplo, inferências transitivas em grafos de proveniência) mencionadas
tanto nas especificações OPMO quanto na PLM ainda não são permitidas em
codificações OWL.
Mesmo dentre as ontologias relacionadas a workflows ou experimentos
científicos, não existem ontologias genéricas para experimentos científicos em larga
escala que não sejam dependentes de domínio. Das poucas ontologias voltadas para
experimentos, todas são específicas para certos domínios, além disso, não consideram a
existência de um ciclo de vida de experimentos científicos nem são independentes de
domínio. Por exemplo, a ontologia SWAN-PAV é voltada para estudos da área
71
biomédica específicos em experimentos relacionados com a Doença de Alzheimer,
enquanto a ontologia Provenir se relaciona exclusivamente com experimentos de área
de Bioinformática, em especial aqueles que envolvem seqüências genômicas de
tripanosomatídeos.
Dentre as ontologias avaliadas, nenhuma delas teve sua modelagem e construção
baseadas em ontologias de fundamentação ou teve seus compromissos ontológicos
explicitados. A ontologia que mais se aproxima desse padrão é a Provenir (SAHOO,
SHET, 2009). Mesmo assim, os autores indevidamente consideram que a sua ontologia
é uma ontologia de topo, entretanto, esta afirmativa não se ancora em referenciais
teóricos disponíveis na literatura GUARINO (1998). O processo de modelagem da
Provenir não é transparente, seu desenvolvimento está fortemente ancorado na OBO,
uma ontologia de domínio voltada exclusivamente para aplicações biomédicas. Os
autores advogam que essa solução pode ser utilizada em qualquer domínio de aplicação
da área de e-Ciência, desde que sejam associadas com outras ontologias. No entanto, os
autores não oferecem exemplos que suportem esta afirmação.
Observa-se que existe um predomínio da linguagem OWL como linguagem de
descrição de ontologias de proveniência. Nenhuma das ontologias de proveniência
avaliadas foi modelada utilizando a linguagem de nível ontológico (por exemplo,
OntoUML) ou mesmo teve a UFO ou qualquer outra ontologia de fundamentação como
base de desenvolvimento.
Finalmente, também observa-se que essas ontologias foram desenvolvidas para
serem utilizadas de forma firmemente acoplada a projetos de pesquisa específicos.
Adicionalmente, nenhum desses produtos levou em consideração os diferentes tipos e
granulosidades de proveniência que podem ser produzidas ao longo do ciclo de vida de
um experimento científico em larga escala.
3.6 – Considerações Finais
A consolidação da e-Ciência está intimamente relacionada com a capacidade dos
pesquisadores em manipular crescentes volumes de dados e de descritores de
proveniência. A literatura apresenta diversas propostas de sistemas e ontologias para
tratar a questão da proveniência. No entanto, nenhuma das ontologias disponíveis é
considerada um padrão consensual para a área de e-Ciência, tampouco abrangem
72
aspectos da experimentação científica em larga escala. Este fato é compreensível se
considerarmos três aspectos principais:
(i) As atuais ontologias de proveniência ainda são incipientes e não consideram as
diferentes granulosidades dos descritores de proveniência gerados ao longo do
ciclo de vida de experimentos científicos;
(ii) As ontologias de proveniência disponíveis na literatura não formalizam
explicitamente seus compromissos ontológicos, isto é, não definem de modo não
ambíguo os termos e conceitos relacionados à proveniência (prospectiva ou
retrospectiva).
(iii) Nenhum dos atuais sistemas de proveniência é governado por ontologias de
proveniência.
Ao avaliar conjuntamente os SGWfC, as ontologias de proveniência e os
fundamentos da UFO, é possível delinear algumas considerações importantes.
Apesar de existir um grande esforço de pesquisa na área de ontologias, ainda
não há um consenso sobre quais conceitos relacionados à proveniência devem ser
representados nas ontologias de proveniência. Além disso, inexistem ontologias de
proveniência voltadas para experimentos científicos em larga escala que sejam
explicitamente construídas com base em ontologias de fundamentação.
Dentre as ontologias de proveniência avaliadas, nenhuma teve sua gênese
apoiada por ontologias de fundamentação. Além disso, nenhuma delas foi originalmente
modelada através de linguagens do nível ontológico; em sua grande maioria foram
modeladas diretamente no nível epistemológico (por exemplo, versões da OWL),
portanto, sem explicitação dos compromissos ontológicos adotados.
A partir dessas considerações, é possível perceber que nenhum dos sistemas de
proveniência atualmente disponíveis contempla as questões de pesquisa propostas neste
trabalho. Com isso, consolida-se a oportunidade de desenvolvimento de uma nova
estratégia computacional que incorpore, desde seus primeiros estágios de
desenvolvimento, tanto o tratamento semântico dos descritores de proveniência quanto
as questões relacionadas à gerência de descritores de proveniência de experimentos
científicos de larga escala executados em ambientes distribuídos do tipo nuvem de
computadores.
73
Concluindo, neste capítulo, defendemos a adoção e o uso explícito de ontologias
de fundamentação como base para o desenvolvimento de um sistema de proveniência
que seja governado por ontologias, bem fundamentadas, de proveniência.
74
Capítulo 4 – Categorização de Sistemas de Proveniência
Dentro dos objetivos do presente trabalho, propomos uma taxonomia para
classificar as diferentes características dos descritores de proveniência manipulados
pelos sistemas de proveniência. O termo ‗sistemas de proveniência‘ compreende tanto
SGWfC com suporte à coleta de proveniência quanto sistemas independentes que
podem ser conectados aos SGWfC para coletar descritores de proveniência.
A taxonomia tem como princípio geral representar, através de uma estrutura
hierárquica multinível, os conceitos fundamentais sobre os descritores de proveniência.
O objetivo fundamental desta taxonomia não é unicamente classificar ou facilitar o
acesso à informação, mas:
(i) Representar conceitos através de termos comuns;
(ii) Propor formas de controle da diversidade de significação;
(iii) Agilizar a comunicação entre os pesquisadores do tema e outros públicos;
(iv) Oferecer uma organização conceitual que servirá como guia tanto para a
construção de novos sistemas de gerência de proveniência de experimentos em
larga escala quanto para o desenvolvimento de ontologias de proveniência.
Existem publicações que comparam as funcionalidades dos SGWfC e discutem
suas estratégias de coleta de proveniência (SIMMHAN et al., 2005, YU e BUYYA,
2005, DEELMAN et al., 2009, VICKNAIR, 2010). No entanto, estes trabalhos
concentram-se em um pequeno conjunto de aspectos, adicionalmente não consideram o
papel do ciclo de vida do experimento científico. A taxonomia aqui representada pode
ser considerada como um dos primeiros esforços para oferecer uma visão sistemática e
conceitual de um grande conjunto de aspectos da proveniência, correlacionando-os com
os sistemas de proveniência.
Este capítulo está organizado da seguinte forma. Na Seção 4.1, apresentamos a
taxonomia de características de proveniência associadas aos sistemas de proveniência.
Na Seção 4.2 produzimos um estudo comparativo envolvendo os principais sistemas de
proveniência onde discutem-se as principais características e limitações. Por fim, a
Seção 4.3 conclui o capítulo.
75
4.1 - Taxonomia de Proveniência
Taxonomias, assim como ontologias, representam sistemas diferenciados de
organização do conhecimento (MARTINEZ et al., 2004). Enquanto as ontologias
buscam estabelecer relações semânticas entre conceitos, em forma de redes conceituais,
próximas da estrutura que trabalha a mente humana, as taxonomias operam no sentido
de organizar a informação e/ou conhecimento em relações hierárquicas entre os seus
termos.
Uma taxonomia é, por definição, uma classificação sistemática sendo
conceituada como uma ferramenta de organização intelectual (BRUNO e RICHMOND,
2003, CAMPOS e GOMES, 2007). Sua organização dá-se sob a forma de uma
classificação de conceitos arranjados de forma hierárquica, através de relacionamentos
do tipo pai-filho. Recentemente, o uso de taxonomias tem sido amplamente adotado
pela Ciência da Computação, por permitir acesso através de navegação em que os
termos apresentam-se de forma lógica, ou seja, em classes, subclasses, sub-subclasses, e
assim por diante, em quantos níveis de especificidade forem necessários, cada um deles
agregando informação sobre as informações existentes na base de conhecimento.
O estabelecimento de uma taxonomia de características de proveniência em
sistemas de proveniência permite que instituam-se padrões de alto nível para a
ordenação e categorização dos descritores de proveniência de experimentos científicos e
também que classifiquem-se as principais características estruturais e operacionais
desses sistemas de proveniência.
A taxonomia também desempenha um papel de ordem prática. Ela possibilita
que pesquisadores possam ―compreender‖ como essas estruturas de conceitos se
relacionam sem atribuir-lhes um significado denso. Por exemplo, se um pesquisador que
não é profundo conhecedor do tema proveniência ou dos sistemas de proveniência e, ao
utilizar a hierarquia para averiguar detalhes sobre os tipos de proveniência,
granulosidades, formas de consulta e métodos de acesso aos descritores, pode
facilmente optar pela adoção de um sistema em detrimento de outro qualquer, ele pode
escolher mais facilmente qual o sistema que melhor se adéqüe às necessidades da sua
pesquisa ou dos seus experimentos.
Os sistemas de proveniência aqui relacionados constituem um subconjunto das
soluções disponibilizadas pelas comunidades de pesquisa de workflows científicos. Por
76
razões de praticidade, a taxonomia, representada na Figura 11, ilustra a classificação das
características de proveniência que podem ser associadas aos ciclos de vida de
experimentos científicos conduzidos em ambientes centralizados ou distribuídos.
Figura 9. Taxonomia de proveniência, adaptado de (CRUZ et al., 2009).
Uma descrição completa e mais detalhada da taxonomia encontra-se disponível
em (CRUZ et al. 2009).
4.1.1 – Captura de Proveniência
Esta sub-seção classifica como os descritores de proveniência são capturados
nos atuais sistemas de proveniência (Figura 12).
Figura 10. Sub-taxonomia de captura de proveniência
Objeto
Granulosidade
Mecanismo
Etapa
Orientação
AnotaçãoInversão
Grossa
Fina
Execution (Retrospectiva)
Composição (Prospectiva)
ProcessoDado
Ah-hoc
Manual
Automatica
Externa
Interna
Análise (Analítica)
Captura
Nível
Workflow
Atividade
S.O.
TécnicaRastreamento
Guloso
Amostral
Escalabilidade Acoplamento Arquivamento
Semiestruturado
Centralizado Distribuído
Homogêneo
HeterogêneoNenhum
Baixo
Alto
Time-Stamp
Seqs de Delta
Armazenamento
Persistência
Relacional
OWL
XML
Consulta
Acesso
APIQBE
Proveniência
Relacional
Semântica
XML
Apoio
Semântico
Ontologia
Taxonomia
Vocabulário
Domínio
Tarefa
Aplicação
Mecanismo
AnotaçãoInversão
Ah-hoc
Manual
Automatica
Externa
Interna
Captura
Nível
Workflow
Atividade
S.O.
TécnicaRastreamento
Guloso
Amostral
77
Mecanismos de Captura – Os sistemas de proveniência podem coletar
diferentes tipos de informações sobre a composição e execução de workflows, no
entanto, essas informações são coletadas de formas distintas. Existem dois mecanismos
para a coleta de descritores. Alguns sistemas utilizam estruturas internas diretamente
codificadas na máquina de execução do SGWfC para capturar os descritores de
proveniência durante a composição do workflow concreto (por exemplo, VisTrails
(CALLAHAN, et al., 2006)) e outros durante sua execução (por exemplo, Taverna
(OINN et al., 2007), PASOA (GROTH et al., 2005)). Geralmente, os sistemas que
utilizam estruturas internas estão habilitados a coletar descritores em sistemas
centralizados. Os sistemas que utilizam estruturas externas são mais genéricos, sendo
geralmente baseados em serviços para coletar proveniência de ambientes distribuídos e
heterogêneos (por exemplo, Kepler (LUDÄSCHER et al., 2006), Pegasus/Wings
(DEELMAN et al., 2005), Zoom (COHEN-BOULAKIA et al., 2008), Karma5
(SIMMHAN et al., 2008), ProvManager (MARINHO et al., 2010).
Rastreamento – Existem duas abordagens associadas à coleta de dados
(BUNEMAN et al., 2006, CHENEY et al., 2009): gulosa (também conhecido por
eager, bookkeeping ou anotação) e amostral (também conhecido por lazy, não-anotação
ou relaxada). Os sistemas de proveniência que utilizam a abordagem gulosa, coletam os
descritores de modo intenso, isto é, à medida que os eventos monitorados ocorrem, a
coleta é realizada. Na abordagem amostral, a coleta é menos intensa e somente alguns
descritores de proveniência são coletados. A abordagem gulosa é, normalmente,
utilizada pelos sistemas acoplados a SGWfC, enquanto que a amostral é aplicada a
bancos de dados (por exemplo, ORCHESTRA, DBNotes e Trio (CHENEY et al.,
2009)). A principal vantagem da abordagem amostral é o menor volume de dados
coletados e conseqüente menor sobrecarga do sistema e menor consumo de espaço para
armazenamento. Por outro lado, a abordagem gulosa é capaz de acelerar as consultas
sobre os descritores de proveniência.
Nível de Captura – Esta categoria diz respeito à classificação dos níveis onde
pode-se realizar a coleta de proveniência. Um mecanismo de coleta de proveniência
deve ter acesso aos detalhes da composição e execução do workflow. Ele pode operar
em três níveis operacionais distintos: nível do workflow, da atividade ou do sistema
operacional (DAVIDSON, FREIRE, 2008).
Atualmente existem duas novas versões do Sistemas Karma (Karma2 e Karma3). Nesta seção
78
Capturar proveniência no nível do workflow é a abordagem mais tradicional e a
mais disseminada entre os SGWfC (por exemplo, VisTrails, Kepler, Taverna, PASOA,
Swift). Os descritores de proveniência são coletados diretamente pelo SGWfC em
ambientes locais ou distribuídos. Os mecanismos de coleta podem ser integrados com o
SGWfC ou conectados a ele, sendo responsáveis por coletar e armazenar os descritores
em um esquema de proveniência adequado. Ressalta-se que, neste nível, as informações
são extraídas mais facilmente, mas por outro lado, o alto acoplamento ao SGWfC torna
a solução mais aplicável somente em cenários não heterogêneos, onde apenas um
SGWfC é utilizado.
A captura no nível da atividade requer adaptações do workflow concreto. Neste
nível, cada processo é responsável por capturar suas próprias informações de
proveniência e, com isso, a dependência do SGWfC é relativizada. Assim, a
granulosidade da informação capturada tende a ser semelhante àquela capturada no
nível do workflow.
A captura neste nível requer que os processos sejam encapsulados por wrappers
que interceptam as chamadas de controle do SGWfC, processam a captura da
proveniência e passam adiante o controle. Entretanto, o problema de trabalhar neste
nível operacional repousa na necessidade de instrumentalizar as atividades para darem
suporte ao mecanismo de captura. Geralmente, essa adaptação é deixada a cargo do
pesquisador, porém, a maioria não necessariamente possui habilidades computacionais
suficientes para tal. Essas alterações não só requerem mudanças estruturais no workflow
concreto, como também são passíveis de problemas relacionados ao desempenho. Um
exemplo dessa abordagem é o ProvManager (MARINHO et al., 2010).
Por fim, captura de proveniência no nível do sistema operacional produz
descritores de proveniência de baixo nível, dificilmente coletados nos níveis anteriores.
Não é necessário programar nenhuma modificação no workflow concreto, basta apenas
que o pesquisador conheça algumas configurações básicas do sistema distribuído.
Técnica de Captura – Esta categoria refere-se às duas técnicas de captura
existentes nos atuais sistemas de proveniência: anotação e inversão.
Captura por anotação consiste da adição de etiquetas (tags) nos produtos de
dados gerados por um workflow concreto, podendo a anotação ser sistemática ou ad
consideramos as três versões como sendo Karma.
79
hoc. Uma anotação pode ser usada para descrever tanto o produtor do artefato quanto o
dado propriamente dito. Anotações podem ser geradas manualmente ou
automaticamente. As anotações geralmente consistem de um par <nome-valor> e
podem ser registradas em diferentes níveis de granulosidade. As anotações estão
associadas com elementos geradores de proveniência retrospectiva.
Captura por inversão consiste no registro das operações executadas sobre os
artefatos, permitindo que os produtos de dados sejam recriados a posteriori. Esta
técnica é utilizada quando um produto não pode ser gerado novamente, pois uma re-
execução seria muito onerosa. A inversão é mais compacta que a anotação e as
informações produzidas são mais esparsas quando comparadas com a anotação. Um
exemplo de sistema de proveniência que utiliza a técnica é o VisTrails para o registro de
proveniência prospectiva.
4.1.2 – Objeto da Proveniência
Esta sub-seção classifica os descritores de proveniência em termos dos níveis de
detalhe (Figura 13).
Figura 11. Sub-taxonomia de objeto de proveniência.
Etapas da proveniência – Os descritores de proveniência podem ser coletados
durante as três etapas distintas do ciclo de vida do experimento científico (DAVIDSON,
FREIRE, 2008, CLIFFORD et al., 2008): composição, execução e análise do workflow.
Na etapa de composição do experimento, é possível coletar os descritores de
proveniência prospectiva, eles registram as especificações abstratas de um workflow. A
forma prospectiva representa os passos e ações (manuais ou não) que devem ser
seguidos para a geração de um artefato (por exemplo, os passos que devem ser seguidos
para a execução de um conjunto de processos relacionados), permitindo desta forma o
80
registro da especificação de tarefas computacionais (por exemplo, conjunto de
processos, um script). Exemplos de sistemas que apóiam a composição são o VisTrails
e Askalon (FAHRINGER et al., 2007). Essa captura pode ser bastante facilitada se o
SGWfC possui um indicador de registro de transação, como é o caso do SGWfC
VisTrails.
Na etapa de execução, é possível coletar descritores de proveniência
retrospectiva. A forma retrospectiva descreve os passos executados por uma tarefa
computacional, assim como as informações sobre o ambiente computacional utilizado
para derivar um dado produto. Desse modo, representa uma descrição detalhada sobre a
execução da tarefa (por exemplo, os artefatos produzidos por um sistema computacional
para busca por similaridade entre seqüências protéicas de protozoários, além de todos os
parâmetros e dados envolvidos na execução dessa tarefa). A maioria dos SGWfC apóia,
em diferentes graus, a coleta deste tipo de proveniência.
Essas duas formas de captura de proveniência são complementares, ou seja, para
a captura da proveniência prospectiva, a captura da proveniência retrospectiva não é
estritamente necessária.
Por fim, na etapa de análise, é possível avaliar os resultados científicos obtidos
através da execução de consultas realizadas sobre os repositórios de proveniência (GIL
et al., 2007). Nesta etapa os usuários podem acessar os repositórios (proveniências
prospectiva e/ou retrospectiva) e fazer uso de linguagens ou ferramentas de consulta,
visualização ou nagevação.
Estruturar as informações de proveniência em múltiplas etapas é uma vantagem,
pois permite a normalização da sua representação, evitando armazenamentos
redundantes e custos de manutenção excessivos.
Granulosidade da proveniência – Esta categoria refere-se ao nível de detalhe
do descritor de proveniência. Segundo a literatura, a granulosidade pode ser fina ou
grossa e o que distingue o tamanho do grão é o tipo de mecanismo utilizado na sua
captura e o tamanho do grão de informação.
A proveniência de fina granulosidade é geralmente produzida através do
processo de captura por anotação e representa mais detalhes acerca de um processo ou
item de dado. Proveniência fina não pode ser facilmente subdivida em elementos
81
menores e é, normalmente, capturada em bancos de dados ou no nível do sistema
operacional, este tipo de descritor está associado com a execução de um processo.
A proveniência de grossa granulosidade (também chamada de proveniência de
workflow) registra a história da composição e processamento do workflow ou a
derivação de um conjunto de dados.
A decisão sobre o nível de granulosidade adotado pelo SGWfC afeta tanto o
volume de dados contido no repositório, quanto o tipo de pesquisa que pode ser
respondida na etapa de análise do experimento. Quando uma organização de pesquisa
possui grandes quantidades de dados de proveniência, faz sentido pensar em dois (ou
mais) níveis de granulosidade. Com a criação de níveis de granulosidade é possível
atender a diversos os tipos de consultas (consultas históricas, analíticas e operacionais).
Orientação – Diz respeito à seqüência de etapas (processo) que juntamente com
os dados de entrada e parâmetros levam à criação de um artefato. Segundo FREIRE et
al. (2008), a orientação pode ser inferida a partir das proveniências prospectivas e
retrospectivas. A orientação é representada sob a forma de um grafo cujos nodos
correspondem aos processos e produtos de dados e as arestas às dependências entre
dados e processos.
4.1.3 – Acesso aos Descritores de Proveniência
Esta sub-seção classifica como os cientistas podem ter acesso aos descritores de
proveniência. Idealmente, os sistemas de gerência devem prover os meios necessários
para que os cientistas acessem os descritores de proveniência, no entanto, a maioria do
SGWfC oferece apoio limitado para esta tarefa (Figura 14).
Figura 12. Sub-taxonomia de acesso à proveniência.
Acesso QBE – Por intermédio de consultas QBE, (consultas visuais, com
sintaxe mínima e baseada em modelos (ELMASRI e NAVATHE, 2005)), os
Consulta
Acesso
APIQBE
Relacional
Semântica
XML
82
pesquisadores podem desenvolver consultas sobre os repositórios de proveniência
através de interfaces visuais fornecidas pelo próprio SGWfC (por exemplo, VisTrails).
Acesso via API – Consultas através de interfaces de programação fornecem um
padrão para operações sobre os repositórios de proveniência, facilitando a portabilidade
e acessibilidade. Como vantagem o pesquisador não necessita desenvolver estruturas de
acesso proprietárias podendo fazer uso de interfaces pré-definidas. Como desvantagem
até o momento existem poucos sistemas que oferecem este tipo de recurso (e.g. PASS,
KARMA e ProvManager).
Acesso via Consultas – Esta subcategoria está basicamente relacionada com as
linguagens de consulta utilizadas pelos pesquisadores para extrair conhecimento.
Existem esforços significativos de pesquisa sobre consultas de proveniência em bancos
de dados (BUNEMAN et al., 2001, BUNEMAN et al., 2006, CHENEYet al., 2009) e
SGWfC (HOLLAND et al., 2008, KARVOUNARAKIS et al., 2010) e Web Semântica
(SILVA al., 2006, SAHOO e SHET, 2009). Diversas linguagens vêm sendo utilizadas
na consulta de proveniência, cada uma com sua expressividade e eficiência. As
consultas podem ser subdivididas em três tipos: relacional, XML e baseadas em
linguagens de Web Semântica.
Nas consultas relacionais, normalmente utiliza-se a linguagem SQL, os
pesquisadores se beneficiam das facilidades de persistência e indexação, mas pode ter
dificuldades naquilo que se refere à integração entre esquemas, à heterogeneidade
semântica. Diferentemente das consultas relacionais, as baseadas em XML suportam o
uso de paths, podendo envolver XPath/XQuery, no entanto perdem extensibilidade para
definir regras de dedutibilidade (HOLLAND et al., 2008). Alguns modelos de
proveniência utilizam os princípios da Web Semântica tanto para representar quanto
para consultar os descritores de proveniência. As consultas suportam interoperabilidade
e inferências através de linguagens do tipo RDF, OWL e SPARQL.
Os descritores de proveniência também pode ser consultados através de
linguagens baseadas em lógica. Por exemplo, o CoMaD (BOWERS et al., 2008) opera
sobre arquivos XML através de consultas Prolog. Swift utiliza FLOQ um dialeto de
Frame Logic Language (ZHAO, LU, 2008), o ProvManager utiliza Prolog (MARINHO
et al., 2010).
83
4.1.4 – Apoio Semântico
Esta sub-seção classifica os sistemas de proveniência quanto à adoção de
estruturas que oferecem suporte semântico para a gerência da proveniência, isto é,
qualifica os sistemas de acordo com os tipos de mecanismos semânticos por eles
utilizados (i.e. ontologias, taxonomias ou vocabulários) para mapear os descritores de
proveniência associados com as etapas de concepção, execução, análise dos resultados
dos experimentos científicos.
Segundo PIGNOTTI et al., (2007, 2008), idealmente, os sistemas de
proveniência devem prover os mecanismos necessários para que os pesquisadores
utilizem metadados ou mecanismos semânticos para descrever quais recursos estão
sendo utilizados (por exemplo, serviços, artefatos, workflows, modelos, agentes) com o
objetivo de ampliar tanto a documentação sobre os workflows quanto expandir as
formas de colaboração entre as comunidades envolvidas na pesquisa (Figura 15).
Figura 13. Sub-taxonomia de apoio semântico.
Nos últimos anos surgiram iniciativas que visaram incorporar os benefícios da
Web semântica aos sistemas de proveniência. Dentre as iniciativas destacamos o projeto
FEARLUS-G (PIGNOTTI et al., 2005) voltado para a área de grades computacionais, o
sistema Taverna (OINN et al., 2007) e, mais recentemente, o sistema TetherlessPC3
(DING et al., 2011). As três iniciativas propuseram a adoção de ontologias de aplicação
para representar aspectos da proveniência. PIGNOTTI (2008) propôs uma ontologia
para registrar as intenções dos pesquisadores durante a modelagem de workflows
científicos desenvolvidos no sistema Kepler. Os principais conceitos desta ontologia
consideravam aspectos da proveniência prospectiva produzidos durante a etapa de
composição do workflow concreto que são: definição do modelo adotado, descrição das
atividades concretas, “workflows links” que descrevem os relacionamentos das
atividades e os seus artefatos. A literatura não reporta maiores detalhes sobre a
Apoio
Semântico
Ontologia
Taxonomia
Vocabulário
Domínio
Tarefa
Aplicação
84
tecnologia de construção da ontologia, nem oferece indícios de que ela tenha sido
disponibilizada para o público.
Os desenvolvedores do sistema Taverna também investigaram a possibilidade de
acoplar ontologias ao sistema. Neste caso foi desenvolvida uma ontologia de aplicação
denominada Ouzo Provenance Ontology (ZHAO, 2007) como parte da tese de
doutoramento desse autor. Ouzo contém conceitos relacionados à proveniência
retrospectiva, em especial os conceitos ligados à execução de um workflow científico e
dados utilizados. Ressalta-se que esta ontologia não foi incorporada às versões de
distribuição do sistema Taverna.
Recentemente, o mesmo grupo de desenvolvedores da ontologia PML codificou
o metamodelo OPM em OWL para participar do evento Provenance Challenge 3. A
ontologia resultante denomina-se PC3OPM e foi incorporada a uma arquitetura de
coleta de proveniência chamada TetherlessPC3 (DING et al. 2011). Uma das principais
capacidades do sistema é a marcação semântica da proveniência e capacidade de
importação/exportação de arquivos de proveniência baseados no OPM.
Acesso via Ontologia – Esta subcategoria está basicamente relacionada com a
indicação da ontologia tipo utilizada para mapear os descritores de proveniência.
Conforme discutido no Capítulo 3 desta tese, as ontologias de proveniência podem ser
de três tipos distintos: domínio, tarefa e aplicação.
Acesso via Taxonomia – Esta subcategoria está basicamente relacionada com as
taxonomias de proveniência que foram utilizadas pelos sistemas, para mapear os
conceitos de proveniência.
Acesso via Vocabulário – Esta subcategoria está basicamente relacionada aos
vocabulários controlados relacionados à proveniência.
Ressalta-se que as duas últimas categorias representam simples conjuntos de
termos, os termos em si não se constituem em uma ontologia. Uma característica
essencial das ontologias é a definição de axiomas que definem os termos a as restrições
de interpretação. Por esse motivo, propomos a separação explícita dos três mecanismos
para evitar classificações genéricas e equivocadas dos sistemas de proveniência.
85
4.1.5 – Armazenamento da Proveniência
Esta sub-seção classifica como os sistemas de proveniência utilizam-se dos
meios e técnicas de armazenamento de proveniência (Figura 16).
Figura 14. Sub-taxonomia de armazenamento da proveniência
Escalabilidade do Armazenamento – O volume de dados de proveniência
pode ser tão grande quanto os dados que ele descreve. Assim, escalabilidade do
armazenamento pode tornar-se um problema para os experimentos científicos em larga
escala. Os descritores podem ser armazenados localmente ou de modo distribuído.
Armazenamento centralizado mantém os metadados em um repositório único em um
único local. A principal desvantagem da centralização do armazenamento de
proveniência é o mesmo de um ponto único de falha. A centralização de repositórios é
muito comum na maioria dos SGWfC, no entanto, são mais fáceis de gerenciar, manter
e controlar (por exemplo, VisTrails, Taverna, Kepler). Já no armazenamento distribuído
existe uma coleção de vários repositórios logicamente inter-relacionados distribuídos ao
longo de uma rede de computadores, cada repositório é gerenciado por um sistema de
armazenamento (SGBD ou sistema de arquivos) que pode funcionar de maneira
autônoma. O armazenamento distribuído pode ser classificado como homogêneo, onde
cada sítio executa o mesmo tipo de sistema de armazenamento (por exemplo, PASS) ou
heterogêneo, em que sítios diferentes utilizam diferentes tipos de sistema de
armazenamento.
Acoplamento – Existem três estratégias de acoplamento: acoplamento nulo, alto
acoplamento e baixo acoplamento. O acoplamento nulo armazena informações de
proveniência em um ou vários repositórios sem duplicidades. Estes repositórios são
dedicados a armazenar somente os descritores de proveniência retrospectiva. Os
Escalabilidade Acoplamento Arquivamento
Semiestruturado
Centralizado Distribuído
Homogêneo
Heterogêneo Nenhum
Baixo
Alto
Time-Stamp
Seqs de Delta
Armazenamento
Persistência
Relacional
OWL
XML
86
sistemas baseados em serviços (por exemplo, Karma (SIMMHAN et al., 2008), VDS
(CLIFFORD et al., 2008)), podem utilizar um ou vários repositórios de dados. Estas
abordagens normalmente lidam com ambientes heterogêneos, com controle limitado
sobre a execução de processos e manipulação de itens de dados. Na estratégia alto
acoplamento, ocorre a gravação de proveniência com alto acoplamento, onde os
repositórios de proveniência estão fortemente acoplados a esquemas proprietários.
Exemplos dessa estratégia são utilizados pelos sistemas de bancos de dados (CHENEY
et al., 2009). Por fim, a estratégia de baixo acoplamento usa um esquema de
armazenagem mista onde os itens de proveniência do experimento e os dados são
registrados em um único sistema de armazenamento, mas em esquemas logicamente
separados.
Persistência – Esta subcategoria está basicamente relacionada com os tipos das
representações dos modelos conceituais utilizados para armazenar a proveniência. Um
modelo conceitual de proveniência define quais informações serão armazenadas nos
repositórios dos sistemas de proveniência.
Apesar de inúmeras iniciativas ainda não existe um modelo de consenso para a
representação de proveniência originada pelos SGWfC. A maioria dos SGWfC utiliza
seus próprios esquemas de proveniência que nem sempre são documentados ou estão
disponíveis na literatura. Este cenário torna-se um problema quando sistemas de
proveniência distintos têm para se comunicar para trocar seus descritores.
Atualmente, temos modelos de persistência representados por diversas
tecnologias, tais como: tabelas relacionais (por exemplo, ZOOM (COHEN-
BOULAKIA et al., 2008), REDUX (BARGA, DIGIAMPIETRI, 2008), Pegasus,
VisTrails), documentos XML (por exemplo, PASOA), documentos da Web semântica
(por exemplo, Provenir). O uso de estruturas ontológicas tem a vantagem de expressar
com formalismo os conceitos e relações utilizados pelos descritores de proveniência,
fornecendo a informação contextual mais apurada. Eles também ampliam a
interoperabilidade entre modelos de proveniência diferentes.
Tipo de Arquivamento – Esta subcategoria está basicamente relacionada com o
modo de armazenamento da proveniência. Existem duas abordagens: seqüência de delta
e time-stamp (TAN, 2004).
87
A primeira estratégia armazena uma versão de referência de um item de dados
(ou seja, a primeira versão ou última versão do produto de dados) ou, ainda, uma
seqüência de versões (deltas) entre versões sucessivas de dados produzidos por um
workflow. Idealmente, cada delta deve ser a menor diferença possível entre as duas
versões de um dado. A segunda estratégia utiliza repositórios maiores, mas armazenam
todas as versões dos dados manipulados, os timestamps são usados para marcar a
existência de produtos de dados em vários momentos do tempo.
4.2 - Análise dos Sistemas de Proveniência
Atualmente, existe um elevado número de sistemas de proveniência, muitos
operam em ambientes centralizados, outros em ambientes distribuídos, porém poucos
suportam o paradigma das nuvens de computadores. A maior parte dos sistemas
avaliados opera de modo acoplado com os SGWfC. Ao término desta seção
apresentamos uma tabela comparativa, utilizando as categorias expostas na taxonomia
para classificar os principais sistemas disponíveis na literatura (Quadro 8) e apresentar
algumas considerações sobre esses sistemas.
Inicialmente, vale ressaltar que nem todos os sistemas de proveniência avaliados
estão inseridos exatamente em uma única categoria da taxonomia. Portanto, os critérios
da taxonomia não devem ser tratados como itens absolutos, mas sim como uma
orientação para a definição e desenvolvimento de novas abordagens em sistemas de
gerência de proveniência.
Analisando o Quadro 8 algumas considerações gerais podem ser delineadas:
(i) Nenhum dos sistemas de proveniência avaliados pode ser considerado como
amplamente governado por ontologias de proveniência. O único sistema que
apresenta grau de associação com uma ontologia de proveniência é o sistema
Taverna.
(ii) Nenhuma abordagem fornece apoio à gerência de descritores de proveniência
produzidos ao longo do ciclo de vida do experimento científico em larga escala,
conforme apresentado no Capítulo 2 desta tese;
(iii) Os sistemas PASS, PASOA e Karma são sistemas de proveniência distribuída. O
primeiro sistema está intimamente associado à coleta de proveniência sobre os
arquivos manipulados na nuvem, porém não mantém informações sobre
88
processos. Os demais sistemas são construídos sob o paradigma da arquitetura
orientada a serviços são voltados para a coleta de proveniência sobre processos
em ambientes de serviços Web e grades de computadores;
(iv) Na maioria dos sistemas avaliados, observa-se que os mecanismos de coleta de
proveniência apresentam grau de dependência do SGWfC, com exceção dos
sistemas Karma e PASOA e ProvManager;
(v) Dentre os sistemas avaliados, somente o sistema PASS utiliza mecanismo de
captura de proveniência no nível do sistema operacional;
(vi) Os sistemas que utilizam mecanismo de captura de proveniência no nível de
atividade implicam em alterações nos workflows concretos;
(vii) Em linhas gerais os sistemas avaliados não oferecem facilidades ou mecanismos
de consulta automatizada de descritores de proveniência e dados, exceto o
VisTrails, que disponibiliza navegação pelas versões dos workflows concretos;
(viii) Dentre os sistemas avaliados, observa-se que a maioria utiliza a linguagem SQL
para consultar os descritores de proveniência, Apenas o sistema Taverna e
TetherlessPC3 oferecem algum tipo de apoio semântico. O SQL pode representar
uma barreira para cientistas com pouca experiência em computação.
89
Quadro 7. Quadro comparativo entre os principais sistemas de proveniência.
(adaptado de (CRUZ et al., 2009).
Vis
Tra
ils
Kep
ler
Tavern
aP
eg
asu
sZ
oo
mP
AS
OA
Pro
vM
an
ag
er
VIE
WP
AS
SK
arm
aR
ed
ux
Sw
ift
Matr
ioh
ska
C a p t u r a
Rastr
eam
en
toG
ulo
so
Gulo
so
Gulo
so
Gulo
so
Am
ostr
al
Gulo
so
Gulo
so
Gulo
so
Am
os
tra
lG
ulo
so
Gulo
so
Gulo
so
Gulo
so
Nív
el
Work
flow
Work
flow
Work
flow
Work
flow
Work
flow
Work
flow
Ativid
ade
Work
flow
S.O
& D
ado
Ativid
ade
&
Work
flow
Work
flow
Work
flow
S.O
.&
Work
flow
Mecan
ism
oIn
tern
oE
xte
rno
Inte
rno
Exte
rno
Exte
rno
Inte
rno
Exte
rno
Exte
rno
Ex
tern
oE
xte
rno
Inte
rno
Inte
rno
Inte
rno &
Exte
rno
Técn
ica
Anota
ção
Anota
ção
Anota
ção
Ano
taç
ão
Invers
ão
Anota
ção
& Invers
ão
Anota
ção
Anota
ção
Anota
ção
Anota
ção
Ano
taç
ão
Anota
ção
Anota
ção
A r m a z e n a m e n t o
Escala
bil
idad
eC
entr
aliz
ado
Centr
aliz
ado
Centr
aliz
ado
Centr
aliz
ado
Centr
aliz
ado
Dis
trib
uíd
oD
istr
ibuíd
oD
istr
ibuíd
oD
istr
ibu
ído
Dis
trib
uíd
oC
entr
aliz
ado
Dis
trib
uíd
oD
istr
ibuíd
o
Aco
pla
men
toA
lto
Alto
Alto
Baix
oB
aix
oA
lto
Baix
oB
aix
oB
aix
oB
aix
oB
aix
oB
aix
oB
aix
o
Arq
uiv
am
en
toTim
e s
tam
p
Seq
-de-D
elta
Tim
e s
tam
pTim
e s
tam
pTim
e s
tam
pTim
e s
tam
pTim
e s
tam
pTim
e s
tam
pTim
e s
tam
pT
ime
sta
mp
Tim
e s
tam
pTim
e s
tam
pTim
e s
tam
pTim
e s
tam
p
Pers
istê
ncia
Rela
cio
nal&
XM
LR
ela
cio
nal
RD
FR
ela
cio
nal
Rela
cio
nal
XM
L
p-a
ssert
ivas
?R
ela
cio
nal
?X
ML
Rela
cio
nal
Rela
cio
nal
Rela
cio
nal
O b j e t o
Eta
pa
Com
posiç
ão
& E
xecução
Execução
Com
posiç
ão
& E
xecução
Execução
Execução
Execução
Com
posiç
ão
& E
xecução
Execução
Ex
ec
uç
ão
Execução
Execução
Execução
Com
posiç
ão
Execução
Anális
e
Ori
en
tação
Pro
cesso &
Dado
Pro
cesso
Pro
cesso
Pro
cesso
Pro
cesso
Pro
cesso
Pro
cesso
Pro
cesso
Da
do
Pro
cesso
Pro
cesso
Pro
cesso
& D
ado
Pro
cesso
& D
ado
Gra
nu
losid
ad
eF
ina
Fin
aF
ina
Fin
aF
ina
Fin
aF
ina
Fin
aF
ina
Fin
aF
ina
Fin
aF
ina
Acesso
&
Lin
gu
ag
em
Consulta
(VTQ
L)
Consulta
(Pro
log)
Consulta
(TriQ
L)
Co
ns
ult
a
(SP
AR
QL)
Consulta
(SQ
L)
Consulta
(XQ
uery
)
Consula
(Pro
log)
Consulta
(SP
AR
Q&
SQ
L)
AP
IC
onsulta
(SQ
L)
Co
ns
ult
a
(SQ
L)
Consulta
(SQ
L)
Consulta
(SQ
L &
SP
AR
QL)
Ap
oio
Sem
ân
tico
Não h
áN
ão h
á
Ouzo
Pro
venance
Onto
logy
Não h
áN
ão h
áN
ão h
áN
ão h
áN
ão h
áN
ão h
áN
ão h
áN
ão h
áN
ão h
á
Open
Pro
venance
Onto
logy
90
4.3 - Considerações Finais
Até o momento existem poucos SGWfC que representam uma solução para a
gerência de descritores de proveniência em cenários onde o experimento científico é
representado por workflows executados em ambientes distribuídos do tipo nuvens de
computadores. A maioria dos sistemas possui forte acoplamento com o SGWfC, com
exceção das abordagens PASOA, KARMA e PASS.
Um dos poucos sistemas de coleta de proveniência que oferece interação com
dispositivos semânticos para efetuar consultas sobre os descritores de proveniência é o
Taverna. No entanto, conforme discutido no Capítulo 3, a ontologia subjacente ao
Taverna não pode ser considerada uma ontologia bem fundamentada, os autores não
discutem qual foi a fundamentação adotada na representação das classes da ontologia.
Verifica-se que a maioria dos sistemas de proveniência adota a linguagem SQL
para explorar seus descritores; esta abordagem trás em seu bojo problemas que vão
desde a necessidade da compreensão prévia do modelo de dados de proveniência, até as
dificuldades da associação dos conceitos da proveniência com os atributos das relações
do modelo de dados. Essas características podem representar uma barreira para
cientistas que possuam pouca experiência em computação.
Ao analisar os sistemas de proveniência mais representativos sob a luz da
taxonomia de proveniência, é possível verificar que, até o momento, não foram
localizados na literatura sistemas de gerência de proveniência que operem em ambientes
de nuvens de computadores e que sejam governados por ontologias de domínio.
No Capítulo 5 apresentaremos uma ontologia de proveniência voltada para a
representação dos descritores de proveniência de experimentos científicos em larga
escala.
91
Capítulo 5 – Ontologia de Domínio de Proveniência de
Experimentos Científicos em Larga Escala
Ontologias de domínio, no sentido usado pelas comunidades em computação,
são um tipo particular de modelo conceitual. Em especial, é um modelo conceitual que
deve satisfazer o requisito adicional de servir como modelo de referência de uma
conceituação compartilhada por uma determinada comunidade. Portanto, se uma
ontologia de domínio é, antes de qualquer coisa, um modelo conceitual, seu processo de
modelagem deve fazer uso de linguagens que sejam adequadas à modelagem conceitual,
ou seja, deve ter como teoria subjacente uma ontologia de fundamentação.
O uso de ontologias de fundamentação, aliado à inequívoca explicitação dos
seus compromissos ontológicos e à adoção de uma linguagem de modelagem
conceitual, serve como base para o desenvolvimento de ontologias de domínio mais
fidedignas e próximas à realidade e com maior clareza conceitual.
Conforme discutimos nos Capítulos 2, 3 e 4 desta tese, a associação entre
ontologias de fundamentação, conceitos de experimentos científicos em larga escala,
conceitos de proveniência (livres de ambigüidades) e uma linguagem de modelagem
adequada são os pilares para o desenvolvimento de ontologias de domínio, bem
fundamentadas, para a área de proveniência. Neste sentido, a UFO e suas teorias
subjacentes podem ser empregadas para construir, avaliar, reprojetar e dar semântica de
mundo real para ontologias em diversos domínios. Por exemplo, atualmente existem
inúmeros trabalhos que apóiam-se na UFO para o desenvolvimento de ontologias de
domínio em diversas áreas, a saber: Processos de Software (FALBO, NARDI, 2008,
BARCELLOS, FALBO, 2009) e de Petróleo e Gás da Petrobras (GUIZZARDI et al.,
2009). Outras pesquisas utilizaram a UFO para a construção de ontologias de domínio
para a área biomédica (NUNES et al., 2007) ou mesmo para a modelagem de processos
em sistemas de informação nas áreas de governo, i.e. Departamento de Defesa dos
Estados Unidos da América (BAUMAN, 2009), ou projetos associados a dados ligados
abertos do próprio Governo Brasileiro (LINKEDDATABR, 2011). Em todos os casos,
problemas ontológicos inerentes a esses contextos foram identificados, modelados e
solucionados à luz da UFO.
Neste capítulo propomos uma ontologia de proveniência denominada Open
proVenance Ontology (OvO). Seu processo de engenharia utilizou uma linguagem de
92
nível ontológico para o desenvolvimento de um modelo. OvO pode ser considerada
como uma das primeiras ontologias de domínio, bem fundamentada, que versa sobre a
proveniência de experimentos científicos de larga escala.
5.1 - A Engenharia da Open proVenance Ontology
A engenharia de uma ontologia refere-se ao conjunto de atividades relacionadas
com seu processo de desenvolvimento, seu ciclo de vida, sua metodologia de
construção, ferramentas e linguagens que a apóiem (CORCHO et al., 2003, GOMEZ-
PEREZ et al., 2004).
O processo de engenharia de ontologias, assim como qualquer outro
procedimento de engenharia, inclui as fases de modelagem conceitual e codificação.
Essas fases, por sua vez, produzem diferentes artefatos com objetivos diversos e, como
conseqüência, requerem diferentes tipos de linguagens e métodos, cada um com suas
características próprias. Na fase da modelagem conceitual, o esforço predominante é a
busca da expressividade, clareza e confiabilidade para representar o domínio que se
pretende.
Existem várias abordagens metodológicas para o desenvolvimento de ontologias
(por exemplo, Cyc (TAYLOR et al., 2007), Methontology (FERNANDEZ-LOPES et
al., 1997), Kactus (SCHREIBER et al., 1995), 101 (NOY, MCGUINNESS, 2001),
SABIO (FALBO, 2004), entre outros), mas não há um consenso quanto à metodologia
mais adequada para construção de ontologias (FERNANDEZ-LOPES et al., 1997 e
SILVA et al., 2008). A escolha da metodologia mais adequada para ser utilizada na
engenharia de uma ontologia depende, dentre outros fatores, do objetivo que se pretende
atingir e do contexto onde ela se insere. Um mesmo modelo conceitual pode originar
diversas codificações de ontologias em diferentes linguagens de nível epistemológico
(por exemplo, F-Logic, OWL, RDF, ORM, Ontolingua) cujos objetivos são satisfazer
requisitos não funcionais distintos.
Neste trabalho utilizamos a UFO como ontologia de fundamentação e sua
linguagem de modelagem conceitual OntoUML para representar a OvO. OntoUML
permite a construção de modelos semanticamente ricos e neutros em relação às
tecnologias de implementação (GUIZZARDI et al., 2002, GUIZZARDI et al., 2004,
GUIZZARDI, 2005).
93
OvO é uma ontologia representada sob a forma de diagramas de classe da UML
(OMG, 2010). A modelagem sob forma de diagramas de classe UML apresenta diversos
benefícios, dentre eles destacam-se os seguintes:
(i) Utiliza-se um padrão aberto amplamente disseminado;
(ii) É fácil de ser manipulado e compreendido por profissionais de computação de
diversos perfis e, além disso;
(iii) Existem diversas ferramentas gráficas que auxiliam no processo de modelagem.
O esquema ilustrado na Figura 17 oferece uma visão geral da modelagem
conceitual utilizando a UFO. A ilustração apresenta a ontologia (diagrama de classes),
representada como um modelo OntoUML, o metamodelo da linguagem de modelagem
UML, além de um nível adicional que corresponde à ontologia de fundamentação UFO.
Os construtos do segundo nível (metamodelo) definem as classes que podem ser
representadas pelo primeiro nível (ontologia).
Figura 15. Representação esquemática da modelagem conceitual de uma ontologia
de domínio baseada em UML.
Ao projetar a OvO, utilizando-se construtos da ontologia de topo UFO
(fragmento A), foram representados conceitos relacionados aos recursos científicos,
ciclo de vida de experimentos de larga escala, taxonomia de proveniência e do
metamodelo OPM. Buscamos utilizar conceituações previamente definidas e que foram
ClasseAssociação
Ontologia de Fundamentação
(UFO)
MetaModeloUML
<<Instance of>> <<Instance of>>
Modelo OntoUML
94
utilizados originalmente por CAVALCANTI et al. (2003), CRUZ et al. (2009),
MATTOSO et al. (2010) e MOREAU et al., (2010) e já discutidos nos Capítulos 2, 3 e
4 desta tese.
Durante sua fase de modelagem, OvO adotou os princípios básicos de design de
ontologias: clareza, coerência, extensibilidade e compromisso ontológico mínimo. Por
esses motivos, a ontologia OvO pode ser compreendida como uma ontologia de
proveniência expressiva com semântica formal bem definida baseada na UFO.
OvO apresenta-se como um sistema modular de proveniência para a área de e-
Ciência, não incorporando conceitos específicos sobre os domínios dos experimentos
científicos. Sem dúvida as informações específicas de domínio são um importante
componente para a representação da proveniência. Mas, uma ontologia de proveniência
única e monolítica que contemple todos os possíveis conceitos de todos possíveis
domínios da ciência (por exemplo, Biologia, Química, Física, Engenharia, Astronomia,
entre outras) é simplesmente inviável. Portanto, nossa ontologia de proveniência de
experimentos científicos trás em seu bojo a faceta da modularização.
Segundo SAHOO e SHET (2009), uma ontologia de proveniência pode ser
estendida por outras ontologias específicas de um dado domínio. Por exemplo, OvO e as
ontologias da OBO poderiam ser utilizadas em conjunto para mapear questões
particulares dos experimentos de um dado domínio biológico. Para viabilizar a extensão
seria necessário identificar na ontologia hospedeira (no caso a OBO) quais os conceitos
que se relacionariam com os conceitos da OvO. Um exemplo prático, seria
correlacionar as classes ligadas aos artefatos da OvO com as classes de dados da OBO.
Assim, seria possível não só navegar pelos conceitos da ontologia de proveniência como
também dos conceitos relacionados ao domínio específico.
Uma estrutura ontológica modular representa uma solução flexível para a
modelagem de proveniência de experimentos científicos, podendo ser adaptada às
exigências específicas dos diferentes domínios de aplicação.
5.1.1 - A Granulosidade da OvO
Determinar a granulosidade adequada de uma ontologia é uma tarefa tão
importante quanto determinar sua cobertura. O problema de especificar a granulosidade
consiste em determinar o tamanho desses conceitos, isto é, quão detalhados eles podem
95
ser. Escolher a granulosidade adequada consiste em definir os limites superiores e
inferiores e a complexidade da representação a ser tratada por uma ontologia.
O modelo conceitual da OvO é apresentado sob a forma de uma hierarquia de
classes que suporta conceitos de diferentes granulosidades (discutido na Seção 3.2 do
Capítulo 3 e 4.1 do Capítulo 4). Ou seja, ela permite que seus cientistas possam
gerenciar a proveniência de seus estudos em diferentes níveis de detalhe, desde o
mapeamento das características mais gerais do experimento (proveniência prospectiva)
até os dados de proveniência relacionados à execução de um determinado workflow
concreto e suas atividades (proveniência retrospectiva).
Esses dois extremos de granulosidade não são pólos isolados nem
desconectados, pelo contrário, conforme discutimos nos Capítulos 3 e 4, existe uma
clara correlação entre os diversos tipos de proveniência presentes em estudos
experimentais de e-Ciência. Porém, essa intercessão é pouco explorada pelos atuais
sistemas e ontologias de proveniência.
Por esses motivos a cobertura da OvO é única, seus conceitos representam um
corte longitudinal por sobre os diferentes níveis de abstração que representam objetos e
agentes do mundo real associados aos estudos experimentais. Os conceitos mais
abstratos (maior granulosidade) são aqueles que representam a proveniência prospectiva
associada aos modelos comportamentais, i.e., a concepção e formalização do estudo em
e-Ciência. Esses conceitos geralmente não são coletados por SGWfC, ficando
registrados de forma não estruturada através de anotações criadas pelos próprios
cientistas (MATTOSO et al., 2010).
OvO também explicita conceitos específicos através de modelos estruturais de
menor granulosidade usados para descrever recursos, parâmetros, artefatos (dados) e o
papel dos agentes associados em um determinado experimento. Esses descritores são
associados à proveniência retrospectiva. Assim, é possível fazer uso de conceitos
comuns a todo estudo experimental, partindo desde as primeiras etapas de concepção e
formalização até a execução do workflow e de seus processos, permitindo o aumento da
reputação do experimento e dos seus resultados, reduzindo os problemas já relatados na
Seção 2.2 do Capítulo 2.
A próxima sub-seção apresenta a notação utilizada na construção dos diagramas
UML.
96
5.1.2 - Notação Utilizada nos Diagramas da OvO
Um mesmo modelo conceitual pode dar origem a diferentes codificações de
ontologias quando representadas em diferentes linguagens (por exemplo, F-Logic, OWL
DL, RDF, ORM, Ontolingua). Em GUIZZARDI (2005) e em GUARINO e
GUIZZARDI (2006), os autores demonstram que linguagens da Web semântica, tais
como OWL e RDF, são linguagens pouco indicadas para a fase de modelagem
conceitual, pois foram concebidas com o principal propósito de alcançar eficiência nas
inferências, mas apresentam sérios problemas de expressividade das relações.
Fundamentado nesses motivos, adotamos o perfil OntoUML (conforme discutido na
Seção 3.4 do Capítulo 3) para modelagem conceitual da OvO.
O Quadro 9 apresenta a notação adotada nos diagramas de classe da UML que
descrevem as principais classes OvO.
Quadro 8. Notação gráfica utilizada nos diagramas UML da OvO
Notação Gráfica Descrição
Os estereótipos utilizados nos diagramas de classe da UML
representam os conceitos da UFO, indicando que os conceitos da
ontologia são especializações a partir do conceitos relacionados da
UFO. Caso uma classe apareça sem estereótipo, então ela tem o
mesmo estereótipo de seu supertipo.
A classe F está relacionada à classe G através relação R.
A classe F é parte da classe G através de uma relação de agregação.
A classe F é parte da classe G através de uma relação de
composição
A ontologia A utiliza conceitos da ontologia B.
A classe F é supertipo das classes G e H.
Representação de um relator (conceito da UFO) em OntoUML. T
representa o relator derivado da relação material entre as classes R e
S. R e S representam as classes conectadas por T. R1 e R2 são
relações de mediação entre S e T e entre R e T, respectivamente.
Representação de um relacionamento do tipo formal entre as classes
F e G..
<<mediation>> <<mediation>>
97
5.2 – A Ontologia OvO
OvO é uma ontologia de domínio voltada para a proveniência de experimentos
científicos em larga escala. Uma ontologia de domínio, no sentido usado pelas
comunidades em computação, é um tipo particular de modelo conceitual. Em especial, é
um modelo conceitual que deve satisfazer o requisito adicional de servir como uma
representação de consenso de uma conceituação (isto é, uma mesma visão de mundo)
compartilhada por uma comunidade, descrevendo todos os possíveis estados (states of
affairs) que são admissíveis e restringindo aqueles que são inadmissíveis.
Portanto, se uma ontologia de domínio é, antes de qualquer coisa, um modelo
conceitual descrito em uma linguagem adequada. Este modelo deve satisfazer os
requisitos gerais de uma linguagem de modelagem conceitual de nível ontológico.
Logo, é necessário embasá-la através de uma ontologia de fundamentação.
OvO representa o conjunto de classes de proveniência prospectiva e
retrospectiva associadas ao ciclo de vida de experimentos científicos em larga escala.
Além disso, a ontologia OvO também contempla categorias explicitadas na taxonomia
que apresentamos no Capítulo 4. Esta característica não só reduz significativamente a
carga de trabalho dos desenvolvedores da ontologia, mas também garante consistência
de modelagem.
A ontologia OvO foi dividida em três subontologias, a saber:
(i) Subontologia de experimentos científicos em larga escala – Representa os
conceitos de maior granulosidade que geralmente não estão contemplados nas
demais ontologias de proveniência. Por exemplo, esta subontologia pode
representar os conceitos previamente discutidos no Capítulo 2, tais como
experimentos científicos, hipótese, modelos e agentes;
(ii) Subontologia de proveniência prospectiva – Representa os conceitos de
granulosidade grossa associados ao workflow abstrato. Via de regra estes
conceitos não são associados às ontologias de proveniência disponíveis na
literatura (discutidas no Capítulo 3), como workflows e atividades abstratas,
além dos diferentes papéis e relações desempenhados pelos agentes associados
com as etapas de composição e execução dos experimentos científicos;
98
(iii) Subontologia de proveniência retrospectiva – Representa os conceitos de menor
granulosidade associados à etapa de execução do experimento científico.
As subontologias são conectadas umas às outras através de associações entre
conceitos comuns. Na Figura 18 são apresentadas as subontologias que compõem a
Open proVenance Ontology e os relacionamentos entre elas.
Figura 168. Ontologia OvO e suas subontologias.
Nesta tese, utilizamos uma escala de cores (Figuras 19, 20, 21 e 23): classes
identificadas pela cor Verde são relativas à proveniência retrospectiva, classes
identificadas pela cor Amarela representam proveniência prospectiva, conceitos
circundados na cor Azul têm suas origens no metamodelo OPM.
Nas próximas duas sub-seções, são apresentadas as classes das subontologias
que compõem a OvO.
5.2.1 - Subontologia de Experimentos Científicos em Larga Escala
Uma parte fundamental da prática científica envolve o aumento dos nossos
conhecimentos sobre o mundo através da execução de experimentos. Este
conhecimento, idealmente, deve ser representado através de linguagens formais e
lógicas. A formalização de experimentos científicos deixou de ser um desejo filosófico
e tornou-se uma necessidade tecnológica. Em todas as áreas da Ciência onde ocorre o
―data deluge‖ o uso e reuso dos conhecimentos produzidos dependem do
armazenamento, integração e análise computadorizada adequados. Uma das maneiras de
formalizar estas questões é através da definição explícita de ontologias.
99
Esta sub-seção utiliza padrões baseados nas classes da UFO para a representação
da subontologia de proveniência de experimentos em larga escala e seus conceitos
subjacentes. A subontologia de experimentos científicos em larga escala aqui
representada é majoritariamente constituída de conceitos relacionados com a
proveniência prospectiva. Nela descrevemos os conceitos relacionados aos estudos
experimentais em e-Ciência. A existência dessa subontologia é não só possível como
desejável, porque as ciências experimentais adotam basicamente princípios
assemelhados. Apesar de suas particularidades, experimentos em e-Ciência são
conduzidos por pesquisadores que organizam, executam e analisam seus experimentos e
resultados de modo similar aos pesquisadores das ciências tidas como tradicionais.
É importante ressaltar que os nomes das classes que estão representadas nas
Figuras 19, 20 e 21 são os nomes utilizados na modelagem da OvO, eles estão em
grafados em inglês. Ao longo das próximas seções, os termos originais serão grafados
em inglês, itálico e entre parênteses, os conceitos correspondentes são grafados em
português, precedendo os nomes das classes.
No nível mais alto existem os conceitos experimento e projeto (Experiment e
Project) (Figura 19). Um estudo em e-Ciência é um empreendimento de pesquisa que
tem o propósito de descobrir algo desconhecido através da adoção de um modelo e da
avaliação de uma hipótese que envolve a concepção e execução de experimentos in
silico. Os experimentos em e-Ciência podem estar associados a vários domínios do
conhecimento, como por exemplo, Biologia, Física, Química, Engenharia, entre outros.
O conceito experimento (Experiment) está rotulado com o estereótipo <<Kind>> da
UFO que é um sortal rígido que pode ser identificado em todos os possíveis mundos.
100
Figura 19. Subontologia de experimento científico.
101
Consideramos que um experimento em larga escala possui três partes essenciais:
o modelo, a hipótese e o projeto (todos são representados com a marcação
essential=true como uma forma de representar as relações parte-todo, ou seja, este tipo
de relacionamento indica que um experimento é composto de partes relacionalmente
dependentes e inseparáveis, ou seja, não há um experimento sem a especificação de um
modelo e de uma hipótese). Tanto os conceitos hipótese (Hypothesis) quando o modelo
(Model) são representados como elementos disjuntos do tipo <<Kind>>. As hipóteses e
os modelos não existem fora do contexto do experimento como um todo. Eles são partes
inseparáveis do experimento científico que compõem (representados com a marcação
inseparable=true).
O conceito modelo (Model) estabelece os limites para uma investigação, o
conceito registra o conjunto de circunstâncias que envolvem o estudo experimental. Ele
representa uma moldura que determinará o modo adotado para executar um
determinado experimento. No caso da OvO, o modelo é especializado como
experimentos do tipo in silico.
O conceito hipótese (Hypothesis) representa uma proposição que se faz na
tentativa de verificar a validade de uma resposta provisória e provável ao problema
enunciado no projeto de pesquisa.
O conceito projeto (Project) representa o projeto de pesquisa no qual o
experimento se insere. Projeto requer a localização do estudo e a definição do
envolvimento de diversos tipos de pesquisadores. As principais características do
projeto são representadas através de hierarquia ilustrada na Figura 19.
Os conceitos laboratório e organização (Laboratory e Organization) são sortais
rígidos que possuem identidade única e relacionam-se por agregação e composição com
os conceitos subjacentes. O conceito laboratório (Laboratory) identifica unicamente os
pontos no espaço geográfico onde um projeto de pesquisa é concebido e onde seus
experimentos científicos são conduzidos; é importante ressaltar que um projeto de
pesquisa está associado com laboratório, sendo possível diferenciar em quais pontos os
experimentos de um projeto são conduzidos. Por esses motivos, o conceito laboratório
(Laboratory) requer uma identificação única, o que demanda o uso do estereótipo
<<Kind>>.
102
O conceito organização (Organization) também é um sortal rígido do tipo
<<Kind>> que desempenha um papel importante na subontologia de experimentos. Por
exemplo, a COPPE/UFRJ é uma organização que possui diversos laboratórios (por
exemplo, Bancos de dados, Engenharia de Software, entre outros) e estes possuem
recursos humanos e materiais que podem ser alocados para a condução um projeto de
pesquisa que pode ser executado entre laboratórios distintos.
Os conceitos laboratório e organização (Laboratory e Organization) são
independentes, porém complementares, ou seja, é possível alterar os membros de uma
organização (por exemplo, universidade, laboratório, time de futebol, banda de rock)
sem que ela perca seu princípio de identidade, o mesmo se aplica a um laboratório. O
conceito laboratório (Laboratory) também apresenta uma segunda característica muito
importante, ele explicita a sua relação por agregação com o conceito pessoa (Person)
que também é representado por um sortal rígido do tipo <<Kind>>, identificando
unicamente um pesquisador (Researcher).
Aqui assume-se que ser pesquisador é uma propriedade extrínseca de uma
pessoa, i.e., existem mundos em que uma pessoa não é pesquisador, todavia, ele
permanece sendo uma pessoa. Da mesma forma, uma pessoa pode deixar de fazer parte
de um laboratório de pesquisa ou mesmo de uma organização sem, no entanto, deixar de
ser uma pessoa. O conceito pessoa (Person) representa todo o qualquer ser humano, no
entanto, representamos aqui apenas aqueles que desempenham algum papel (role) na
condução de um experimento científico em larga escala.
Para representar os possíveis papéis desempenhados por pessoas cujo atributo
principal é ser pesquisador, adotamos o estereótipo <<Role>> da UFO para representá-
los como sortais anti-rígidos. Para descrever esta sucessão de estereótipos de modo
ontologicamente correta, adotamos o design pattern apresentado por GUIZZARDI
(2005).
No caso específico, mapeamos o conceito pesquisador (Researcher) como sortal
do tipo <<Role>>, pois em suas extensões ele possui indivíduos (pessoas) que
pertencem a diferentes grupamentos humanos e que possuem seus princípios de
identidade. Neste caso, um pesquisador é um não sortal. Cada instância de pesquisador
deve ser uma instância de pessoa que carregua seu princípio da identidade. Por
exemplo, neste caso definimos quatro sortais executor, programador, arquiteto e
103
coodenador (Executor, Programmer, Architect e Coordinator) como sub-tipo de
Pesquisador (Researcher). Por seu turno, estes sortais possuem princípios de
identificação que são fornecidos pela classe Person. Resumindo, se α é um pesquisador
(classe abstrata) então α deve ser uma instância de exatamente um subtipo de
pesquisador que possui o princípio da identidade fornecido por um sortal apropriado (no
caso, pessoa).
Retomando o conceito experimento (Experiment) podemos observar que ele foi
representado como um sortal anti-rígido e mapeado pelo estereotipo <<Kind>>. Apesar
da representação gráfica ser a mesma de uma generalização do metamodelo UML, no
entanto, semanticamente ocorre uma sensível diferença. Na UML as classes que fazem
parte da generalização são necessariamente disjuntas e, por padrão, não formam uma
partição; a UFO, por sua vez, representa a noção de conjuntos disjuntos (definidos por
intermédio da etiqueta {disjoint, complete}). Por exemplo, um experimento é um sortal
rígido do tipo <<Kind>> representado por três sortais distintos do tipo <<Phase>> que
ocorrem seqüencialmente no tempo fase_composição, fase_execução e fase_análise
(Composition_phase, Execution_phase e Analysis_phase). Isto é, cada sortal do tipo
fase presente em um experimento representa uma etapa do ciclo de vida do experimento
em larga escala discutido no Capítulo 2 desta tese. Ou seja, o sortal fase_composição
(Composition_phase) representa a etapa de composição de um experimento. O sortal
fase_execução (Execution_phase) por sua vez representa a execução de um experimento
e por fim o sortal fase_análise (Analysis_phase) representa a etapa que envolve os
processos cognitivos por parte dos pesquisadores em analisar os resultados de um
experimento. Em tempo: por questões de escopo, a modelagem da fase fase_análise
(Analysis_phase) não será discutida nesta tese.
5.2.2 - Subontologia de Proveniência Prospectiva
Esta sub-seção também se utiliza de modelos baseados nas classes da UFO para
a representação da subontologia de proveniência prospectiva. As classes presentes nesta
subontologia são predominantemente prospectivas, classes representadas na cor
Amarela na Figura 20.
Seguindo a descrição apresentada na Seção 2.1 do Capítulo 2, temos no nível
mais alto da hierarquia a etapa de composição do experimento. A composição engloba
as atividades de especificação e modelagem de workflows abstratos e concretos, bem
104
como a definição do empacotamento do experimento. Na modelagem, é feita a captura
do conhecimento referente à materialização do experimento e, projeta-se o conjunto de
workflows para apoiá-lo. No empacotamento, os diversos recursos científicos
envolvidos num experimento são combinados, dando origem aos workflows concretos.
Esses recursos incluem, por exemplo, modelos científicos, hipóteses, algoritmos,
artefatos, versões de programas ou pacotes, versões de workflows e agentes.
No nível mais alto desta subontologia existe o conceito fase_composição
(Composition_Phase). A etapa de composição é representada como um sortal anti-
rígido de fase do tipo <<Phase>> da UFO, isto é, através dessa representação garante-se
a identificação única de cada ciclo de composição dentro de cada etapa dentro do ciclo
de vida do experimento.
Explicitamos a associação entre a classe Composition_Phase do tipo <<Phase>>
e a classe Workflow do tipo<<Kind>>. A Classe Workflow é um sortal rígido, que se
especializa nos dois tipos de Workflows comuns aos experimentos científicos:
workflows abstratos e concretos. Assumimos que os conceitos de workflow_concreto e
workflow_abstrato (Concrete_Workflow e Abstract_Workflow) não podem ser
separados do seu princípio de identificação único, por esse motivo as classes são
rotuladas como subtipos <<SubKind>> de um workflow. Além disso, é necessário não
só diferenciar os workflows abstratos e concretos de um experimento, como também
explicitar a existência do mapeamento entre esses dois tipos de construtos. Em um
workflow concreto, entretanto, há a definição de características tecnológicas, como a
indicação de programas e de recursos necessários para executar suas atividades. Desta
forma, o workflow concreto é uma instância específica de um workflow abstrato
concebido para investigar um determinado problema delineado na pesquisa científica.
Um workflow concreto é composto por uma ou mais atividades concretas. O
conceito workflow_abstrato (Abstract_Workflow) é representado como um sortal rígido
de substância do tipo <<SubKind>> da UFO. Um workflow abstrato, por sua vez, é
composto por uma ou mais atividades abstratas. Ao conceito workflow_abstrato
Abstract_Workflow temos a associação, por composição, do conceito atividade_abstrata
(Abstract_Activity). Uma atividade abstrata pode ser compreendida como um
mapeamento de alto nível que desvincula as funções de uma aplicação científica de sua
implementação. Assim, neste contexto, busca-se representar o que uma atividade deve
105
realizar e não como ela realizará o processamento. O conceito atividade_abstrata
(Abstract_Activity) é mapeado através do estereótipo <<Kind>> da UFO.
A correlação entre uma atividade abstrata e um algoritmo também pode ser
representado na OvO, neste caso, o segundo elemento é mapeado pelo conceito
algoritmo (Algorithm) rotulado como um subtipo de uma atividade abstrata, ou seja,
algoritmo (Algorithm) é sortal do tipo <<SubKind>> especializado de um tipo rígido
(neste caso um Kind) de quem herda seu princípio de identidade.
A separação dos papéis entre os pesquisadores também é crucial na subontologia
de proveniência prospectiva. Por exemplo, para um pesquisador especialista de domínio
(por exemplo, arquiteto do experimento) é mais importante se preocupar com os
conceitos científicos correlacionados com um experimento e com pacotes de software
envolvidos, do que dominar as minúcias e detalhes técnico-operacionais necessárias à
construção de workflows concretos. Assim, em um primeiro momento, pode ser mais
produtivo manipular um workflow abstrato do que um workflow concreto intimamente
relacionado ao nível físico equivalente, ou ainda fazer uso de atividades auxiliares (por
exemplo, adaptadores e parsers) e detalhes sobre os recursos computacionais (por
exemplo, equipamentos, programas ou ambientes).
O pesquisador especialista em domínio é papel representado pelo conceito
arquiteto (Architect), mapeado pela UFO através do estereótipo <<Role>>. No entanto,
um arquiteto possui uma relação muito peculiar com a concepção do workflow abstrato,
representado pelo conceito worflow_abstrato (Abstract Workflow) e o produto desta
relação é uma instância de um workflow abstrato. A associação entre os conceitos
arquiteto e o workflow abstrato é representada por um relacionamento n-ário.
No caso específico do relacionamento entre as classes Architect e
Abstract_Workflow, temos um relacionamento que envolve a classe Workflow_Design
que representa uma sessão de trabalho executada pelo arquiteto durante a construção do
modelo abstrato de um workflow científico de um experimento.
À luz da UFO, este relacionamento pode ser representado de forma
semanticamente mais clara e precisa. Isto é, representamos relators universais de modo
explícito (previamente discutidas na Seção 3.4 do Capítulo 3). Na Figura 20 temos uma
representação explícita que distingue duas entidades: relators universais que são
representados pelo estereótipo <<Relator>> e relações materiais representadas através
106
de associações estereotipadas como <<material>>. A linha pontilhada entre uma
relação material e um relator universal indica que a relação é derivada de um relator. A
presença do símbolo gráfico (●) sobre o relator ao término da linha pontilhada é
utilizada para distinguir a representação gráfica de uma classe de uma simples classe
associativa da UML.
De acordo com a Figura 20, temos que o conceito projeto_workflow
(Workflow_Design) é existencialmente dependente de um arquiteto e de um grupo
imutável de workflows abstratos. Além disso, a entidade que representa o universal
relator e a relação material (isto é, a associação em si) são existencialmente entidades
distintas. Neste caso, o relator universal projeto_workflow (Workflow_Design) e a
relação material <<composition>> representam entidades que podem ter diferentes
cardinalidades, desde que um mesmo relator Rt possa conectar duas entidades, por
exemplo, [Diogo, AbsOrthoSearch] e [Diogo, AbsOrthoLoad], onde o pesquisador
Diogo desempenha o papel de arquiteto de dois (ou mais) workflows científicos
abstratos (por exemplo, AbsOrthoSearch e AbsOrthoLoad). No entanto, as restrições de
cardinalidade da classe Workflow_Design podem ser completamente deduzidas a partir
das relações de dependência existencial (mediação) entre a classe Workflow_Design e
os universais cujas instâncias estão associadas com as classes Abstract_Workflow e
Architect.
107
Figura 17. Subontologia de proveniência prospectiva.
Por fim, o ato de conceber um workflow abstrato é representado pelo conceito
projeto_sessão (Design_Session) cujo estereotipo é o <<ComplexEvent>> da UFO. Um
108
evento complexo é uma extensão da UFO descrita por GONÇALVES et al., (2007) que
define uma relação formal da UFO que representa uma sessão, onde múltiplas
observações sobre um determinado atributo (no nosso caso o valor do atributo é um
elemento do tipo temporal) podem ser coletadas com uma determinada freqüência.
Como resultado ele permite o armazenamento de uma trilha de timestamps de
proveniência relacionado com as etapas do projeto de um workflow abstrato. O registro
das observações pode envolver tipos de dados que representam o atributo tempo em
suas diferentes granulosidades, isto é, hora, minuto e segundo e dia, mês e ano.
Argumentos semelhantes podem ser utilizados para descrever os
relacionamentos entre os conceitos programador, workflow_concreto e
código_workflow (Programmer, Concrete_Workflow e Workflow_Code), pois o código
do workflow é existencialmente dependente de um programador e um único workflow
concreto. O ato de codificar um workflow concreto (representado pela classe
Coding_Session) é rotulado com estereótipo o <<ComplexEvent>> da UFO. No entanto,
este ato está intimamente relacionado com a proveniência retrospectiva, ressaltamos que
ele foi representado neste diagrama por questões de simplicidade e clareza.
As classes TimeDomain e DateDomain são mapeadas pelo estereótipo
<<dataType>> da UFO (discutido na Seção 3.3 do Capítulo 3). Uma classe do tipo
<<dataType>> é uma representação teórica de um espaço conceitual e das restrições
impostas por suas respectivas estruturas geométricas. Por exemplo, para fins de
experimentos científicos em larga escala o domínio do tempo pode ser decomposto em
dois sub-domínios: dias e horas, onde cada sub-domínio possui uma representação
estática, linear, crescente e não-negativa do tempo.
Faz-se necessário ressaltar que adotamos esse estilo de modelagem por questões
relacionadas com a clareza da modelagem conceitual, caso contrário seria necessário
fazer uso dos construtos relacionados com a UFO-B, o que traria profundos impactos na
modelagem da OvO. Por exemplo, o fragmento UFO-B é uma ontologia de eventos.
Eventos são transformações de uma situação em outra, isto é, eles alteraram o estado de
coisas da realidade de um (pré)estado para outro (pós-estado). Portanto, eventos são
entidades ontologicamente dependentes no sentido de, para existirem, dependerem
existencialmente de seus participantes (GUIZZARDI, 2005). Caso a noção de eventos
fosse incorporada à OvO, ela diria respeito à modelagem de processos do experimento.
109
No entanto, ressaltamos que apesar dos esforços dos projetistas da UFO-B, esta ainda
está em fase de desenvolvimento e validação.
5.2.3 – Subontologia de Proveniência Retrospectiva
Esta sub-seção utiliza conceitos baseados nas classes da UFO para a
representação da subontologia de proveniência retrospectiva relacionados aos
experimentos em larga escala. Diferentemente da subontologia apresentada na sub-
sessão anterior, as classes presentes nesta subontologia são exclusivamente relacionadas
com a proveniência retrospectiva e são representadas na cor Verde na Figura 21.
No nível mais alto desta subontologia existe o conceito fase_execução
(Execution_Phase). A etapa de execução é representada como um sortal universal de
fase do tipo <<Phase>>, isto é, através dessa representação garante-se a identificação
única de cada execução do workflow dentro ciclo de vida do experimento.
Durante a etapa de execução do experimento, é possível executar instâncias de
workflows concretos. Por esse motivo, os workflows concretos de um experimento estão
associados por composição à etapa de execução. Além disso, assumimos que o conceito
de workflow_concreto (Concrete_Workflow) não pode ser separado do seu princípio da
identificação única, logo é representado como um sortal rígido do tipo <<Kind>>.
Um workflow concreto, por sua vez, é composto por uma ou mais atividades
concretas. Ao conceito workflow_concreto (Concrete_Workflow) representamos a
associação, por composição, do conceito atividade_concreta (Concrete_Activity). Uma
atividade concreta pode ser compreendida como uma codificação de uma aplicação
científica individualizada. O conceito atividade_concreta (Concrete_Activity) deve ser
regido pelo princípio da identificação única.
110
Figura 18. Subontologia de proveniência retrospectiva.
111
O conceito artefato (Artifact) é um recurso de dados. Ele é uma classe
representada através de um sortal rígido capaz de incorporar os artefatos (dados) de um
workflow concreto. Os artefatos, individualmente, devem possuir o princípio da
identidade e também propriedades essenciais e particulares, tais como, como nome, tipo
e data de criação, entre outras.
Os artefatos (dados) manipulados por um workflow concreto podem ser
representados por conceitos distintos, como: data_entrada, dado_saída (Input_Data e
Output_Data). Eles são representados como sortais universais rígidos do tipo
<<SubKind>> pois desempenham um papel fundamental na dinâmica dos workflows
científicos, isto é, um mesmo artefato pode ser de entrada ou saída em função da
atividade concreta ao qual está relacionado. O conceito parâmetro (Parameter) é
rotulado como uma classe do tipo <<SubKind>> e, está associado com a classe Artifact,
mapeado como um sortal rígido do tipo <<Kind>>.
Ressalta-se que associações existentes entre as classes Concrete_Activity e
Artifact possuem um significado particular. A associação usedBy, generatedBy,
triggeredBy e derivedBy (representadas na cor azul na Figura 21) são oriundas do
metamodelo OPM. A primeira associação descreve quais artefatos foram consumidos
por um determinado processo, enquanto que a segunda descreve aqueles que foram
produzidos durante o processamento de uma determinada atividade. Por fim, a terceira
representa o encadeamento das atividades concretas de um determinado workflow
concreto.
A rigor as associações originalmente apregoadas pela OPM (por exemplo,
usedBy, generatedBy, controlledBy e derivedBy) possuem uma semântica de
associações que poderia ser melhor explicitada. Por exemplo, a associação usedBy foi
graficamente representada na Figura 21 como uma associação simples. No entanto, se
considerarmos uma modelagem semanticamente rigorosa, a associação entre as classes
Concrete_Activity e Artifact deveria ser representada por intermédio de uma terceira
classe R’ do tipo relator material para explicitar todos os detalhes da semântica deste
relacionamento (conforme discutido na Seção 3.3 do Capítulo 3). Isto é, uma
modelagem de proveniência retrospectiva em UFO que considere o metamodelo OPM
em sua plenitude deveria ser aprofundada em novos níveis de detalhes, gerando
impactos na cobertura e na granulosidade dos conceitos; conseqüentemente ampliando o
número total de classes e relações. No caso do relacionamento usedBy, textualmente
112
teríamos um mapeamento que envolveria um relator do tipo material R’ (CA,A) e a
relação seria verdadeira se e somente se existe uma Concrete_Activity CA e um Artefato
A. Raciocínio análogo aplicaria-se às outras associações. No caso da nossa modelagem,
essas explicações não são graficamente representadas.
A execução de uma atividade concreta de um workflow (concreto) pertencente a
um experimento em larga escala que pode ser realizada em ambientes distribuídos e
distintos, logo faz-se necessário explicitar esta associação. No caso da Figura 21,
utilizamos uma associação formal entre dois conceitos do tipo sortal etiquetados como
<<Kind>> (por exemplo, Concrete_Activity e Environment). No entanto, um ambiente
de execução não é uma entidade monolítica, pelo contrário, ele é representado por uma
agregação entre os conceitos de software e hardware (Software e Hardware). Os
conceitos software e hardware (Software e Hardware) são representados como sortais
rígidos do tipo <<Kind>> para cada uma das suas instâncias.
Na Figura 21 adotamos uma descrição ontologicamente correta para descrever a
sucessão de recursos envolvidos na execução de um workflow concreto. Mais uma vez
adotamos o design pattern apresentado por GUIZZARDI (2005). Neste caso, temos que
o conceito recurso (Resource) é rotulado como um não sortal do tipo <<Rolemixin>> da
UFO. Ou seja, é uma classe abstrata que permite a especialização de outras classes e
posterior identificação destes recursos, como, Hardware_Resource, Software_Resource,
Virtual_Resource e Researcher. Optou-se por utilizar o termo Researcher ao invés de
Human-Resource, pois o segundo termo representa todo o conjunto de colaboradores de
uma organização, enquanto que o primerio representa o sub-conjunto dos colaboradores
que estão capacitados e habilitados a realizar pesquisas científicas.
Os conceitos recurso_hardware, recurso_software e recurso_virtual
(Hardware_Resource, Software_Resource e Virtual_Resource) são classificados com o
estereótipo <<Role>> da UFO. Esses conceitos por sua vez são especializados a partir
sortais rígidos, isto é, um recurso Hardware, Software e Imagem são sortais do tipo
<<Kind>>. O recurso Hardware pode ser compreendido como um ente físico
responsável pelo processamento de dados. Entende-se por ente físico um dispositivo
capaz de realizar processamento de dados e que possua massa e ocupe lugar no espaço.
Já um recurso do tipo Imagem é um ente virtual, isto é, um dispositivo capaz de ser
instanciado em entes capazes de realizar processamento de dados. Exemplos de
dispositivos físicos são: uma estação de trabalho ou um nó de um equipamento de HPC.
113
Já os exemplos de dispositivos virtuais seriam as instâncias de máquinas virtuais de uma
nuvem de computadores. O recurso Software deve ser compreendido como os
programas necessários ao processamento dos experimentos.
Como já foi discutido na sub-seção anterior, a UFO permite elaborar
representações explícitas de relacionamentos dos tipos formais e materiais. O
relacionamento entre o relator Workflow_Run, o sortal rígido Concrete_Workflow do
tipo <<Kind>> e o sortal anti-rígido Executor do tipo <<Role>>, representados na
Figura 21 está um exemplo que representa um relacionamento material. Ao adotarmos
as diretivas da UFO, durante o processo de modelagem explicitamos quais são os
relators mais apropriados de uma relação. Textualmente temos o seguinte:
Workflow_Run (X,Y) é verdadeiro se e somente se existe um Concrete_Workflow X e
um Executor Y. A investigação semântica desse relacionamento torna explícito que os
resultados do workflow só passam a existir após a ocorrência do evento.
O ato de executar um workflow concreto é representado pelo conceito
sessão_execução (Execution_Session) cujo estereotipo é o <<ComplexEvent>> da UFO.
Um evento complexo representa uma sessão, onde múltiplas observações podem ser
coletadas sob uma determinada freqüência ao longo do tempo. Como resultado eles
produzem uma trilha de timestamps de proveniência relacionada com a execução das
atividades de um workflow concreto. O registro das observações pode envolver tipos de
dados que representem o tempo em suas diferentes granulosidades, isto é, hora, minuto
e segundo, e dia, mês e ano.
5.3 - Considerações Finais
Neste capítulo apresentamos uma nova ontologia de domínio denominada Open
proVenance Ontology (OvO) que tem como foco retratar a proveniência de
experimentos científicos em larga escala.
Uma razoável quantidade de trabalhos envolvendo ontologias de proveniência
foi apresentada nos últimos anos (conforme discutido nos Capítulos 3 e 4). No entanto,
esses trabalhos apresentam diversas lacunas, como ausência de compromisso ontológico
claro e falhas no processo metodológico de engenharia dessas ontologias. A primeira
lacuna dificulta a identificação e compreensão dos conceitos mapeados pela ontologia,
114
enquanto que a segunda lacuna pode até mesmo invalidar a ontologia e sua posterior
utilização.
OvO, diferentemente dos trabalhos relacionados, constitui-se de uma ontologia
fundamentada em princípios de engenharia de ontologias e, genuinamente, baseia-se em
uma ontologia de fundamentação, especificamente a UFO, proposta por (GUIZZARDI,
2005). Seus conceitos são oriundos de um estudo taxonômico sobre os principais
descritores de proveniência associados a sistemas de proveniência, ao ciclo de vida de
experimentos científicos e também ao metamodelo OPM.
OvO não pretende esgotar o assunto de ontologias de proveniência. Pelo
contrário, representa um primeiro esforço de modelagem associado ao complexo
domínio dos experimentos científicos em larga escala. OvO oferece:
(i) Um repositório de conhecimento sobre o universo de discurso relacionado ao
tema proveniência de experimentos, do tipo in silico, em larga escala;
(ii) Um modelo de referência que pode ser utilizado para promover a
interoperabilidade entre diversos sistemas de coleta de proveniência;
(iii) Um modelo formal que pode ser utilizado em outros sistemas de proveniência;
(iv) Diferentes níveis de granulosidade, permitindo o mapeamento de conceitos
relacionados a diferentes etapas do ciclo de vida de um experimento;
(v) Auto-contingenciamento dos conceitos envolvidos, pois OvO não requer
importação de conceitos de outras ontologias de proveniência ou mesmo de
outros domínios;
(vi) Cobertura sobre as entidades Agente, Artefato e Processo expostos no
metamodelo OPM. Por exemplo, o conceito Person possui correlação direta com
a entidade Agente da OPM. No entanto, diferentemente da semântica da OPM,
existe uma clara separação dos diferentes papéis (tipos de atores) envolvidos na
condução de um experimento científico. O conceito Artefato corresponde à
entidade homônima da OPM. No entanto, na ontologia OvO existe uma clara
distinção semântica entre os diversos tipos de dados envolvidos em um
experimento. Por fim, o conceito Processo da OPM equivale a uma atividade
concreta da UFO.
115
(vii) Os relacionamentos controledBy e conceivedBy são desdobramentos do
relacionamento controladoPor da OPM. Enquanto naquela especificação não é
possível identificar os diferentes papéis executados pelos Agentes que
participam da condução de um experimento, no caso da OvO é possível mapear
e utilizar duas semânticas distintas, além de fazer uso dos princípios de
identificação através dos diferentes papéis desempenhados pelos pesquisadores.
Os relacionamentos controledBy e conceivedBy identificam, respectivamente, o
agente que controla o experimento e o agente que concebeu o experimento
científico.
A principal contribuição da OvO é suprir lacunas na literatura naquilo que se
relaciona a abordagens ontológicas para a modelagem de proveniência de experimentos
científicos. Todavia, ainda existe a necessidade de futuras investigações sobre quais são
as possíveis extensões ou desdobramentos (refinamento) de conceitos subjacentes à
ontologia. Além disso, resta avaliar em um nível mais baixo, isto é, no nível da
linguagem epistemológica, quais são as melhores linguagens para codificar a OvO.
Nossa proposta alinha-se com os esforços de pesquisa vigentes para criar
ontologias de proveniência que sejam genéricas e independentes do domínio da
aplicação do experimento científico. Naturalmente a ontologia ainda pode ser refinada
para ampliar sua cobertura (i.e. o nível de detalhes acerca das classes e relacionamentos
associados aos experimentos, fases do experimento, ou mesmo, buscar cobrir eventuais
lacunas correlacionadas ao metamodelo OPM). Nesse sentido, OvO não considera
diversas questões estruturais do domínio do experimento, deixando as questões da
manipulação dinâmica de processos analíticos como um trabalho a ser posteriormente
explorado, pois os elementos que apoiariam esta abordagem ainda não estão plenamente
desenvolvidos e consolidados. Ou seja, uma representação que descreva a dinâmica dos
processos ainda está em fase de maturação nos fragmentos da UFO-B e na UFO-C.
116
Capítulo 6 – Uma Arquitetura de Gerência de Proveniência
de Experimentos Científicos Apoiada por Ontologias de
Domínio
Nos Capítulos 2 e 3 apresentamos os desafios e oportunidades de pesquisa
envolvidos na gerência de descritores de proveniência de experimentos científicos em
larga escala executados em ambientes distribuídos e heterogêneos. Por questões de
clareza e organização do texto, a proposta da taxonomia de proveniência e a ontologia
OvO foram previamente discutidas, respectivamente, nos Capítulos 4 e 5.
Este capítulo propõe uma arquitetura intitulada Matriohska que visa mitigar os
desafios envolvidos na gerência de proveniência de experimentos científicos em larga
escala executados em ambientes de nuvens de computadores. A Figura 22 apresenta
uma visão conceitual do posicionamento da arquitetura Matriohska no contexto de um
experimento científico conduzido em um ambiente de nuvens de computadores.
A arquitetura atua como uma camada intermediária situada entre o experimento
científico e seus componentes e etapas, e o ambiente distribuído representado pela
nuvem de computadores composta por dois níveis distintos de abstração (i.e. camada de
aplicação, onde estão configurados os aplicativos científicos, workflows e atividades e
camada de recursos virtuais, estão presentes os elementos peculiares às nuvens, tais
como hardware virtual representados por imagens e suas instâncias). Por operar
logicamente desacoplada do SGWfC e do ciclo de vida de um experimento científico, a
abordagem permite, em princípio, que capturem-se descritores de proveniência de
granulosidades variadas e relacionadas com as diversas etapas que compõem o ciclo de
vida de um experimento.
Matriohska é apoiada pela ontologia OvO e graças à adoção da OvO, é possível
que se realizem consultas sobre o repositório de proveniência dos experimentos
científicos em larga escala.
117
Figura 19. Contexto para gerência de proveniência de experimentos executados em
ambiente de nuvem de computadores.
Nas próximas sub-seções deste capítulo, a solução proposta é detalhada,
descrevendo-se as principais características funcionais da arquitetura, seus componentes
e o modelo de dados adotado.
O presente capítulo está dividido da seguinte forma: a Seção 6.1 descreve um
breve histórico e a arquitetura. A Seção 6.2 fornece uma visão geral das funcionalidades
da arquitetura em termos de seus componentes. A Seção 6.3 discute o modelo de dados
adotado pela Matriohska. Por fim, na Seção 6.4 são apresentadas as considerações
finais.
6.1 – Histórico
Matriohska possui uma trajetória evolutiva. A arquitetura foi originalmente
concebida por CRUZ et al. (2008) para operar em ambientes de processamento
distribuído, tais como clusters e grades computacionais. A primeira versão utilizava o
paradigma da distribuição em clusters e tinha como objetivo inicial prover serviços de
proveniência que seriam acoplados tanto ao SGWfC centralizado (no caso o Kepler)
quanto ao ambiente distribuído para capturar e disponibilizar os descritores de
proveniência desses ambientes. Uma primeira versão do modelo de dados de
proveniência do sistema foi discutida em (CRUZ, et al., 2009).
t0
t2
t1
t7
t3
t5
t4
t6
t8
Composição
Execução
Análise
On
tolo
gia
OvO
& M
atr
ioh
ska
SG
WfC
Camada de Aplicação na Nuvem
Camada de Recursos Virtuais na Nuvem
Imagens Instâncias Usuários
Repositório de Proveniência
Workflow e atividades
Experimento Científico em Larga Escala
Nuvem de Computadores
118
Entretanto, Matrioshka não contemplava as características dos ambientes de
nuvens de computadores. Para realizar a captura de descritores de proveniência na
nuvem é necessário levar em conta suas especificidades. Por exemplo, uma infra-
estrutura de nuvem de computadores pode ser compreendida como sendo composta por
diversos elementos de computação, que podem ser dispostos em três níveis horizontais
(Figura 22). O nível mais baixo (não ilustrado na Figura 22 por questões de clareza)
representa a infra-estrutura de hardware. O nível intermediário (camada de recursos
virtuais) representa as imagens de máquinas virtuais, as instâncias que são inicializadas
a partir das imagens e dos usuários cadastrados no sistema. No nível mais elevado
(camada de aplicação) estão concentrados os artefatos científicos, as atividades e os
workflows concretos, além dos repositórios de proveniência. Tendo esta visão como
substrato, a Matriohska foi submetida a uma atualização de software discutida em
(SILVA, et al., 2010 e CRUZ, et al., 2011).
A versão corrente conta com novos componentes de coleta e registro de
proveniência. A arquitetura também conta com um novo modelo de dados de
proveniência capaz de registrar, tanto os descritores de proveniência retrospectiva
coletados em tempo de execução diretamente da nuvem durante a execução de um
workflow concreto, quanto os descritores de proveniência prospectiva, desde que
coletados a priori, e submetidos ao sistema durante a invocação do workflow concreto.
Diferentemente das demais soluções de proveniência, Matriohska é apoiada na
ontologia de domínio OvO que, além de oferecer um entendimento comum sobre os
temas de proveniência, oferece suporte para a realização de consultas envolvendo os
diferentes tipos de descritores de proveniência associados às diversas etapas dos
experimentos científicos em larga escala.
6.2 – Arquitetura Matriohska
Experimentos científicos modelados como workflows científicos podem se
beneficiar do grande número de processadores quando executados em clusters, grades
ou nuvens de computadores. Matriohska foi concebida como um conjunto de
componentes que permitem a ligação entre o ambiente de nuvem e um SGWfC
centralizado de maneira transparente, podendo ser instanciada sob demanda como parte
de um workflow concreto, preservando inalteradas as demais atividades do workflow.
119
Matriohska provê uma abordagem sistemática para gerenciar os descritores de
proveniência coletados ao longo do ciclo de vida de um experimento científico, sendo
desacoplado do motor de execução do workflow. Matriohska possui as seguintes
características arquitetônicas:
(i) Seus componentes são utilizados de modo simples. Eles atuam de maneira
transparente, isolando o pesquisador da complexidade do ambiente de nuvem;
(ii) Por tratar-se de uma arquitetura aberta, novas máquinas virtuais e instâncias
podem ser acrescidas ou excluídas, conforme necessário;
(iii) Permite que os cientistas utilizem aplicações científicas legadas em ambientes de
nuvem sem que seja necessário nenhum tipo de alteração ou encapsulamento de
seus códigos;
(iv) Utiliza um repositório de descritores de proveniência que opera desacoplado do
SGWfC, sendo capaz de registrar descritores de proveniência de variadas
granulosidades;
(v) Provê uma interação de baixo acoplamento entre os SGWfC centralizados e o
ambiente de nuvem, sendo extensíveis para outros ambientes de nuvens de
computadores;
(vi) Utiliza a ontologia de proveniência OvO, permitindo o mapeamento dos
conceitos da ontologia diretamente em classes e atributos do banco de
proveniência. A ontologia também permite a realização de consultas sobre os
descritores de proveniência dos experimentos científicos;
(vii) Adota técnicas de processamento multithread, permitindo que os componentes,
do tipo broker, sejam construídos de tal forma que busca-se reduzir as latências
de comunicação entre os componentes;
(viii) Utiliza arquivos do tipo manifesto como forma de transferir descritores de
proveniência prospectiva coletados durante a etapa de concepção do ciclo de
vida do experimento.
Matriohska é uma arquitetura dividida em duas camadas: camada local e camada
remota.
120
A camada local que fica localizada na máquina onde está instalado o SGWfC, é
representada por três componentes: Dispatcher, Data Uploader, Data Downloader,
além da Ontologia OVO (previamente descrita no Capítulo 5).
A camada remota fica localizada no ambiente distribuído, i.e. Nuvem de
computadores, sendo representada pelos seguintes componentes: Execution Broker,
Provenance Broker, Provenance Eavesdrop e o Repositório de Proveniência.
A Figura 23, ilustrada como um diagrama de componentes e implementação
oferece uma visão sistematizada da distribuição dos módulos ao longo das duas
camadas. A Figura 23 inclui o SGWfC utilizado pelo cientista, os componentes locais e
os componentes remotos da arquitetura.
Figura 20. Diagrama de componentes e implantação da Matriohska.
A Figura 24 representa uma visão mais detalhada das duas camadas da
Matriohska (as caixas sólidas na cor azul representam os componentes da arquitetura, as
caixas representadas na cor laranja fazem parte das infra-estruturas computacionais pré-
existentes). A primeira camada (do lado esquerdo da Figura 24) é composta pelos
componentes locais. A segunda (lado direito da Figura 24) é formada pelos
componentes que lidam com a transferência de dados e coleta de descritores de
proveniência no ambiente de nuvem.
A numeração ao lado das setas indica a seqüência de execução dos componentes
da arquitetura, as letras denotam o fluxo de dados dos componentes da arquitetura.
121
Figura 21. A arquitetura Matriohska, suas camadas e componentes.
Matriohska utiliza mecanismos de segurança padrão, tais como túneis seguros
de comunicação, acesso restrito e transferência de dados criptografada por meio de
chaves privadas. Ressaltamos que a arquitetura não tem como objetivo contemplar todas
as questões relacionadas à segurança dos descritores de proveniência. Sem dúvida são
pontos importantes, porém, estão além do escopo desta tese. Importantes informações
sobre segurança de proveniência estão disponíveis em CHONG (2009), HASAN et al.
(2009), ALDECO-PÉREZ, MOREAU, (2010), GADELHA Jr. et al. (2010) e
MCDANIEL et al. (2010).
Uma descrição detalhada de cada componente será apresentada nas próximas
sub-seções.
6.2.1 – Componente Dispatcher
Dispatcher é um componente de execução local que desempenha duas funções
primordiais. Primeira, é o ente responsável por materializar a comunicação entre as
Atividade1
(local)
DataDownloader
WorkflowCientífico
Ambiente de Nuvem
Manifesto
SGWfC
Ambiente Local
DataUploader
Atividade2
(remota)
Atividaden
Dispatcher
Repositório de ArquivosArtefato
Produto de Dado
ProvenanceEavesdrop
Máquinas Virtuais
Atividade2
(remota)Execution
Broker
ProvenanceBroker
RepositórioProveniência &Retrospectiva M
áq
uin
a V
irtu
al
1
2
3
4.2
5
6
7
4.1
8
9
A
B
C
C’’D
C’
E
F
Produtos de Dados Legenda
DadosControlesConsultas
OvO
Componente ObrigatórioComponente Opcional
122
camadas local e remota, comunicando-se diretamente com o Execution Broker. Ele
submete a solicitação de disparo da execução remota de uma atividade concreta do
workflow científico em uma instância da nuvem para o Execution Broker. A segunda
função deste componente é transferir os arquivos de manifesto, previamente
configurados, do ambiente local para a nuvem (seta 2 na Figura 24).
É importante destacar que a aplicação científica invocada como atividade remota
deverá ser instalada a priori nas imagens e instâncias, as quais o pesquisador possua
acesso. Através do Dispatcher, o pesquisador poderá configurar os parâmetros
operacionais que considere convenientes para acessar e utilizar as instâncias na nuvem,
como, informar sua conta/senha, quantidade de instâncias a serem utilizadas,
endereçamento virtual das instâncias, nomes, paths e outros atributos da aplicação
científica a ser executada, parâmetros de entrada da aplicação, entre outros.
Um manifesto é um arquivo texto estruturado sob a forma de um documento
XML e utilizado para transpor descritores de proveniência (prospectiva, retrospectiva) e
parâmetros do ambiente local para a nuvem. Os arquivos de manifesto utilizados pelos
componentes Dispatcher podem ser de três tipos:
(i) Manifesto de Atividade - Os descritores de proveniência presentes neste
manifesto são do tipo prospectivo e retrospectivo. Os descritores dizem respeito
às invocações e parâmetros que serão utilizados pelas atividades concretas que
serão executadas na nuvem. A lista completa dos atributos presentes neste tipo
de manifesto está disponível no Apêndice 2 (por questões de clareza conceitual o
apêndice é representado sob a forma de um arquivo XML schema do tipo XSD).
(ii) Manifestos de Experimento – Os descritores de proveniência presentes neste
manifesto são do tipo prospectivo sendo produzidos durante a etapa de
concepção do ciclo de vida do experimento. Os descritores dizem respeito ao
projeto de pesquisa, organização e laboratórios envolvidos, pesquisadores (e
papéis desempenhados) na condução de um experimento científico e workflows
e atividades abstratas. A lista completa dos atributos presentes neste tipo de
manifesto está disponível no Apêndice 3.
(iii) Manifestos de Configuração - Os descritores de proveniência presentes neste
manifesto são do tipo retrospectivo. Os descritores dizem respeito a
configurações operacionais que as instâncias devem adotar para que sejam
123
capazes de executar as atividades concretas de um dado workflow científico. A
lista completa dos atributos presentes neste tipo de manifesto está disponível no
Apêndice 4.
O Dispatcher tem como principal vantagem tornar a execução remota
transparente para o pesquisador que executa o workflow na nuvem. Uma vez que a
execução da aplicação termina, o componente retorna o controle para o SGWfC local
que processará a próxima atividade.
6.2.2 – Componente Execution Broker
O componente Execution Broker é necessário para a adaptação da Matrioshka ao
ambiente de nuvens de computadores. Execution Broker é um componente de execução
remota que possui duas funcionalidades principais. Primeiramente, ele invoca a
execução das atividades do workflow concreto nas instâncias da nuvem, o disparo da
atividade leva em consideração os parâmetros contidos nos arquivos de manifesto (seta
4.1 na Figura 24).
O componente também faz uma invocação ao Provenance Broker para registrar
os descritores de proveniência, recebidos através dos manifestos nos repositórios de
proveniência disponíveis em uma instância da nuvem (seta 4.2 na Figura 24).
Finalmente, quando a execução da atividade remota é concluída, essa informação é
repassada de volta ao próximo componente Dispatcher do workflow para que este
prossiga com a execução das demais atividades (locais ou remotas) (seta 8 na Figura
24).
Em termos de distribuição dos componentes do tipo Broker pelas instâncias,
temos a seguinte configuração: Nas instâncias da nuvem que estão associadas à coleta
de descritores de proveniência prospectiva e retrospectiva, são instalados o Execution
Broker, o repositório de proveniência e o Provenance Broker. Nas demais instâncias,
isto é, aquelas que geram os descritores de proveniência retrospectiva, são instaladas
cópias do componente Provenance Eavesdrop e os aplicativos científicos associados às
atividades remotas do workflow concreto.
6.2.3 – Componente Provenance Broker
Provenance Broker é um componente remoto que desempenha duas
funcionalidades primordiais. A primeira é o responsável por receber os dois tipos de
124
descritores de proveniência comuns ao experimento, enviados pelo Provenance
Eeavesdrop e pelo Execution broker. Nesse caso, a proveniência retrospectiva
(produzida durante a execução das atividades no ambiente de nuvem (seta 6 na Figura
24)) e a proveniência prospectiva (repassada à arquitetura através dos arquivos de
manifesto). Em segundo lugar, ele é responsável por persisti-las no banco de dados
relacional (seta 7 na Figura 24). Ou seja, o componente opera em uma única instância e
atua como um elemento centralizador, sendo capaz de registrar tanto os descritores de
menor granulosidade relacionados com a execução das atividades do workflow no
ambiente da nuvem, quanto os descritores de proveniência de maior granulosidade
repassados para o sistema através de arquivos de manifestos.
Quando a execução de alguma atividade concreta do workflow ocorre na nuvem,
os componentes Provenance Broker e Provenance Eavesdrop são invocados pelo
componente Execution Broker. O Provenance Broker passa a receber os descritores de
proveniência retrospectiva capturados pelo componente Provenance Eavesdrop, que
opera em cada uma das instâncias onde as atividades concretas do workflow estão sendo
executadas. Ao receber estes descritores, o Provenance Broker encarrega-se de persisti-
los em um modelo de dados relacional armazenado em uma das instâncias da nuvem.
6.2.4 – Componente Provenance Eavesdrop
Provenance Eavesdrop é um componente remoto que realiza a tarefa de coletar
os descritores de proveniência retrospectiva de baixa granulosidade, produzidos pelas
atividades remotas, e, também, pelas instâncias das máquinas virtuais presentes nos
níveis da camada de aplicação e de recursos virtuais da nuvem. (seta 6 na Figura 24).
Para cada instância da nuvem que executa uma atividade remota, existe uma instância
do módulo Provenance Eavesdrop.
Os módulos Provenance Broker e Provenance Eavesdrop operam em conjunto,
utilizando os descritores produzidos pelo ambiente de nuvem, tais como, processos em
execução, arquivos utilizados ou produzidos ou informações sobre as imagens e
instâncias são coletadas pelo Provenance Eavesdrop.
O Provenance Broker e o Provenance Eavesdrop foram concebidos para serem
independentes da infra-estrutura de nuvem a ser utilizada, isto é, os componentes podem
ser configurados nas mais diversas nuvens computacionais disponíveis.
125
6.2.5 – Componentes Data Uploader e Data Downloader
Data Uploader e Data Downloader são componentes que podem ser utilizados
na movimentação de dados entre os ambientes locais e a nuvem. Do ponto de vista do
workflow científico, estes componentes comportam-se como atividades administrativas.
Ou seja, são componentes opcionais que não influenciam no processamento dos
resultados dos experimentos.
O componente Data Uploader é um componente local que pode ser incluído no
workflow científico como uma atividade administrativa, sua principal responsabilidade é
transferir os conjuntos de dados (arquivos de entrada de dados utilizados pelas
atividades concretas) localizados no ambiente local para o ambiente de nuvem (seta A
na Figura 24). Este componente pode ser configurado diretamente para obter os
conjuntos de dados e arquivos que precisam ser transferidos para o ambiente de nuvem.
O componente Data Downloader também é um componente local que pode ser
incluído no workflow científico como uma atividade administrativa, sua função é
transferir os produtos de dados (arquivos com os resultados) obtidos ao término da
execução na nuvem para backup no ambiente local (seta F na Figura 24). Caso existam
atividades após a especificação do Data Downloader, elas serão executadas localmente,
a não ser que alguma outra atividade esteja configurada para ser distribuída novamente.
O transporte de dados de/para a nuvem incorre em custos adicionais, em casos
de transferência de grandes volumes de dados e estes valores podem ser
significativamente altos. Por esses motivos, o uso dos dois componentes é opcional nas
situações onde os conjuntos de dados já estejam armazenados no ambiente de nuvem.
6.3 – Modelo de Dados de Proveniência Matrioshka
O repositório de proveniência da Matriohska tem o objetivo de armazenar os
descritores coletados pela Matriohska (proveniência retrospectiva) e também descritores
submetidos pelo pesquisador através dos arquivos de manifesto do experimento e de
configuração (proveniência prospectiva).
O modelo de dados utilizado no repositório de proveniência da Matriohska é
isomórfico à ontologia OvO, isto é, as classes principais representadas no modelo foram
concebidas a partir da modelagem da ontologia OvO descrita no Capítulo 5 desta tese.
126
Este repositório possibilita a associação de descritores de proveniência de
granulosidades variadas, permitindo a correlação entre os descritores de proveniência
das diferentes etapas do ciclo de vida dos experimentos científicos em larga escala.
Matriohska utiliza um banco de dados relacional para armazenar a proveniência
dos experimentos científicos. Os descritores de proveniência são armazenados de forma
centralizada, em uma única instância da nuvem, evitando a formação de silos de
proveniência que podem ser de difícil integração.
Conforme mencionado, este repositório é capaz de armazenar tanto os
descritores de proveniência prospectiva como, por exemplo, descritores sobre o
experimento científico, seus modelos e hipóteses, pesquisadores envolvidos e os papéis
por eles desempenhados, associação entre os workflows abstratos e concretos bem como
as suas respectivas atividades abstratas e concretas. Além disso, ele também mantém
descritores de proveniência retrospectiva coletados no próprio ambiente distribuído,
como: informações sobre o provedor de serviços de nuvem, configurações das
instâncias e suas respectivas imagens, artefatos utilizados e produzidos em cada
execução do workflow concreto no ambiente de nuvem, entre outros.
O modelo de dados da Matriohska representa um esforço de modelagem que
tem por objetivo persistir os principais conceitos levantados tanto na taxonomia de
proveniência (previamente discutidas no Capítulo 4) quanto na ontologia (descrita no
Capítulo 5).
A Figura 25 apresenta o modelo de dados de descritores de proveniência
adotado pela Matrioshka e é ilustrado como um diagrama de classes UML (OMG,
2010). Os nomes das principais classes deste modelo estão grafadas em inglês, são:
CloudProvider, CloudUser, Image, Instance, InstanceConfiguration,
ScientificExperiment, Organization, Project, Laboratory, Person, AbstractWorkflow,
AbstractActivity, ConcreteWorkflow, ConcreteActivity, Parameter, Artifact e Execution.
O modelo de dados permite armazenar proveniência de diferentes
granulosidades ele é composto por cinco grupos de classes, a saber:
(i) Grupo I - Classes que representam descritores de proveniência prospectiva
associada com os experimentos científicos (ScientificExperiment, Organization,
Laboratory e Project).
127
(ii) Grupo II - Classes que representam descritores de proveniência retrospectiva
associados com os recursos computacionais da camada de recursos virtuais da
nuvem (CloudProvider, Image, Instance, InstanceConfiguration e CloudUser).
(iii) Grupo III - Classes que representam descritores de proveniência prospectiva
associados com papeis desempenhados pelos diferentes agentes ao longo do
ciclo de vida do experimento científico (Person).
(iv) Grupo IV - Classes que representam descritores de proveniência retrospectiva
associados com os artefatos e parâmetros utilizados na execução de um
determinado workflow concreto (Parameter, Artifact e Execution).
(v) Grupo V - Classes que correlacionam descritores de proveniência prospectiva e
retrospectiva associadas aos workflows e atividades (concretas e abstratas)
(AbstractWorkflow, AbstractActivity, ConcreteWorkflow e ConcreteActivity).
Graficamente as classes relacionadas com os descritores de proveniência
prospectiva estão representados na cor Amarela e as relacionadas com os
descritores de proveniência retrospectiva na cor Verde .
128
Figura 225. Diagrama de classes adotado pela Matriohska, adaptado de (SILVA et
al., 2010) e (CRUZ et al., 2011).
A seguir temos uma breve descrição de cada classe do modelo de dados. Os
nomes das classes estão em inglês e são grafados em itálico.
CloudProvider - Classe que representa um provedor de recursos computacionais
em ambientes de nuvens de computadores.
CloudUser - Classe que representa instâncias de agentes que utilizam recursos
computacionais disponibilizados pelo provedor de serviços de nuvem.
Image - Classe que descreve as imagens dos recursos computacionais
virtualizável em ambientes de nuvens de computadores.
Instance - Classe que descreve uma instância utilizada para na execução de
workflow concreto ou componente da Matriohska.
129
InstanceConfiguration - Classe que descreve as configurações operacionais das
instâncias em ambientes de nuvens de computadores.
ScientificExperiment - Classe que representa conceitualmente um experimento
científico em larga escala. Um experimento pode ser constituído por um ou mais
workflows abstratos e concretos;
Organization - Classe que representa uma instituição ou departamento cuja
missão é produzir ciência e oferecer produtos e serviços singulares em benefício
de uma comunidade.
Laboratory – Classe que representa o local de realização ou condução de uma
pesquisa que envolve os experimentos, agentes e workflows.
Project - Classe que representa uma definição do projeto representa os princípios
gerais da pesquisa.
Person - Classe que representa o conjunto de agentes envolvidos na pesquisa e
no experimento científico.
AbstractWorkflow - Classe que representa a definição conceitual de workflow
científico; é composto por um conjunto de atividades abstratas que especificam
os recursos que devem ser utilizados. Um workflow abstrato não é instanciável
nem é executado em nenhum SGWfC específico;
AbstractActivity - Classe que representa um elemento conceitual do workflow
abstrato.
ConcreteWorkflow - Classe que representa um fragmento físico da definição de
um workflow concreto. É composta por um conjunto de atividades concretas que
seguem uma determinada ordem de execução. Um workflow é instanciado e
executado em um SGWfC específico;
ConcreteActivity - Classe que representa um elemento de processamento
atômico do workflow concreto. Uma atividade concreta pode utilizar um
conjunto de parâmetros e artefatos que devem ser fornecidos como insumos para
viabilizar a sua execução.
Parameter - Classe que representa um valor configurável de uma atividade que
influencia o comportamento de sua execução;
130
Artifact - Classe que representa os artefatos das atividades concretas (dados
consumidos) e produtos de dados gerados por uma atividade concreta;
Execution - Classe que representa uma execução de um workflow concreto no
ambiente de nuvem.
O processo de modelagem de dados considerou os principais conceitos do
metamodelo OPM, temos que, as classes Artifact, Parameter, Instance correspondem à
representação conceitual de um Artefato-OPM, possuindo a mesma semântica, isto é,
ambas representam estruturas digitais em sistemas de computação (i.e. parâmetros,
bancos de dados, arquivos, instâncias, entre outros). As classes ConcreteWorkflow,
ConcreteActivity e Execution são mapeadas como um Processo-OPM. Um processo
representa uma ou mais ações que utilizam ou atuam sobre artefatos e que produzem
novos artefatos. As classes Researcher, CloudProvider e CloudUser representam um
Agente-OPM. Um agente é o elemento que catalisa, possibilita, controla ou afeta a
execução de um processo. As demais classes não possuem mapeamento direto com a
especificação OPM, pois dizem respeito à proveniência prospectiva do experimento
científico
6.4 – Considerações Finais
Ao utilizar a taxonomia discutida no Capítulo 4 desta tese para categorizar a
arquitetura proposta e posicioná-la frente aos demais sistemas de proveniência, é
possível verificar que Matriohska pode ser classificada como um sistema de
proveniência distribuído de baixo acoplamento. A solução representa um mecanismo
externo que utiliza o mecanismo de anotações, sendo capaz de coletar proveniência
(prospectiva e retrospectiva) no nível do workflow e do sistema operacional. Os
descritores de proveniência coletados são de variadas granulosidades e sua coleta é
baseada em mecanismos de timestamps, sendo orientados a dados e processos. Os
descritores são persistidos em um banco de dados relacional e podem ser consultados
através de linguagens de consulta estruturada ou de linguagens de inferência.
Neste capítulo também apresentamos os componentes da arquitetura Matriohska
e suas principais características funcionais. As principais funcionalidades da arquitetura
consistem em:
131
(i) Oferecer um mecanismo de captura de proveniência desacoplado de SGWfC,
permitindo que os descritores de proveniência sejam capturadas por SGWfC
centralizados. Com isso, viabilizando a gerência de proveniência de
experimentos em larga escala executados em ambientes distribuídos do tipo
nuvem de computadores;
(ii) Registrar os descritores de proveniência de granulosidades distintas em um
repositório central para que possam ser acessados de forma integrada, facilitando
as tarefas de gerência do experimento;
(iii) Permitir o mapeamento de diversos tipos de granulosidade de proveniência,
possibilitando a associação de descritores de proveniência retrospectiva e
prospectiva do experimento científico.
(iv) Armazenar descritores de proveniência de modo desacoplado do mecanismo de
coleta SGWfC, facilitando o processamento de consultas sobre os descritores de
proveniência.
No próximo capítulo apresentaremos os experimentos associados a esta tese.
132
Capítulo 7 – Estudo de Caso: Gerência de Proveniência de
Experimentos Científicos em Bioinformática
Este capítulo relata as características operacionais do protótipo da arquitetura
Matriohska, descrevendo a operação dos módulos envolvidos na coleta de descritores
de proveniência, sobre um experimento em larga escala baseado em um fragmento do
workflow OrthoSearch. O capítulo também apresenta as bases de dados biológicos
utilizadas pelos experimentos in silico que produziram os descritores de proveniência,
correlacionado-as com os elementos da infra-estrutura de nuvem de computadores
fornecida pela Amazon EC2.
Além disso, exemplificamos através de pequenos fragmentos, a transcrição do
modelo conceitual da ontologia OvO, modelada em linguagem de nível ontológico (no
caso, OntoUML) para linguagem de nível epistemológico (no caso, OWL). Também
discute um segundo nível de mapeamentos necessários para associar as tabelas do
esquema relacional da Matriohska e as classes e propriedades da ontologia OvO.
7.1 - Protótipo da arquitetura Matriohska
Assim como muitos dos sistemas de proveniência já discutidos e utilizados nas
pesquisas relacionadas à área de proveniência, a arquitetura Matriohska e seus
componentes foram totalmente codificados utilizando somente tecnologias abertas e
software gratuitos. A arquitetura foi originalmente concebida por CRUZ et al. (2008),
sendo posteriormente atualizada em SILVA et al. (2010) e CRUZ et al. (2011).
A arquitetura foi desenvolvida em Java versão 1.6.0_24 (JAVA, 2011). Os
módulos da Matriohska são encapsulados, compactados e distribuídos sob a forma de
arquivos JAR. As principais vantagens tecnológicas da utilização deste tipo de
empacotamento são:
(i) Comprimir o conteúdo das classes e bibliotecas, facilitando a distribuição da
arquitetura e a transmissão dos componentes da arquitetura para a nuvem de
computadores através da Internet;
(ii) Poder ser assinado digitalmente, aumentando a segurança na utilização da
aplicação.
133
Para a persistência dos descritores de proveniência coletados no ambiente de
nuvem de computadores foi utilizado o SGBD MySQL versão 5.1.50-community
(MYSQL, 2011). Adotou-se o MySQL por questões de manutenção de
interoperabilidade entre o SGWfC VisTrails, Matriohska e a plataforma D2R (BIZER et
al., 2011), que permite o processamento de consultas sobre os descritores de
proveniência.
Como solução de conectividade entre o ambiente local e o ambiente de nuvem
de computadores, foi utilizada a ferramenta PuTTY versão 0.60 (PUTTY, 2011), que
permite o acesso remoto às instâncias de máquinas virtuais através de uma conexão que
utiliza túneis cifrados (graças às chaves PKI) entre o computador que hospeda o
SGWfC e as instâncias de máquinas virtuais da nuvem de computadores.
Como provedor de serviços de nuvem de computador foram utilizados os
serviços EC2 da Amazon Web Services. As máquinas virtuais adotam a arquitetura i386
de 32 bits e utilizam o sistema operacional Ubuntu Server versão 10. A configuração
das máquinas virtuais utilizou a interface Web padrão da Amazon Web Services (Figura
26).
Todas as imagens das máquinas virtuais possuem a máquina virtual Java
instalada (versão 1.6) e apenas imagens das instâncias que executarão os módulos
Provenance Broker e Execution Broker possuem o MySQL. Nas demais imagens, em
cujas instâncias ocorreram os processamentos das atividades concretas dos workflows,
estão instalados o módulo Provenance Eavesdrop e os respectivos pacotes de
bioinformática necessários para a operação do workflow OrthoSearch.
As instâncias das máquinas virtuais são do tipo Micro de 32 bits, com 613 MB
de memória RAM e até dois ECU (processadores virtuais disponibilizados pela Amazon
EC2) e armazenamento de dados em storages virtuais do tipo EBS.
Como SGWfC centralizado foi utilizado o VisTrails versão 1.5.1, instalado em
um computador do tipo notebook com um processador Intel Core2Duo de 2.4 GHz com
4GB de memória principal, 250GB de disco rígido.
Por fim, como servidor de consultas foi utilizada a plataforma D2R versão 0.7
(BIZER et al., 2011). A plataforma suporta a publicação de dados relacionais sob o
paradigma da Web semântica, permitindo que navegue-se pelos dados relacionais como
se fossem triplas RDF. Além disso, a plataforma suporta a linguagem declarativa D2RQ
134
que é utilizada para descrever os mapeamentos necessários entre o esquema relacional e
as classes de uma ou mais ontologias. O servidor de consultas também oferece
mecanismo para a construção de consultas SPARQL. D2R foi instalado no mesmo
notebook mencionado anteriormente.
Figura 236. Telas de configuração de imagens e instâncias na nuvem da Amazon.
7.2 – Workflow OrthoSearch e as bases de dados biológicos
O workflow utilizado como prova de conceito de experimento científico em
larga escala é uma versão simplificada do workflow OrthoSearch (discutido no
Apêndice 1). O workflow vem sendo utilizado pelo consórcio BioWebDB desde 2008
como uma ferramenta para a descoberta de genes homólogos distantes em protozoários
causadores de doenças tropicais negligenciadas.
O workflow concreto foi desenvolvido no SGWfC VisTrails e representa o
experimento em larga escala concebido, modelado e executado pelos pesquisadores de
Imagens deMáquinas Virtuais
Intâncias de Máquinas Virtuais
135
um laboratório de pesquisas. Ressalta-se que o workflow não foi representado em sua
forma completa, pois segundo os relatos de CRUZ et al. (2008, 2010) sua execução
completa demandaria muitos meses. Por esse motivo, optou-se por utilizar nesta tese
apenas a parte que está associada à detecção de ortólogos que é executada no ambiente
de nuvem.
As atividades concretas do workflow OrthoSearch que foram distribuídas na
nuvem da Amazon correspondem aos aplicativos que fazem parte dos pacotes MAFFT
versão 6.717b (programa mafft) (KATOH et al., 2005) e HMMER versão 2.3.2
(programas: hmmbuild, hmmcalibrate e hmmsearch) (EDDY et al., 1995).
As Figuras 27a e 27b ilustram a correlação existente entre os workflows abstrato
e concreto do OrthoSearch e as respectivas transposições das atividades abstratas para
concretas.
Figura 24. Atividades concretas do workflow OrthoSearch executado na Nuvem
O workflow concreto representado na Figura 27b é composto por 12 atividades
que estão agrupadas em dois tipos principais, a saber: atividades de Manifesto e
atividades Dispatcher.
Workflow Abstrato
BD de COG
MAFFT
HMMER
BD de Pntde
protozoas
hmmsearch
hmmcalibrate
hmmbuild
Workflow Concreto
LegendaFluxo de dadosFluxo de controle do VisTrailsTransposição de atividade abstrata para concreta
b
a
136
As atividades do tipo Dispatcher (DispatcherExperimento, DispatcherMafft,
DispatcherHmmBuild, DispatcherHmmCalibrate, DispatcherHmmSearch) são
essencialmente código Java que é utilizado para invocação das atividades remotas do
workflow.
As atividades do tipo Manifesto utilizam três tipos de arquivos de manifestos:
(i) Manifesto de Atividade – É um arquivo XML que contém dados e parâmetros de
granulosidade intermediários necessários à execução das atividades concretas do
workflow na nuvem. A estrutura simplificada do arquivo de manifesto que
descreve o experimento científico está representada no Apêndice 2.
(ii) Manifesto de Experimento – Contém os descritores de proveniência prospectiva
de granulosidade fina sobre o experimento científico em larga escala. Este
manifesto é um arquivo texto no formato XML usado para registrar os
descritores e parâmetros previamente coletados ao longo das etapas de
composição do experimento. O desenvolvimento de ferramentas que registram a
proveniência prospectiva nos arquivos de manifesto está fora do escopo desta
tese. No entanto, ressalta-se que uma das possíveis formas de viabilizar a
integração é através do uso de arquivos de manifestos que podem ser exportados
por essas ferramentas de acordo com o formato proposto Apêndice 3.
(iii) Manifesto de Configuração – Contém os descritores necessários à configuração
e operação do ambiente de nuvem de computadores. A estrutura simplificada do
arquivo de manifesto que descreve a configuração do ambiente está representada
no Apêndice 4.
As execuções do workflow concreto OrthoSearch representado na Figura 27b utilizaram
como bases de dados biológicos os seguintes subconjuntos de dados:
(i) Um banco de dados de proteínas associadas aos grupos de genes de ortólogos
(COG). Este banco de dados é composto por 224 arquivos de COGs da categoria
funcional C (i.e. contém somente proteínas associadas às vias metabólicas de
conversão e produção de energia, aqui incluem-se os protozoários e outros
organismos). Este fragmento de banco de dados é composto por mais de 9000
seqüências protéicas.
(ii) Bancos de dados de proteínas específicas de protozoários (contra os quais são
avaliadas as seqüências protéicas dispostas nos COGs). As bases de dados
137
correspondem aos organismos que são enunciados no Apêndice 1, isto é,
Trypanosoma cruzi, Trypanosoma brucei, Trypanosoma vivax, Plasmodium
falciparum e Leshimania majors. Estes bancos de dados estão organizados
segundo o formato FASTA e possuem uma grande quantidade de seqüências
protéicas organismo-específicas (a quantidade de sequências está representadas
entre parênteses), a saber: E. histolitica (8.246), L. majors (8.189), P. falciparum
(11.116), T. brucei (9.639) e T cruzi (20.322).
Para automatizar a configuração das instâncias e reduzir as transferências de
dados entre as estações de trabalho e as instâncias da nuvem, a distribuição dos bancos
de dados através das instâncias obedeceu ao seguinte critério. Cada instância possui um
bucket próprio, o bucket contém uma cópia do banco de dados de COG e uma cópia do
banco de dados de proteínas de cada protozoário. Em termos operacionais as estruturas
do tipo bucket fornecidos pelo serviço Amazon S3 permitem que os artefatos
utilizados/produzidos pelo workflow permaneçam armazenados no ambiente distribuído
mesmo quando as instâncias são desabilitadas pelo pesquisador. Além disso, permitem
que cada instância realize seu processamento de modo independente das demais
instâncias da nuvem.
7.3 – Transformações do modelo ontológico
Esta seção relata as ações necessárias para a transformação do modelo
ontológico de proveniência dos experimentos científicos em larga escala representado
pela OvO em um novo modelo de implementação descrito através de linguagem de
nível epistemológico.
A transformação por conversão de ontologias de domínio para modelos de
implementação descritos em linguagens epistemológicas não é uma tarefa trivial
(GUIZZARDI, HALPIN, 2008). Um procedimento de transformação por conversão
requer a definição de mapeamentos sistemáticos a partir da OntoUML para a linguagem
OWL de tal forma que permita-se a geração de modelos precisos. No entanto, é crucial
ressaltar que, até o momento, inexistem na literatura trabalhos e/ou ferramentas que
façam a conversão direta e imediata entre um modelo conceitual representado em
linguagem ontológica (OntoUML) para um de seus possíveis equivalentes em
linguagem epistemológica (OWL).
138
A transformação por conversão é uma etapa necessária por dois motivos:
(i) As ontologias representadas em linguagens de nível ontológico são mais
apropriadas para representação clara, precisa, não ambígua do conhecimento
acerca do domínio e sem preocupações tecnológicas, por esses motivos tendem a
não ser tratáveis computacionalmente;
(ii) Os produtos resultantes do processo de conversão não só devem ser
computacionalmente tratáveis, como também devem permitir raciocínio
automatizado sobre a ontologia resultante.
A formalização de diretrizes de transformação necessárias para a conversão de
qualquer ontologia modelada em UFO para OWL não faz parte do escopo desta tese.
Por este motivo foi adaptado um conjunto de diretrizes de mapeamento que foram
originalmente concebidas por ZAMBORLINI (2011) em sua dissertação de mestrado.
As transformações desenvolvidas nesta tese permitiram o mapeamento de conceitos
estáticos representados em OntoUML para classes e propriedades diretamente
codificadas OWL.
Como linguagem epistemológica foi utilizado o OWL-DL que fornece suporte
para classificações hierárquicas, restrições simples e garantias mínimas de que as
conclusões de seus processamentos sejam computacionalmente tratáveis (completude)
em um tempo finito (decidíveis). OWL-DL permite que os conceitos de uma ontologia
sejam definidos por operações de união, interseção, complemento e disjunção.
Entretanto, uma separação de tipos é exigida. Por exemplo, uma classe não pode ser
simultaneamente um indivíduo ou uma propriedade. A programação da OvO em OWL
DL foi realizada através da plataforma Protégé versão 4.0 – build 115 (Protégé, 2011).
É importante ressaltar que os nomes das classes que estão representadas nas
Figuras 19, 20 e 21 são os nomes originais que foram utilizados na modelagem da
ontologia OvO. Ao longo das próximas seções os nomes relacionados com as classes e
suas propriedades permanecerão em inglês, mas serão grafados em itálico e precedidos
de prefixo ―ovo:‖
A Figura 28 exemplifica uma tela do Protégé com um fragmento da ontologia
OvO codificada em OWL. Nesta Figura é possível verificar que a classe Artifact foi
selecionada e que, além de ser representada como sortal rígido do tipo <<Kind>>, é uma
subclasse da classe ovo:Execution_Phase que foi anteriormente mapeada como um tipo
139
<<Phase>>. As subclasses de ovo:Artifact são os subtipos (por exemplo,
<<SubKind>>) ovo:Input_Data e ovo:Output_Data. A partir da Figura também é
possível observar que existem três propriedades comuns à especificação OPM, a saber:
um artefato é derivado de algum outro artefato (Artifact hasDerivedBy some Artifact);
artefato é gerado por no mínimo uma atividade concreta (Artifact hasGeneratedBy min1
Concrete_Activity) e, finalmente, artefato é utilizado por no mínimo uma atividade
concreta (Artifact hasUsedBy min1 Concrete_Activity).
Figura 25. Fragmento da implementação da Ontologia de OvO na ferramenta
Protégé.
Mais uma vez é importante destacar que a linguagem OWL dispõe de
capacidade de expressão menor que a linguagem OntoUML utilizada para a construção
dos modelos conceituais de proveniência. Portanto, neste trabalho o mapeamento da
140
OntoUML para OWL foi apenas parcial. Em especial, muitos dos axiomas que
apresentam o uso de negações e o quantificador existencial não puderam ser
formalmente representados da mesma maneira como foram formalizados pela ontologia
de fundamentação UFO.
Nas próximas sub-seções, serão discutidos através de exemplos e fragmentos de
código alguns dos mapeamentos realizados.
7.3.1 – Representação de Classes
Esta sub-seção apresenta os exemplos de transformações que resultam nos
mapeamentos utilizados na conversão de classes da OvO para OWL.
Um dos primeiros mapeamentos codificados na ontologia OvO foram os sortais
anti-rígidos transcritos como classes do tipo <<Phase>> da UFO (por exemplo,
ovo:Analysis_Phase, ovo:Composition_Phase e ovo:Execution_Phase), eles são
mapeados como classes disjuntas e equivalentes em OWL (Figura 29). Esse tipo de
construção permite que um mesmo indivíduo (objeto do domínio de interesse) não
possa ser instanciado em mais de uma classe simultaneamente. Isto é, através dessa
construção busca-se guardar correlação direta com as três etapas do ciclo de vida do
experimento científico em larga escala apresentado no Capítulo 2 desta tese.
141
Figura 26. Fragmento relativo ao mapeamento de classes com o estereótipo
<<Phase>> da OvO para OWL.
Um segundo exemplo envolve o mapeamento de classes do tipo <<Role>> da
UFO para elementos OWL. Neste caso a classe ovo:Researcher é representada como
uma subclasse da classe ovo:Person representada como sortal do tipo <<Kind>>.
Justifica-se este tipo de mapeamento, pois o papel de pesquisador é um dos muitos
papéis que uma pessoa pode assumir em todos os universos possíveis. No entanto, para
fins da ontologia OvO, os papéis que uma pessoa pode assumir são representados sob a
forma de quatro subclasses do tipo sortal: ovo:Coordinator, ovo:Architect,
ovo:Programmer e ovo:Executor. Ressalta-se que essas subclasses não podem ser
<rdf:Description><rdf:type rdf:resource="&owl;AllDisjointClasses"/><owl:members rdf:parseType="Collection">
<rdf:Description rdf:about="#Analysis_Phase"/><rdf:Description rdf:about="#Composition_Phase"/><rdf:Description rdf:about="#Execution_Phase"/>
</owl:members></rdf:Description>
<owl:Class rdf:about="#Execution_Phase"><owl:equivalentClass>
<owl:Restriction><owl:onProperty rdf:resource="#hasExperiment"/><owl:someValuesFrom rdf:resource="#Execution_Phase"/>
</owl:Restriction></owl:equivalentClass><owl:equivalentClass>
<owl:Restriction><owl:onProperty rdf:resource="#hasExperiment"/><owl:someValuesFrom rdf:resource="#Concrete_Workflow"/>
</owl:Restriction></owl:equivalentClass><owl:equivalentClass>
<owl:Restriction><owl:onProperty rdf:resource="#hasExperiment"/><owl:someValuesFrom rdf:resource="#Artifact"/>
</owl:Restriction></owl:equivalentClass><rdfs:subClassOf rdf:resource="#Experiment"/>
</owl:Class>
142
representadas de modo disjunto, pois o pesquisador pode assumir diversos papéis ao
longo do ciclo de vida de um experimento científico. Por exemplo, o pesquisador que
desempenha o papel de arquiteto do workflow abstrato pode não ser o mesmo que
desempenha o papel de executor do workflow concreto. Uma característica decorrente
dessa estratégia de mapeamento diz respeito às restrições representadas na Figura 30.
Figura 27. Fragmento relativo ao mapeamento de classes representadas pelo
estereótipo <<Role>> para OWL.
7.3.2 – Representação de Relacionamentos
Esta sub-seção apresenta exemplos novos de mapeamentos utilizados para
converter as propriedades da OvO para OWL. Os relacionamentos representam a
<owl:Class rdf:about="#Person"><owl:equivalentClass>
<owl:Restriction><owl:onProperty rdf:resource="#hasPerson"/><owl:someValuesFrom rdf:resource="#Researcher"/>
</owl:Restriction></owl:equivalentClass><owl:equivalentClass>
<owl:Restriction><owl:onProperty rdf:resource="#hasPerson"/><owl:someValuesFrom rdf:resource="#Organization"/>
</owl:Restriction></owl:equivalentClass><rdfs:subClassOf>
<owl:Restriction><owl:onProperty rdf:resource="#hasPerson"/><owl:someValuesFrom rdf:resource="#Person"/>
</owl:Restriction></rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:about="#Researcher"><rdfs:subClassOf rdf:resource="#Person"/>
</owl:Class>
143
associação entre duas ou mais classes. Conforme discutido na Seção 3.3 do Capítulo 3,
os relacionamentos da UFO podem ser formais ou materiais.
Como exemplo de relacionamento formal, isto é, aquele que ocorre sem que haja
necessidade de intervenção de outras classes, temos a associação entre os conceitos de
workflows abstratos e as atividades abstratas. A Figura 31 representa a propriedade
formal ovo:hasAbstractWorkflow. Esta associação aglutina duas classes do tipo sortal
(ovo:AbstractWorkflow e ovo:AbstractActivity). No fragmento de código OWL, é
possível verificar não só a conversão do relacionamento como também o
estabelecimento das propriedades e cardinalidades mínimas desta associação.
144
Figura 281. Fragmento de código relativo ao mapeamento de relações do tipo
formal da OvO para OWL.
Um segundo exemplo de relacionamento do tipo formal, pode ser ilustrado
através da associação entre os conceitos de workflows concretos e as atividades
concretas. A Figura 32 representa a propriedade ovo:hasConcreteWorkflow. Esta
associação aglutina duas classes do tipo sortal (ovo:ConcreteWorkflow e
ovo:ConcreteActivity). No fragmento de código OWL, é possível verificar não só a
conversão do relacionamento, como também o estabelecimento das propriedades e
cardinalidades mínimas desta associação.
<owl:ObjectProperty rdf:about="#hasAbstractActivity"><rdfs:domain rdf:resource="#Abstract_Activity"/><owl:inverseOf rdf:resource="#IsAbstractActivityOf"/>
</owl:ObjectProperty>
<owl:Class rdf:about="#Abstract_Activity"><owl:equivalentClass>
<owl:Class><owl:intersectionOf rdf:parseType="Collection">
<owl:Restriction><owl:onProperty rdf:resource="#hasAbstractWorkflow"/><owl:someValuesFrom rdf:resource="#Abstract_Activity"/>
</owl:Restriction><owl:Restriction>
<owl:onProperty rdf:resource="#hasAbstractWorkflow"/><owl:onClass rdf:resource="#Abstract_Activity"/><owl:minQualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">1
</owl:minQualifiedCardinality></owl:Restriction>
</owl:intersectionOf></owl:Class>
</owl:equivalentClass><rdfs:subClassOf rdf:resource="#Composition_Phase"/>
</owl:Class>
145
Figura 292. Trecho de código relativo ao mapeamento de relações do tipo formal
da OntoUML para OWL DL.
Finalmente, um terceiro exemplo de relacionamento (representado na Figura 33)
diz respeito às relações do tipo material (Material Relations), também previamente
descritas na Seção 3.3 do Capítulo 3. Este tipo de relacionamento depende de uma
entidade interventora para existir como, por exemplo, o relacionamento entre a classe
workflow concreto (ovo:Concrete_Workflow) e o pesquisador que desempenha o papel
de executor do workflow (classe ovo:Executor) é relacionalmente dependente de uma
terceira entidade, isto é, de uma execução (classe ovo:Workflow_Run).
No código OWL, é possível verificar que este tipo de relacionamento é
codificado através de um número de propriedades do tipo intersection entre as três
classes, a saber: ovo:hasConcreteWorkflow, ovo:hasWorkflowCode e
ovo:hasWorkflowRun.
<owl:Class rdf:about="#Concrete_Activity"><owl:equivalentClass>
<owl:Restriction><owl:onProperty rdf:resource="#hasTriggeredBy"/><owl:onClass rdf:resource="#Concrete_Activity"/><owl:minQualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minQualifiedCardinality>
</owl:Restriction></owl:equivalentClass><owl:equivalentClass>
<owl:Class><owl:intersectionOf rdf:parseType="Collection">
<owl:Restriction><owl:onProperty rdf:resource="#hasConcreteWorkflow"/><owl:someValuesFrom rdf:resource="#Concrete_Activity"/>
</owl:Restriction><owl:Restriction>
<owl:onProperty rdf:resource="#hasConcreteWorkflow"/><owl:onClass rdf:resource="#Concrete_Activity"/><owl:minQualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minQualifiedCardinality>
</owl:Restriction></owl:intersectionOf>
</owl:Class></owl:equivalentClass><rdfs:subClassOf rdf:resource="#Execution_Phase"/>
</owl:Class>
146
Figura 303. Trecho de código relativo a uma parte do mapeamento de relações do
tipo Material Relators para OWL.
7.4 - Mapeamento entre registros e triplas
Esta seção relata um segundo nível de mapeamento. Ela relata o processo de
mapeamento entre as classes da ontologia OvO, previamente representadas em OWL, e
a base de dados relacional de descritores de proveniência de experimentos científicos.
Nesta seção também são utilizados exemplos para representar os elementos envolvidos
na codificação.
A plataforma D2R (BIZER et al., 2011) é baseada em API do sistema Jena (HP
Labs, 2011), que permite o processamento de aplicações de Web Semântica por
<owl:Class rdf:about="#Concrete_Workflow"><owl:equivalentClass>
<owl:Restriction><owl:onProperty rdf:resource="#hasWorkflowRun"/><owl:onClass rdf:resource="#Executor"/><owl:minQualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">1
</owl:minQualifiedCardinality></owl:Restriction>
</owl:equivalentClass><owl:equivalentClass>
<owl:Class><owl:intersectionOfrdf:parseType="Collection">
<owl:Restriction><owl:onProperty rdf:resource="#hasWorkflowRun"/><owl:someValuesFrom rdf:resource="#Execution_Session"/>
</owl:Restriction><owl:Restriction>
<owl:onProperty rdf:resource="#hasWorkflowRun"/><owl:onClass rdf:resource="#Execution_Session"/><owl:minQualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">1
</owl:minQualifiedCardinality></owl:Restriction>
</owl:intersectionOf></owl:Class>
</owl:equivalentClass><rdfs:subClassOf rdf:resource="#Execution_Phase"/>
<owl:disjointWith rdf:resource="#Workflow"/></owl:Class>
147
intermédio de inferência sobre os dados semânticos armazenados sob a forma de triplas
RDF. Dentre as principais funcionalidades desta plataforma, destaca-se a capacidade de
manipulação de dados em RDF e o suporte para RDFS e OWL. Através do servidor
D2R e do navegador SNORQL é possível processar as consultas descritas na linguagem
SPARQL (CLARK et al., 2011).
No entanto, para que consultas sejam processadas faz-se necessário desenvolver
um segundo nível de mapeamento. Ou seja, é mandatório criar mapeamentos entre as
classes e propriedade da ontologia e os elementos do esquema relacional proposto na
arquitetura Matrioshka. A codificação dos mapeamentos é materializada através da
linguagem D2RQ, um dialeto XML que permite estabelecer o mapeamento entre
estruturas relacionais e classes de uma ontologia descrita em OWL. Em linhas gerais,
este tipo de mapeamento associa as tabelas do banco de dados relacional com as classes
da ontologia e os atributos com as suas propriedades. Isso permite que os registros do
banco de dados sejam mapeados como um conjunto de triplas RDF.
Resumidamente, o mapeamento entre a ontologia OvO e o banco de dados de
descritores de proveniência é composto por três etapas.
Na primeira etapa, representada na Figura 34, se define na linguagem D2RQ a
conexão através de driver JDBC padrão entre a plataforma D2R e o banco de dados de
proveniência armazenado no SGBD relacional mySQL.
148
Figura 314. Definição da conexão do banco de dados da Arquitetura Matriohska
com o servidor D2RQ.
Na segunda etapa definem-se as entidades e as propriedades que serão utilizadas
para a realização das consultas.
A Figura 35 exemplifica o mapeamento entre a classe ovo:Concrete_Workflow,
originalmente prevista na subontologia de proveniência retrospectiva da OvO, e a tabela
matri_workflow_concrete disponibilizada pela arquitetura Matriohska. Através da
Figura 35 é possível verificar que cada atributo da tabela está associado a uma
propriedade da ontologia, por exemplo, o atributo Name (nome do workflow concreto)
da tabela matri_workflow_concrete foi mapeado como a propriedade
ovo:concrete_workflow_name. Este mapeamento é posteriormente explorado nas
consultas codificadas em SPARQL.
Por fim, na terceira e última etapa do processo de mapeamento, definem-se os
relacionamentos entre as classes da ontologia e suas propriedades. Os relacionamentos
suportados pela D2RQ podem ser do tipo 1:N ou N:M.
@prefix map: <file:/Users/richard/D2RQ/workspace/D2RQ/doc/example/mapping-iswc.n3#> .@prefix vocab: <vocab/> .@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .@prefix owl: <http://www.w3.org/2002/07/owl#> .@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .@prefix d2rq: <http://www.wiwiss.fu-berlin.de/suhl/bizer/D2RQ/0.1#> .@prefix dc: <http://purl.org/dc/elements/1.1/> .@prefix dcterms: <http://purl.org/dc/terms/> .@prefix foaf: <http://xmlns.com/foaf/0.1/> .@prefix skos: <http://www.w3.org/2004/02/skos/core#> .@prefix iswc: <http://annotation.semanticweb.org/iswc/iswc.daml#> .@prefix vcard: <http://www.w3.org/2001/vcard-rdf/3.0#> .@prefix jdbc: <http://d2rq.org/terms/jdbc/> .@prefix ovo: <http://www.matrioshka.com.br/ontologies/ovo.owl>.
### CONECTANDO NO BANCO ############################################################map:database a d2rq:Database;
d2rq:jdbcDriver "com.mysql.jdbc.Driver";d2rq:jdbcDSN "jdbc:mysql://127.0.0.1/matrioshka4?autoReconnect=true";d2rq:username "root";d2rq:password "pedrocao"; jdbc:keepAlive "3600"; . # sends noop-query every 3600 seconds
149
Figura 325. Mapeamento. entre a classe Concrete Workflow da OvO e a tabela
Project da arquitetura Matriohska.
A Figura 36 ilustra o mapeamento do tipo de relacionamento 1:N entre as
classes ovo:Person e ovo:Project. O relacionamento é materializado sob a forma de
uma junção do tipo equijoin envolvendo as tabelas matri_person e matri_institution por
intermédio do atributo InstitutionId e representado através da propriedade
ovo:hasProject. A propriedade ovo:hasProject foi previamente modelada entre as
classes Person e Organization da ontologia OvO.
### MAPEANDO A TABELA WORKFLOW_CONCRETE ############################################ matri_workflow_concrete (WfID, Name, SGWfC, creationDate, executionDate, WfAbsID, WfVtID)## a tabela matri_workflow_concrete representa o conceito Concrete_Workflow da OvO
map:Concrete_Workflow a d2rq:ClassMap;d2rq:dataStorage map:database;d2rq:uriPattern "matri_workflow_concrete/@@matri_workflow_concrete.WfID@@";d2rq:class ovo:Concrete_Workflow;.
map:Concrete_Workflow_Name a d2rq:PropertyBridge;d2rq:belongsToClassMap map:Concrete_Workflow;d2rq:property ovo:concrete_workflow_name;d2rq:column "matri_workflow_concrete.Name";
.map:Concrete_Workflow_SGWfC a d2rq:PropertyBridge;
d2rq:belongsToClassMap map:Concrete_Workflow;d2rq:property ovo:concrete_workflow_sgwfc;d2rq:column "matri_workflow_concrete.SGWfC";
. map:Concrete_Workflow_CreationDate a d2rq:PropertyBridge;
d2rq:belongsToClassMap map:Concrete_Workflow;d2rq:property ovo:concrete_workflow_creationdate;d2rq:column "matri_workflow_concrete.creationDate";d2rq:datatype xsd:dateTime;d2rq:condition "matri_project.StartTime != '0000'";
.map:Concrete_Workflow_ExecutionDate a d2rq:PropertyBridge;
d2rq:belongsToClassMap map:Concrete_Workflow;d2rq:property ovo:concrete_workflow_executiondate;d2rq:column "matri_workflow_concrete.executionDate";d2rq:datatype xsd:dateTime;d2rq:condition "matri_project.StartTime != '0000'";.
map:Concrete_Workflow_WfAbsID a d2rq:PropertyBridge;d2rq:belongsToClassMap map:Concrete_Workflow;d2rq:property ovo:concrete_workflow_wfabsid;d2rq:column "matri_workflow_concrete.WfAbsID";
. map:Concrete_Workflow_WfVtID a d2rq:PropertyBridge;
d2rq:belongsToClassMap map:Concrete_Workflow;d2rq:property ovo:concrete_workflow_wfvtid;d2rq:column "matri_workflow_concrete.WfVtID";
.
150
Figura 336. Mapeamento do tipo 1:N entre as Classes Person e Organization da
OvO e tabelas correspondentes da Matriohska através da propriedade hasProject.
A Figura 37 apresenta o mapeamento do tipo de relacionamento N:M entre as
classes ovo:Abstract_Workflow e ovo:Concrete_Workflow. O relacionamento é
materializado sob a forma de duas operações de junção envolvendo três tabelas:
matri_experiment, matri_researcher_workflow_abstract_concrete e
matri_workflow_concrete por intermédio dos atributos de junção (ExperimentID e
WfID). O relacionamento entre as três tabelas é representado por uma única propriedade
da ontologia OvO entre as classes Abstract_Workflow e Concrete_Workflow. Neste
caso, a propriedade chama-se ovo:hasConcreteWorkflow.
Figura 34. Mapeamento do tipo M:N entre as Classes Abstract_Workflow e
Concrete_Workflow da OvO e tabelas correspondentes da Matriohska através da
propriedade hasConcreteWorkflow.
7.5 – Considerações Finais
Neste capítulo foram tratadas as questões relativas à implementação da
arquitetura Matriohska no ambiente de nuvens. Além disso, foi discutida a importância
de investigar os dois níveis de mapeamentos necessários para explorar semanticamente
os descritores de proveniência de experimentos científicos. No primeiro nível,
transformou-se o modelo conceitual da OvO em uma ontologia baseada em OWL. No
### OVO ### MAPEAMENTO 1:n TABELA matri_researcher x matri_project ############################# as tabelas matri_reseracher e matri_project representam, respectivamente, os conceitos Person e Project da OvO
map:researcher_organization a d2rq:PropertyBridge;d2rq:belongsToClassMap map:Person; # (Map ovo.Person - ovo.Organization)d2rq:property ovo:hasProject; d2rq:refersToClassMap map:Organization;d2rq:join "matri_person.InstitutionID = matri_institution.InstitutionID";.
### OVO ### MAPEAMENTO n:m matri_workflow_abstract x matri_workflow_concrete ######################## as tabelas matri_workflow_abstract e matri_workflow_concrete representam, respectivamente, os conceitos Abstract_Workflow e Concrete_Workflow da OvO
map:wfabstract_wfconcrete a d2rq:PropertyBridge;d2rq:belongsToClassMap map:Abstract_Workflow; d2rq:property ovo:hasConcreteWorkflow;d2rq:refersToClassMap map:Concrete_Workflow;d2rq:join "matri_experiment.ExperimentID = matri_researcher_workflow_abstract_concrete.WfAbsID";d2rq:join "matri_person_workflow_abstract_concrete.WfID = matri_workflow_concrete.WfID";.
151
segundo nível, codificou-se, na linguagem D2RQ, a associação entre tabelas e atributos
e as classes e propriedades da ontologia obtida anteriormente.
Inicialmente foi relatada a importância de traduzir coerentemente os conceitos
das ontologias baseadas em linguagem ontológica para linguagens epistemológicas.
Esta primeira fase de mapeamentos é fundamental, pois as linguagens de nível
ontológico ainda não são computacionalmente tratáveis. Ressalta-se que até o momento
inexistem ferramentas que façam a tradução automatizada dos modelos conceituais
utilizados para representar ontologias de domínio baseadas na UFO para a linguagem
OWL. Por esse motivo, foram realizadas transcrições manuais e essas transcrições que
tiveram como fundamentação teórica as diretrizes de mapeamento estabelecidas por
ZAMBORLINI (2011). É importante ressaltar que esta faceta da pesquisa ainda
demanda maiores aprofundamentos.
Um segundo nível de mapeamentos fez-se necessário, materializado através da
adoção da plataforma D2R que mostrou-se madura e eficaz, permitindo a
implementação de diversos tipos de associações entre os descritores de proveniência
coletados pela Matriohska e as classes e propriedades da ontologia OvO sem a
necessidade de conversões adicionais sobre o modelo disponibilizado na arquitetura
Matriohska. Adicionalmente, a plataforma D2R também permite a elaboração de
consultas sobre o banco de dados usando a linguagem SPARQL.
A plataforma D2R não é a única que possibilita este segundo nível de
mapeamentos. Por exemplo, as ferramentas Triplify (AUER et al., 2009) e Virtuoso
(ERLING, MIKHAILOV, 2009) também permitem que estabeleçam-se mapeamentos
entre tuplas e triplas, porém com diferentes graus de cobertura. Essas ferramentas
apresentam diferenças tecnológicas importantes. A primeira ferramenta não suporta
SPARQL como linguagem de consulta das triplas, demanda o uso de um complexo
dialeto SQL como linguagem de mapeamento. A segunda ferramenta oferece
armazenamento nativo RDF, suporta consultas SPARQL, porém demanda um complexo
esquema de mapeamento para a criação de quádruplas que envolvem as triplas
propriamente ditas, formatos especiais, nodos e literais.
Os experimentos baseados em consultas sobre os descritores de proveniência
serão explorados no próximo capítulo.
152
Capítulo 8 – Estudo de Caso: Consultas Sobre Descritores de
Proveniência de Experimentos Científicos
Este capítulo discute os resultados dos experimentos desta tese materializados
sob a forma de consultas baseadas nas classes da ontologia OvO e nos mapeamentos
descritos nos capítulos anteriores. As consultas têm como função avaliar estes dois
pilares e ainda recuperar descritores de proveniência de diversas granulosidades que
foram previamente coletados pela arquitetura Matriohska ao executar o fragmento do
workflow OrthoSearch na nuvem da Amazon.
Os experimentos considerados neste capítulo representam apenas uma fração do
subconjunto original de consultas previamente definidas pelos pesquisadores que
utilizam o workflow OrthoSearch. As consultas são realizadas como parte dos testes da
cobertura das classes da ontologia OvO. No total foram realizados mais de 20
experimentos envolvendo consultas SPARQL.
Os experimentos, representados sob a forma de consultas, são considerados os
mais significativos e são caracterizados de acordo com três grupos distintos de consultas
que levam em consideração os diferentes tipos e granulosidades dos descritores de
proveniência associados com as classes da ontologia OvO. As três categorias são:
1. Experimentos envolvendo descritores de proveniência retrospectiva;
2. Experimentos envolvendo descritores de proveniência prospectiva;
3. Experimentos envolvendo descritores de proveniência retrospectiva e
prospectiva simultaneamente.
Os experimentos foram executados utilizando uma versão local do SGBD
MySQL versão 5.1.50-community instalado em um notebook com processador Intel
Dual Core 2 DUO de 2.4 GHz e 4GB de memória principal executando o sistema
operacional Windows Vista Home na versão 32 bits.
Conforme discutido no Capítulo 7, a abordagem adotada para realizar consultas
utiliza a linguagem SPARQL, uma linguagem específica para construir consultas sobre
bases de dados de triplas RDF. De modo geral, as consultas SPARQL são consideradas
de baixo nível. Isto é, para codificar as consultas é necessário conhecer não só a base de
dados RDF como também a ontologia sob a qual os dados estão mapeados.
153
De modo geral, consultas SPARQL são compostas por uma série de triplas onde
cada tripla possui formato <Assunto, Propriedade, Objeto>. Cada um destes
constituintes pode ser uma variável. Por exemplo, <?x, hasProgrammer, ortho.vt> é
uma tripla onde ?x é uma variável livre, hasProgrammer é uma propriedade expressa na
ontologia (no caso, a ontologia OvO) e ortho.vt um objeto armazenado na base de
dados, cujo valor foi capturado pelos módulos da arquitetura Matriohska. Neste tipo de
consulta, um grafo padrão é utilizado para localizar outros sub-grafos existentes na base
de dados RDF e o valor da variável ?x é substituído, resultando em triplas que
obedeçam esta lei de formação. Porém, se a substituição não for realizada com sucesso,
nenhum resultado será retornado.
A Figura 38 é uma abstração que ilustra os diversos elementos que estão por trás
de uma consulta. Isto é, ela representa a infra-estrutura necessária ao processamento da
consulta, além das associações dos conceitos da ontologia OvO e os descritores de
proveniência em seus ambientes. A Figura 38 é composta por vários itens (de (a) até
(e´)) que representam as etapas e os mapeamentos necessários para o processamento das
consultas.
Neste exemplo dispõe-se de uma sequência de itens realizados. No item (a)
temos a expressão da consulta em linguagem natural concebida pelo pesquisador que
deseja explorar os descritores de proveniência relacionados ao seu experimento, a
consulta é convertida para a linguagem SPARQL para que possa ser inferida pelo
servidor D2R. No item (b) tem-se a representação da consulta em SPARQL (por
exemplo, consulta 1) na interface de consulta da plataforma D2RQ; as consultas podem
relacionar uma ou mais classes da ontologia OvO. O item (c) representa as classes e
propriedades da ontologia OvO previamente descritas em OWL.
Os itens (d), (e) e (e´) estão conectados no nível lógico (a representação gráfica
desta conexão utiliza linhas pontilhadas). Esses itens representam a associação dos
elementos geradores de descritores de proveniência prospectiva ou retrospectiva
(previamente mapeados pelo item (c)) com as classes da OvO. O item (d) representa as
atividades concretas (ManifestoMafft e DispatcherMaff) do workflow concreto
OrthoSearch que efetivamente participaram da produção dos artefatos indicados na
consulta. O item (e) representa a atividade MAFFT instanciada em uma máquina virtual
da nuvem disponibilizada pela EC2 da Amazon. Por fim, o item (e´) indica o workflow
abstrato equivalente idealizado na etapa de concepção do ciclo de vida do experimento.
154
As demais consultas deste capítulo obedecem a uma lógica semelhante,
variando-se os mapeamentos/classes necessárias.
Figura 35. A ontologia OvO em conexão com a infra-estrtura de consulta e de
coleta de descritores de proveniência
Ressaltamos que as consultas SPARQL discutidas neste capítulo serão
representadas diretamente na interface SNORQL. A interface SNORQL faz parte do
pacote D2RQ e não só permite codificar consultas, como também navegar em
descritores semanticamente relacionados e visualizar os resultados das consultas. Por
questões de praticidade na leitura, optou-se por exprimir os resultados das consultas sob
a forma de triplas RDF em estruturas tabulares.
8.1 – Experimentos envolvendo descritores de proveniência
retrospectiva
As consultas desta categoria têm como objetivo recuperar descritores de
proveniência produzidos ao longo da etapa de execução do experimento (etapa de
Atividade concretaMAFFT
Amazon EC2Saída deMAFFT
Recuperartodos os atributosdo arquivo de saída denome COG0039
SELECT DISTINCT ?FileName ?FileType ?FileExtension ?FilePath?FileCreationDate WHERE {?cwf rdf:type ovo:Artifact.?cwf ovo:artifact_name ?FileName. ?cwf ovo:artifact_filetype ?FileType.?cwf ovo:artifact_extension ?FileExtension.?cwf ovo:artifact_path ?FilePath.?cwf ovo:artifact_creationdate ?FileCreationDate.FILTER (?FileType = "O" && ?FileName = "COG0039")
}
b
a
d
e
Atividade abstrata MAFFT
e’
SPARQL
c
D2RQ
155
execução do ciclo de vida). As consultas serão discutidas por ordem crescente de
complexidade.
Por motivos de clareza, os códigos SPARQL utilizados na execução de
consultas bem como os resultados das inferências estão representados sob a forma de
figuras que foram capturadas diretamente da interface SNORQL.
8.1.1 – Consulta 1
O experimento tem por objetivo recuperar descritores de proveniência
retrospectiva de granulosidade fina produzidos durante a etapa de execução do ciclo de
vida do experimento e que estejam correlacionados com uma única classe estereotipada
como sortal rígido na ontologia OvO.
Consulta 1: Recuperar todos os atributos do arquivo de saída de nome
COG0039.
A consulta 1, ilustrada na Figura 39, envolve uma única classe da ontologia
OvO: ovo:Artifact.
A função desta primeira consulta é mostrar que é viável utilizar uma única classe
da ontologia OvO para recuperar os descritores de proveniência a ela relacionados.
Nesta consulta, a classe deve representar um elemento da categoria dos universais que
possua o princípio da identidade único. Neste caso utilizou-se a classe ovo:Artifact que
foi mapeada através do estereótipo de <<Kind>> da UFO.
Nesta consulta foram associados os atributos de arquivos capturados pela
arquitetura Matriohska durante uma execução de um workflow concreto OrthoSearch.
Este tipo de consulta beneficia-se de características intrínsecas da UFO e que foram
utilizadas na modelagem da subontologia de proveniência retrospectiva. Ou seja, ao
modelar o conceito Artefato como sendo um sortal rígido, explicitou-se a existência do
princípio da identidade para cada arquivo manipulado pelo workflow concreto.
A consulta 1 envolve exclusivamente descritores de proveniência retrospectiva.
Neste caso não foi utilizado nenhum tipo de relacionamento entre as demais classes da
ontologia, isto é, os descritores de proveniência dos artefatos (nome do arquivo, tipo do
arquivo, extensão do arquivo, e data de criação) são recuperados por inferência direta.
A consulta 1 utiliza duas condições de filtragem expostas na cláusula FILTER:
nome do arquivo filtro (―COG0039‖) e marcação como arquivo de saída (―O‖) de uma
156
atividade. Se essas condições fossem suprimidas, todos os arquivos presentes na base de
dados seriam exibidos. Em termos práticos esta consulta permite que um pesquisador
recupere informações de proveniência de um arquivo específico que seja de interesse da
sua pesquisa
Figura 36. Consulta sobre descritores de proveniência retrospectiva envolvendo
apenas um sortal rígido.
8.1.2 – Consulta 2
O experimento tem por objetivo recuperar descritores de proveniência
retrospectiva de granulosidade fina produzidos durante a etapa de execução do ciclo de
vida do experimento e que estejam correlacionados mais de uma classe do tipo sortal da
ontologia OvO.
Consulta 2: Recuperar todas as atividades concretas de um workflow concreto
denominado ―ortho.vt‖
Esta consulta evidencia uma característica central da UFO, correlacionando-se
dois tipos distintos de sortais. Neste caso foram utilizadas a classe
ovo:Concrete_Workflow, mapeada como um <<SubKind>>, e a classe
ovo:Concrete_Activit,y mapeada como um <<Kind>>. Essa correlação é possível, pois
as duas classes possuem princípios de identidade originados de classes distintas. Na
primeira a identidade foi herdada da classe ovo:Workflow e a segunda possui princípio
Consulta 1
Resultado
157
de identidade próprio. Além disso, foram correlacionados os descritores de arquivos
capturados pela arquitetura Matriohska durante a execução de uma instância do
workflow concreto denominada ortho.vt.
A natureza desta consulta requer a adoção de mapeamento do tipo
relacionamentos. A consulta 2, representada na Figura 40, utiliza a propriedade
ovo:hasConcreteWorkflow, definida como um relacionamento entre duas classes da
ontologia OvO a saber: ovo:Concrete_Workflow e ovo:Concrete_Activity.
Essa consulta recupera exclusivamente descritores de proveniência
retrospectiva. No entanto, é capaz de ser ampliada, podendo recuperar quaisquer
descritores relacionados com essas duas classes, isto é, os descritores associados tanto
ao workflow concreto (nome do workflow concreto, SGWfC, data de criação e última
data de execução) quanto às atividades concretas que o compõem (nome da atividade,
caminho de localização do programa e sua versão, data de instalação, entre outros).
Em termos práticos, essa consulta permite que um pesquisador recupere a lista
de todos os nomes dos programas que estão mapeados como atividades concretas do
workflow indicado na cláusula FILTER.
Figura 370. Consulta sobre descritores de proveniência retrospectiva envolvendo
relacionamentos entre sortais rígidos.
Consulta 2
Resultado
158
8.1.3 – Consulta 3
O experimento 3 tem por objetivo recuperar descritores de proveniência
retrospectiva de granulosidade fina correlacionando conceitos mapeados sob a forma de
relações materiais e sortais rígidos da ontologia OvO.
Consulta 3: Recuperar, por ordem ascendente dos identificadores de execução
das instâncias dos workflows concretos, as datas e horas de início e término, nomes dos
workflows concretos e nome dos pesquisadores que desempenham o papel Executor,
bem como o nome de todas as atividades concretas associadas a todas as instâncias de
workflows que foram executados e que não terminaram com erro.
A consulta 3, ilustrada na Figura 41, é uma consulta complexa, que opera sobre
descritores representados por categorias universais da UFO ontologicamente distintas.
Foram utilizadas as classes: ovo:WorkflowRun, representada sob o estereótipo de uma
relação material do tipo <<Relator>>; a classe ovo:Concrete_Workflow mapeada sob a
forma de um sortal rígido do tipo <<SubKind>> e a classe ovo:Executor representando
um papel e mapeada como um sortal anti-rígido do tipo <<Role>>.
Diferentemente das consultas anteriores, a consulta 3 explicita a relação pré-
existente entre workflows concretos, sua execução e o pesquisador que desempenhou o
papel de executor. Ela implementa um associação do tipo material , representada na
Figura 21. Por esse motivo essa consulta demanda relacionamentos múltiplos. No
entanto, como as demais consultas desta seção, ela envolve apenas descritores de
proveniência retrospectiva coletados pela Matriohska.
Além das três classes, a consulta 3 também requer a adoção de quatro
propriedades da OvO: ovo:hasExecution, ovo:hasConcreteWorkflow, ovo:hasExecutor
e ovo:hasControl.
A propriedade ovo:hasExecution representa a associação do tipo <<mediation>>
entre o sortal rígido Concrete_Workflow e o relator Workflow_Run. A propriedade
ovo:hasControl indica a associação entre Executor sortal anti-rígido do tipo <<Role>> e
o relator. Por sua vez, a propriedade ovo:hasExecutor materializa o relacionamento
existente entre o <<Role>>, i.e., o papel desempenhado pelo Executor e, o sortal rígido
Concrete_Workflow do tipo <<Kind>>. Neste caso ovo:hasConcreteWorkflow permite a
associação entre um workflow concreto e atividades concretas com o compõem.
159
Em termos práticos este tipo de consulta é importante, pois permite que os
pesquisadores acompanhem as execuções individualizadas de cada workflow concreto e,
ao mesmo tempo, associem suas atividades concretas. Neste experimento foi
condicionado que a execução correta de um workflow concreto qualquer possui datas e
horas distintas.
Figura 38. Consulta sobre descritores de proveniência retrospectiva envolvendo
relações sortais rígidos, anti-rígidos e relações.
8.2 – Experimentos envolvendo descritores de proveniência
prospectiva
As consultas representadas nesta seção têm por objetivo recuperar descritores de
proveniência prospectiva. Em termos sintáticos as consultas de proveniência
prospectiva são muito parecidas com as consultas apresentadas na seção anterior. No
entanto, semanticamente elas são diferenciadas uma vez que elas operam sobre classes
que representam descritores coletados em momentos anteriores à execução dos
workflows científicos, isto é, as consultas de proveniência prospectiva operam sobre
classe de descritores associados com a etapa de composição do ciclo de vida dos
experimentos científicos em larga escala.
Assim como foi representado na seção anterior, os códigos SPARQL utilizados
na execução de consultas e os resultados das inferências estão representados sob a
forma de figuras coletadas diretamente da interface SNORQL.
Consulta3
Resultado
160
8.2.1 – Consulta 4
O experimento 4 tem por objetivo recuperar descritores de proveniência
prospectiva de granulosidade grossa correlacionados com tipos sortais e que
representem elementos da etapa de composição do experimento científico em larga
escala.
Consulta 4: Recuperar todas as organizações e laboratórios de pesquisa que
participaram dos experimentos científicos que estejam relacionadas com o projeto
―Matriohska‖ e cujo sítio do projeto contenha a palavra ―biowebdb‖.
A consulta 4, ilustrada na Figura 42, opera sobre categorias mapeadas como
sortais do tipo rígido com princípios de identidade próprios. As quatro classes
envolvidas na consulta estão mapeadas com o estereótipo <<Kind>> da UFO:
ovo:Laboratory, ovo:Experiment, ovo:Laboratory e ovo:Project. Além das classes, a
consulta também requer duas propriedades da OvO, a saber: ovo:hasLaboratory e
ovo:hasProjectConceivedBy. Diferentemente das consultas anteriores, esta se utiliza
somente de descritores coletados exclusivamente durante a fase de composição do
experimento. Neste caso, os descritores de proveniência recuperados têm suas origens
associadas aos dados que foram repassados para o ambiente de nuvem através dos
arquivos de manifesto de experimento. Em termos práticos este tipo de consulta é
importante, pois permite que os pesquisadores recuperem informações sobre o
experimento propriamente dito.
Figura 39. Consulta sobre descritores de proveniência prospectiva envolvendo
sortais do tipo <<Kind>>.
Consulta 4 Re
su
ltad
o
161
8.2.2 – Consulta 5
O experimento 5 tem por objetivo recuperar descritores de proveniência
prospectiva de granulosidade grossa correlacionados com classes rotuladas sob tipos
distintos de sortais (no caso, sortais rígidos e anti-rígidos). Esta consulta permite
recuperar proveniência prospectiva de classes identificadas por princípios de identidade
distintos. Isto é, um projeto é um sortal rígido unicamente identificado, enquanto que os
papéis desempenhados pelos diversos agentes envolvidos na condução do experimento
científico não possuem princípios de identidade próprios, sendo herdados do conceito
pessoa.
Consulta 5: Recuperar todas as organizações de pesquisa e os nomes de todos
pesquisadores que tenham desempenhado os papéis de coordenadores, arquitetos e
programadores que tenham participado do projeto de pesquisa denominado
―Matriohska‖.
A consulta 5, representada na Figura 43, atua exclusivamente sobre descritores
de proveniência prospectiva. Neste caso, busca-se explorar as características da
modelagem da OvO que permite explicitar os diferentes papéis desempenhados pelos
pesquisadores ao longo do ciclo de vida de um experimento. Para explorar esta faceta
utilizaram-se as seis classes da ontologia: ovo:Person, ovo:Project, ovo:Programmer,
ovo:Architect, ovo:Coordinator e ovo:Organization.
A consulta 5 explicita a separação dos diversos papéis preconizada pela
ontologia OvO. Neste caso os pesquisadores desempenham ao longo do ciclo de vida de
um experimento científico um ou mais papéis. A consulta utiliza cinco propriedades da
OvO: ovo:hasProjectConceivedBy, ovo:hasProgrammer, ovo:hasProject,
ovo:hasArchitect, ovo:hasCoordinator.
162
Figura 403. Consulta sobre descritores de proveniência prospectiva envolvendo
sortais do tipo <<Kind>> e <<Role>>.
8.3 – Experimentos envolvendo descritores de proveniência
prospectiva e retrospectiva
As consultas relacionadas com essa categoria têm por objetivo recuperar
conjuntamente os descritores de proveniência fina e grossa (retrospectiva e prospectiva
respectivamente). As consultas serão apresentadas por ordem crescente de
complexidade e as classes e propriedades utilizadas estão associadas às etapas de
composição e execução do ciclo de vida dos experimentos científicos em larga escala.
Em termos práticos as consultas dessa categoria são importantes por permitirem
que os pesquisadores associem descritores de proveniência que foram produzidos ao
longo de diferentes etapas do ciclo de vida do experimento científico. Estas representam
um diferencial em relação aos demais sistemas de proveniência, pois evidenciam a
capacidade da Matriohska de coletar dados de etapas distintas do ciclo de vida de
experimentos científicos em larga escala.
8.3.1 – Consulta 6
Este experimento tem por objetivo recuperar descritores de proveniência
prospectiva e retrospectiva de granulosidade distintas correlacionando informações
Consulta 5
Resultado
163
sobre classes rotuladas como sortais rígidos da UFO utilizados no mapeamento entre as
classes de workflows concretos e abstratos.
Consulta 6: Selecionar todos os workflows concretos e suas datas de execução
que foram executados sob o controle do SGWfC ―VisTrails‖, além disso, correlacioná-
los com todas as suas atividades concretas e as suas respectivas definições de workflows
e atividades abstratas.
Diferentemente das consultas anteriores, a consulta 6 está diretamente
relacionada com a modelagem conceitual da subontologia de proveniência prospectiva
ilustrada na Figura 44. A consulta opera sobre descritores de proveniência prospectiva e
retrospectiva. Neste caso, utilizaram-se quatro classes: ovo:Concrete_Workflow,
ovo:Concrete_Activity, (classes relacionadas com proveniência retrospectiva)
ovo:Abstract_Workflow, e ovo:Abstract_Activity (classes relacionadas com
proveniência prospectiva) além de quatro propriedades da ontologia, a saber:
ovo:hasConcreteWorkflow, ovo:hasAbstractWorkflow, ovo:hasAbstractActivity e
ovo:hasActivity.
A consulta 6 requer a utilização de muitas propriedades que não só garantem as
associações entre as classes como também evidenciam a importância da modelagem
adotada pela subontologia de proveniência prospectiva (representada na Figura 20). Este
experimento corrobora não só a importância da separação dos dois níveis de abstração
distintos (concreto e abstrato) entre os workflows e seus constituintes, como também
correlaciona descritores que foram produzidos ao longo de diferentes etapas do ciclo de
vida dos experimentos científicos em larga escala.
Por fim, esta consulta recupera descritores de proveniência que foram
submetidos ao banco de dados através dos manifestos de experimento, atividade e de
configuração.
164
Figura 414. Consulta sobre descritores de proveniência retrospectiva e prospectiva
envolvendo sortais rígidos e anti-rígidos.
8.3.2 – Consulta 7
O experimento 7 tem por objetivo recuperar descritores de proveniência
prospectiva e retrospectiva, no entanto, correlacionando informações sobre sortais
rígidos e anti-rígidos da UFO.
Consulta 7: Selecionar todas as imagens de máquinas virtuais, suas instâncias,
endereços lógicos e o nome do programador envolvidos na produção de artefatos pela
atividade concreta de nome ―mafft‖.
A consulta 7, representada na Figura 45, opera sobre descritores de proveniência
coletados diretamente do ambiente de nuvem, evidenciando a separação lógica entre as
camadas de recursos virtuais da nuvem e de aplicação relatadas no Capítulo 6. Além
disso, a consulta também permite que se explicite a associação existente entre o papel
desempenhado pelo pesquisador com os artefatos produzidos por uma determinada
atividade concreta do workflow. Esta consulta ilustra a correlação de classes de
proveniência prospectiva e retrospectiva discutidas na Seção 5.2.2 do Capítulo 5.
A consulta 7 requer o uso de cinco classes (ovo:Instance, ovo:Image,
ovo:Concrete_Activity, ovo:Artifact e ovo:Program) e quatro propriedades, a saber:
ovo:hasInstance, ovo:hasProgram ovo:hasProduced e ovo:hasImplementation.
Consulta 6 Re
su
ltad
o
165
Figura 425. Consulta sobre descritores de proveniência retrospectiva e prospectiva
envolvendo sortais do tipo <<Kind>> e <<Role>>.
8.3.3 – Consulta 8
Este experimento também tem por objetivo recuperar descritores de
proveniência prospectiva e retrospectiva com granulosidade fina, porém
correlacionando informações somente sobre sortais rígidos.
Consulta 8: Selecionar a hipótese, os workflows abstratos e concretos e suas
respectivas atividades (abstratas e concretas) de um experimento científico de nome
―OrthoSearch‖ executado no dia 12/05/2011 às 10:12:12.
A consulta 8, representada na Figura 46, é mais uma consulta que atua sobre
descritores de proveniência prospectiva e retrospectiva. Neste caso, utilizaram-se as
categorias mapeadas exclusivamente como sortais rígidos que envolvem descritores
coletados diretamente do ambiente de nuvem durante a execução de um workflow
concreto. A consulta permite que se recuperem dados acerca de um determinado
experimento apenas informando a data de execução do workflow concreto.
A consulta 8 envolve as quatro classes da ontologia OvO (ovo:Experiment,
ovo:Concrete_Activity, ovo:Abstract_Workflow e ovo:Concrete_Workflow) e apenas
duas propriedades (ovo:hasAbstractWorkflow e ovo:hasAbstractActivity). A consulta,
no entanto, possibilita que se associem diretamente descritores do experimento com
diferentes execuções de um workflow concreto executado em um horário pré-
determinado.
Consulta 7
Resultado
166
Esta consulta recupera descritores de proveniência que foram submetidos ao
banco de dados através do manifesto de experimento, atividades e de setup.
Em termos práticos este tipo de consulta é importante, pois permite que os
pesquisadores recuperem as execuções individualizadas de cada workflow concreto e, ao
mesmo tempo, correlacionando atividades concretas, abstratas e descritores sobre o
experimento propriamente dito. Neste experimento foram filtrados, através da cláusula
FILTER, somente os workflows concretos que tenham sido executados em uma
determinada data.
Figura 43. Consulta sobre descritores de proveniência retrospectiva e prospectiva
envolvendo sortais do tipo <<Kind>>.
8.4 - Considerações Finais
Este capítulo apresentou um conjunto de experimentos que envolvem consultas
sobre descritores de proveniência de granulosidades distintas. Os resultados evidenciam
a funcionalidade da associação da ontologia OvO e o repositório de descritores de
proveniência coletados pelos módulos da arquitetura Matriohska. A seguir são
destacadas as principais conclusões.
Os experimentos evidenciam que é viável acessar descritores de proveniência de
experimentos executados em ambientes distribuídos por intermédio de consultas
baseadas na OvO.
Consulta 8
Resultado
167
Os experimentos confirmam que é possível, não só recuperar descritores de
proveniência coletados ao longo de uma única etapa do ciclo de vida de experimentos
científicos em larga escala (por exemplo, experimentos de 1 até 5), como também é
viável correlacioná-los com os descritores de proveniência de mais de uma etapa (por
exemplo, experimentos de 6 até 8).
Os experimentos evidenciam que a ontologia OvO é capaz de suportar o
mapeamento de descritores de proveniência prospectiva e retrospectiva com diferentes
graus de granulosidade. Isto é, a granulosidade fina é representada pelas anotações
acerca do experimento científico e a granulosidade grossa registra a história da
execução do workflow e atividades concretas na nuvem.
Os experimentos indicam que a ontologia OvO pode ser utilizada em outros
domínios da ciência. No caso desta tese foram realizados experimentos científicos da
área de Bioinformática. No entanto, consultas semelhantes poderiam ser executadas em
descritores de proveniência oriundos de outros domínios, uma vez que não há
construtores específicos para bioinformática ou em especial para genômica
comparativa.
Os experimentos 6, 7 e 8 foram capazes de recuperar descritores de proveniência
associadas à sortais anti-rígidos mesmo sem explicitar tais classes. Ou seja, ao recuperar
conjuntamente descritores de proveniência prospectiva e retrospectiva em uma mesma
consulta SPARQL foi corroborada a importância da modelagem adotada através dos
estereótipos <<Phase>>, onde foram separadas formalmente as etapas do ciclo de vida
de experimentos científicos.
O Quadro 10 ilustra um resumo das correlações entre as consultas, as etapas do
ciclo de vida do experimento, os tipos de proveniência manipuladas, as subontologias
da UFO utilizadas e os estereótipos das classes trabalhados. Observa-se que somente o
primeiro experimento poderia ser executado com sucesso se tivéssemos adotado
exclusivamente o metamodelo OPM, os demais experimentos dificilmente poderiam
ser respondidos através do metamodelo. Por exemplo, as entidades OPM são
exclusivamente mapeadas como sortais rígidos <<Kind>>. Além disso, OPM não é
capaz de manipular descritores de proveniência prospectiva nem explicitar a separação
de papéis que um pesquisador pode assumir ao longo do ciclo de vida de um
experimento.
168
Quadro 9. Correlação dos experimentos com os tipos de proveniência e
subontologias OvO utilizadas
Finalmente, é possível concluir que a escolha da abordagem de Engenharia de
Ontologias apresentada no Capítulo 5 para a modelagem da ontologia OvO como uma
ontologia de domínio mostrou-se coerente com os resultados obtidos por intermédio dos
experimentos. O domínio da proveniência de experimentos científicos em larga escala
foi inicialmente modelado sem preocupações computacionais utilizando-se apenas uma
linguagem de nível ontológico, para então ser posteriormente convertida em uma
linguagem de nível epistemológico de acordo com os requisitos da aplicação.
Consulta
Tipo de
Proveniência
Recuperada
Etapa do
ciclo de vida
do
Experimento
Sub-
Ontologia
OvO utilizada
Estereótipos
da UFO
Consulta
suportada
pela OPM
Consulta 1 Retrospectiva Execução Retrospectiva <<Kind>> SIM
Consulta 2 Retrospectiva Execução Retrospectiva<<Kind>> &
<<SubKind>NÃO
Consulta 3 Retrospectiva Execução Retrospectiva
<<Relator>>,
<<Kind>> &
<<Role>
NÃO
Consulta 4 Prospectiva Composição Experimento <<Kind>> NÃO
Consulta 5Prospectiva Composição
Experimento +
Prospectiva
<<Kind>> &
<<Role>>NÃO
Consulta 6 Retrospectiva &
Prospectiva
Composição &
Execução
Prospectiva +
Retrospectiva
<<Phase>>,
<<Kind>> &
<<SubKind>
NÃO
Consulta 7 Retrospectiva &
Prospectiva
Composição &
Execução
Prospectiva +
Retrospectiva
<<Phase>>,
<<Kind>> &
<<Role>>
NÃO
Consulta 8Retrospectiva &
ProspectivaComposição &
Execução
Experimento +
Prospectiva +
Retrospectiva
<<Phase>> &
<<Kind>>NÃO
169
Capítulo 9 – Conclusão
Este capítulo reporta as conclusões gerais desta tese, também apresenta suas
principais contribuições e limitações. Finalizamos o trabalho com uma discussão sobre
as principais perspectivas de trabalhos futuros, além das considerações finais.
A ciência e a tecnologia contemporâneas passam por mudanças rápidas e
paradoxais, difíceis de explicar em termos simples. Ambas estão se tornando mais
globais, mas também mais focadas na resolução de questões específicas que afetam um
grande número de pessoas; exigem mão-de-obra cada vez mais especializada, mas
substituem os homens pelas máquinas em diversas atividades; tornam-se mais aplicadas,
mas também mais básicas. Enfim, nós, os cientistas vivemos uma situação paradoxal. O
uso intensivo de computadores também está mudando a maneira que a ciência é descrita
e relatada. Os experimentos científicos aumentam em escala e complexidade, seu
entendimento e sua reprodução tornam-se cada vez mais difíceis. Neste sentido os
descritores de proveniência desempenham um papel primordial.
Para que os cientistas se beneficiem dos descritores de proveniência produzidos
ao longo do ciclo de vida dos experimentos de larga escala executados em ambientes
computacionais distribuídos, é necessário que eles sejam capturados, armazenados e,
posteriormente consultados. No entanto, para que sejam compartilhados é necessário
que se estabeleça uma visão comum não somente sobre o experimento e suas etapas,
como também sobre os artefatos e seus descritores. O que se busca, em última instância,
são melhorias nos processos de gerência da informação. Neste caso, as ontologias de
domínio relacionadas à proveniência de experimentos científicos podem desempenhar
um papel fundamental.
Visando atenuar os problemas de gerência de descritores de proveniência, esta
tese propôs uma estratégia de gerência de descritores de proveniência que está baseada
no desenvolvimento de uma ontologia de proveniência e de um sistema de coleta de
descritores de proveniência de diversas granulosidades. Foi projetada e desenvolvida
uma arquitetura que pode ser acoplada a SGWfC centralizados até então incapazes de
coletar descritores de proveniência destes ambientes.
A estratégia proposta é composta por quatro linhas mestras que foram descritas
ao longo desta tese:
170
(i) A taxonomia de proveniência representou um passo importante não só para
categorizar os sistemas de proveniência, como também para classificar os
diversos tipos de proveniência que deveriam ser mapeados por ontologias de
proveniência. Essa classificação representou papel decisivo para o
desenvolvimento da ontologia OvO.
(ii) O processo de engenharia da ontologia OvO, diferentemente dos trabalhos
correlatos, adotou fundamentação teórica de alta expressividade para definir uma
ontologia de domínio relacionada com proveniência de experimentos científicos
em larga escala. Nesta tese foi produzido um modelo conceitual ontológico que
pode ser aplicado ao domínio da proveniência dos experimentos em e-Ciência,
independente do foco do experimento científico. Matriohska é um sistema de
coleta de proveniência capaz de coletar descritores de proveniência de diversas
granulosidades. Matriohska, assim como alguns dos principais sistemas de
proveniência distribuída, opera de modo desacoplado do SGWfC; além disso,
seus componentes não foram concebidos e codificados para serem SGWfC-
específicos.
(iii) Matriohska foi avaliada em situação que envolve um experimento real de
bioinformática. O workflow utilizado foi um fragmento do OrthoSearch, que foi
desenvolvido previamente como parte do projeto de cooperação BiowebDB
(BIOWEBDB, 2011). No entanto, ressalta-se que a Matriohska não é uma
solução específica para o domínio da bioinformática ou demais domínios da e-
Ciência. O modelo de dados desenvolvido para a Matriohska leva em
consideração os descritores de proveniência prospectiva e retrospectiva
previamente apontada pela nossa taxonomia.
(iv) Ao se adotar uma representação formal para a ontologia de proveniência OvO,
buscou-se mais que uma fundamentação para a elaboração de consultas que
recuperassem informações mais abrangentes sobre as etapas dos experimentos
científicos em larga escala, desenvolveu-se uma ontologia, bem fundamentada,
que apóia a realização de inferências sobre o conhecimento armazenado nos
repositórios de proveniência dos experimentos científicos. As consultas
representam uma primeira abordagem que permitiram que os pesquisadores
recuperassem informações sobre a composição do experimento científico (por
exemplo, parte conceitual do experimento onde são definidas as configurações
171
abstratas), como também da sua execução (por exemplo, parte estrutural do
experimento onde são definidos as atividades, workflows e artefatos concretos).
Os experimentos baseados em consultas SPARQL evidenciaram a possibilidade
de associar os descritores de proveniência de granulosidades variadas como
também de explorar os diversos papéis que um pesquisador pode assumir ao
longo do ciclo de vida do experimento em larga escala conduzido em ambientes
heterogêneos e distribuídos, tais como as nuvens de computadores.
9.1 – Contribuições
A importância do apoio ao cientista na realização de seus experimentos
científicos em larga escala tem sido evidenciada na academia pela área de e-Ciência e se
fez presente nos documentos dos ―Grandes Desafios‖ da SBC e da NSF (organismo
norte-americano de apoio à Ciência). Esta tese apresentou os resultados de um trabalho
de pesquisa desenvolvido ao longo dos últimos anos e as principais contribuições são:
(i) A definição de uma estratégia para a gerência de descritores de proveniência de
experimentos executados em ambientes distribuídos.
(ii) Apresentação de uma ontologia de proveniência de experimentos científicos,
bem fundamentada, construída à luz de ontologias de fundamentação (por
exemplo, UFO);
Além da estratégia e da ontologia, consideramos como contribuições
específicas:
(iii) A associação explícita de recursos científicos às etapas do ciclo de vida de
experimentos científicos em grande escala e a apresentação de uma taxonomia
de proveniência para classificar as informações e os sistemas de proveniência;
(iv) A apresentação e o desenvolvimento de uma arquitetura modular e de baixo
acoplamento que permite a gerência de descritores de proveniência em
ambientes distribuídos;
(v) Apresentação de um modelo de dados de proveniência, baseado na ontologia
OvO, capaz de armazenar informações sobre proveniência prospectiva e
retrospectiva de experimentos científicos;
172
(vi) Avaliação da arquitetura Matriohska e da ontologia OvO por meio de consultas
que evidenciaram a capacidade de responder a questões de proveniência sobre
um experimento real (OrthoSearch), executado em um ambiente distribuído e
heterogêneo de nuvens de computadores. Os primeiros resultados indicaram que
o uso da estratégia propiciou uma análise de proveniência (prospectiva e
retrospectiva) mais completa do que apenas o uso de mecanismos de
proveniência padrão oferecidos pelos atuais SGWfC.
Alguns dos resultados obtidos ao longo do desenvolvimento desta tese foram
registrados sob a forma de publicações em revistas e congressos ligados aos temas de
proveniência, workflows e bioinformática, a saber:
1. CRUZ, S.M.S, RIBEIRO, A., MATTOSO, M.,‖VTPortal: a Scientific
Community Web Portal for Reusable Workflows‖, In: Anais do V Workshop
em E-Science, pp. 1029 - 1032, Natal, 2011.
2. CRUZ, S.M.S, PAULINO, C. E., OLIVEIRA, D., CAMPOS, M.L.M,
MATTOSO, M., ―Capturing Distributed Provenance Metadata from Cloud-
Based Scientific Workflows”. Journal of Information and Data
Management, v. 2, n. 1, pp. 43-50, 2011.
3. MARINHO, A., MURTA, L., WERNER, C. M. L., BRAGANHOLO, V. P.,
CRUZ, S.M.S, OGASAWARA, E., MATTOSO, M., ―ProvManager: A
Provenance Management System for Scientific Workflows”, Concurrency and
Computation: Practice & Experience, Março, 2011, (aceito para publicação).
4. CRUZ, S.M.S, SILVA, E., TOSTA, F., VILELA, C., CUADRAT, R.,
TSCHOEKE, D.A., DAVILA, A. M. R., CAMPOS, M.L.M, MATTOSO, M.
―Detecting distant homologies on protozoans metabolic pathways using
scientific workflows‖. International Journal of Data Mining and
Bioinformatics, v. 4, n. 3, pp. 256-280, 2010.
5. MATTOSO, M., WERNER, C. M. L., MURTA, L., OGASAWARA, E,
OLIVEIRA, D., CRUZ, S.M.S, TRAVASSOS. G. H., ―Towards Supporing
Large Scale in silico Experiments Life Cycle‖. International Journal of
Business Process Integration and Management, v.5, pp.79-92, 2010.
6. DÁVILA, A. M. R., MENDES, P., WAGNER, G., TSCHOEKE, D.A.,
CUADRAT, R.R.C., LIBERMAN, F., MATOS, L., SATAKE, T., OCAÑA, K.
173
A. C. S., TRIANA, O., CRUZ, S. M. S., JUCÁ, H. C. L., CURY, J. C., SILVA,
F. N., GERONIMO, G. A., RUIZ, M., RUBACK, E., SILVA JR., F. P.,
PROBST, C. M., GRISARD, E. C., KRIEGER, M. A., GOLDENBERG, S.,
CAVALCANTI, M. C. R., MORAES, M. O. CAMPOS, M. L. M., MATTOSO,
―ProtozoaDB: dynamic visualization and exploration of protozoan genomes‖.
Nucleic Acids Research, v.36, n. pp.547-552, 2008.
7. CRUZ, S.M.S, BARROS, P.M., BISCH, P.M., CAMPOS, M.L.M., MATTOSO,
M. ―A Provenance-Based Approach to Resource Discovery in Distributed
Molecular Dynamics Workflows‖, Lecture Notes in Computer Science, v.6162,
Springer, pp.66-80, 2010.
8. SILVA, C. E. P, OLIVEIRA, D., CRUZ, S. M. S., CAMPOS, M. L. M.;
MATTOSO, M., "Captura de Metadados de Proveniência para Workflows
Científicos em Nuvens Computacionais". In: Anais do XXV Simpósio
Brasileiro de Bancos de Dados, pp. 215-223, Belo Horizonte, 2010.
9. MARINHO, A., MURTA, L., WERNER, C., BRAGANHOLO, V.,
OGASAWARA, E., CRUZ, S.M.S., MATTOSO, M., "Integrating Provenance
Data from Distributed Workflow Systems with ProvManager". In: Provenance
and Annotation of Data and Processes Workshop, v. 6378, Lecture Notes in
Computer Science. Springer, pp. 286-288, 2010.
10. CRUZ, S.M.S, RIBEIRO, A. MATTOSO M. “VTPortal: a Web-Portal for
VisTrails Workflows” In: 3rd International Workshop of Genomic
Databases, Búzios, 2010,
11. CRUZ, S.M.S, TOSTA, F. DAVILA, A. M. R., CAMPOS, M.L.M, MATTOSO,
M. ―OrthoLoad: A Scientific Workflow Approach to Load Genomic Data on a
Genomic Database‖ In: 3rd International Workshop of Genomic Databases,
Búzios, 2010.
12. SERRA, S., ―Using clickstream and provenance to enhance trust on scientific
experiments‖ In: Proceedings of the WebSci10: Extending the Frontiers of
Society On-Line, Raleigh, Carolina do Norte, pp. 1-4, 2010.
13. CRUZ, S.M.S, BARROS, P.M., Bisch P.M., CAMPOS, M.L.M., MATTOSO,
M. ―A Provenance-based Approach to Resource Discovery in Distributed
174
Workflows‖, In: 2nd International Workshop on REsource Discover, pp. 234
– 247, 2009.
14. CRUZ, S. M. S., CAMPOS, MARIA L. M., MATTOSO, M. "Towards a
Taxonomy of Provenance in Scientific Workflow Management Systems". In:
Proceedings of the SERVICES '09 Congress on Services - I, pp. 259-266. Los
Angeles, Califórnia, Jul, 2009.
15. CRUZ, S.M.S; CHIRIGATI, F.S, DAHIS, R., FREIRE, J., SILVA, C. T.,
MATTOSO, M, ―Desenvolvimento de Estruturas de Controle Explícito para o
SGWfC VisTrails‖. In: XXVI Simpósio Brasileiro de Banco de Dados
Fortaleza – Ceará, 2009. (prêmio de melhor poster).
16. CRUZ, S. M. S., SILVA, F. N., GADELHA JR., L. M. R., CAMPOS, M.L.M,
MATTOSO, M. "A Lightweight Middleware Monitor for Distributed Scientific
Workflows" In: Proceedings of the Eighth IEEE International Symposium
on Cluster Computing and the Grid, pp. 693-698, Lyon, França, Mai. 2008.
17. CRUZ, S.M.S, CHIRIGATI, F.S., DAHIS, R., CAMPOS, M.L.M, MATTOSO,
M. ―Using explicit control processes in distributed workflows to gather
provenance‖. In: Lecture Notes in Computer Science, v.5272, pp.186-199, 2008.
18. CRUZ, S.M.S., SILVA, E., TOSTA, F., VILELA, C., CUADRAT, R.R.C.,
TSCHOEKE, D.A., DAVILA, A. M. R., CAMPOS, M.L.M., MATTOSO, M.
“OrthoSearch: A Scientific Workflow Approach to Detect Distant Homologies
on Protozoans‖ In: Proceedings of the 2008 ACM symposium on Applied
Computing, pp. 1282 -1286. Fortaleza, Ceará, Mai. 2008.
19. CRUZ, S.M.S, CHIRIGATI, F.S., DAHIS, R., CAMPOS, M.L.M., MATTOSO,
M. ―Controles de Fluxo Explícitos em Workflows Científicos‖ In: II E-Science
Workshop, pp.1 – 10, 2008.
20. CRUZ, S. M S., BARROS, PATRÍCIA M., BISCH, P. M.. CAMPOS, M. L. M.;
MATTOSO, M. "Provenance Services for Distributed Workflows". In:
Proceedings of the Eighth IEEE International Symposium on Cluster
Computing and the Grid, pp. 526-533, Lyon, France, Mai. 2008.
21. CRUZ, S.M.S, CHIRIGATI, F.S. DAHIS, R., CAMPOS, M.L.M., MATTOSO,
M. ―Using explicit control processes in distributed workflows to gather
175
provenance‖ In: 3rd International Provenance and Annotation Workshop,.
v. 5272. pp.186 – 199, 2008.
22. MATTOSO, M., CRUZ, S.M;S. ―Gerência de Workflows Científicos:
Oportunidades de pesquisa em bancos de dados‖ In: XXIII Simpósio Brasileiro
de Banco de Dados pp. 313 – 317, 2008.
23. BARROS, P. M., CRUZ, S.M.S., MATTOSO, M., BISCH, P.M., ―GromDFlow:
Um Workflow para Dinâmica Molecular em Ambientes Distribuídos‖. In: 3rd
Brazilian Symposium on Bioinformatics, Santo Caetano – São Paulo, 2008.
24. CUADRAT, R., CRUZ, S.M.S., JUCÁ, H.C.L., TSCHOEKE, D.A., TOSTA, F.,
SILVA, E., CAMPOS, M.L.M, MATTOSO, M. ―Using Scientific Workflows to
detect distant homologies on protozoan metabolic pathways.‖ In: 4th
International Conference of the Brazilian Association for Bioinformatics
and Computational Biology, Salvador - BA., 2008. (selecionado como um dos
5 melhores trabalhos).
25. CRUZ, S.M.S, SILVA, F.J.C., CAMPOS, M.L.M, MATTOSO, M. .
―Experiencing GARSA as a scientific workflow on grids environment‖. In: 2nd
Brazilian Symposium of Bioinformatics, pp. 155-158, Angra dos Reis. , Brasi,
2007.
26. DAVILA, A. M. R., WAGNER, G., MENDES, P. N., LIBERMAN, F.,
SATAKE, T., TSCHOEKE,. D. A., OCAÑA, K, CRUZ, S.M.S, SILVA JR.,
F.P., PROBST, C.M., COSTA, V., GRISARD, E. C., KRIEGER, M. A.,
MOARES. M.M., MATTOSO, M., ―ProtozoaDB: towards an integrated
database for the mining of protozoan genomes‖. In: 2nd International
Workshop on Genomic Databases, Angra dos Reis, Brasil (2007).
9.2 – Limitações
Toda pesquisa possui suas dificuldades e limitações. Durante a realização desta
tese, alguns imprevistos foram limitantes para o desenvolvimento pleno das
características propostas na estratégia. Além disso, outras limitações foram identificadas
a partir de uma análise criteriosa dos protótipos da arquitetura, dos workflows e da
ontologia:
176
(i) Durante as etapas de desenvolvimento da ontologia OvO, uma das maiores
dificuldades foi compreender a complexidade da ontologia de fundamentação
UFO. UFO é uma ontologia ampla, mas ainda em desenvolvimento. Apesar de
existir um expressivo número de publicações, não há uma compilação geral
corrente de todos os conceitos contemplados por ela.
(ii) Por conta da UFO-B estar sendo ainda complementada, com definições mais
precisas de conceitos associados a situações, processos e eventos, quando do
desenvolvimento desta tese, optou-se por deixar de lado as representações
dinâmicas da execução de processos e representá-los de forma estática, através
dos construtos da UFO-A;
(iii) Apesar da UFO ter seus modelos formais bem fundamentados e totalmente
independentes de domínio, os mecanismos que possibilitam a conversão e
validação da linguagem ontológica (OntoUML) para representação equivalente
em linguagem epistemológica (OWL DL) ainda estão em desenvolvimento;
(iv) Apesar de importante, este trabalho, por questões de escopo, não investigou
questões relacionadas ao desempenho da arquitetura no ambiente de nuvens de
computadores.
Apesar destas dificuldades, este trabalho dá um passo importante em direção à
construção de uma ontologia de domínio de proveniência e de um sistema distribuído de
coleta de proveniência para experimentos em larga escala.
9.3 – Trabalhos Futuros
Gerenciar proveniência de experimentos científicos em ambientes distribuídos
não é uma tarefa monolítica, pelo contrário, é uma tarefa multifacetada que demanda
tempo, dedicação e idealmente uma equipe de pesquisadores de perfis variados. Os
trabalhos discutidos no corpo desta tese representam apenas os primeiros passos para o
desenvolvimento de uma estratégia integrada de gerência de proveniência de
experimentos científicos.
Como etapa inicial, a meta principal foi conceber e avaliar a infra-estrutura
descrita nos Capítulos 4 e 5, buscar soluções para questões chave como, por exemplo,
compreender quais tipos de proveniência estão envolvidos com os experimentos
científicos em larga escala, definir uma estratégia de captura e armazenamento de
177
proveniência em ambientes distribuídos e disponibilizá-la para o cientista de modo não
ambíguo.
Com isso, esta tese abriu uma linha de novas oportunidades de pesquisa. Ainda
há extensões a serem realizadas tanto para avaliar, de maneira mais refinada, a
estratégia proposta, quanto para evoluí-la. Além disso, novas pesquisas podem ser
derivadas desta tese. Considerando o estágio atual do trabalho aqui apresentado,
algumas das perspectivas de trabalhos futuros vislumbradas são destacadas a seguir.
1. Como os repositórios de proveniência tendem a crescer ao longo do tempo, faz-
se necessário desenvolver uma estratégia, compatível com a OPM, para garantir
a exportação de subconjuntos de metadados existentes no repositório de
proveniência na nuvem, permitindo que os cientistas armazenem localmente
somente os descritores de proveniência que considerem relevantes;
2. Os ambientes de computação em nuvem ainda são incipientes. Faz-se necessário
desenvolver novos componentes ou sistemas que facilitem a configuração do
experimento científico em larga escala, como por exemplo, inicialização
automática das instâncias da nuvem, suporte a fragmentação de dados e
distribuição das atividades do workflow para essas instâncias.
3. A investigação de novos mecanismos de trocas de mensagens entre os
componentes da arquitetura, por exemplo, trocas de mensagens assíncronas entre
os brokers da Matriohska para avaliar se ocorreram mudanças significativas de
desempenho da solução;
4. Pesquisa de métodos de integração do repositório de proveniência da Matriohska
com os repositórios de proveniência produzidos por SGWfC centralizados tais
como Kepler e Taverna;
5. Implementação dos componentes opcionais da arquitetura (Data Uploader e
Data Downloader);
6. Integração da arquitetura Matriohska e da ontologia OvO com a solução
VTPortal (CRUZ, RIBEIRO, MATTOSO, 2010, 2011), que já oferece uma
plataforma Web para executar workflows VisTrails remotamente e também
consultar proveniência desses workflows;
178
7. Avaliação da possível integração da arquitetura Matriohska ao middleware
Hydra (BARBOSA, 2010), que permite a depuração e o monitoramento da
execução distribuída dos workflows nos ambientes distribuídos;
8. Avaliação da possível integração da ontologia OvO ao sistema ProvManager
(MARINHO et al., 2010, 2011),
9. Elaboração de estudos de avaliação de desempenho da arquitetura no ambiente
de nuvens de computadores;
10. Por fim, à medida que os fragmentos UFO-B e C amadurecerem faz-se
necessário considerá-los como forma de representar semanticamente as classes
do tipo perdurants, isto é, considerar que processos geradores de proveniência
são eventos compostos por partes temporais que variam ao longo do tempo.
9.4 - Considerações Finais
Esta tese evidenciou que o problema de gerenciar a proveniência de
experimentos em larga escala, realizados em ambientes distribuídos do tipo nuvem de
computadores, pode ser resolvido através do uso de estratégia que envolve múltiplos
componentes de software. Embora tenha-se enfatizado a aplicação desta estratégia para
o ambiente científico, acredita-se que idéias semelhantes podem ser aplicadas para
sistemas voltados para a área de negócios na Web. Por exemplo, recentemente, o
conceito de dados abertos ligados emergiu como um meio para expor, compartilhar e
integrar informações na Web. Tais dados devem ser expressos em formatos que sejam
legíveis por máquinas (triplas RDF), além de manter ligações com dados de outros
usuários. Embora essa recente abordagem ofereça contexto para apoiar a adoção de
técnicas de inferência, a publicação desses dados não pode ser desvinculada dos seus
descritores de proveniência, eles são essenciais para permitir uma melhor avaliação de
atributos importantes, tais como confiabilidade e qualidade.
O fenômeno da globalização, o surgimento de organizações descentralizadas e a
difusão das tecnologias de Web Semântica enfatizam a necessidade de sermos capazes
de compreender o significado e acompanhar a movimentação de objetos (físicos e
digitais) produzidos por sistemas oriundos de múltiplas instituições e organizações
independentes. Acredita-se que em futuro não muito distante, não só seremos capazes
de compreender, em profundidade, como os resultados de experimentos e suas
179
decorrentes publicações científicas (ou os documentos na Web ou relatórios gerenciais)
foram produzidos, mas também, a partir dessa compreensão, contribuir para a melhoria
e evolução desses experimentos, fazendo com que este conhecimento seja decisivo para
darmos conta da complexidade inerente à ciência e ao mundo de hoje.
180
Referências Bibliográficas
AALST, W. VAN DER, HEE, K. VAN. Workflow Management: Models, Methods,
and Systems (Cooperative Information Systems). 1 ed. Massachusetts, MIT Press,
2004.
ABADI, D. J. "Data Management in the Cloud: Limitations and Opportunities", IEEE
Data Engineering Bulletin, v. 32, pp. 3-12, Mar 2009.
ABBADI, I. M., LYLE J. ―Challenges for Provenance in Cloud Computing‖. In: 3rd
USENIX Workshop on the Theory and Practice of Provenance, pp. Heraklion, Mai,
2011.
AGRAWAL, D., DAS, S., ABBADI, A. E. "Data Management Challenges in Cloud
Computing Infrastructures". Databases in Networked Information Systems. 1-10, Aizu,
Japão, 29-31 March, 2010.
AGRAWAL, P., BENJELLOUN, O., SARMA, A. D. et al. "Trio: a system for data,
uncertainty, and lineage". In: Proceedings of the 32nd International Conference on
Very Large Data Bases, pp. 1151-1154, Seoul, Korea, 2006.
AKABANE, G., LOPES, C., SILVA, F. "O sistema de rastreabilidade para a
sustentabilidade no agronegócio brasileiro", Revista da Micro e Pequena Empresa, v.
4, n. 1, pp. 80-95, 2010.
ALBERTS, B., JOHNSON, A., WALTER, P. Biologia Molecular da Célula. 4. ed.
São Paulo, Artmed Editora, 2004.
ALDECO-PÉREZ, R., MOREAU, L. "A provenance-based compliance framework".
Conference on Future Internet. pp. 128-137, Berlin, Germany, 2010.
ALTSCHUL, S. F., GISH, W., MILLER, W., et al. "Basic local alignment search tool".
Journal Molecular Biology, v. 512, n. 3, pp. 403-410, Out. 1990.
AMAZON. Amazon Elastic Compute Cloud. [S.l.]:, 2011. Disponível em:
<http://aws.amazon.com/ec2/>. Acesso em 10 jan. 2011.
ANAND, M. K., BOWERS, S., LUDASCHER, B. "Provenance browser: Displaying
and querying scientific workflow provenance graphs". International Congress on Data
Engineering, pp.1201-1004, Long Beach, California, USA, pp. 1-6, Mar. 2010.
ANDERSON, C. "The End of Theory: The Data Deluge Makes the Scientific Method
Obsolete". Wired Magazine, v. 16 n. 7, pp. 12-18, Jul 2008.
ANDERSON, D. "BOINC: A System for Public-Resource Computing and Storage". In:
Proceedings of the 5th IEEE/ACM International Workshop on Grid Computing,
pp. 4-10, Tsukuba, Japão, Set. 2004.
APACHE. Hadoop. [S.l.]:, 2011. Disponível em: <http://hadoop.apache.org/>. Acesso
em: 03 jan. 2011.
ARIAS-HERNANDEZ, R., FISHER, B., "Analytic Provenance in Pair Analytics". In:
Proceedings of Conference on Human Factors in Computing Systems, pp. 1-2,
Vancouver, Canadá, Mai. 2011.
ARMBRUST, M., FOX, A., GRIFFITH, R., et al. Above the Clouds: A Berkeley
View of Cloud Computing. In: Technical Report UCB/EECS-2009-28, University of
181
California, Berkley, 2009.
AUER, S., DIETZOLD, S., LEHMANN, J., et al., "Triplify-light-Weight linked Data
Publication from Relational Databases". In: Proceedings of the World Wide Wed
2009. pp. 179-188. Madrid, Espanha, Abr. 2009.
BARBOSA, C. A., 2010, Hydra: Componentes para o paralelismo de dados em
experimentos científicos. Dissertação de M.Sc., COPPE/UFRJ. Rio de Janeiro, RJ,
Brasil.
BARCELLOS, M. P., FALBO, R.A., "Using a Foundational Ontology for
Reengineering a Software Enterprise Ontology". In: Proceedings of the ER 2009
Workshops (CoMoL, ETheCoM, FP-UML, MOST-ONISW, QoIS, RIGiM,
SeCoGIS) on Advances in Conceptual Modeling - Challenging Perspectives. pp.
179-188. Gramado, Brasil, Nov. 2009.
BARGA, R. S., DIGIAMPIETRI, L. A. "Automatic capture and efficient storage of e-
Science experiment provenance". Concurrency Computation Practice and
Experience, v. 20, n. 5, pp. 419-429, Abr. 2008.
BARHAM, P., DRAGOVIC, B., FRASER, K., et al. "Xen and the art of virtualization".
In: Proceedings of the 9th ACM Symposium on Operating Systems Principles. pp.
164-177, New York, Dez. 2003
BARRETT, M. P., BURCHMORE, R. J., STICH, A.; et al. "The trypanosomiases".
The Lancet, v. 362, n. 9394, pp. 1469-1480, Nov 2003.
BARROS, A. J. S., LEHFELD, N. A. S. Fundamentos de Metodologia Científica. 3
ed. São Paulo: Pearson Prentice Hall, 2007.
BASS, L., CLEMENTS, P., KAZMAN, R. Software Architecture in Practice. 2 ed.
Boston, Addison-Wesley Professional, 2003.
BAUMAN, B. T. "Prying Apart Semantics and Implementation: Generating XML
Schemata directly from ontologically sound conceptual models". In: Proceedings of the
Markup Conference, Montreal, Canadá, Ago. 2009.
BEBERG, A., ENSIGN, D., JAYACHANDRAN, G., KHALIQ, S., PANDE, V.
"Folding@home: Lessons from eight years of volunteer distributed computing". In:
Proceedings of the 2009 IEEE International Symposium on Parallel&Distributed
Processing, pp. 1-8, Roma, Mai. 2009.
BELL, G., GRAY, J., SZALAY, A. "Petascale Computational Systems: Balanced
CyberInfrastructure in a Data-Centric World". IEEE Computer, v. 39, n. 1, pp. 110-
112, Jan. 2006.
BELL, G., HEY, T., SZALAY, A. "Beyond the Data Deluge". Science, v. 323, n. 5919,
pp. 1297-1298, Mar 2009.
BELLATRECHE, L., DUNG, N. X., PIERRA, G., et al. "Contribution of ontology-
based data modeling to automatic integration of electronic catalogues within
engineering databases". Computers in Industry, v. 57, n. 8, pp. 711-724, Dez. 2006.
BENSON, D.A., KARSCH-MIZRACHI, I., LIPMAN, D.J., et al.. "Genbank". Nucleic
Acids Research, v 39, pp. D32-37, Jan. 2011.
BENZAKEN, V., FEKETE J-D., HÉMERY P. et al., "EdiFlow: data-intensive
interactive workflows for visual analytics", 2011. In: Proceedings of the International
conference on Data Engineering, pp. 780-791, Hannover, Abr. 2011.
182
BERMAN, F. "Got Data? A Guide to Data Preservation in the Information Age".
Communications of the ACM, v. 51, n. 12, pp. 50-55, Dez. 2008.
BERRIMAN, M., GHEDIN, E., HERTZ-FWOLER, C., et al. "The genome of the
African trypanosome Trypanosoma brucei". Science, v. 309, n. 5733, pp. 416-422, Jul.
2005.
BIOLCHINI, J. C. A., MIAN, P. G., NATALI, A. C., et al.. "Scientific research
ontology to support systematic review in software engineering". Advanced
Engineering Informatics, v. 21, n. 2, pp. 133-151, Abr. 2007.
BIOWEBDB. BiowebDb Consortium - Comparative genomics approaches. [S.l]:, 2011.
Disponível em: < http://biowebdb.org/>. Acesso em: 13 jun. 2011.
BIZER, C., CYGANIAK, R., GARBERS, J. The D2RQ Platform v0.7 [S.l]:, 2011.
Disponível em: <http://www4.wiwiss.fu-
berlin.de/bizer/d2rq/spec/index.htm#architecture>. Acesso em: 10 fev. 2011.
BIZER, C., Semantic web publishing vocabulary (SWP) user manual. [S.l]:, 2006.
Disponível em: <http://www4.wiwiss.fu-berlin.de/bizer/WIQA/swp/SWP-
UserManual.pdf >. Acesso em: 10 fev. 2011.
BLAKE, J. A., BULT, C. J., "Beyond the data deluge: Data integration and bio-
ontologies". Journal of Biomedical Informatics, v. 39, n. 3, pp. 314-320, Jun 2006.
BODENREIDER, O. "Ontologies and Data Integration in Biomedicine: Success Stories
and Challenging Issues". In: Data Integration in the Life Sciences. v. 5109, Lecture
Notes in Computer Science, Springer, pp. 1-4, 2008.
BOJARS, U., BRESLIN, J. SIOC Core Ontology Specification. [S.l]: 2010. Disponível
em: <http://rdfs.org/sioc/spec/>. Acesso em: 03 jan. 2011.
BOSE, R., FREW, J. "Lineage retrieval for scientific data processing: a survey", ACM
Computing Surveys, v. 37, n. 1,p p. 1-28, Mar. 2005.
BOWERS, S., MCPHILLIPS, T. M., LUDASCHER, B. "Provenance in collection-
oriented scientific workflows", Journal of Concurrency and Computation: Practice
& Experience, v. 20, n. 5, pp. 519-529, Abr. 2008.
BRANCO, M., MOREAU, L. "Enabling Provenance on Large Scale e-Science
Applications". In: Provenance and Annotation of Data. v. 4145, Lecture Notes in
Computer Science, Springer, pp. 55-63. 2006.
BREITMAN, K. "Computação em Nuvem" In: Meira Jr., W., Carvalho, A.C.L.F. (eds),
Atualizações em Informática 2010. 1 ed., Capítulo 1, Porto Alegre: Puc-Rio, 2010.
BRUNO, D., RICHMOND, H. "The true about taxonomies". Information
Management Journal, v. 5, n. 37, pp. 44-46, Mar. 2003.
BUNEMAN, P., CHAPMAN, A., CHENEY, J. "Provenance management in curated
databases". In: Proceedings of the 2006 ACM SIGMOD International Conference
on Management of Data, pp. 539-550, Chicago, Jun. 2006.
BUNEMAN, P., KHANNA, S., TAN, W.C. "Why and Where: A Characterization of
Data Provenance". In: Proceedings of the 8th International Conference on Database
Theory, pp. 316-330, Londres, 2001.
BUYYA, R. SULISTIO, A. "Service and Utility Oriented Distributed Computing
Systems: Challenges and Opportunities for Modeling and Simulation Communities". In:
183
41th Annual Simulation Symposium, pp. 68-81, Ottawa, Abr. 2008.
CALLAHAN, S. P., FREIRE, J., SANTOS, E.; et al. "VisTrails: visualization meets
data management". In: Proceedings of the 2006 ACM SIGMOD International
Conference on Management of Data, pp. 745-747, Chicago, Jun. 2006.
CAMPOS, M.L.A. "O papel das definições na pesquisa em ontologia". Perspectivas
em Ciência da Informação, v. 15, n. 1, pp. 220-238, Jan/Abr. 2010.
CAMPOS, M. L. A., GOMES, H. E. "TAXONOMIA E CLASSIFICAÇÃO: a
categorização como princípio" VIII ENANCIB - Encontro Nacional de Pesquisa em
Ciência da Informação. 1-14, Salvador, Bahia, Brasil, 28-31 Outubro 2007.
CARTIER, J., RUDOLPH, J., STEWART, J. 2001,The Nature and Structure of
Scientific Models, working paper of NCISLA. pp. 1-10, University of Wisconsin-
Madison.
CARVALHO, A. C. P. L.; BRAYNE, A.; LOUREIRO, A.; et al. Grandes Desafios da
Pesquisa em Computação no Brasil – 2006 – 2016. . [S.l.]: 2006. Disponível em
<http://www.sbc.org.br/index.php?language=1&content=downloads&id=272>. Acesso
em: 3 jan. 2011.
CAVALCANTI, M. C., MATTOSO, M., CAMPOS, MARIA L. M., 2003, Gerência De
Recursos Científicos: Apoiando A Realização De Experimentos In Silico. In: Relatório
Técnico ES-605/03, PESC/COPPE, Rio de Janeiro.
CAVALCANTI, M. C., TARGINO, R., BAIÃO, F.. et al. "Managing structural
genomic workflows using Web services". Data & Knowledge Engineering, v. 53, n. 1,
pp. 45-74, Abr. 2005.
CERVO, A. L., BERVIAN, P. A., SILVA, R. Metodologia Científica. 6 ed. São Paulo:
Pearson Prentice Hall, 2007.
CHAPMAN, A., JAGADISH, H. "Understanding provenance black boxes".
Distributed and Parallel Databases, v. 27, n. 2, pp. 139-167, Abr. 2010.
CHENEY, J., CHITICARIU, L., TAN, W.-C. "Provenance in Databases: Why, How,
and Where". Foundations and Trends in Databases, v. 1, n. 4, pp. 379-474, 2007.
CHENEY, J., CHONG, S., FOSTER, N., SELTZER, M., VANSUMMEREN:, S.
"Provenance: a future history". In: Proceedings of 24th ACM SIGPLAN conference
companion on Object oriented programming systems languages and applications,
pp. 957-964, Orlando, Flórida, 2009.
CHONG, S. "Towards semantics for provenance security". In: Proceedings of the 1st
workshop on on Theory and Practice of Provenance, pp. 1-5, San Francisco,
Califórnia, 2009
CICCARESE, P. SWAN Provenance, Authoring and Versioning Ontology
Specification. . [S.l]:, 2008. Disponível em:
<http://swan.mindinformatics.org/spec/1.2/pav.html>. , 2008. Acesso em 02 jan. 2011.
CLARK, K. G., FEIGENBAUM, L., TORRES, E. SPARQL Protocol for RDF. [S.l]:,
2008. Disponível em: <http://www.w3.org/TR/rdf-sparql-protocol/>. Acesso em 30 dez.
2010.
CLIFFORD, B., FOSTER, I., VOECKLER, J.-S. et al. "Tracking provenance in a
virtual data grid". Concurrency and Computation: Practice & Experience v. 20, n. 5,
pp. 565-575, Abr. 2008.
184
COHEN-BOULAKIA, S., BITON, O., COHEN, S., et al. "Addressing the provenance
challenge using ZOOM". Concurrency and Computation: Practice & Experience v.
20, n. 5, pp. 497-506, Abr. 2008.
CORCHO, O. "Ontology based document annotations; trends and open research
problems". International Journal of Metadata, Semantics and Ontologies v. 1, n. 1,
pp. 47-57, Jan. 2006.
CORCHO, O., FERNANDEZ-LOPES, M., GOMEZ-PEREZ, A. "Methodologies, tools
and languages for building ontologies: where is their meeting point?" Data &
Knowledge Engineering v. 46, n. 1, pp. 41-64, Jul. 2003.
COULOURIS, G., DOLLIMORE, J., KILDBERG, T. Distributed Systems: Concepts
and Design. 4 ed. New York, Addison Wesley, 2005.
COUVARES, P., KOSAR, T., ROY, A., et al. "Workflow Management in Condor". In:
Taylor, I.J., Deelman, E., Gannon, D. B., (eds), Workflows for e-Science. chapter 22,
Springer London, 2007.
CRUZ, S. M. S., BATISTA, V., SILVA, E., et al. "Detecting distant homologies on
protozoans metabolic pathways using scientific workflows", International Journal of
Data Mining and Bioinformatics, v. 4, n. 3, pp. 256-280, 2010.
CRUZ, S. M. S., CAMPOS, M. L. M., MATTOSO, M. "Towards a Taxonomy of
Provenance in Scientific Workflow Management Systems". In: Proceedings of the
SERVICES '09 Congress on Services - I, pp. 259-266. Los Angeles, Califórnia, Jul,
2009.
CRUZ, S. M. S., RIBEIRO, A., MATTOSO, M. "VTPortal: a Web-Portal for VisTrails
Workflows". In: Proceedings of the 3rd International Workshop of Genomic
Databases, Búzios, Rio de Janeiro, Brasil, 2010.
CRUZ, S. M. S., SILVA, F. N., GADELHA JR., L. M. R., et al. "A Lightweight
Middleware Monitor for Distributed Scientific Workflows" In: Proceedings of the
Eighth IEEE International Symposium on Cluster Computing and the Grid, pp.
693-698, Lyon, France, Mai. 2008.
CRUZ, S. M. S. BARROS, PATRÍCIA M.. BISCH, P. M. et al.. "A Provenance-Based
Approach to Resource Discovery in Distributed Molecular Dynamics Workflows". In:
Resource Discovery, v. 6162, Lecture Notes in Computer Science. pp. 66-80, 2010.
CRUZ, S. M S., BARROS, PATRÍCIA M., BISCH, P. M et al. "Provenance Services
for Distributed Workflows". In: Proceedings of the Eighth IEEE International
Symposium on Cluster Computing and the Grid, pp. 526-533, Lyon, France, Mai.
2008.
CRUZ, S. M. S., BATISTA, V., DÁVILA, A. M. R., et al. "OrthoSearch: a scientific
workflow approach to detect distant homologies on protozoans". In: Proceedings of the
2008 ACM symposium on Applied Computing, pp. 1282 -1286. Fortaleza, Ceará,
Brasil, Mai. 2008.
CRUZ, S. M. S., SILVA, C.E.P., OLIVEIRA, D., et al.. " Capturing Distributed
Provenance Metadata from Cloud-Based Scientic Workflows". Journal of Information
and Data Management, v. 2, n. 1, pp. 43-50, 2011.
CRUZ, T. WORKFLOW: A Tecnologia que Vai Revolucionar Processos. 2 ed. São
Paulo, Atlas, 2000.
185
CURBERA, F., DOGANATA, Y., MARTENS, A., et al. "Business Provenance – A
Technology to Increase Traceability of End-to-End Operations". In: Proceedings of the
On the Move to Meaningful Internet Systems. v. 5331, Lecture Notes in Computer
Science, pp. 100-119, 2008.
CULLOT, N., PARENT., C., SPACCAPIETRA, S., et al. "Ontologies: A Contribution
to the DL/DB Debate". In: Proceedings of the 1st International Workshop on the
Semantic Web and Databases, pp. Berlin, 1-21, 2003
DARCH, P., CARUSI, A., JIROTKA, M. "Shared understanding of end-users‘
requirements in e-Science projects". In: Proceedings of the 5th International
Conference on E-Science Workshops, pp. 125-128, Oxford, 2009.
DAVIDSON, S. B., FREIRE, J. "Provenance and Scientific Workflows: Challenges and
Opportunities". In: Proceedings of the 2008 ACM SIGMOD International
Conference on Management of Data, pp. 1345-1350, Vancouver, 2008.
DAVIDSON, S., BOULAKIA, S. C., EYAL, et al. "Provenance in Scientific Workflow
Systems", Provenance in Scientific Workflow Systems, v. 30, n. 4, pp. 44-50, 2007.
DÁVILA, A. M. R., MAJIWA, P. A. O., GRISARD, E. C., et al. "Comparative
genomics to uncover the secrets of tsetse and livestock-infective trypanosomes".
Trends in Parasitology, v. 19, n. 10, pp. 436-439, Out. 2003.
DÁVILA, A. M. R., MENDES, P., WAGNER, G., et al., M.,"ProtozoaDB: dynamic
visualization and exploration of protozoan genomes". Nucleic Acids Research, v. 36, n.
1, pp. D547-D552, 2008.
DCMI. DCMI Metadata Terms. [S.l:], 2010. Disponível em:
<http://www.dublincore.org/documents/dcmi-terms/>. Acesso em 12 jan. 2011.
DE ROURE, D., GOBLE, C., STEVENS, R. "The design and realisation of the Virtual
Research Environment for social sharing of workflows", Future Generation
Computer Systems, v. 25, n. 5, pp. 561-567, Mai. 2009.
DECANDIA, G., HASTORUN, D., JAMPANI, M., et al. "Dynamo: amazon‘s highly
available key-value store". In: ACM SIGOPS Operating Systems Review, v. 41, n. 6,
p. 205-220, Dez. 2007.
DEELMAN, E., BERRIMAN, B., CHERNEVAK, A.; et al. "Metadata and Provenance
Management". In: Shoshani, A., Rotem, D. (eds), Scientific Data Management:
Challenges, Technology, and Deployment, cahpater 12, CRC Press, 2010.
DEELMAN, E., GANNON, D., SHIELDS, M., et al.., "Workflows and e-Science: An
overview of workflow system features and capabilities". Future Generation
Computer Systems, v. 25, n. 5, pp. 528-540, Mai. 2009.
DEELMAN, E., SINGH, G., SU, M.-H., et al. "Pegasus: A framework for mapping
complex scientific workflows onto distributed systems". Scientific Programming, v.
13, n. 3, pp. 219-237, Jul. 2005.
DEL RIO, N., SILVA, P. "Probe-It! Visualization Support for Provenance". In:
Advances in Visual Computing. v. 4842, Lecture Notes in Computer Science.
Springer pp. 732-741. 2007.
DING, Y., FENSEL, D. Ontology Library Systems: The key to successful Ontology
Re-use. In: Stanford University, California, USA, pp. 93-112, 2001.
DING, L., MICHAELIS, J., MCCUSKER, J. et al., "Linked Provenance Data: A
186
Semantic Web-based approach to interoperable workflow traces", Future Generation
Computer Systems, v 27, n.1, pp. 797-805, 2011.
DOLGERT, A., GIBBONS, L., JONES, C. D., et al. "Provenance in High-Energy
Physics Workflows", Computing in Science and Engineering, v. 10, n. 3, pp. 22-29,
Mai/Jun. 2008.
ECONOMIST. The data deluge. [S.l:[, 2010. Disponível em:
<http://www.economist.com/node/15579717>. Acesso em 25 fev. 2010.
EDDY, S. R. "Profile hidden Markov Models", Bioinformatics, v. 14, n. 9, pp. 755-
763, 1998.
EDDY, S. R., MITCHISON, G., DURBIN, R. "Maximum discrimination hidden
Markov models of sequence consensus", Journal Computational Biology, v. 2, n. 1,
pp. 9-23, 1995.
ELMASRI, R., NAVATHE, S. Sistema de Banco de Dados - Fundamentos e
Aplicações. 4 ed. São Paulo, SP, Brasil: Addison Wesley, 2005.
ELMROTH, E., HERNÁNDEZ, F., TORDSSON, J. "Three fundamental dimensions of
scientific workflow interoperability: Model of computation, language, and execution
environment", Future Generation Computer Systems, v. 26, n. 2, pp. 245-256, Fev.
2010.
EL-ON, J. "Current status and perspectives of the immunotherapy of leishmaniasis",
The Israel Medical Association Journal, v. 11, n. 10, pp. 623-628, Out. 2009.
EMMOTT, S., RISON, S., ABITEBOUL, S., et al.. Towards 2020 Science. [S.l:], 2005.
Disponível em <http://research.microsoft.com/en-
us/um/cambridge/projects/towards2020science/>. Acesso em 10 fev. 2011.
ERLING O., MIKHAILOV., I., "RDF Support in the Virtuoso DMMS".In: Tassilo P.,
Sórem A., Klaus T., (eds), Networked Knowledge - Networked Media, v. 221, pp. 7-24,
Springer Berlin, 2009.
ESSOUSSI, N., BOUJENFA, K., LIMAM, M. "A comparison of MSA tools",
Bioinformation, v. 2, n. 10, pp. 452-455, Jul. 2008.
EUCALYPTUS. The Open Source Cloud Platform. [S.l:], 2011. Disponível em:
<http://open.eucalyptus.com/>. Acesso em 8 jan. 2011.
EVERMANN, J. "Towards a cognitive foundation for knowledge representation",
Information Systems Journal, v. 15, n. 2, pp. 147-178, Abr. 2005.
FAHRINGER, T., PRODAN, R., DUAN, R., et al. "ASKALON: A Development and
Grid Computing Environment for Scientific Workflows". In: Taylor, I.J. Deelman, E.,
Gannon, D. B., (eds), Workflows for e-Science. chapter 27, Springer London, 2007.
FALBO, R.A. 1998, Integração de Conhecimento em um Ambiente de Desenvolvimento
de Software. Tese de D.Sc., COPPE/UFRJ, Rio de Janeiro, RJ, Brasil.
FALBO, R.A. "Experiences in Using a Method for Building Domain Ontologies". In:
Proceedings of the 4th International Conference on Quality Software, pp. 162-169.
Braunschweig, Germany, 2004.
FALBO, R.A. "Uma Ontologia de Riscos de Software". In: Anais do IX Simpósio
Brasileiro de Qualidade de Software, pp. 151-165. Belém, Jun. 2010.
FALBO, R.A., NARDI, J. C. "Evolving a Software Requirements Ontology". In:
187
XXXIV Conferência Latinoamericana de Informática, pp. 300-309, Santa Fé -
Argentina, 2008.
FENLEY, S. "Developing tools and visualisation techniques to assist users in e-Science
technologies". In: Proceedings of the 5th International Conference on E-Science
Workshops, pp. 129-134, Oxford, 2009.
FERNANDEZ-LOPES, M., GOMEZ-PEREZ, A., JURISTO, N. "METHONTOLOGY:
FromOntological Art Towards Ontological Engineering". In: Spring Symposium on
Ontological Engineering of AAAI. Califórnia, USA, 1997.
FITCH, W. "Distinguishing Homologous From Analogous Proteins", Systematic
Biology, v. 19, n. 2, pp. 99-113, Jun. 1970.
FOAF. FOAF VocabularySpecification. [S.l]:, 2011. Disponível em:
<http://xmlns.com/foaf/spec/20100101.html>. Acesso em: 20 dez. 2010.
FOMEL, S., CLAERBOUT, J. F. "Reproducible Research", Computing in Science
and Engineering, v. 11, n. 1, pp. 5-7, Fev. 2009.
FOSTER, I., VOCKLER, J., WILDE, M., YONG Z., "Chimera: a virtual data system
for representing, querying, and automating data derivation". In: Proceedings 14th
International Conference on Scientific and Statistical Database Management, pp. 37-46,
Edinburgo, Escócia, Jul. 2002.
FOSTER, I., ZHAO, Y, RAICU, I., LU, S. "Cloud Computing and Grid Computing
360-Degree Compared", In: Workshop of Grid Computing Environments, pp. 1-10,
Dez. 2008.
FOSTER, I., "The Anatomy of the Grid: Enabling Scalable Virtual Organizations". In:
Euro-Par 2001 Parallel Processing. v. 2150, Lecture Notes in Computer Science,
Springer, pp. 1-4, 2001.
FOSTER, I., "Globus Toolkit Version 4: Software for Service-Oriented Systems". In:
NPC. v. 3779, pp. 2-13, 2005.
FOX, A. "Cloud Computing—What‘s in It for Me as a Scientist?" Science, v. 331, n.
6016, pp. 406-407, Jan. 2011.
FREIRE, J., KOOP, D., SANTOS, E., SILVA, C. "Provenance for Computational
Tasks: A Survey". Computing in Science and Engineering, v. 10, n. 3, pp. 11-21,
Mai/Jun. 2008.
FREITAS, A., KNAP, T., O‘RIAIN, S., et al.., "W3P: Building an OPM based
provenance model for the Web", Future Generation Computer Systems, v. 27, n. 6,
pp. 766-774, Jun. 2011.
FREW, J., JANÉE, G., SLAUGHTER, P. "Automatic Provenance Collection and
Publishing in a Science Data Production Environment—Early Results". In: Provenance
and Annotation of Data and Processes. v. 6378, Lecture Notes in Computer Science.:
Springer, pp. 27-33, 2010.
GADELHA JR., L. M. R., CLIFFORD, B., MATTOSO, M., WILDE, M., FOSTER, I.,
"Provenance management in Swift", Future Generation Computer Systems, vv. 27, n.
6, pp. 775-780, Jun. 2011.
GADELHA JR., L. M. R., MATTOSO, M. "Kairos: An Architecture for Securing
Authorship and Temporal Information of Provenance Data in Grid-Enabled Workflow
Management Systems", In: Proceedings of the 4th IEEE International Conference
188
on eScience. pp. 597-602, Indianapolis, Dez. 2008.
GADELHA, L., MATTOSO, M., WILDE, M., et al., "Towards a Threat Model for
Provenance in e-Science". In: Provenance and Annotation of Data and Processes. v.
6378, Lecture Notes in Computer Science, Springer, pp. 277-279, 2010.
GAO, Q., HOUBEN, G.-J., "A framework for trust establishment and assessment on the
web of data", In: Proceedings of the 19th international conference on World Wide
Web. pp. 1097-1098, Raleigh, North Carolina, USA , 2010.
GAO, Y., KINOSHITA, J., WU, E., et al. "SWAN: A distributed knowledge
infrastructure for Alzheimer disease research". Web Semantics: Science, Services and
Agents on the World Wide Web, v. 4, n. 3, pp. 222-228, Set. 2006.
GIL, Y., GONZÁLEZ-CALERO, P. A., DEELMAN, E., "On the black art of designing
computational workflows", In: Proceedings of the 2nd workshop on Workflows in
support of large-scale science, pp. 53-62. Monterey, California, 2007.
GIL, Y., RATNATAR, V., KIM, J., GONZÁLEZ-CALERO, P. A., GROTH, P.,
MOODY, J., DEELMAN, E., " WINGS: Intelligent WorkflowBased Design of
Computational Experiments", Intelligent Systems, pp. 62-72. Fev. 2011.
GILDER, G. "The Information Factories", WIRED magazine, v. 1, n. 1, pp. 6, Out
2006.
GLAVIC, B., DITTRICH, K. "Data provenance: A categorization of existing
approaches", In: Datenbanksysteme in Business, Technologie und Web, pp. 227-241,
2007.
GO. An Introduction to Gene Ontology [S.l]:, 2009. Disponível em:
<http://www.geneontology.org/GO.doc.shtml>. Acesso em: 21 jan. 2011.
GOBLE, C., BHAGAT, J., ALEKSEJEVS, S., et al. "myExperiment: a repository and
social network for the sharing of bioinformatics workflows". Nucleic Acids Research,
v. 38, n. 2, pp. W677-W682, Jan. 2010.
GOBLE, C., WROE, C., STEVENS, R. "The my Grid project: services, architecture and
demonstrator", 2003.
GOGRID. GoGrid - Complex Infrastructure made Esasy [S.l]:, 2010. Disponível em:
<http://www.gogrid.com/>. Acesso em: 3 fev, 2011.
GOMEZ-PEREZ, A., CORCHO, O., FERNANDEZ-LOPEZ, M. Ontological
Engineering : with examples from the areas of Knowledge Management, e-
Commerce and the Semantic Web. 1 ed. Springer, 2004.
GONÇALVES, B., GUIZZARDI, G., FILHO, J.G.P., "An Electrocardiogram (ECG)
Domain Ontology", Applied Ontology, v. 1, n.1 pp-68-81, 2007.
GOODMAN, N. "Biological data becomes computer literate: new advances in
bioinformatics", Current Opinion in Biotechnology, v. 13, n. 1, pp. 68-71, Fev 2002.
GOOGLE. Google App Engine. [S.l]:, 2010. Disponível em:
<http://code.google.com/intl/pt-BR/appengine/>. Acesso em: 05 jun. 2011.
GRAVES, A. "POMELo: A PML Online Editor". In: Proceedings of the thrid
Intrenational Provenance and Annotation Workshop, pp. 91-97, Troy, USA, Jun.
2010.
GREEN, T. J., KARVOUNARAKIS, G., TANNEN, V. "Provenance semirings". In:
189
Proceedings of the twenty-sixth ACM SIGMOD-SIGACT-SIGART symposium on
Principles of database systems, pp. 31-40, Beijing, China, 2007.
GREENWOOD, M., GOBLE, C., STEVENS, R., et al. "Provenance of e-Science
Experiments - experience from Bioinformatics". In: Proceedings of the UK e-Science
2nd All Hands Meeting, pp. 223-226, Nottinham, 2003.
GRENON, P., SMITH, B., GOLDENBERG, L., "Biodynamic ontology: applying BFO
in the biomedical domain", Stud. Health Technol. Inform., n. 102, pp. 20-38, 2004.
GRIMALDI, G., TESH, R. B., "Leishmaniases of the New World: current concepts and
implications for future research", Clinical Microbiology Review, v. 6, n. 3, pp. 230-
250, 1993.
GROTH, P., LUCK, M., MOREAU, L., "A Protocol for Recording Provenance in
Service-Oriented Grids". In: Principles of Distributed Systems. v. 3544, Lecture Notes
in Computer Science. pp. 124-139. 2005.
GROTH, P., MOREAU, L., "Representing distributed systems using the Open
Provenance Model". Future Generation Computer Systems, v. 27, n.6, pp. 757-765,
Jun. 2011.
GRUBER, T. R. A., "Translation approach to portable ontology specifications",
Knowledge Acquisition, v. 5, n. 2, p. 199-220, 1993.
GRUBER, T. R., "Toward principles for the design of ontologies used for knowledge
sharing", International Journal of Human-Computer Studies, v. 43, n. 5-6, pp. 907-
928, 1995.
GUARINO, N., "The Ontological Level", Philosophy and the Cognitive Sciences, pp.
443-456, 1994.
GUARINO, N., "Formal Ontology and Information Systems", In: Proceedings of the
1st International Conference Formal Ontology in Information Systems, pp. 3-15,
1998.
GUARINO, N., GIARETTA, P., "Ontologies and Knowledge Bases: Towards a
Terminological Clarification", pp. 25-32, 1995.
GUARINO, N., GUIZZARDI, G., "In the Defense of Ontological Foundations for
Conceptual Modeling". Scandinavian Journal of Information Systems, v. 18, n. 1,
pp. 115-126, 2006.
GUARINO, N., "The Ontological Level: Revisiting 30 Years of Knowledge
Representation". In: Borgida, A. T.; Chaudhri, V. K.; Giorgini, P.; Yu, E. S. (eds),
Conceptual Modeling: Foundations and Applications. 1ed., chapter 4, Springer-Verlag,
2009.
GUARINO, N., WELTY, C., "Evaluating ontological decisions with OntoClean",
Communications of the ACM, v. 45, n. 2, pp. 61-65, 2002.
GUIZZARDI, G., 2005, Ontological Foundations for Structural Conceptual Models,
PhD Thesis, University of Twente, Netherlands.
GUIZZARDI, G., "Modal Aspects of Object Types and Part-Whole Relations and the
de re/de dicto distinction". In: Proceedings of the 19th International Conference on
Advanced Information Systems Engineering, v.4495, Lecture Notes in Computer
Science. Springer, pp. 5-20, 2007.
190
GUIZZARDI, G. "What´s in a Relationship: An Ontological Analysis". In: 25th
International Conference on Conceptual Modeling. v. 5231, Lecture Notes in
Computer Science. Springer, pp. 83-97, 2008.
GUIZZARDI, G., BAIÃO, F., LOPES, M., et al., "The Role of Foundational
Ontologies for Domain Ontology Engineering: An Industrial Case Study in the Domain
of Oil and Gas Exploration and Production". International Journal of Information
System Modeling and Design, v. 1, n. 1, pp. 1-22, 2010.
GUIZZARDI, G., FALBO, R.A., GUIZZARDI, R. S. S., "Grounding Software Domain
Ontologies in the Unified Foundational Ontology (UFO): The case of the ODE
Software Process Ontology". In: Proceedings of the XI Iberoamerican Workshop on
Requirements Engineering and Software Environments, pp. 127-140. Recife, Brasil,
2008.
GUIZZARDI, G., FALBO, R. A., GUIZZARDI, R. S. S., "A importância de Ontologias
de Fundamentação para a Engenharia de Ontologias de Domínio: o caso do domínio de
Processos de Software". IEEE Latin America Transactions, v. 6, n. 33, pp. 244-251,
2008.
GUIZZARDI, G., GERD, W., HERRE, H., "On the Foundations of UML as an
Ontology Representation Language". In: Proceedings of the 14 th International
Conference on Knowledge Engineering and Knowledge Management, pp. 47-62,
2004.
GUIZZARDI, G., HALPIN, T. "Ontological foundations for conceptual modeling".
Applied Ontology, v. 3, pp. 1-12, 2008.
GUIZZARDI, G., HERRE, H., WAGNER, G., "Towards Ontological Foundations for
UML Conceptual Models". In: Proceedings of the Confederated International
Conferences DOA, CoopIS and ODBASE, pp. 1100-1117, Londres, 2002.
GUIZZARDI, G., LOPES, M., BAIÃO, F., et al.. "On the Importance of Truly
Ontological Distinctions for Ontology Representation Languages: An Industrial Case
Study in the Domain of Oil and Gas". Enterprise, Business-Process and Information
Systems Modeling, v. 29, pp. 224-236, 2009.
GUIZZARDI, G., MASOLO, C., BORGO, S., "In the Defense of a Trope-Based
Ontology for Conceptual Modeling: An Example with the Foundations of Attributes,
Weak Entities and Datatypes", In: Proceedings of the 25th International. Conference
on Conceptual Modeling, pp. 112-125 Arizona, USA, 2006.
GUIZZARDI, G., WAGNER, G., SINDEREN, et al., "An Ontologically Well-Founded
Profile for UML Conceptual Models", In: Proceedings of the 16th International.
Conference on Advances in Information Systems Engineering, pp. 112-126, 2004.
GUIZZARDI, G. WAGNER, G., "Towards Ontological Foundations for Agent
Modeling Concepts using UFO". v. 3508, Lecture Notes on Artificial Intelligence, pp.
110-114 , 2005.
GUTIERREZ, C., CORBERA, J., MORALES, M., et al., "Trypanosomosis in Goats",
Annals of the New York Academy of Sciences, v. 1081, n. 1, pp. 300-310, 2006.
HAEFNER, J. W., Modeling Biological Systems: Principles and Applications. 1 ed.
London: Chapman & Hall, 1996.
HALDAR, K., MOHANDAS, N., Malaria, erythrocytic infection and anemia.
Hemathology, pp. 87-93, 2009.
191
HARTIG, O., "Provenance Information in the Web of Data". In: Procedings of the
Linked Data on the Web Workshop at WWW, 2009.
HARTIG, O, ZHAO, J., "Using Web Data Provenance for Quality Assessment". In:.
Proceedings of the 1st International Workshop on the Role of Semantic Web in
Provenance Management, 2009.
HARTIG, O., ZHAO, J., Provenance Vocabulary Core Ontology Specification. [S.l]:,
2010. Disponível em: <http://trdf.sourceforge.net/provenance/ns.html>. Acesso em: 04
jul. 2010.
HASAN, R., SION, R., WINSLETT, M., "The Case of the Fake Picasso: Preventing
History Forgery with Secure Provenance". In: Proceedings of the 7th USENIX
Conference on File and Storage Technologies, pp. 1-14 , 2009.
HASSAN, M. M., SONG, B., HUH, E.-N., "A framework of sensor-cloud integration
opportunities and challenges". In: Proceedings of the 3rd International Conference
on Ubiquitous Information Management and Communication, pp. 618-626, Suwon,
Korea, 2009.
HAYES, C.C. "Agents in a Nutshell-A Very Brief Introduction". IEEE Transactions
on Knowledge and Data Engineering. v.11, n.1 pp.127-132, 1999.
HEIJST, G., SCHREIBER, A. T.; WIELINGA, B. J., "Roles are not classes : a reply to
Nicola Guarino". Int. J. Human-Comput. Studies, v. 46, n. 1, pp. 311-318, 1997.
HERRE, H., "General Formal Ontology (GFO) : A Foundational Ontology for
Conceptual Modelling". Theory and Applications of Ontology, v. 2, 2010.
HERT., M., REIF G., GALL, H.C., Updating Relational Data via SPARQL/Update.
In: Proceedings of the 2010 EDBT/ICDT Workshops, pp. 1-8, Lousanne, 2010.
HEY, T., TANSLEY, S., TOLLE, K., The Fourth Paradigm: Data-Intensive
Scientific Discovery. 1. ed. Redmond, Microsoft Research, 2009.
HEY, T.; TREFETHEN, A. "The Data Deluge: An e-Science Perspective". In: Grid
Computing - Making the Global Infrastructure a Reality, 1 ed. pp. 809-824, Wiley and
Sons, 2003.
HILBERT, M., LÓPEZ, P., "The World‘s Technological Capacity to Store,
Communicate, and Compute Information", Science v 332, n. 6025, pp. 60-65, Abr.
2011.
HOFFA, C., MEHTA, G., FREEMAN, T., et al. "On the Use of Cloud Computing for
Scientific Workflows". In: Proceedings of the 4th IEEE International Conference on
eScience, pp. 640-645, Indianápolis , 2008.
HOLLAND, D., BRAUN, U., MACLEAN, D., MUNISWAMY-REDDY, K.,
SELTZER, M., "Choosing a Data Model and Query Language for Provenance". In:
Proceedings of the 2nd International Provenance and Annotation Workshop, Salt
Lake City, 2008,
HP Labs. Jena – A Semantic Web Framework for Java. [S.l:]., 2010. Disponível em:
<http://jena.sourceforge.net/>. Acesso em: 10 jan. 2010.
HUNTER, S., APWEITER, R., ATTWOOD, T., et al.. "InterPro: the integrative protein
signature database". Nucleic Acids Research, v. 37, n. 1, pp. D211-D215, 2009.
IBM. Cloud Computing. [S.l]:, 2010. Disponível em: <http://www-
192
935.ibm.com/services/us/cloud/index.html>. Acesso em: 14 mar. 2011.
IDC. An Updated Forecast of Wordwide Information Growth Through [S.l]:, 2011.
Disponível em <http://www.emc.com/collateral/analyst-reports/diverse-exploding-
digital-universe.pdf>. Acesso em: Acesso em: 10 fev. 2011.
IETF. Public-Key Infrastructure (X.509). [S.l:], 2010. Disponível em:
<http://datatracker.ietf.org/wg/pkix/charter/>. Acesso em: 10 mar. 2011.
IKEDA, M., SETA, K., KAKUSHO, O., et al., Task ontology: Ontology for building
conceptual problem solving models, In: Proceedings of ECAI98 Workshop on
Applications of ontologies and problem-solving model, pp.126-133, 1998.
IOANNIDIS, Y. E., LIVNY, M., HABER, E.; et al. "Desktop experiment
management", IEEE Data Engineering Bulletin, v. 16, n. 1, 1994.
IOANNIDIS, Y. E., WONG, E., "Query optimization by simulated annealing". In:
Proceedings of the 1987 ACM SIGMOD international conference on Management
of Data, pp. 9-22, San Francisco, Califórnia, 1987.
ISIXSIGMA. Pugh Matrix. [S.l:]., 2010. Disponível em:
<http://www.isixsigma.com/index.php?option=com_glossary&Itemid=0&task=list&glo
ssid=1&letter=p&page=5>. Acesso em 02 jan. 2011.
JARRARD, R. D. SCIENTIFIC METHODS, an online book. 1. ed. Dept. of Geology
and Geophysics, University of Utah, 2001.
JAVA. . [S.l:]., 2011 Disponível em: <http://www.java.com/pt_BR/>. Acesso em: 2 jan.
2011.
JIA ZHANG., "Co-Taverna: A Tool Supporting Collaborative Scientific Workflows",
In: Proceedings IEEE International Conference on Services Computing, pp. 41-48,
2010.
JIA ZHANG; KUC, D.; SHIYONG LU., "Confucius: A Scientific Collaboration
System Using Collaborative Scientific Workflows", In: Proceedings of the IEEE
International Conference on Web Services, pp.575-583, Los Angeles, Califórnia,
2010.
JOACHIMIAK, M. P., CHANG, C., ROSENTHAL, J., et al.. "The Impact of Whole
Genome Sequence Data on Drug Discovery—A Malaria Case Study", Molecular
Medicine, v. 7, n. 10, pp. 698-710, Out. 2001.
JONES, T. W., DÁVILA, A. M. R., "Trypanosoma vivax - out of Africa", Trends in
Parasitology, v. 17, n. 2, pp. 99-101, Fev. 2001.
JURISTO, N., MORENO, A. M., Basics of Software Engineering Experimentation,
1ed. Springer, 2001.
JUVE, G., DEELMAN, E., VAHI, K., et al. "Scientific workflow applications on
Amazon EC2". In: Proceedings of the 5th IEEE International Conference on E-
Science Workshops, pp. 59-66, Oxford, 2009.
KANEHISA, M., GOTO, S. "KEGG: kyoto encyclopedia of genes and genomes",
Nucleic Acids Research v. 28, n.1, pp. 27-30, 2000.
KARVOUNARAKIS, G., IVES, Z. G., TANNEN, V., "Querying Data Provenance". In:
Proceedings of the 2010 international conference on Management of data. Indianapolis,
pp. 951-962, Indianápolis, Jun. 2010.
193
KATOH, K., KUMA, K., TOH, H., et al., "MAFFT version 5: improvement in
accuracy of multiple sequence alignment". Nucleic Acids Research, v. 33, n. 2, pp.
511-518, 2005.
KERTÉSZ, A., SIPOS, G., KACSUK, P., "Brokering multi-grid workflows in the P-
GRADE portal". In: Proceedings of the CoreGRID 2006, UNICORE Summit 2006,
Petascale Computational Biology and Bioinformatics conference on Parallel
processing, pp. 138-149, Dresden, 2007.
KESSELMAN, C.; FOSTER, I., The Grid: Blueprint for a New Computing
Infrastructure. 1ed. Morgan Kaufmann Publishers, 1998.
KIM, J., DEELMAN, E., GIL, Y., et al.. "Provenance trails in the Wings/Pegasus
system". Concurrency and Computation: Practice and Experience, v. 20, n. 5, pp.
587-597, Abr. 2008.
KING, R. D.; ROWLAND, J.; OLIVIER, S. G.; et al. "The Automation of Science".
Science, v. 324, n. 5923, pp. 85-89, Abr. 2009.
KOONIN, E. V., "Orthologs, Paralogs, and Evolutionary Genomics". Annual Reviews
Genetics, v. 39, pp. 310-338, 2005.
KÜHNE, T., "Understanding metamodeling". In: Proceedings of the 27th international
conference on Software engineering, pp. 716-717, St. Louis, 2005.
KUROSE, J., ROSS, K., Redes de computadores e a Internet: uma abordagem top-
down. 3. ed. São Paulo, Pearson Education Brasil, 2007.
LACROIX, Z., KOTHARI, C.R., MORK, P., WILKINSON, M., COHEN-
BOULAKIA, "Biological Metadata Management". In: Ling L. and Özsu (Eds),
Enclyclopedia of Database Systems. Springer,. Berlin, pp. 215-219, 2009.
LAW, A. M., KELTON, D. M,. Simulation Modeling and Analysis. 3. ed. McGraw-
Hill Higher Education, 1999.
LESK, A. M., Introdução a Bioinformática. 2. ed. Porto Alegre, Editora, 2005.
LI, L., STOECKERT, C. J., ROOS, D. S., "OrthoMCL: identification of ortholog
groups for eukaryotic genomes", Genome Reserach, v. 13, n. 9, pp. 2178-2189, 2003.
LI, X., PARSONS, J., "Ontological semantics for the use of UML in conceptual
modeling". In: Tutorials, posters, panels and industrial contributions at the 26th
international conference on Conceptual modeling - Volume 83, pp. 179-184,
Auckland, 2007.
LIM, C., LU, S., CHEBOTKO, A., FOTOUHI, F., "Storing, reasoning, and querying
OPM-compliant scientific workflow provenance using relational databases". Future
Generation Computer Systems, v. 27, n. 6, pp. 781-789, Jun. 2011.
LING, L., ÖZSU, T., Encyclopedia of Database Systems. 1ed. Springer Verlag, 2009.
LOWE, E. J. The Four Category Ontology. 1 ed. Oxford Universtity Press, 2006.
LUDÄSCHER, B. "What Makes Scientific Workflows Scientific?". In: Scientific and
Statistical Database Management. v. 5566, Lecture Notes in Computer Science.
Springer, pp. 217, 2009.
LUDÄSCHER, B., ALTINTAS, I., BERKLEY, C., et al. "Scientific workflow
management and the Kepler system: Research Articles". Concurrency and
Computation: Practice & Experience, v. 18, n. 10, pp. 1039-1065, Ago. 2006.
194
LUDÄSCHER, B., WESKE, M., MCPHILLIPS, T., et al., "Scientific Workflows:
Business as Usual?" In: Business Process Management, v. 5701, Lecture Notes in
Computer Science. Springer, pp. 31-47, 2009.
MACCAGNAN, A., RIVA, M., FELTRIN, E., et al., "Combining ontologies and
workflows to design formal protocols for biological laboratories" Automated
Experimentation, v.2 n. 3, pp. 1-14, Abr. 2010.
MANDAL, N., DEELMAN, E., MEHTA, G., et al., "Integrating existing scientific
workflow systems: the Kepler/Pegasus example". In: Proceedings of the 2nd
workshop on Workflows in support of large-scale science, pp. 21-28, Monterey,
California, 2007.
MARGO, D.W., SELTZER, M. "The Case for Browser Provenance" In: Proceedings
of the 1st Workshop on the Theory and Practice of Provenance, San Francisco, pp.
1-5, Fev. 2009.
MARINHO, A., MURTA, L., WERNER, C., et al.., "Integrating Provenance Data from
Distributed Workflow Systems with ProvManager". In: Provenance and Annotation
of Data and Processes, v. 6378, Lecture Notes in Computer Science. Springer, pp. 286-
288, 2010.
MARINOS, A., BRISCOE, G., "Community Cloud Computing'. In: Cloud Computing,
v. 5931, Lecture Notes in Computer Science. Springer, pp. 472-484, 2009.
MARTINEZ, A., RISTUCCIA, C., PISARELLO, R., et al., "Las categorías o facetas
fundamentales: uma metodología para el diseño de taxonomías corporativas de sitios
Web argentinos". Ciência da Informação, v. 33, n. 2, pp. 106-111., 2004.
MASOLO, C., BORGO, S., GANGEMI, A., et al., The WonderWeb Library of
Foundational Ontologies. [S.l]:, 2002 Disponível em: <http://www.loa-
cnr.it/Papers/WonderWebD17V2.0.pdf>. Acesso em 01 fev. 2011.
MATEOS, C., ZUNINO, A., CAMPO, M., "A survey on approaches to gridification",
Software: Practice and Experience, v. 38, n. 5, pp. 523-556, 2008.
MATOS, A., COUTINHO, F., CRUZ, S. M. S., 2008, Gerência de Workflows
Científicos: uma análise crítica no contexto da bioinformática. ES-716/08,
PESC/COPPE, Rio de Janeiro.
MATTOSO, M., CRUZ, S. M. S. Gerência de workflows científicos: oportunidades de
pesquisa em bancos de dados. In: Proceedings of the 23rd Brazilian symposium on
Databases, pp. 313-314, Campinas, Sao Paulo, Out. 2008
MATTOSO, M., WERNER, C., TRAVASSOS, G. H., et al. "Towards Supporting the
Life Cycle of Large Scale Scientific Experiments". International Journal of Business
Process Integration and Management, v. 5, pp. 79-92, 2010.
MATTOSO, M., WERNER, C., TRAVASSOS, G. H.; et al., Gerenciando
Experimentos Científicos em Larga Escala. In: Anais do XIII Congresso da Sociedade
Brasileira de Computação, pp. 121-135, Belém, Jul. 2008.
MATTOSO, M., WERNER, C., TRAVASSOS, G. H.; et al. Desafios no apoio à
composição de experimentos científicos em larga escala. In: Anais do XIII Congresso
da Sociedade Brasileira de Computação, pp. 1-15, Bento Gonçalves, 2009.
MCDANIEL, P., BUTLER, K., MCLAUGHLIN, S., et al. Towards a secure and
efficient system for end-to-end provenance. In: Proceedings of the 2nd conference on
195
Theory and practice of provenance, pp. 2-4, San Jose, California, 2010.
MCGUINNESS, D., DING, L., SILVA, P. P., et al., PML 2: A Modular Explanation
Interlingua. In: Proceedings of the 2007 Workshop on Explanation-aware
Computing, pp. 49-55, Vancouver, 2007.
MCGUINNESS, D., HARMELEN, F., OWL Web Ontology LanguageOverview. [S.l]:,
2004. Disponível em: <http://www.w3.org/TR/owl-features/>. Acesso em: 8 fev. 2011.
MCPHILLIPS, T. M., BOWERS, S., "An approach for pipelining nested collections in
scientific workflows". SIGMOD Rec., v. 34, n. 3, pp. 12-17, 2005.
MEDEIROS, C. B., PEREZ-ALZACAR, J., TORRES, R. S., MADEIRA, E.,
BACARIN, E., "WOODS and the Web: annotating and reusing scientific workflows".
SIGMOD Records, v. 34, pp. 18-23, 2005.
MEERSMAN, R. "Ontologies and Databases: More than a Fleeting Resemblance", In:
Proceedings of the 1st OES/SEO Workshop, pp. 1-7 , Rome, 2001.
MERRIAM-WEBSTER. Merriam-Webster Dictionary. Encyclopaedia Britannica,
2011.
MICROSOFT. Windows Azure. [S.l:], Disponível em:
<http://www.microsoft.com/windowsazure/>. Acesso em 03 jan. 2011.
MILES, S., WONG, S. C., FANG, W., et al. "Provenance-based validation of e-science
experiments". Web Semantics: Science, Services and Agents on the World Wide
Web, v. 5, n. 1, pp. 28-38, mar 2007.
MILLS, D., MARTIN, J., BURBANK, J., KASCH, W., Network Time Protocol Version
4: Protocol and Algorithms Specification. [S.l:], 2010. Disponível em:
<http://www.ietf.org/rfc/rfc5905.txt>. Acesso em 02 jan. 2011.
MIZOGUCHI, R., VANWELKENHUYSEN, J., MITSURU, I., "Ontology for
Modeling the World from Problem Solving Perspectives". In: Proceedings of the 2nd
International Conference on Building and Sharing of Very Large-Scale Knowledge
Bases, pp. 46-59, Tóquio, 1995.
MONTEIRO, M., GARCIA, A. S., BARCELOS, P. P., et al., "Ontology-Based Model
for the ITU-T Recommendation G.805: Towards the Self-Management of Transport
Networks". International Journal of Computer Science and Information
Technology, v. 2, pp. 155-170, 2010.
MOREAU, L. et al., Open Provenance Model (OPM) OWL Specification. [S.l:], 2010.
Disponível em: <http://openprovenance.org/model/opmo>. Acesso em out. 2010.
MOREAU, L. "The Foundations for Provenance on the Web", Foundations and
Trends in Web Science, v. 2, n. 2-3, pp. 99-241, Nov. 2010.
MOREAU, L., CLIFFORD, B., FREIRE, J., et al., "The Open Provenance Model core
specification (v1.1)". Future Generation Computer Systems, v. 27, n. 6, pp. 743-756,
Jun. 2011.
MOREAU, L., FREIRE, J., FUTRELLE, J., et al.. The open provenance model (v1.00).,
2007. In: Technical Report. [S.l.]: University of Southampton.
MOREAU, L., LUDÄSCHER, B., ALTINTAS, I., et al. "The First Provenance
Challenge". Concurrency and Computation: Practice and Experience, v. 20, n. 5,
pp. 409-418, 2008.
196
MOUALLEM, P., BARRETO, R., KLASKY, S., PODHORSZKI, N., VOUK, M.,
"Tracking Files in the Kepler Provenance Framework". In: Proceedings of the 21st
International Conference on Scientific and Statistical Database Management, pp.
273-282, New Orleans, 2009.
MUKHERJEE, N., GANESH, A., DJEGARADJANE, V, et al., "Oracle SecureFiles:
prepared for the digital deluge". Proceedings of the VLDB Endowment v. 2, n. 2, pp.
1501-1511, 2009.
MUNISWAMY-REDDY, K.-K., MACKO, P., SELTZER, M., "Provenance for the
cloud". In: Proceedings of the 8th USENIX conference on File and storage
technologies, pp. 15-14, San Jose, California, Fev. 2010.
MUNISWAMY-REDDY, K.-K, SELTZER, M., "Provenance as First-Class Cloud
Data". In: Proceedings of the 3rd ACM SIGOPS International Workshop on Large
Scale Distributed Systems and Middleware, Montana, Out. 2009.
MURRAY, H.W., BERMAN, J.D., DAVIES, C.R., et al.. "Advances in leishmaniasis",
The Lancet, v. 366, pp.1561–77. 2005.
MYSQL.. [S.l:], 2010. Disponível em: <http://www.mysql.com/>. Acesso em 03 jan.
2011.
NATRAJAN, A., HUMPHREY, M. A., GRIMSHAW, A. S., "The Legion support for
advanced parameter-space studies on a grid", Future Generation Computer Systems,
v. 18, n. 8, pp. 1033-1052, Out. 2002.
NCBI. COGs - Phylogenetics classification of proteins encoded in complete genomes. .
[S.l:], 2009. Disponível em: <http://www.ncbi.nlm.nih.gov/COG/>. Acesso em 10 Jun.
2011.
NOBREGA, M. A., PENNACCHIO, L. A, "Comparative genomic analysis as a tool for
biological discovery". The Journal of Physiology, v. 554, pp. 31 -39, 2004.
NOTREDAME, C., HIGGINS, D. G., HERINGA, J., "T-coffee: a novel method for fast
and accurate multiple sequence alignment", Journal of Molecular Biology, v. 302, n.
1, pp. 205-217, Set. 2000.
NOY, N., MCGUINNESS, D., "Ontology Development 101: A Guide to Creating Your
First Ontology". pp. 1-25, 2001.
NUNES, B. G., GUIZZARDI, G., FILHO, J. G. P., "An Electrocardiogram (ECG)
Domain Ontology". In: Proceedings of the 2nd Brazilian Workshop on Ontologies
and Metamodels for Software and Data Engineering, pp. 10-22, João Pessoa, 2007
O´BRIEN, K., REMM, M., SONNHAMMER, E. L., "INPARANOID: A
comprehensive database of eukaryotic orthologs", Nucleic Acids Research, v. 33, n. 1,
pp. d476-d480, 2005.
O‘BRIEN, K. P., WESTERLUND, I., SONNHAMMER, E. L. L., "OrthoDisease: A
database of human disease orthologs", Human Mutation, v. 24, n. 2, pp. 112-119,
2004.
OGASAWARA, E., OLIVEIRA, D., SEABRA, F., et al., "Exploring Many Task
Computing in Scientific Workflows". In: Proceedings of 2nd Workshop on Many-Task
Computing on Grids and Supercomputers, pp. 1-10, Oregon, Nov. 2009.
OINN, T., LI, P., KELL, D. B., et al. "Taverna/myGrid: Aligning a Workflow System
with the Life Sciences Community". In: Taylor, I.J., Deelman, E., Gannon, D. B., (eds),
197
Workflows for e-Science. chapter 19, Springer London, 2007.
OLIVEIRA, D., BAIÃO, F. A., MATTOSO, M., "Towards a Taxonomy for Cloud
Computing from an e-Science Perspective". In: Nick, A., Gillam, L., (eds), Cloud
Computing. chapter 3, Springer London, 2010.
OLIVEIRA, F., MURTA, L., WERNER, C., et al.. "Using Provenance to Improve
Workflow Design". In: Provenance and Annotation of Data and Processes. v. 5272,
Lecture Notes in Computer Science., Springer, pp. 136-143, 2008.
OMG. Unified Modeling Language Specification (UML) Version 2.3. [S.l:], 2009.
Disponível em: <http://www.omg.org/spec/UML/2.3/>. Acesso em 01 mar. 2010.
ORACLE. Oracle Cloud Computing. [S.l:], 2010 Disponível em:
<http://www.oracle.com/us/technologies/cloud/index.htm>. Acesso em 10 nov. 2010.
OXFORD. Oxford Dictionary of English. 2. ed. Oxford University Press, 2003.
PEASE, A., NILES, I., LI, J. "The Suggested Upper Merged Ontology: A Large
Ontology for the Semantic Web and its Applications". In: Workshop on Ontologies
and the Semantic Web, 2002.
PIGNOTTI, E., EDWARDS., P., PREECE, A., et al.. " Semantic Support for
Computational Land-Use Modelling" In: Proceedings of the 5th Intrenational
Symposium on Cluster Computing and Grid, pp. 840-847, Cardiff, Mai. 2005.
PIGNOTTI, E., EDWARDS., P., PREECE, A.,et al.. " Semantic Workflow
Management for E-Social Science" In: Proceedings of the 3rd Conference on eSocial
Science, pp. 1-8, Ann Arbor, Out. 2007.
PIGNOTTI, E., EDWARDS., P., PREECE, A., et al.., "Enhancing Wokflows With A
Semantic Description of Scientific Intent" In: The Semantic Web: Research and
Applications. 1 ed. Pp. 644-658, Berlin, Germany, Springer, 2008.
PIKE, W., GAHEGAN, M., "Beyond ontologies: Toward situated representations of
scientific knowledge". International Journal of Human-Computer Studies, v. 65, n.
7, pp. 674-688, Jul. 2007.
PROTÉGÉ. Protégé. [S.l:], 2009. Disponível em: <http://protege.stanford.edu/>.
Acesso em 20 fev. 2011.
PUTTY. PuTTY: A Free Telnet/SSH Client. [S.l:], 2009. Disponível em:
<http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html>. Acesso 10 mar.
2011.
QIU, X., EKANAYAKE, J., BEASON, S., et al. "Cloud technologies for bioinformatics
applications". In: Proceedings of the 2nd Workshop on Many-Task Computing on
Grids and Supercomputers, pp. Anais, pp. 1-10, Portland, 2009.
RIMAL, B. P., CHOI, E., LUMB, I. "A Taxonomy and Survey of Cloud Computing
Systems". In: Proceedings of the 2009 Fifth International Joint Conference on INC,
IMS and IDC, pp.44-51, Seul, 2009
LINKEDDATABR, [S.l: ], 2011. Disponível em: < greco.ppgi.ufrj.br/gtlinkedbr/>.
Acesso em 10 mai. 2011.
SACHS, J., MALANEY, P., "The economic and social burden of malaria", Nature, v.
415, n. 6872, pp. 680-685, Fev. 2002.
SAHOO, S. S., SHET, A., "Provenir ontology: Towards a Framework for eScience
198
Provenance Management". In: Microsoft eScience Workshop, Pittsburg, Out. 2009
SANDERSON, R., SUMMERS, E., HARRISON, J., PREMIS/RDF Mapping. [S.l: ],
2010. Disponível em: <http://annotation.lanl.gov/premis/premis_rdf.pdf>. Acesso em
28 nov. 2010.
SCHREIBER, G., WIELINGA, B. J., JANSWEIJER, W., "The KACTUS View on the
―O‖ Word". In: Workshop on Basic Ontological Issues in Knowledge Sharing, pp.
159-168, Montreal, 1995.
SCIENCE. "Illuminating the black box". Nature, v. 442, n. 7098, pp. 1, Jul. 2006.
SILVA, C. E. P, OLIVEIRA, D., CRUZ, S. M. S., et al., "Captura de Metadados de
Proveniência para Workflows Científicos em Nuvens Computacionais". In: Anais do
XXV Simpósio Brasileiro de Bancos de Dados, pp. 215 - 223, Belo Horizonte, 2010.
SILVA, D. L., SOUZA, R. R., ALMEIDA, M. B., "Comparação de metodologias para
construção de ontologias e vocabulários controlado". In: I Seminário de Pesquisa em
Ontologia no Brasil, pp. 60-75, Niterói, 2008.
SILVA, P. P., MCGUINNESS, D. L., FIKES, R., "A proof markup language for
semantic web services". Information Systems, v. 31, n. 4, pp. 381-395, 2006.
SIMMHAN, Y., "End-to-End Scientific Data Management Using Workflows". In: IEEE
Congress on Services - Part I, pp. 472-473, Honolulu, Jul. 2008.
SIMMHAN, Y. L., PLALE, B., GANNON, D., "A survey of data provenance in e-
science". SIGMOD Record, v. 34, n. 3, pp. 31-36, 2005.
SIMMHAN, Y. L., PLALE, B., GANNON, D. "Karma2: Provenance management for
data-driven workflows". International Journal of Web Services Research, v. 5, n. 2,
pp. 1-22, 2008.
SIMMHAN, Y., GROTH, P., MOREAU, L., The third provenance challenge on using
the open provenance model for interoperability. Future Generation Computer
Systems, v. 27, n. 6, pp. 737-742, Jun. 2011.
SMITH, B, WELTY, C., "Ontology-towards a new synthesis". In: Proceedings of the
international conference on Formal Ontology in Information Systems - Volume
2001. pp. 3-9. Ogunquit, 2001.
SMITH, B., CEUSTERS, W., KLAGGES, B., et al. "Relations in biomedical
ontologies", Genome Biology, v. 6, n. 5, pp. R46, Abr. 2005.
SOLDATOVA, L. N., KING, R. D., "An ontology of scientific experiments", Journal
of the Royal Society Interface, v. 3, n. 11, pp. 795-803, Jun. 2006.
SONNHAMMER E. L. L., KOONIN, E. V., "Orthology, paralogy and proposed
classification for paralog subtypes", Trends in Genetics, v. 18, pp. 619-620, 2002.
SONNTAG, M., KARASTOYANOVA, D., DEELMAN, E., Bridging the Gap between
Business and Scientific Workflows: Humans in the Loop of Scientific Workflows. In:
Proceedings of the IEEE Sixth International Conference on e-Science, pp. 206-213,
Stuttgart, 2010.
SRIVASTAVA, D., VELEGRAKIS, Y., "Intensional associations between data and
metadata". In: Proceedings of the 2007 ACM SIGMOD international conference on
Management of data, pp. 401-412, Beijing, 2007.
STEVENS, R., MCENTIRE, R., GOBLE, C., et al. "myGrid and the drug discovery
199
process", Drug Discovery Today: BIOSILICO, v. 2, n. 4, pp. 140-148, Jul. 2004.
STORM, C. E., SONNHAMMER, E. L., "Automated ortholog inference from
phylogenetic trees and calculation of ortholog reliability". Bioinformatics, v. 18, n. 1,
pp. 92-99, 2002.
SUN. Java. [S.l:], 2009 Disponível em:
<http://www.oracle.com/technetwork/java/index.html>. Acesso em 03 mar. 2011.
SZALAY, A., GRAY, J., "2020 Computing: Science in an exponential world". Nature,
v 440, pp.413-414, Fev. 2006.
TALIA, D., "The Open Grid Services Architecture: Where the Grid Meets the Web".
Internet Computing, v. 6, n. 6, pp. 67-71, Nov. 2002.
TAN, W.-C. "Research Problems in Data Provenance", Data Engineering Bulletin, v.
27, n. 4, pp. 45-52, 2004.
TAN, W.-C. "Provenance in Databases: Past, Current, and Future", IEEE Data
Engineering Bulletin, v. 30, n. 4, pp. 3-12, Dez. 2007.
TAN, Z W.-C. "Provenance". In: Ling L. and Özsu (Eds), Enclyclopedia of Database
Systems. Springer,. Berlin, pp. 2202-2207, 2009.
TATUSOV, R., BARRETT, M. P., NATALE, D., et al., "The COG database: a tool for
genome-scale analysis of protein functions and evolution". Nucleic Acids Research, v.
28, n. 1, pp. 33-36, 2000.
TATUSOV, R., FEDOROVA, N., JACKSON, J., et al., "The COG database: an
updated version includes eukaryotes". BMC Bioinformatics, v. 4, n. 41, Set. 2003.
TAYLOR, I., DEELMAN, E., GANNON, D., et al., Workflows for e-Science:
Scientific Workflows for Grids. 1 ed. London Springer-Verlag, 2007.
TAYLOR, I.; SHIELDS, M.; WANG, I.; et al.. "The Triana Workflow Environment:
Architecture and Applications". In: Taylor, I.J., Deelman, E., Gannon, D. B., (eds),
Workflows for e-Science. chapter 20, Springer London, 2007.
TAYLOR, M. E., MATUZEK, C., KLIMT, B., WITBROCK, M., "Autonomous
Classification of Knowledge into an Ontology". In: Proceedings of the 20th
International FLAIRS Conference, pp.213-219. Key West, 2007.
THAIN, D., TANNENBAUM, T., LIVNY, M., Condor and the Grid. Grid
Computing: Making the Global Infrastructure a Reality. 1ed. New York: Wiley,
2003.
THOMPSON, J., HIGGINS, D., GIBSON, T., "CLUSTAL W: improving the
sensitivity of progressive multiple sequence alignment through sequence weighting,
position-specific gap penalties and weight matrix choice". Nucleic Acids Research, v.
22, n. 22, pp. 4673-4680, Nov.1994.
TRAVASSOS, G. H.; BARROS, M. O. "Contributions of in virtuo and in silico
experiments for the future of empirical studies in software engineering". In:
Proceedings of the WSESE03, pp. 189-200, Roma, Ago. 2003.
USCHOLD, M., GRUNINGER, M., "Ontologies: Principles, Methods and
Applications", The Knowledge Engineering Review, v. 11, n. 2, pp. 93-136, Nov.
1996.
USCHOLD, M., "Building Ontologies: Towards a Unified Methodology". In:
200
Proceedings of the 16th Annual Conf. of the British Computer Society Specialist
Group on Expert Systems, 1996.
VALLEJO, G. A., GUHL, F., CARRANZA, J. C., et al. "kDNA markers define two
major Trypanosoma rangeli lineages in Latin-America". Acta Tropical, v. 81, n. 1, pp.
77-82, Jan. 2002.
VAQUERO, L. M., RODERO-MERINO, L., CACERES, J., LINDNER, M., "A break
in the clouds: towards a cloud definition", SIGCOMM Comput. Commun. Rev., v.
39, n. 1, pp. 50-55, Jan. 2008.
VECCHIOLA, C., PANDEY, S., BUYYA, R., "High-Performance Cloud Computing:
A View of Scientific Applications". In: Proceedings of the 10th International
Symposium on Pervasive Systems, Algorithms, and Networks, 13 pp, Kaohsiung, Dez.
2009.
VICKNAIR, C., "Research issues in data provenance". In: Proceedings of the 48th
Annual Southeast Regional Conference, pp. 1-4, Oxford, Abr. 2010.
VOUK, M. A., "Cloud computing — Issues, research and implementations.
Information". In: Proceedings on the 30th International Conference on Technology
Interfaces, pp. 31, Croácia, Jun. 2008.
W3C. W3C - eXtensible Markup Language. [S.l:], 2010. Disponível em:
<http://www.w3.org/XML/>. Acesso 13 jan. 2011.
WAND, Y., STOREY, V. C., WEBER, R., "An ontological analysis of the relationship
construct in conceptual modeling". ACM Trans. Database Syst., v. 24, n. 4, pp. 494-
528, 1999.
WAZLAWICK, R. S. Metodologia de Pesquisa para Ciência da Computação. 1. ed.
Rio de Janeiro, Elsevier, 2009.
WEEDALL, G.D., HALL, N. "Evolutionary genomics of Entamoeba", Research in
Microbiology, v 162, n. 6, pp. 637-645, 2011.
WEINHARDT, C., ANADASIVAN, A., BLAU, B., et al., "Cloud Computing – A
Classification, Business Models, and Research Directions". Business & Information
Systems Engineering, v. 5 pp. 391-399. 2009.
WELIE, M. VAN, VEER, G. VAN DER, ELIËNS, A., "An Ontology for Task World
Models". Design, Specification and Verification of Interactive Systems, pp. 57-70,
1998.
WHO. "Human African trypanosomiasis (sleeping sickness): epidemiological update".
Weekly Epidemiological Record, v. 81, n. 8, pp. 69-80, Feb. 2006.
WHO. Leishmaniasis - Magnitude of the problem. [S.l.]:, 2009 World Health
Organization. Disponível em:
<http://www.who.int/leishmaniasis/burden/magnitude/burden_magnitude/en/index.html
>. Acesso em 3 fev. 2011.
WILSON JR, E. B., An Introduction to Scientific Research. 2. ed. Dover
Publications, 1991.
WOOLLARD, D., MEDVIDOVIC, N., GIL, Y., MATTMANN, C. A., "Scientific
Software as Workflows: From Discovery to Distribution". Software, IEEE, v. 25, n. 4,
pp. 37-43, 2008.
201
WROE, C., GOBLE, C., GODERIS, A., et al. "Recycling workflows and services
through discovery and reuse: Research Articles". Concurrency and Computation:
Practice & Experience, v. 19, n. 2, pp. 181-194, Fev. 2007.
YONG Z., HATEGAN, M., CLIFFORD, B., et al. "Swift: Fast, Reliable, Loosely
Coupled Parallel Computation". In: Proceedings of the IEEE Congress on Services, pp.
199-206. Salt Lake City, 2007
YU, J., BUYYA, R., "A Taxonomy of Workflow Management Systems for Grid
Computing", Journal of Grid Computing, v. 3, n. 3, pp. 171-200, Set. 2005.
ZAMBORLINI, V., 2011, Estudo de Alternativas de Mapeamento de Ontologias da
Linguagem OntoUML para OWL: Abordagens para Representação de Informação
Temporal. Dissertação de M.Sc., UFES, Vitória, Espírito Santo, 2011.
ZHANG, J., CHAPMAN, A., LEFEVRE, K., "Do You Know Where Your Data‘s
Been? – Tamper-Evident Database Provenance". In: Secure Data Management. v.
5776, Lecture Notes in Computer Science, Springer, pp. 17-32, 2009.
ZHANG, Q., CHENG, L., BOUTABA, R., "Cloud computing: state-of-the-art and
research challenges". Journal Internet Services and Application, v. 1, pp. 7-18, Mai.
2010.
ZHAO, J., A, 2007, Conceptual model for e-science provenance. PhD Thesis,
University of Manchester, United Kingdon, 2007.
ZHAO, J. Open Provenance Model Vocabulary Specification. [S.l:], 2010. Disponível
em: <http://open-biomed.sourceforge.net/opmv/ns.html>. Acesso em 24 fev. 2010.
ZHAO, Y., LU, S., "A Logic Programming Approach to Scientific Workflow
Provenance Querying". In: Freire, J.; Koop, D.; Moreau, L. (eds.). Provenance and
Annotation of Data and Processes, pp. 31-44, Springer-Verlag, 2008.
ZHAO, Y., RAICU, I., FOSTER, I., "Scientific Workflow Systems for 21st Century,
New Bottle or New Wine?" In: Proceedings of the 2008 IEEE Congress on Services -
Part I, pp.467-471, Honolulu, Jul. 2008.
202
Apêndices
O apêndice 1 ilustra os principais conceitos de biologia molecular necessários
para a compreensão do exemplo de experimento em larga escala utilizado nesta tese.
Os apêndices 2, 3 e 4 ilustram as estruturas dos manifestos utilizados pela
arquitetura Matriohska. Os nomes dos elementos estão grafados em inglês.
Apêndice 1 - Exemplo de Experimento de Larga Escala em
Bioinformática
Bioinformática é uma ciência interdisciplinar que tem como objetivo
desenvolver modelos computacionais e aplicar técnicas de análise de dados no estudo
da genética, da bioquímica e, em especial, na biologia molecular e suas subáreas, tais
como: genômica comparativa, transcriptômica, proteômica e evolução (GOODMAN,
2002).
O experimento científico em larga escala utilizado nesta tese está localizado na
área de genômica comparativa de protozoários causadores de doenças tropicais
negligenciadas que afetam grandemente as populações de vastas áreas da África,
América Latina e, em especial, o Brasil (JONES, DÁVILA, 2001, BARRETT et al.,
2003, BERRIMAN et al., 2005, GUTIERREZ et al., 2006). Porém, antes de apresentar
o experimento propriamente dito, faz-se necessário apresentar os principais
fundamentos ligados a Biologia dos protozoários.
Fundamentos de Biologia Molecular
Os protozoários abrangem cerca de 80 mil espécies de organismos eucariotos
unicelulares, que possuem núcleo e organelas celulares conjugadas a membranas.
Dentro do grupo dos protozoários encontra-se o filo Apicomplexa e a família
Trypanosomatidae, representando diversas espécies causadores de doenças tropicais
negligenciadas (WHO, 2006). As doenças tropicais negligenciadas causadas por esses
protozoários afetam milhões de pessoas, principalmente populações pobres que vivem
em climas tropicais e subtropicais. Estas doenças são consideradas negligenciadas
203
porque afetam populações que são normalmente marginalizadas e também por não
propagarem-se facilmente em climas temperados.
Na família Trypanosomatidae estuda-se o gênero Trypanosoma. Os estudos
desse gênero são de capital importância médica e veterinária devido à elevada
morbidade e mortalidade anuais que causam aos seus portadores (BARRETT et al.,
2003). Dentre os principais Trypanosomas destacam-se: Trypanosoma cruzi,
Trypanosoma brucei e Trypanosoma vivax.
O T. cruzi é o agente etiológico da Doença de Chagas transmitido pelo barbeiro
(Triatoma infestans), possui ampla distribuição geográfica sendo encontrado desde os
Estados Unidos até a Argentina (VALLEJO et al., 2002, WHO, 2006).
O T. brucei é o agente etiológico da ―enfermidade do sono‖ transmitido através
da picada da mosca hematófaga Tsé-tsé (Glossina palpalis), estima-se que o nível de
transmissão chega a cerca de 300 mil novos casos/ano, e 50 mil óbitos/ano em 36 países
da África Sub-Saariana (BARRETT et al., 2003, BERRIMAN et al., 2005, WHO,
2006).
O T. vivax também é transmitido para animais domésticos pela mosca Tsé-tsé,
ou por outros insetos sugadores de sangue, permitindo assim aumentar a sua
distribuição para além da África tropical (GUTIERREZ et al., 2006). Este parasita já se
espalhou para dez dos treze países da América do Sul (JONES, DÁVILA, 2001), e
representa um risco potencial para milhões de bovinos, bubalinos e eqüinos do rebanho
brasileiro, debilitando não só o gado de corte, como também os animais usados para
tração (DÁVILA et al., 2003).
Um dos protozoários da família Trypanosomatidae que também demandam
maiores estudos faz parte do grupo das Leishmanias. Leishmania major é o principal
agente causador da leishmaniose mucocutânea no velho mundo, produzindo lesões
ulcerosas na pele que podem durar vários meses. Outras espécies deste gênero causam
uma doença potenciamente fatal (leishmaniose visceral) em humanos que habitam as
regiões dos trópicos (GRIMALDI, TESH, 1993, MURRAY et al., 2005).
Duas espécies de protozoários do gênero Plasmodium também são causadores
de doenças tropicais negligenciadas: Plasmodium falciparum, Plasmodium vivax.
P. falciparum e P. vivax são causadores da maioria dos casos de malária em
humanos, sendo P. falciparum, o mais patogênico. Esses protozoários são transmitidos
204
por mosquitos infectados do gênero Anopheles (HALDAR, 2009). A malária é a doença
parasitária mais prevalente no mundo. Estima-se que a cada 40 segundos uma criança
morre de malária no continente africano, resultando em uma perda diária de mais de
2000 vidas de jovens em todo o mundo. Metade da população do mundo está em área de
risco transmissão de malária. Segundo SACHS (2002), estas estimativas tornam a
malária uma das três principais formas de óbito entre as doenças transmissíveis.
Por fim, um último parasita é a Entamoeba histolítica é um organismo unicelular
normalmente contraído através de ingestão de água ou comida contaminada. E.
histolitica é agente etiológico causador da amebíase, uma severa infecção intestinal em
humanos. Ela tem sua ocorrência mais comum na região dos trópicos ou, em situações
de aglomeramento com higiene deficiente, ambientes urbanos da zona temperada
(WEEDALL, HALL, 2011).
Atualmente existem estudos referentes às homologias no nível molecular
(semelhanças) desses parasitos (SONNHAMER, KOONIN, 2002, NOBREGA,
PENNACHIO, 2004, KOONIN, 2005). Tal fato ressalta a importância da escolha do
suporte computacional aos experimentos biológicos de larga escala da área de
Bioinformática. Entretanto, antes de apresentar o workflow científico propriamente dito,
é necessário expor alguns conceitos ancorados na Biologia Molecular e Genética, esses
conceitos são de essencial importância não só para compreender o desenvolvimento do
experimento em larga escala, como também para facilitar a interpretação dos seus
resultados.
Gene é a unidade fundamental da hereditariedade. Cada gene é formado por uma
seqüência específica de nucleotídeos. O gene é um segmento de um cromossomo ao
qual corresponde um código distinto, uma informação capaz de produzir uma
determinada proteína ou controlar uma característica ou função, por exemplo, a cor dos
olhos (ALBERTS et al., 2004). Proteínas são elementos estruturantes codificados pelos
genes, são compostos de alto peso molecular e de estrutura molecular complexa. São
sintetizadas através da condensação de um grande número de moléculas de
aminoácidos. O que difere uma proteína de outra é a seqüência de aminoácidos, a forma
de suas ligações e suas estruturas tridimensionais. As proteínas podem ser agrupadas em
famílias estruturais, onde cada membro apresenta uma seqüência de aminoácidos
próxima, características físico-químicas semelhantes e com uma conformação
tridimensional comum a outros membros da família (ALBERTS et al., 2004).
205
O conceito de homologia é bem conhecido na Biologia, sendo amplamente
difundido na Botânica e da Zoologia e foi introduzido em 1843 por Richard Owen
(OWEN, 1848 apud KONNIN, 2005). Naquele contexto, a homologia era utilizada para
definir quais órgãos possuíam a mesma origem (mas não necessariamente a mesma
função), enquanto os órgãos que possuíam origens diferentes, porém funções
semelhantes (como a asa do morcego e do inseto) eram denominados análogos (Figura
1-1).
Figura 1-1. O braço humano, a pata dianteira de um cavalo, a nadadeira de uma
baleia e a asa de um morcego são estruturas homólogas, possuem origem comum.
Entretanto, a asa do morcego e a asa do inseto não compartilham da mesma
origem, no entanto, possuem funções idênticas, sendo estruturas análogas.
(Adaptado de (KONNIN, 2005)).
O conceito de homologia de genes foi posteriormente introduzido na Biologia
Molecular nos anos 1970 por Walter Fitch (FITCH, 1970). Genes homólogos são
seqüências que possuem, geralmente, uma função semelhante, tendo a sua origem a
partir de um ancestral comum entre as espécies comparadas (KOONIN, 2005). Dentro
dessa conceituação, desdobram-se duas subcategorias principais: os genes ortólogos e
parálogos (Figura 1-2).
A correta e precisa identificação de genes ortólogos é de importância central
para os aspectos funcionais e evolutivos dos estudos em genômica comparativa
(KOONIN, 2005). Atualmente existem várias técnicas para identificação de genes
Homologia
Analogia
206
ortólogos. Alguns baseiam-se em métodos filogenéticos como a comparação de árvores
de genes com árvores da espécie (STORM, SONNHAMMER, 2002), outros em
métodos estatísticos de agrupamento (LI et al., 2003); a maioria dos métodos utiliza a
análise da similaridade de seqüências como passo inicial.
Diversos estudos envolvendo a identificação genes ortólogos deram origem a
várias ferramentas como OrthoMCL (LI et al., 2003), OrthoDisease (O‘BRIEN et al.,
2004), INPARANOID (O´BRIEN et al., 2005), COG (TATUSOV et al., 2000) e KOG
(TATUSOV et al., 2003), que empregam buscas de similaridades entre as seqüências
para a determinação de homologias.
Os genes que serão utilizados nos experimentos de computação desta tese são os
do tipo ortólogos presentes nos cinco protozoários apresentados anteriormente. A
identificação (in silico) de genes ortólogos tornou-se uma ferramenta importante na
transferência de função de genes computacionalmente caracterizados para genes recém-
sequenciados (in vitro), devido ao fato de ortólogos geralmente conservarem a função
ancestral.
Figura 1-2. Exemplo da correlação entre as relações de homologia, ortologia e
paralogia utilizando o gene da hemoglobina. Genes ortólogos e parálogos são dois
tipos de seqüências homólogas. Ortologia descreve genes em diferentes espécies
que derivam de um ancestral comum. Paralogia descreve genes homólogos dentro
de uma espécie que divergiram por duplicação gênica. (Adaptado de (NCBI, 2011).
Do ponto de vista da computação, os genes são armazenados em bancos de
dados, compostos por milhares de arquivos textuais (arquivos COG). O banco de dados
Gene da hemoglobina
Duplicação Gênica
α-cadeia β-cadeia
α-galinha α-ratoα-sapo β-sapoβ-galinhaβ-rato
Genes ortólogos Genes ortólogosGenes parálogos
Genes homólogos
Evo
luçã
o n
o t
emp
o
207
de COG (Grupos de Genes Ortológos de Proteínas de Procariotos) (NCBI, 2011) foi
originalmente concebido como uma tentativa de classificar proteínas de genomas
completamente seqüenciados com base no conceito da ortologia apresentado por
TATUSOV et al., (2000). Cada arquivo COG consiste em genes ortólogos individuais
ou de grupos parálogos de três ou mais linhagens filogenéticas. Em outras palavras,
quaisquer duas linhagens diferentes de proteínas que pertencem ao mesmo COG são
ortólogos. Para cada COG individual, assume-se que este pode ter evoluído a partir de
um gene ancestral, através de uma série de eventos de especiação e duplicação6. Para a
construção inicial do banco de dados de COG, foram codificadas 17.967 proteínas
oriundas de sete genomas completos, todos tiveram suas seqüências comparadas entre
si. Atualmente, o banco de dados de COG é constituído por 138.458 proteínas, que
formam 4.873 arquivos COG e abrange 75% das 185.505 proteínas codificadas em 66
genomas de organismos unicelulares (50 genomas de bactérias, 13 genomas de archea e,
3 genomas de eucariotos unicelulares de grande importância científica: Saccharomyces
cerevisiae, Schizosaccharomyces pombe, e Encephalitozoon cuniculi) (TATUSOV et
al., 2000, TATUSOV et al., 2003, NCBI, 2011).
O banco de dados de arquivos COG está subdividido em várias categorias
funcionais, cada categoria está associada a uma via metabólica que desempenha papel
fundamental na bioquímica de diversos organismos, inclusive dos protozoários. As
principais vias metabólicas são: conversão e produção de energia (categoria C);
transporte de aminoácidos e metabolismo (Categoria E) e, transporte de nucleotídeos e
metabolismo (Categoria F).
Detecção de Genes Ortólogos em Protozoários
Na área de desenvolvimento de fármacos, a descoberta e a identificação de
novas drogas são consideradas atividades de extrema relevância. Essa área do
conhecimento está fortemente baseada na genômica comparativa, onde avalia-se e
associação entre um determinado gene e uma função biológica (JOACHIMIAK et al.,
2001).
Como o propósito de auxiliar os pesquisadores a realizar investigações em
genômica comparativa de modo mais ágil, foi concebido um experimento científico
composto por um workflow científico denominado OrthoSearch (CRUZ et al., 2008,
São processos evolutivos pelos quais as espécies vivas se formam, isto é, a transformação gradual de uma espécie em outra.
208
CRUZ et al., 2010), que é capaz de detectar genes homólogos distantes de protozoários
causadores de doenças negligenciadas. OrthoSearch (cujo nome por extenso é
Orthologous Gene Seacher) foi desenvolvido para o consórcio BiowebDB
(BIOWEBDB, 2011) e atualmente está integrado a uma plataforma computacional
denominada ProtozoaDB (DÁVILA et al., 2008), capaz de trabalhar com outros
projetos genômicos associados a doenças tropicais negligenciadas.
A Figura 1-3 ilustra a versão conceitual e abstrata do workflow OrthoSearch. Os
elementos sólidos representam os bancos de dados (banco de dados de COG e banco de
dados de proteínas). As caixas arredondadas os pacotes de bioinformática e os relatórios
arquivos de saída contendo os resultados finais produzidos em cada execução do
workflow concreto.
Figura 1-3. Representação abstrata do workflow OrthoSearch
O primeiro banco de dados ―BD de COG‖ é representado por um repositório
local de dados constituído pelos arquivos COG que podem estar associados a uma ou
mais vias metabólicas. Esses arquivos são carregados diretamente do sítio do NCBI. O
segundo banco de dados também é um repositório local que contém a lista de proteínas
de cada um dos protozoários a ser avaliado, estes dados são obtidos diretamente do
banco de dados mantido pelo GenBank (BENSON et al., 2011).
Após as cargas dos bancos de dados, as seqüências dos protozoários serão
processadas pelo pacote MAFFT (KATOH et al., 2005), onde inicia-se a etapa de
buscas de homologias. O MAFFT é um programa de alinhamento múltiplo que utiliza
transformadas de Fourier para aperfeiçoar o alinhamento de proteínas, isto é, utiliza
informações sobre volume e polaridade de cada aminoácido da seqüência protéica para
criar os alinhamentos. Além disso, utiliza um algoritmo que realiza a análise da
BD de COG
MAFFT
HMMER
Best Hits
BLAST
InterPro
BD de Pntde
protozoas
Genes Reanotados
Busca de homologias
Análise de homologias
Reanotação de homologias
hmmsearch
hmmpfam
hmmcalibrate
hmmbuild
formatdb
fastacmd
209
distância evolutiva entre as seqüências e opta pela melhor matriz de substituição. O
MAFFT é um programa que apresenta reduzido tempo de processamento quando
comparado a outros programas de alinhamentos múltiplos de seqüências (ESSOUSSI et
al., 2008).
O pacote HMMER (EDDY et al., 1995), é composto por uma série de
programas e tem como função criar e utilizar modelos ocultos de Markov (HMM -
Hidden Markov Models) gerados a partir de seqüências biológicas. Resumidamente, os
modelos HMM podem ser considerados como autômatos estocásticos de estados finitos
que são adequados para capturar regularidades em seqüências de caracteres (o que é o
caso das seqüências biológicas), considerando os símbolos observados em cada estado
(EDDY, 1998). Dentre os principais programas do HMMER, destacam-se: hmmbuild,
hmmcalibrate, hmmsearch e hmmpfam.
Hmmbuild é o programa que calcula o grupo de melhores scores de cada COG e
salva-os em formato .hmm. Hmmcalibrate realiza os cálculos que calibram os melhores
modelos produzidos anteriormente, gerando como saída apenas as melhores seqüências
e os parâmetros do tipo EVD (extreme value distribution) que foram utilizados.
Hmmsearch recebe como entrada os arquivos anteriormente produzidos e realizada uma
busca das seqüências protéicas nas bases de dados de cada protozoário com apoio dos
modelos HMM. Por fim, Hmmpfam efetua uma segunda busca, porém, dessa vez na
base de proteínas para cada protozoário e retornarão os melhores resultados após aplicar
os melhores modelos de HMM. Por fim, é importante ressaltar que a etapa de análise
utiliza dois métodos distintos para localizar genes ortólogos, produzindo dois conjuntos
de seqüências de genes, onde cada seqüência possui o seu grau de alinhamento.
O programa best hits é responsável por analisar as similaridades detectadas pelos
dois métodos utilizados na etapa de buscas de homologias, isto é, ele irá analisar tanto
os arquivos de saída do hmmsearch e do hmmpfam e apontará os melhores hits
recíprocos, de acordo com um parâmetro de corte estabelecido pelo pesquisador (e-
value). Considera-se um melhor hit recíproco as seqüências de proteínas equivalentes
que possuam maior grau de similaridade dentro do e-value considerado.
Na fase de reanotação de genes ortólogos, utilizam-se os pacotes BLAST
(ALTSCHUL et al., 1990) e InterPRO (HUNTER et al., 2009). O primeiro pacote tem
como objetivo criar um banco de dados que contém apenas as proteínas que apresentam
210
apenas os melhores hits recíprocos com os COG avaliados. O banco de dados serve de
entrada de dados para o segundo pacote, que faz a validação da estrutura de cada
proteína.
Ressalta-se que o workflow não é específico para os cinco protozoários em questão,
pelo contrário, é flexível o suficiente para ser utilizado com outros bancos de dados além dos
cinco protozoários descritos anteriormente. Por exemplo, o banco de dados de COG
(organismos eucariotos), poderia ser substituído por bancos de dados de KOG (bancos de dados
de proteínas de organismos eucariotos). Além disso, é possível substituir banco de dados de
proteínas de protozoários por conjuntos de proteínas de novos organismos previamente
seqüenciados e que sejam de interesse dos pesquisadores, ou ainda utilizar de conjuntos de
proteínas de outras vias metabólicas disponíveis na base de dados KEGG (KANEHISA, GOTO,
2000).
211
Apêndice 2 – XSD do Manifesto de Atividade
O manifesto de atividades contém três conjuntos de descritores:
RemoteActivity - descritores necessários ao processamento da atividade
remota;
CloudAccess - descritores que habilitam a conexão do SGWfC com as
instâncias da nuvem;
ProvenanceBroker - contém os descritores que garantem a conectividade
da arquitetura com o repositório de proveniência.
Todos os descritores são utilizados pelos módulos ExecutionBroker e
ProvenanceBroker.
Figura 2-1. Estrutura do XSD do manifesto de atividades
212
Apêndice 3 - XSD do Manifesto de Experimento
O manifesto de experimento contém o conjunto de descritores de proveniência
que são utilizados para descrever o experimento científico em larga escala, este
descritores podem ser fornecidos por ferramentas de terceiros, os principais grupos de
descritores são:
Organization - descritores relacionados à organização que mantém os
laboratórios de pesquisa;
Laboratory - descritores relacionados aos laboratórios envolvidos na
condução dos experimentos;
Person - os descritores relacionados aos pesquisadores
Experiment - descritores relacionados ao experimento em larga escala;
Project - descritores relacionados com o projeto de pesquisa;
CloudProvider - descritores relacioandos com o provedor de serviços de
nuvem;
AbstractWorkflow - descritores sobre o workflow abstrato;
ConcreteWorkflow - descritores sobre o workflow concreto;
AbstractActivities - descritores sobre as atividades abstratas;
CloudAccess - descritores que habilitam a conexão do SGWfC com as
instâncias da nuvem;
ProvenanceBroker - contém os descritores que garantem a conectividade
da arquitetura com o repositório de proveniência.
Os descritores são utilizados pelos módulos ExecutionBroker e
ProvenanceBroker.
213
Figura 3-1. Estrutura do XSD do manifesto de experimento
214
Apêndice 4 - XSD do Manifesto de Configuração
O manifesto de configuração mantém conjuntos de descritores que são utilizados
para configurar o ambiente de nuvem, a saber:
UserSubscribe - descritores sobre os usuários das instâncias da nuvem;
ConcreteActivities - contém os descritores necessários a execução da atividade
concreta;
ActivityParameter-contém os parâmetros necessários à execução das atividades
concretas
CloudAccess - descritores que habilitam a conexão do SGWfC com as instâncias
da nuvem;
ProvenanceBroker - contém os descritores que garantem a conectividade da
arquitetura com o repositório de proveniência.
Figura 4-1. Estrutura do XSD do manifesto de configuração