15.04.2013 Views

A Model-Driven Software Reuse Approach (in portuguese)

A Model-Driven Software Reuse Approach (in portuguese)

A Model-Driven Software Reuse Approach (in portuguese)

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Relatório e L<strong>in</strong>k) e autoria (Autoria, Tipo de documento e Relacionamento). As features de<br />

tecnologia do domínio do subdomínio de navegação irão fazer parte da DSL de navegação<br />

(Pág<strong>in</strong>as, L<strong>in</strong>ks, Formulários e Relatórios). Similarmente, a DSL do subdomínio de autoria irá<br />

<strong>in</strong>cluir tipos de documentos e relacionamentos.<br />

Figura 26: Def<strong>in</strong>ição do metamodelo da DSL de autoria Web<br />

Sub-atividade ID.2.2. Def<strong>in</strong>ição da s<strong>in</strong>taxe abstrata<br />

No segundo passo, as features identificadas são analisadas de forma mais aprofundada,<br />

para determ<strong>in</strong>ar como elas se relacionam entre si, e se conceitos adicionais são necessários.<br />

Estes conceitos adicionais são descritos em um metamodelo, que corresponde à s<strong>in</strong>taxe abstrata<br />

da DSL. Por exemplo, a Figura 26B mostra o metamodelo obtido para o subdomínio de<br />

autoria web. Elementos sombreados são derivados diretamente do modelo de features. Além<br />

das features Autoria, Tipo de documento e Relacionamento, este metamodelo contém os<br />

relacionamentos entre elas, e novos conceitos, como Autor e Campo.<br />

guia:<br />

Para auxiliar na def<strong>in</strong>ição do metamodelo, as segu<strong>in</strong>tes regras podem ser utilizadas como<br />

• Uma feature (normalmente, uma feature de tecnologia de domínio) é mapeada em um<br />

conceito da DSL. Um conceito pode ser uma metaclasse em um metamodelo, caso se<br />

trate de uma DSL visual, ou uma regra de produção em uma gramática, caso se trate de<br />

uma DSL textual;<br />

• Sub-features podem ser mapeadas como propriedades do conceito que as contém. Podem<br />

ser metaatributos em um metamodelo ou uma regra de produção ou atributo gramatical;<br />

151

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!