A Model-Driven Software Reuse Approach (in portuguese)
A Model-Driven Software Reuse Approach (in portuguese)
A Model-Driven Software Reuse Approach (in portuguese)
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
• Sub-features que representam listas de itens podem ser representados como<br />
compartimentos em blocos (como os métodos e atributos da UML, por exemplo).<br />
Sub-atividade ID.2.4. Def<strong>in</strong>ição da <strong>in</strong>tegração <strong>in</strong>ter-DSL<br />
O quarto passo lida com a <strong>in</strong>tegração entre diferentes DSLs, o que é um problema que<br />
surge quando se lida com múltiplos subdomínios. A <strong>in</strong>tegração <strong>in</strong>ter-DSL deve ser gerenciada<br />
de forma que o desenvolvedor possa especificar modelos em ambas as l<strong>in</strong>guagens utilizando<br />
conceitos que se relacionam. Por exemplo, no domínio web de autoria de conteúdo, uma<br />
pág<strong>in</strong>a de formulário (do subdomínio de navegação) pode se referir a um tipo de documento<br />
(do subdomínio de autoria).<br />
Referências baseadas em nome ou pontes entre modelos (WARMER; KLEPPE, 2006) são<br />
mecanismos simples que resolvem estes problemas. Referências baseadas em nome consistem<br />
em um simples atributo do tipo str<strong>in</strong>g, na DSL que contém a referência, que aponta para<br />
o nome de um elemento na DSL sendo referenciada. As checagens de tipo e <strong>in</strong>tegridade<br />
referencial devem ser feitas manualmente. Pontes entre modelos não são muito mais poderosas,<br />
consist<strong>in</strong>do na criação de um elemento, na DSL que contém a referência, que é uma cópia exata<br />
de um elemento na DSL sendo referenciada. Esta técnica propicia a checagem de tipos, mas a<br />
checagem de <strong>in</strong>tegridade referencial a<strong>in</strong>da precisa ser realizada manualmente.<br />
Caso necessário, uma solução mais poderosa é apresentada por Hessellund, Czarnecki e<br />
Wasowski (2007), que propõem o uso de regras lógicas para estabelecer relações <strong>in</strong>ter-DSL.<br />
Desta forma, consultas de mais alto nível podem ser realizadas, facilitando a checagem da<br />
consistência.<br />
Sub-atividade ID.2.5. Construção da ferramenta de modelagem específica de domínio<br />
Uma vez que as s<strong>in</strong>taxes abstratas e concretas estejam def<strong>in</strong>idas, uma ferramenta de<br />
modelagem específica para a DSL é construída. Frameworks de DSLs, como GMF ou<br />
openArchitectureWare, entre outros, são a tecnologia mais apropriada para a implementação<br />
da ferramenta, uma vez que eles exigem pouco conhecimento na construção de l<strong>in</strong>guagens para<br />
se alcançar resultados práticos rapidamente. Porém, DSLs mais complexas podem exigir uma<br />
participação mais ativa de um especialista em l<strong>in</strong>guagens.<br />
Esta última sub-atividade também <strong>in</strong>clui a def<strong>in</strong>ição de validações para capturar erros<br />
semânticos durante a modelagem, orientando o desenvolvedor na criação de diagramas ou<br />
programas segundo a DSL em questão (VÖLTER, 2008). Por exemplo, uma validação semântica<br />
153