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.

tarefa complexa.<br />

F<strong>in</strong>almente, é necessário um mecanismo que efetivamente aplique as transformações<br />

def<strong>in</strong>idas pelo engenheiro de software. Esse mecanismo deve não só executar as transformações,<br />

mas também manter <strong>in</strong>formações de rastreabilidade, possibilitando saber a origem de cada<br />

elemento gerado, seja no modelo ou no código-fonte.<br />

Atualmente existem diversos trabalhos que buscam melhor def<strong>in</strong>ir o papel de todos esses<br />

elementos. A seguir são apresentadas as pr<strong>in</strong>cipais abordagens existentes na <strong>in</strong>dústria para<br />

possibilitar o desenvolvimento orientado a modelos.<br />

2.2.2 Pr<strong>in</strong>cipais abordagens da <strong>in</strong>dústria para MDD<br />

Para dar suporte a diferentes l<strong>in</strong>guagens de modelagem, ajudar a garantir que os modelos<br />

construídos estejam semanticamente corretos e completos, e possibilitar a def<strong>in</strong>ição e execução<br />

de transformações genéricas, as pr<strong>in</strong>cipais abordagens existentes na <strong>in</strong>dústria para MDD se<br />

baseiam no conceito de metamodelagem (OMG, 2006b), apresentado na Figura 4.<br />

Figura 4: Arquitetura clássica de metamodelagem<br />

O primeiro nível (M0) corresponde aos dados propriamente ditos. O segundo nível (M1)<br />

corresponde aos metadados, ou modelo. São os dados que descrevem os dados. O terceiro<br />

nível (M2) é o metamodelo, utilizado para a def<strong>in</strong>ição de modelos. A especificação UML é um<br />

exemplo de metamodelo. O quarto nível (M3) é utilizado para def<strong>in</strong>ir metamodelos, ou seja, um<br />

meta-metamodelo def<strong>in</strong>e l<strong>in</strong>guagens de modelagem, como a UML, por exemplo. Um exemplo<br />

de meta-metamodelo é o padrão MOF, apresentado na próxima seção. Não existe um qu<strong>in</strong>to<br />

45

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

Saved successfully!

Ooh no, something went wrong!