Made available in DSpace on 2014-06-12T15:52:08Z (GMT). No. of bitstreams: 1
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2008 / O projeto de software visa descrever os principais aspectos do sistema a ser construído
através de mecanismos que ajudam a raciocinar sobre a complexidade. Dentre as ativi-
dades do projeto de software, destaca-se a elaboração e documentação da arquitetura,
um dos principais mecanismos para raciocinar e lidar com essa complexidade. Uma das
principais metas do projeto da arquitetura é a modularizadão do sistema através do esta-
belecimento de design rules que deverão ser obedecidas pelos desenvolvedores. Exemplos
de design rules estabelecidas no projeto da arquitetura são os serviços disponibilizados
pelos componentes e as regras de comunicação entre estes.
A modularizacão dos sistemas de software também motivou o surgimento da Pro-
gramação Orientada a Aspectos (POA). Entretanto estudos recentes mostraram que a
utilização da POA apesar de ser um meio efetivo para modularizacão de interesses trans-
versais, pode prejudicar a modularidade dos demais interesses se design rules não forem
estabelecidas pelo projetista. Muitas das design rules necessárias para melhorar a modu-
laridade de sistemas orientados a aspectos são definidas na fase de projeto da arquitetura
do software.
Para criação e documentação do projeto da arquitetura uma das principais abordagens
é a utilização de Linguagens de Descrição de Arquitetura (LDA), que permitem descrever
a arquitetura de forma clara e não ambígua, possibilitando a verificação de uma série de
propriedades que antes são poderiam ser analisadas depois do implementação do software.
O problema na utilização desta abordagem é que o modelo de arquitetura utilizado pela
maioria das LDAs, formado por abstrações como componentes e conectores, é diferente
do modelo baseado em objetos utilizado por muitas linguagens de programação, tornado
difícil o mapeamento e a consistência entre essas fases do desenvolvimento. Entretanto,
para garantir a modularidade do sistema e as propriedades arquiteturais obtidas através
de uma LDA, é necessário apenas garantir que as design rules estabelecidas por esta são
obedecidas pelo código desenvolvido.
Neste trabalho propomos um mapeamento das design rules implicitamente definidas
por uma linguagem de descrição arquitetural para uma linguagem de descrição de design
rules, responsável por verificar se estas estão sendo obedecidas no código desenvolvido. A
verificação das design rules permite garantir que a modularidade e as propriedades arqui-
teturais obtidas através do projeto da arquitetura sejam válidas no código desenvolvido.
A LDA escolhida foi a linguagem AspectualAcme, que utiliza os conceitos da orientação
a aspectos, permitindo que as design rules geradas melhorem também a modularidade
de sistemas orientados a aspectos.
Para diminuir os custos com a tradução, também foi construída uma ferramenta capaz
de gerar automaticamente, a partir de uma especificação válida em AspectualAcme, as
regras na linguagem de descrição de design rules. Além da economia de tempo dos desenvolvedores, o suporte automático para tradução evita que erros sejam cometidos ou
que design rules sejam esquecidas, garantindo dessa forma as propriedades verificadas no
modelo arquitetura e a modularidade do sistema
Identifer | oai:union.ndltd.org:IBICT/oai:repositorio.ufpe.br:123456789/1745 |
Date | 31 January 2008 |
Creators | Dósea, Marcos Barbosa |
Contributors | Meira, Silvio Romero de Lemos |
Publisher | Universidade Federal de Pernambuco |
Source Sets | IBICT Brazilian ETDs |
Language | Portuguese |
Detected Language | Portuguese |
Type | info:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis |
Source | reponame:Repositório Institucional da UFPE, instname:Universidade Federal de Pernambuco, instacron:UFPE |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0022 seconds