Improving conflict detection in double-pushout graph transformation

Detalhes bibliográficos
Ano de defesa: 2018
Autor(a) principal: Azzi, Guilherme Grochau
Orientador(a): Ribeiro, Leila
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: eng
Instituição de defesa: Não Informado pela instituição
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Palavras-chave em Inglês:
Link de acesso: http://hdl.handle.net/10183/188257
Resumo: Transformação de grafos é uma teoria apropriada para a especificação, análise e desenvolvimento de software, particularmente em abordagens dirigidas a modelos. Nesse contexto, grafos ou estruturas semelhantes representam os estados de um sistema, enquanto as transições são determinadas por regras de reescrita. Assim, uma representação visual e intuitiva é combinada a uma vasta teoria, permitindo o uso de várias técnicas de verificação. Como o comportamento desses modelos baseados em regras emerge de suas interações, são necessárias técnicas para entendê-las. Nesse trabalho, focamos nos conflitos entre regras: situações em que a aplicação de uma regra impede a aplicação de outra. A análise estática denominada detecção de conflitos busca enumerar um conjunto finito dessas situações que seja completo, ou seja, tal que qualquer outro conflito possa ser expresso em termos de um dos conflitos detectados. Em particular, a enumeração de pares críticos foi aplicada com sucesso em vários contextos. Ainda assim, a ela encontra problemas relacionados à escalabilidade. Isso envolve o tempo de execução, mas fundamentalmente advém do grande número de conflitos potenciais redundantes que é identificado. Neste trabalho, damos um passo importante em direção a uma técnica mais eficiente para detecção de conflitos. Para isso, desenvolvemos uma teoria que descreve a causa principal dos conflitos na forma de essências de conflito. Usando teoria de reticulados, pudemos detectar mais fontes de redundância, identificando essências irredutíveis como um subconjunto apropriado e menos redundante. Também mostramos que essas são intimamente relacionadas aos conflitos iniciais, um subconjunto dos pares críticos proposto recentemente. Assim, a aplicação de conflitos iniciais se torna possível em novos contextos. Além disso, apresentamos algoritmos para enumerar essências de conflito, conflitos iniciais e essências irredutíveis. Por fim, apresentamos evidência empírica de que conflitos iniciais e essências irredutíveis reduzem significativamente o número de conflitos reportados, em relação aos pares críticos, sem perda de informação. Todos os resultados teóricos deste trabalho são válidos para categorias de funtores com codomínio na categoria de conjuntos, uma generalização de grafos e de graph structures. Também identificamos condições suficientes para que os principais resultados sejam válidos em outras categorias adesivas.
id URGS_fdbfe7f7d1c6b8f64cc4cf7b18235e78
oai_identifier_str oai:www.lume.ufrgs.br:10183/188257
network_acronym_str URGS
network_name_str Biblioteca Digital de Teses e Dissertações da UFRGS
repository_id_str
spelling Azzi, Guilherme GrochauRibeiro, Leila2019-01-26T02:35:32Z2018http://hdl.handle.net/10183/188257001084931Transformação de grafos é uma teoria apropriada para a especificação, análise e desenvolvimento de software, particularmente em abordagens dirigidas a modelos. Nesse contexto, grafos ou estruturas semelhantes representam os estados de um sistema, enquanto as transições são determinadas por regras de reescrita. Assim, uma representação visual e intuitiva é combinada a uma vasta teoria, permitindo o uso de várias técnicas de verificação. Como o comportamento desses modelos baseados em regras emerge de suas interações, são necessárias técnicas para entendê-las. Nesse trabalho, focamos nos conflitos entre regras: situações em que a aplicação de uma regra impede a aplicação de outra. A análise estática denominada detecção de conflitos busca enumerar um conjunto finito dessas situações que seja completo, ou seja, tal que qualquer outro conflito possa ser expresso em termos de um dos conflitos detectados. Em particular, a enumeração de pares críticos foi aplicada com sucesso em vários contextos. Ainda assim, a ela encontra problemas relacionados à escalabilidade. Isso envolve o tempo de execução, mas fundamentalmente advém do grande número de conflitos potenciais redundantes que é identificado. Neste trabalho, damos um passo importante em direção a uma técnica mais eficiente para detecção de conflitos. Para isso, desenvolvemos uma teoria que descreve a causa principal dos conflitos na forma de essências de conflito. Usando teoria de reticulados, pudemos detectar mais fontes de redundância, identificando essências irredutíveis como um subconjunto apropriado e menos redundante. Também mostramos que essas são intimamente relacionadas aos conflitos iniciais, um subconjunto dos pares críticos proposto recentemente. Assim, a aplicação de conflitos iniciais se torna possível em novos contextos. Além disso, apresentamos algoritmos para enumerar essências de conflito, conflitos iniciais e essências irredutíveis. Por fim, apresentamos evidência empírica de que conflitos iniciais e essências irredutíveis reduzem significativamente o número de conflitos reportados, em relação aos pares críticos, sem perda de informação. Todos os resultados teóricos deste trabalho são válidos para categorias de funtores com codomínio na categoria de conjuntos, uma generalização de grafos e de graph structures. Também identificamos condições suficientes para que os principais resultados sejam válidos em outras categorias adesivas.Graph transformation is a useful framework for the specification, analysis and development of software, particularly within Model-Driven methodologies. In this setting, graphs or graph-like structures are used to represent states of a system, while its possible transitions are determined by transformation rules. This combines an intuitive visual representation with a rich theory and several verification techniques. Since the behaviour of these a rule-based models emerges from the interactions between rules, techniques for understanding such interactions are necessary. In this work, we focus on conflicts: situations where the application of a rule hinders the application of another. Conflict detection is then a static analysis technique that enumerates a finite but complete set of such situations, in the sense that every other conflict can be expressed in terms of some detected conflict. The most common approach to conflict detection is the enumeration of so-called critical pairs, and it was successfully applied in several contexts. Nevertheless, it still faces some issues related to scalability. These involve the running time of existing algorithms, but more fundamentally they stem from the amount of redundant potential conflicts that are enumerated. In this work, we take an important step towards improving conflict detection and reducing the redundancy of results. To this end, we develop a theory describing the root causes of conflicts in the form of conflict essences. Using lattice-theoretical techniques, we were also able to detect further sources of redundancy, identifying irreducible essences as suitable, less redundant subset. We also show that conflict essences are closely related to initial conflicts, a recently proposed subset of critical pairs, allowing their application to a wider variety of contexts. Moreover, simple algorithms for enumerating conflict and irreducible essences are provided. Finally, we present experimental evidence that initial conflicts and irreducible essences allow a significant reduction on the number of reported conflicts, when compared to the more traditional critical pairs, without loss of information. All of our results hold for categories of set-valued functors, a generalisation of graphs and graph structures, and sufficient conditions are identified for most of our results to hold in other adhesive categories.application/pdfengTeoria : CategoriasGrafos : Arvores : Algoritmos : Algebra booleana : Logica de computadores : Modelagem aritmeticaGraph transformationSubobjectAdhesive categoryCategory theoryInitial conflictCritical pairParallel independenceStatic analysisDouble-pushoutImproving conflict detection in double-pushout graph transformationMelhorando a detecção de conflitos para transformação de grafos algébrica info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPrograma de Pós-Graduação em ComputaçãoPorto Alegre, BR-RS2018mestradoinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSTEXT001084931.pdf.txt001084931.pdf.txtExtracted Texttext/plain253507http://www.lume.ufrgs.br/bitstream/10183/188257/2/001084931.pdf.txt636b008db38b8584bbcec7091271d26dMD52ORIGINAL001084931.pdfTexto completo (inglês)application/pdf2273333http://www.lume.ufrgs.br/bitstream/10183/188257/1/001084931.pdf5af708665ab106b29e8cd377c0abce1bMD5110183/1882572021-05-26 04:41:23.009011oai:www.lume.ufrgs.br:10183/188257Biblioteca Digital de Teses e Dissertaçõeshttps://lume.ufrgs.br/handle/10183/2PUBhttps://lume.ufrgs.br/oai/requestlume@ufrgs.br||lume@ufrgs.bropendoar:18532021-05-26T07:41:23Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false
dc.title.pt_BR.fl_str_mv Improving conflict detection in double-pushout graph transformation
dc.title.alternative.pt.fl_str_mv Melhorando a detecção de conflitos para transformação de grafos algébrica
title Improving conflict detection in double-pushout graph transformation
spellingShingle Improving conflict detection in double-pushout graph transformation
Azzi, Guilherme Grochau
Teoria : Categorias
Grafos : Arvores : Algoritmos : Algebra booleana : Logica de computadores : Modelagem aritmetica
Graph transformation
Subobject
Adhesive category
Category theory
Initial conflict
Critical pair
Parallel independence
Static analysis
Double-pushout
title_short Improving conflict detection in double-pushout graph transformation
title_full Improving conflict detection in double-pushout graph transformation
title_fullStr Improving conflict detection in double-pushout graph transformation
title_full_unstemmed Improving conflict detection in double-pushout graph transformation
title_sort Improving conflict detection in double-pushout graph transformation
author Azzi, Guilherme Grochau
author_facet Azzi, Guilherme Grochau
author_role author
dc.contributor.author.fl_str_mv Azzi, Guilherme Grochau
dc.contributor.advisor1.fl_str_mv Ribeiro, Leila
contributor_str_mv Ribeiro, Leila
dc.subject.por.fl_str_mv Teoria : Categorias
Grafos : Arvores : Algoritmos : Algebra booleana : Logica de computadores : Modelagem aritmetica
topic Teoria : Categorias
Grafos : Arvores : Algoritmos : Algebra booleana : Logica de computadores : Modelagem aritmetica
Graph transformation
Subobject
Adhesive category
Category theory
Initial conflict
Critical pair
Parallel independence
Static analysis
Double-pushout
dc.subject.eng.fl_str_mv Graph transformation
Subobject
Adhesive category
Category theory
Initial conflict
Critical pair
Parallel independence
Static analysis
Double-pushout
description Transformação de grafos é uma teoria apropriada para a especificação, análise e desenvolvimento de software, particularmente em abordagens dirigidas a modelos. Nesse contexto, grafos ou estruturas semelhantes representam os estados de um sistema, enquanto as transições são determinadas por regras de reescrita. Assim, uma representação visual e intuitiva é combinada a uma vasta teoria, permitindo o uso de várias técnicas de verificação. Como o comportamento desses modelos baseados em regras emerge de suas interações, são necessárias técnicas para entendê-las. Nesse trabalho, focamos nos conflitos entre regras: situações em que a aplicação de uma regra impede a aplicação de outra. A análise estática denominada detecção de conflitos busca enumerar um conjunto finito dessas situações que seja completo, ou seja, tal que qualquer outro conflito possa ser expresso em termos de um dos conflitos detectados. Em particular, a enumeração de pares críticos foi aplicada com sucesso em vários contextos. Ainda assim, a ela encontra problemas relacionados à escalabilidade. Isso envolve o tempo de execução, mas fundamentalmente advém do grande número de conflitos potenciais redundantes que é identificado. Neste trabalho, damos um passo importante em direção a uma técnica mais eficiente para detecção de conflitos. Para isso, desenvolvemos uma teoria que descreve a causa principal dos conflitos na forma de essências de conflito. Usando teoria de reticulados, pudemos detectar mais fontes de redundância, identificando essências irredutíveis como um subconjunto apropriado e menos redundante. Também mostramos que essas são intimamente relacionadas aos conflitos iniciais, um subconjunto dos pares críticos proposto recentemente. Assim, a aplicação de conflitos iniciais se torna possível em novos contextos. Além disso, apresentamos algoritmos para enumerar essências de conflito, conflitos iniciais e essências irredutíveis. Por fim, apresentamos evidência empírica de que conflitos iniciais e essências irredutíveis reduzem significativamente o número de conflitos reportados, em relação aos pares críticos, sem perda de informação. Todos os resultados teóricos deste trabalho são válidos para categorias de funtores com codomínio na categoria de conjuntos, uma generalização de grafos e de graph structures. Também identificamos condições suficientes para que os principais resultados sejam válidos em outras categorias adesivas.
publishDate 2018
dc.date.issued.fl_str_mv 2018
dc.date.accessioned.fl_str_mv 2019-01-26T02:35:32Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10183/188257
dc.identifier.nrb.pt_BR.fl_str_mv 001084931
url http://hdl.handle.net/10183/188257
identifier_str_mv 001084931
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da UFRGS
instname:Universidade Federal do Rio Grande do Sul (UFRGS)
instacron:UFRGS
instname_str Universidade Federal do Rio Grande do Sul (UFRGS)
instacron_str UFRGS
institution UFRGS
reponame_str Biblioteca Digital de Teses e Dissertações da UFRGS
collection Biblioteca Digital de Teses e Dissertações da UFRGS
bitstream.url.fl_str_mv http://www.lume.ufrgs.br/bitstream/10183/188257/2/001084931.pdf.txt
http://www.lume.ufrgs.br/bitstream/10183/188257/1/001084931.pdf
bitstream.checksum.fl_str_mv 636b008db38b8584bbcec7091271d26d
5af708665ab106b29e8cd377c0abce1b
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)
repository.mail.fl_str_mv lume@ufrgs.br||lume@ufrgs.br
_version_ 1831316059553005568