Uma extensão do diagrama de classe em Aspect-Oriented Design Model (AODM) para modelagem de Design by Contract
Autor(a) principal: | |
---|---|
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 |