• No results found

6. HOVEDFUNN OG SAMMENFALLENDE LINJER

6.2 S AMMENFALLENDE LINJER

Uma vez que os componentes do metamodelo sejam extraídos, os

frameworks podem ser examinados e analisados, sendo estas importantes

aplicações do uso dos metamodelos de frameworks de melhores práticas de TI. Outras grandes promessas de aplicação dos metamodelos são a comparação e integração de diferentes frameworks. Utilizando-se a mesma metodologia de construção, a representação dos metamodelos permite a comparação entre os

frameworks em um nível abstrato. Este processo de comparação seria um passo

essencial para a integração dos metamodelos e então guiar a integração dos

frameworks.

Porém, apesar das vantagens da comparação e integração com o uso de metamodelos, quando conceitos diferentes são comparados, surgem as dificuldades causadas pelas deficiências da linguagem como os sinônimos e homônimos. Para resolver estes problemas, a solução poderá vir das pesquisas de bancos de dados sobre a comparação e integração de esquemas.

Segundo Heuser (1998), “a descrição de um modelo é chamada, na terminologia de banco de dados, de o esquema do banco de dados”. Pode-se considerar que o esquema é a representação textual do modelo ou metamodelo e que o diagrama ou modelo da metodologia E/R é a representação gráfica. Os esquemas, como representação textual do modelo, possuem a sua própria linguagem, onde a sintaxe é dada por uma gramática. Uma descrição formal de um esquema para a metodologia E/R estendida, que será usada nesta pesquisa, é dada por Gogolla e Hohenstein (1991).

Vários autores pesquisam sobre a comparação e integração de modelos/metamodelos, entre eles se destacam os trabalhos de Batini et all (1987), Spaccapietra et all (1992a), Teorey (1999), Conrad (2002), Rizopoulos (2005), Magnani et all (2005), Kurpjuweit e Winter (2007) e Karagiannis e Höfferer (2008).

Para Conrad (2002), a tarefa essencial para integrar esquemas de bases de dados heterogêneas é a construção de uma descrição comum e uniforme dos dados integrados. Ele analisa as vantagens e desvantagens das diferentes técnicas de integração e, a partir desta análise, deriva vários questionamentos como tópicos para pesquisas recentes e futuras sobre o tema.

Segundo Magnani et all (2005), o problema central da integração de esquemas é o esquema matching, isto é, a identificação das correspondências entre os objetos do esquema, e o esquema merging, que é a criação de um esquema unificado baseado no mapeamento identificado. O primeiro problema é o da identificação dos homônimos, sinônimos e antônimos. O segundo é o de como lidar com as correspondências identificadas.

A partir do trabalho de Rizopoulos (2005), Magnani et all (2005) fazem o mapeamento entre dois esquemas especificando seis tipos diferentes de relacionamentos semânticos baseados na comparação entre seus domínios de intenção, isto é, o conjunto de objetos do mundo real que eles representam. Ele usa Domint(E) para definir o domínio intencional de um tipo entidade E. Por exemplo, o

domínio de intenção de um tipo relacionamento é um subconjunto do produto cartesiano dos domínios de intenção dos tipos entidades associados. Os relacionamentos semânticos entre esquemas são:

1. Equivalência (≡): Um esquema ER1 é equivalente a ER2, ER1≡ ER2, se

Domint(ER1)= Domint(ER2).

2. Está contido (⊂): Um esquema ER1 está contido em ER2, ER1⊂ER2, se

Domint(ER1) ⊂ Domint(ER2).

3. Contém (⊃): Um esquema ER1 contém ER2, ER1⊃ER2, se Domint(ER1) ⊃

Domint(ER2).

4. Interseção (∩): Um esquema ER1 é interseção de ER2, ER1∩ER2, se

(ER1⊂ ΕR2), (ER1⊃ΕR2), Domint(ER1) ∩ Domint(ER2) ≠ ∅, ∃ ER3: Domint(ER1) ∩

Domint(ER2)= Domint(ER3).

