Apesar dos avanços da comunidade científica na área de construção
e reuso de modelos MDA, muitas empresas que trabalham utilizando linhas de
produtos de software precisam implementar as mesmas regras de negócio em
diversos produtos para uma mesma organização. Qualquer mudança nos
requisitos de negócio implica em sua manutenção e atualização, tanto dos
modelos específicos quanto dos independentes de plataforma. A proposta
deste trabalho é criar uma nova forma de manter produtos de software frente
às constantes trocas de regras de negócio neste cenário, através de uma
abordagem eficiente para gerenciá-las.
Os sistemas supervisórios permitem que sejam monitoradas e rastreadas
informações de um processo produtivo ou instalação física. Muitos sistemas
supervisórios são desenvolvidos pelo próprio fabricante do hardware de aquisição de
dados, por causa da interoperabilidade com equipamentos de outros fabricantes
(Souza, 2005). Além de deparar-se com este cenário desfavorável, uma das
alternativas é realizar integrações com os sistemas de terceiros, definindo as mesmas
regras de negócio para cada sistema a ser integrado. Essas regras são semânticas,
peculiares e precisam aderir de forma coesa a um conceito. A MDA (Model-Driven
Architecture) (Mellor, 2003) propõe uma arquitetura para o desenvolvimento de
software orientado a modelos. A idéia central para a construção de software com base
na MDA é: criar um modelo conceitual, definir regras para a transformação em um
modelo específico de plataforma e gerar um novo modelo com base nessas regras
para uma plataforma específica, aproveitando o mesmo modelo conceitual da
aplicação para diferentes implementações.
Criar sistemas críticos usando a MDA, a exemplo de um sistema SCADA, exige um
certo grau de formalidade durante a modelagem dos requisitos de aplicação, pois as
falhas de projetos podem significar perdas catastróficas. A utilização da linguagem
UML, que é a base da arquitetura orientada a modelos, não permite a formalização
dos modelos independentes de plataforma. Além disso, quando o modelo específico
de plataforma é gerado, as regras de negócio são misturadas aos modelos. Essa ação
torna a manutenção do sistema árdua, pois uma mesma regra pode ser utilizada em
vários pontos de um sistema (e.g. log de transações, autenticação de usuários e
persistência de dados).
Este trabalho propõe a separação das regras de negócio na fase de construção dos
modelos MDA baseados no perfil ODM (Ontology Definition Metamodel) (OMG,
2003) e OWL (Web Ontology Language) (W3C, 2007). Será apresentada uma
proposta para extração dos axiomas e a geração destes em forma de aspectos, de
acordo com os metaníveis propostos pela OMG (Object Management Group)
(Frankel, 2003). Facilitando o reuso e a manutenção das regras de negócio em uma
linha de produtos de softwares desenvolvida com base na MDA.