Improving conflict detection in double-pushout graph transformation
| Ano de defesa: | 2018 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| 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 |