5. Disjunção ( ): Dois esquemas ER1 e ER2 são disjuntos, ER1 ER2, se

Domint(ER1) ∩ Domint(ER2) = ∅, ∃ ER3: Domint(ER1) ∪ Domint(ER2) ⊆

Domint(ER3).

6. Incompatibilidade ( ): Dois esquemas ER1 e ER2 são incompatíveis,

ER1 ER2, se Domint(ER1) ∩ Domint(ER2) = ∅, ER3: Domint(ER1) ∪

Domint(ER2) ⊆ Domint(ER3).

Em Batini et all (1987) são feitas comparações entre sete outras metodologias de integração de esquemas de bancos de dados. O autor divide o processo de integração em quatro etapas, descritas a seguir.

1. Pré-integração: Análise sobre a política de integração, onde são escolhidos os esquemas ou partes deles e também é escolhida a ordem da integração. 2. Comparação (comparison) de esquemas: Os esquemas são analisados e

comparados para determinar as correspondências e detectar os possíveis conflitos.

3. Conformação (conforming) de esquemas: Uma vez que os conflitos tenham sido detectados, é feito um esforço para resolvê-los de modo que seja possível a mesclagem dos vários esquemas.

4. Mesclagem (merging) e reestruturação (restructuring): Depois das etapas anteriores os esquemas estão prontos para serem mesclados. Talvez alguns esquemas intermediários sejam necessários antes do esquema global final. De acordo com Batini et all (1987), o esquema final integrado deve atender aos seguintes critérios de qualidade:

1. Completude e correção: O esquema integrado deve conter todos os conceitos de qualquer um dos esquemas de origem, de forma correta.

2. Minimalidade: Se um conceito é representado por mais de um esquema de origem, o esquema integrado deve representar o conceito apenas uma única vez.

3. Compreensibilidade: O esquema integrado deve ser de fácil compreensão para o modelador ou para o usuário final.

Sobre a integração de esquemas, Spaccapietra et all (1992a) concorda que os conflitos de representação entre os esquemas são os maiores desafios das metodologias de integração. Para o autor, dois designers modelando o mesmo assunto provavelmente descreverão os objetos comuns do mundo real de formas diferentes. Em sua taxonomia de conflitos, o autor descreve quatro razões para a existência de diferentes representações dos objetos comuns do mundo real.

Dois designers não percebem exatamente os mesmos conjuntos de objetos do mundo real. Ao invés disto percebem conjuntos semelhantes.

Ao descrever o mesmo conjunto de objetos, dois designers não percebem o mesmo conjunto de propriedades.

Dois designers usam diferentes modelos de dados (relacional, orientado a objetos etc.).

Mesmo que os dois designers usem o mesmo modelo de dados, eles poderão usar diferentes componentes para representar o mesmo objeto.

Em Teorey (1999) são descritos os objetivos a serem alcançados na integração de esquemas de forma bastante semelhante aos quatro passos da metodologia de Batini et all (1987).

Para Zaniolo (1982) “o mapeamento entre diferentes modelos é um formidável problema a ser resolvido”. O autor já apontava que a abordagem mais promissora consiste na utilização, no nível do esquema conceitual, de um metamodelo. O mapeamento entre os esquemas é realizado através de uma transformação intermediária dentro do metamodelo. Por serem fáceis de serem transformados em redes, hierarquias, e relações, a metodologia E/R ou similares, representam a escolha óbvia para criar o metamodelo.

Kurpjuweit e Winter (2007) apresentam a sua engenharia de metamodelos baseada em pontos de vista (Viewpoint). A partir de fragmentos de metamodelos o autor apresenta cinco passos necessários para fazer a integração. Os fragmentos são baseados em pontos de vista e validados por requerimentos de cada ponto de vista. Os relacionamentos entre os pontos de vista são mapeados através do diagrama de relacionamentos dos pontos de vista. Os cinco passos da engenharia de metamodelos baseada em pontos de vista de Kurpjuweit e Winter (2007) são descritos a seguir.

