Uma extensão do diagrama de classe em Aspect-Oriented Design Model (AODM) para modelagem de Design by Contract

Detalhes bibliográficos
Autor(a) principal: SILVA, Fabrício Soares da
Data de Publicação: 2017
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UFPE
Texto Completo: https://repositorio.ufpe.br/handle/123456789/32393
Resumo: Com a evolução da técnica de desenvolvimento de Design by Contract (DbC), muitas implementações vem surgindo e em diversas linguagens de programação. Os contratos são elementos importantes para a validade dos métodos e com a implementação de DbC em Aspectos, os contratos passam a ser elementos importantes também para os advice. Com isso, o registro e a visualização dos contratos, tanto as premissas quanto as validações de saída, em fase de análise de projeto ganham uma devida importância. Porém, com as técnicas existentes para se diagramar classes e aspectos, esta não é uma atividade possível. Nesta pesquisa está descrita uma extensão do artefato de "Diagrama de Classes" com suporte a Aspectos provido pela técnica AODM, com o objetivo específico de expressar contratos estabelecidos na técnica Design by Contract em classes e aspectos, sem ferir os princípios da UML. Para auxiliar no desenvolvimento da pesquisa e criar exemplos que pudessem ser modelados com a técnica desenvolvida nesta dissertação, optou-se pelo uso das sintaxes AspectJ/@AspectJ (para aspectos), JML (para DbC) e AspectJML (para DbC sobre Aspectos). Como resultado foi desenvolvido uma técnica que estende a AODM para se modelar contratos tanto em classes quanto em aspectos, se utilizando de artifícios já suportados pela UML através de estereótipos e propriedades. Esta técnica proporciona que todos estes elementos possam ser representados em apenas um único modelo visando oferecer uma visão ampla do sistema que está sendo desenvolvido.
id UFPE_8f0a5d733e39c14fdff04e7987a03983
oai_identifier_str oai:repositorio.ufpe.br:123456789/32393
network_acronym_str UFPE
network_name_str Repositório Institucional da UFPE
repository_id_str 2221
spelling SILVA, Fabrício Soares dahttp://lattes.cnpq.br/4640295615589358http://lattes.cnpq.br/2340616806258461REBÊLO, Henrique Emanuel Mostaert2019-09-10T16:41:12Z2019-09-10T16:41:12Z2017-12-28https://repositorio.ufpe.br/handle/123456789/32393Com a evolução da técnica de desenvolvimento de Design by Contract (DbC), muitas implementações vem surgindo e em diversas linguagens de programação. Os contratos são elementos importantes para a validade dos métodos e com a implementação de DbC em Aspectos, os contratos passam a ser elementos importantes também para os advice. Com isso, o registro e a visualização dos contratos, tanto as premissas quanto as validações de saída, em fase de análise de projeto ganham uma devida importância. Porém, com as técnicas existentes para se diagramar classes e aspectos, esta não é uma atividade possível. Nesta pesquisa está descrita uma extensão do artefato de "Diagrama de Classes" com suporte a Aspectos provido pela técnica AODM, com o objetivo específico de expressar contratos estabelecidos na técnica Design by Contract em classes e aspectos, sem ferir os princípios da UML. Para auxiliar no desenvolvimento da pesquisa e criar exemplos que pudessem ser modelados com a técnica desenvolvida nesta dissertação, optou-se pelo uso das sintaxes AspectJ/@AspectJ (para aspectos), JML (para DbC) e AspectJML (para DbC sobre Aspectos). Como resultado foi desenvolvido uma técnica que estende a AODM para se modelar contratos tanto em classes quanto em aspectos, se utilizando de artifícios já suportados pela UML através de estereótipos e propriedades. Esta técnica proporciona que todos estes elementos possam ser representados em apenas um único modelo visando oferecer uma visão ampla do sistema que está sendo desenvolvido.With the evolution of the design technique of Design by Contract (DbC), many implementations have been emerging and in several programming languages. Contracts are important elements for the validity of the methods and with the implementation of DbC in Aspects, contracts become important elements for advice as well. With this, the registration and the visualization of the contracts, both the assumptions and the exit validations, in the phase of project analysis, are given due importance. However, with the existing techniques to diagram classes and aspects, this is not a possible activity. In this research, an extension of the "Class Diagram" artifact with support to Aspects provided by the AODM technique is described, with the specific objective of expressing contracts established in the Design by Contract technique in classes and aspects, without hurting the UML principles. AspectJ/@AspectJ (for aspects), JML (for DbC) and AspectJML (for DbC over Aspects) were used to support the development of the research and create examples that could be modeled using the technique developed in this dissertation. As a result, a technique has been developed that extends AODM to model contracts in both classes and aspects, if using artifacts already supported by UML through stereotypes and properties. This technique provides that all these elements can be represented in a single model to offer a broad view of the system that is being developed.porUniversidade Federal de PernambucoPrograma de Pos Graduacao em Ciencia da ComputacaoUFPEBrasilAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessEngenharia de softwareAODMUma extensão do diagrama de classe em Aspect-Oriented Design Model (AODM) para modelagem de Design by Contractinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesismestradoreponame:Repositório Institucional da UFPEinstname:Universidade Federal de Pernambuco (UFPE)instacron:UFPETHUMBNAILDISSERTAÇÃO Fabricio Soares da Silva.pdf.jpgDISSERTAÇÃO Fabricio Soares da Silva.pdf.jpgGenerated Thumbnailimage/jpeg1325https://repositorio.ufpe.br/bitstream/123456789/32393/5/DISSERTA%c3%87%c3%83O%20Fabricio%20Soares%20da%20Silva.pdf.jpg3113d87ec5263a0bf323cc158829c2dcMD55ORIGINALDISSERTAÇÃO Fabricio Soares da Silva.pdfDISSERTAÇÃO Fabricio Soares da Silva.pdfapplication/pdf2871248https://repositorio.ufpe.br/bitstream/123456789/32393/1/DISSERTA%c3%87%c3%83O%20Fabricio%20Soares%20da%20Silva.pdfb2abffa288562a49b175bc34e2143179MD51CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8811https://repositorio.ufpe.br/bitstream/123456789/32393/2/license_rdfe39d27027a6cc9cb039ad269a5db8e34MD52LICENSElicense.txtlicense.txttext/plain; charset=utf-82310https://repositorio.ufpe.br/bitstream/123456789/32393/3/license.txtbd573a5ca8288eb7272482765f819534MD53TEXTDISSERTAÇÃO Fabricio Soares da Silva.pdf.txtDISSERTAÇÃO Fabricio Soares da Silva.pdf.txtExtracted texttext/plain209589https://repositorio.ufpe.br/bitstream/123456789/32393/4/DISSERTA%c3%87%c3%83O%20Fabricio%20Soares%20da%20Silva.pdf.txt71d20a5be84136962153ac8111ad51ceMD54123456789/323932019-10-26 03:54:16.987oai:repositorio.ufpe.br:123456789/32393TGljZW7Dp2EgZGUgRGlzdHJpYnVpw6fDo28gTsOjbyBFeGNsdXNpdmEKClRvZG8gZGVwb3NpdGFudGUgZGUgbWF0ZXJpYWwgbm8gUmVwb3NpdMOzcmlvIEluc3RpdHVjaW9uYWwgKFJJKSBkZXZlIGNvbmNlZGVyLCDDoCBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkZSBQZXJuYW1idWNvIChVRlBFKSwgdW1hIExpY2Vuw6dhIGRlIERpc3RyaWJ1acOnw6NvIE7Do28gRXhjbHVzaXZhIHBhcmEgbWFudGVyIGUgdG9ybmFyIGFjZXNzw612ZWlzIG9zIHNldXMgZG9jdW1lbnRvcywgZW0gZm9ybWF0byBkaWdpdGFsLCBuZXN0ZSByZXBvc2l0w7NyaW8uCgpDb20gYSBjb25jZXNzw6NvIGRlc3RhIGxpY2Vuw6dhIG7Do28gZXhjbHVzaXZhLCBvIGRlcG9zaXRhbnRlIG1hbnTDqW0gdG9kb3Mgb3MgZGlyZWl0b3MgZGUgYXV0b3IuCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwoKTGljZW7Dp2EgZGUgRGlzdHJpYnVpw6fDo28gTsOjbyBFeGNsdXNpdmEKCkFvIGNvbmNvcmRhciBjb20gZXN0YSBsaWNlbsOnYSBlIGFjZWl0w6EtbGEsIHZvY8OqIChhdXRvciBvdSBkZXRlbnRvciBkb3MgZGlyZWl0b3MgYXV0b3JhaXMpOgoKYSkgRGVjbGFyYSBxdWUgY29uaGVjZSBhIHBvbMOtdGljYSBkZSBjb3B5cmlnaHQgZGEgZWRpdG9yYSBkbyBzZXUgZG9jdW1lbnRvOwpiKSBEZWNsYXJhIHF1ZSBjb25oZWNlIGUgYWNlaXRhIGFzIERpcmV0cml6ZXMgcGFyYSBvIFJlcG9zaXTDs3JpbyBJbnN0aXR1Y2lvbmFsIGRhIFVGUEU7CmMpIENvbmNlZGUgw6AgVUZQRSBvIGRpcmVpdG8gbsOjbyBleGNsdXNpdm8gZGUgYXJxdWl2YXIsIHJlcHJvZHV6aXIsIGNvbnZlcnRlciAoY29tbyBkZWZpbmlkbyBhIHNlZ3VpciksIGNvbXVuaWNhciBlL291IGRpc3RyaWJ1aXIsIG5vIFJJLCBvIGRvY3VtZW50byBlbnRyZWd1ZSAoaW5jbHVpbmRvIG8gcmVzdW1vL2Fic3RyYWN0KSBlbSBmb3JtYXRvIGRpZ2l0YWwgb3UgcG9yIG91dHJvIG1laW87CmQpIERlY2xhcmEgcXVlIGF1dG9yaXphIGEgVUZQRSBhIGFycXVpdmFyIG1haXMgZGUgdW1hIGPDs3BpYSBkZXN0ZSBkb2N1bWVudG8gZSBjb252ZXJ0w6otbG8sIHNlbSBhbHRlcmFyIG8gc2V1IGNvbnRlw7pkbywgcGFyYSBxdWFscXVlciBmb3JtYXRvIGRlIGZpY2hlaXJvLCBtZWlvIG91IHN1cG9ydGUsIHBhcmEgZWZlaXRvcyBkZSBzZWd1cmFuw6dhLCBwcmVzZXJ2YcOnw6NvIChiYWNrdXApIGUgYWNlc3NvOwplKSBEZWNsYXJhIHF1ZSBvIGRvY3VtZW50byBzdWJtZXRpZG8gw6kgbyBzZXUgdHJhYmFsaG8gb3JpZ2luYWwgZSBxdWUgZGV0w6ltIG8gZGlyZWl0byBkZSBjb25jZWRlciBhIHRlcmNlaXJvcyBvcyBkaXJlaXRvcyBjb250aWRvcyBuZXN0YSBsaWNlbsOnYS4gRGVjbGFyYSB0YW1iw6ltIHF1ZSBhIGVudHJlZ2EgZG8gZG9jdW1lbnRvIG7Do28gaW5mcmluZ2Ugb3MgZGlyZWl0b3MgZGUgb3V0cmEgcGVzc29hIG91IGVudGlkYWRlOwpmKSBEZWNsYXJhIHF1ZSwgbm8gY2FzbyBkbyBkb2N1bWVudG8gc3VibWV0aWRvIGNvbnRlciBtYXRlcmlhbCBkbyBxdWFsIG7Do28gZGV0w6ltIG9zIGRpcmVpdG9zIGRlCmF1dG9yLCBvYnRldmUgYSBhdXRvcml6YcOnw6NvIGlycmVzdHJpdGEgZG8gcmVzcGVjdGl2byBkZXRlbnRvciBkZXNzZXMgZGlyZWl0b3MgcGFyYSBjZWRlciDDoApVRlBFIG9zIGRpcmVpdG9zIHJlcXVlcmlkb3MgcG9yIGVzdGEgTGljZW7Dp2EgZSBhdXRvcml6YXIgYSB1bml2ZXJzaWRhZGUgYSB1dGlsaXrDoS1sb3MgbGVnYWxtZW50ZS4gRGVjbGFyYSB0YW1iw6ltIHF1ZSBlc3NlIG1hdGVyaWFsIGN1am9zIGRpcmVpdG9zIHPDo28gZGUgdGVyY2Vpcm9zIGVzdMOhIGNsYXJhbWVudGUgaWRlbnRpZmljYWRvIGUgcmVjb25oZWNpZG8gbm8gdGV4dG8gb3UgY29udGXDumRvIGRvIGRvY3VtZW50byBlbnRyZWd1ZTsKZykgU2UgbyBkb2N1bWVudG8gZW50cmVndWUgw6kgYmFzZWFkbyBlbSB0cmFiYWxobyBmaW5hbmNpYWRvIG91IGFwb2lhZG8gcG9yIG91dHJhIGluc3RpdHVpw6fDo28gcXVlIG7Do28gYSBVRlBFLCBkZWNsYXJhIHF1ZSBjdW1wcml1IHF1YWlzcXVlciBvYnJpZ2HDp8O1ZXMgZXhpZ2lkYXMgcGVsbyByZXNwZWN0aXZvIGNvbnRyYXRvIG91IGFjb3Jkby4KCkEgVUZQRSBpZGVudGlmaWNhcsOhIGNsYXJhbWVudGUgbyhzKSBub21lKHMpIGRvKHMpIGF1dG9yIChlcykgZG9zIGRpcmVpdG9zIGRvIGRvY3VtZW50byBlbnRyZWd1ZSBlIG7Do28gZmFyw6EgcXVhbHF1ZXIgYWx0ZXJhw6fDo28sIHBhcmEgYWzDqW0gZG8gcHJldmlzdG8gbmEgYWzDrW5lYSBjKS4KRepositório InstitucionalPUBhttps://repositorio.ufpe.br/oai/requestattena@ufpe.bropendoar:22212019-10-26T06:54:16Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)false
dc.title.pt_BR.fl_str_mv Uma extensão do diagrama de classe em Aspect-Oriented Design Model (AODM) para modelagem de Design by Contract
title Uma extensão do diagrama de classe em Aspect-Oriented Design Model (AODM) para modelagem de Design by Contract
spellingShingle Uma extensão do diagrama de classe em Aspect-Oriented Design Model (AODM) para modelagem de Design by Contract
SILVA, Fabrício Soares da
Engenharia de software
AODM
title_short Uma extensão do diagrama de classe em Aspect-Oriented Design Model (AODM) para modelagem de Design by Contract
title_full Uma extensão do diagrama de classe em Aspect-Oriented Design Model (AODM) para modelagem de Design by Contract
title_fullStr Uma extensão do diagrama de classe em Aspect-Oriented Design Model (AODM) para modelagem de Design by Contract
title_full_unstemmed Uma extensão do diagrama de classe em Aspect-Oriented Design Model (AODM) para modelagem de Design by Contract
title_sort Uma extensão do diagrama de classe em Aspect-Oriented Design Model (AODM) para modelagem de Design by Contract
author SILVA, Fabrício Soares da
author_facet SILVA, Fabrício Soares da
author_role author
dc.contributor.authorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/4640295615589358
dc.contributor.advisorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/2340616806258461
dc.contributor.author.fl_str_mv SILVA, Fabrício Soares da
dc.contributor.advisor1.fl_str_mv REBÊLO, Henrique Emanuel Mostaert
contributor_str_mv REBÊLO, Henrique Emanuel Mostaert
dc.subject.por.fl_str_mv Engenharia de software
AODM
topic Engenharia de software
AODM
description Com a evolução da técnica de desenvolvimento de Design by Contract (DbC), muitas implementações vem surgindo e em diversas linguagens de programação. Os contratos são elementos importantes para a validade dos métodos e com a implementação de DbC em Aspectos, os contratos passam a ser elementos importantes também para os advice. Com isso, o registro e a visualização dos contratos, tanto as premissas quanto as validações de saída, em fase de análise de projeto ganham uma devida importância. Porém, com as técnicas existentes para se diagramar classes e aspectos, esta não é uma atividade possível. Nesta pesquisa está descrita uma extensão do artefato de "Diagrama de Classes" com suporte a Aspectos provido pela técnica AODM, com o objetivo específico de expressar contratos estabelecidos na técnica Design by Contract em classes e aspectos, sem ferir os princípios da UML. Para auxiliar no desenvolvimento da pesquisa e criar exemplos que pudessem ser modelados com a técnica desenvolvida nesta dissertação, optou-se pelo uso das sintaxes AspectJ/@AspectJ (para aspectos), JML (para DbC) e AspectJML (para DbC sobre Aspectos). Como resultado foi desenvolvido uma técnica que estende a AODM para se modelar contratos tanto em classes quanto em aspectos, se utilizando de artifícios já suportados pela UML através de estereótipos e propriedades. Esta técnica proporciona que todos estes elementos possam ser representados em apenas um único modelo visando oferecer uma visão ampla do sistema que está sendo desenvolvido.
publishDate 2017
dc.date.issued.fl_str_mv 2017-12-28
dc.date.accessioned.fl_str_mv 2019-09-10T16:41:12Z
dc.date.available.fl_str_mv 2019-09-10T16:41:12Z
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 https://repositorio.ufpe.br/handle/123456789/32393
url https://repositorio.ufpe.br/handle/123456789/32393
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de Pernambuco
dc.publisher.program.fl_str_mv Programa de Pos Graduacao em Ciencia da Computacao
dc.publisher.initials.fl_str_mv UFPE
dc.publisher.country.fl_str_mv Brasil
publisher.none.fl_str_mv Universidade Federal de Pernambuco
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFPE
instname:Universidade Federal de Pernambuco (UFPE)
instacron:UFPE
instname_str Universidade Federal de Pernambuco (UFPE)
instacron_str UFPE
institution UFPE
reponame_str Repositório Institucional da UFPE
collection Repositório Institucional da UFPE
bitstream.url.fl_str_mv https://repositorio.ufpe.br/bitstream/123456789/32393/5/DISSERTA%c3%87%c3%83O%20Fabricio%20Soares%20da%20Silva.pdf.jpg
https://repositorio.ufpe.br/bitstream/123456789/32393/1/DISSERTA%c3%87%c3%83O%20Fabricio%20Soares%20da%20Silva.pdf
https://repositorio.ufpe.br/bitstream/123456789/32393/2/license_rdf
https://repositorio.ufpe.br/bitstream/123456789/32393/3/license.txt
https://repositorio.ufpe.br/bitstream/123456789/32393/4/DISSERTA%c3%87%c3%83O%20Fabricio%20Soares%20da%20Silva.pdf.txt
bitstream.checksum.fl_str_mv 3113d87ec5263a0bf323cc158829c2dc
b2abffa288562a49b175bc34e2143179
e39d27027a6cc9cb039ad269a5db8e34
bd573a5ca8288eb7272482765f819534
71d20a5be84136962153ac8111ad51ce
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)
repository.mail.fl_str_mv attena@ufpe.br
_version_ 1802310858163879936