1. Identificação dos interesses relevantes: A partir de um grande e diversificado grupo de colaboradores, criar uma lista de interesses relevantes para ser usada como o ponto de partida do trabalho. A lista deve ser específica para o contexto de determinado projeto. O ideal é que esta atividade ocorra dentro de um workshop onde estejam presentes ou representados todos os colaboradores mais importantes.

2. Extrair requisitos: É uma técnica para derivar métricas a partir de questões, que por sua vez são derivadas das metas dos colaboradores. Cada interesse da etapa 1 é refinado em uma meta de ponto de vista. A partir da definição de uma meta, questões são formuladas para que a meta seja atingida. Estas questões representam os requisitos que contêm os conceitos que serão modelados dentro de um fragmento do metamodelo.

3. Resumo do relacionamento do ponto de vista: Um diagrama do relacionamento entre os pontos de vista é criado para resumir as informações dos relacionamentos entre os diferentes pontos de vista.

4. Seleção do fragmento do metamodelo: Nesta etapa são criados os fragmentos do metamodelo a partir das especificações dos pontos de vista. O fragmento de metamodelo deve ser validado respondendo às questões formuladas na etapa 2.

5. Integração do fragmento do metamodelo: Os fragmentos dos metamodelos para todos os pontos de vista relevantes serão integrados em um único metamodelo que expresse todos os relacionamentos entre os diversos pontos de vista. O metamodelo integrado deverá observar as seguintes questões: Ajuste da terminologia para resolver problemas de conceitos homônimos e sinônimos; generalizações devem ser construídas se dois conceitos possuem semânticas semelhantes mas diferentes estruturas; especializações devem ser criadas se um conceito é especialização de outro; se o mesmo conteúdo de informação é representado de forma diferentes, tais redundâncias devem ser removidas do metamodelo; para relacionar os fragmentos dos metamodelos podem ser necessários novos conceitos que façam este relacionamento.

Segundo Karagiannis e Höfferer (2008) a integração de modelos que foram criados a partir de diferentes metamodelos pode ser abordada através de um mapeamento no nível da camada do metametamodelo, ou camada meta2. O metametamodelo vai atuar como um tradutor entre os modelos que foram instanciados pelos seus metamodelos. Para este autor o uso de metamodelos é o meio mais adequado para fazer a integração de modelos, porém, as abordagens até o momento não foram capazes realizar a integração semântica e interoperabilidade, que trata do uso de descrições semânticas explícitas, muito frequentemente providas na forma de ontologias.

Karagiannis e Höfferer (2008) citam o Gartner, que informa que mais de 40% dos gastos das companhias de TI são com problemas de integração (seja sintática, estrutural ou semântica). Destes gastos, cerca de 60 a 80% do esforço de trabalho para resolver o problema os problemas de integração são gastos em reconciliar as heterogeneidades semânticas (sejam em bancos de dados, sistemas de informação

etc.). O autor lembra que, qualquer que seja o problema de integração, ele tem que ser representado de forma adequada. Linguagens diagramáticas como a UML e a metodologia E/R aliadas aos conceitos de metamodelos são capazes de expressar os aspectos sintáticos, estruturais e semânticos da questão.

Karagiannis e Höfferer (2008) descrevem os processos de lifting ou ontology

anchoring como a essência da integração semântica de modelos. Para o autor, lifting

é o que é chamado de metamodelagem ontológica, que não é limitada pela camada meta1, mas que pode ser aplicada na camada meta2 e além. O autor observa que quando dois modelos - que foram criados por diferentes metamodelos - são integrados, os seus componentes semanticamente relacionados terão que ser encontrados. Segundo o autor, a combinação de metamodelos e ontologias trazem uma excelente meio para resolver a tarefa de integração e interoperabilidade alcançando toda heterogeneidade sintática, estrutural e semântica.

A figura 30 ilustra o uso de metamodelos lingüísticos e ontologias, ou seja, o uso de metamodelos ontológicos (lifting) para a integração de diferentes modelos.