A.1 Estudos primários versus ciclo de controle autônomo MAPE-K
5.6 Processo de Reconfiguração em Tempo de Execução
ção
O ISALYNE-RM engloba um processo para a adaptação de DSPL, que define o compor- tamento do sistema durante a implantação e a execução. Tal processo de reconfiguração descreve a sequência de passos que o Reconfigurador executa durante o carregamento do sistema, para implantar a primeira configuração da DSPL, e durante sua execução, implantando novas configurações quando necessário.
O processo de reconfiguração define: (i) como a DSPL é implantada, escolhendo a primeira configuração para iniciar a execução; e (ii) como as atividades do MAPE-K são executadas, capturando as informações da configuração implantada e implantando novas adaptações quando necessário. Esse processo é organizado em cinco passos (A, B, C, D e E) que são executados, reiniciando o ciclo de adaptação, conforme ilustrado na Figura 5.11.
Passo A. Quando o sistema está em carregamento, o Módulo de Conhecimento captura informações da DSPL, através da leitura dos artefatos que a especificam, que foram de- finidos no processo de construção da DSPL (Seção 5.4). Esses modelos capturados farão parte da Base de Conhecimento. O Módulo de Conhecimento é responsável (i) pela manu- tenção da integridade dos modelos; (ii) pela atualização dos modelos, caso a DSPL utilize modelos dinâmicos (Seção 5.3, RA.7 ); e (iii) pelo registro do histórico das adaptações ocorridas.
Passo B. Caso a DSPL não realize o binding no carregamento, então a configuração inicial que foi pré-definida é implantada e o sistema entra em execução. Caso contrário, é disparado o Módulo de Recomposição, executando uma primeira rodada no ciclo para
Figura 5.11: Processo de Reconfiguração do ISALYNE-RM.
definir a configuração mais apropriada a ser implantada pelos efetores do Módulo de Interface Reflexiva.
Passo C. Após o carregamento, o Módulo de Decisão é disparado, iniciando o ciclo de controle, que é executado da seguinte maneira:
1. Primeiramente, a atividade de Monitoramento capta informações do sistema e/ou do contexto durante a execução da DSPL, usando os sensores conectados ao sistema em execução ou diretamente ao contexto. Conforme descrito na Seção 5.5, os sensores que captam informações do sistema pertencem ao Módulo de Interface Reflexiva. A informação coletada pelos sensores é organizada pelo Monitoramento e repassada ao Módulo de Conhecimento para ser armazenada na base de conhecimento; e 2. Periodicamente, a atividade Análise avalia os dados capturados e quando uma de-
sordem é detectada, ou seja, existe uma razão para adaptar, ela dispara o Módulo de Reconfiguração.
Passo D. Quando é necessária uma adaptação, o Módulo de Reconfiguração é disparado, sendo executado da seguinte maneira:
1. O Planejamento utiliza os dados repassados pela Análise para detectar a feature que está mapeada ao elemento que apresentou o problema ou que motivou o processo de adaptação. Então o Planejamento executa a tomada de decisão para definir uma combinação apropriada de features, excluindo a feature que estiver relacionada ao elemento que motivou a adaptação. Nesse ponto, a DSPL é analisada somente em
nível de features, tendo como objetivo a definição de uma nova configuração de featu- res. Dada a nova configuração de features definida, o Planejamento utiliza o Módulo de Conhecimento para definir a futura configuração arquitetural a ser implantada. A Figura 5.12 simula esse subprocesso, onde: (a) a configuração implantada está em execução; (b) a feature F4, que é mapeada ao elemento motivador da adapta- ção, é detectada; (c) uma nova configuração de features é definida, na qual a F4 é substituída por F5; e (d) com a nova configuração definida, é então gerada a nova configuração arquitetural a ser implantada; e
2. Em seguida, a atividade de Execução é disparada, iniciando o processo de efetivação da nova configuração. A Execução utiliza os efetores do Módulo de Interface Refle- xiva para realizar a reconfiguração. Assim, os elementos arquiteturais que precisam ser removidos são desconectados e os novos elementos são, então, conectados.
Figura 5.12: Simulação da adaptação em termos de features e elementos arquiteturais.
Passo E. Finalmente, o ciclo é reiniciado, retomando as atividades de Monitoramento e Análise do Módulo de Decisão (passo C), até que novas adaptações sejam necessárias.
5.7
Resumo
Neste capítulo foi apresentado o modelo de referência ISALYNE-RM para apoiar o projeto e a construção de DSPLs usando técnicas de sistemas autônomos e autoadaptativos. O modelo de referência proposto é baseado no modelo de referência do ciclo de controle autô- nomo MAPE-K [110] e no modelo de referência para sistemas autoadaptativos FORMS [185]. Elaborar um modelo de referência para DSPLs baseado no MAPE-K e no FORMS traz garantias de que tal modelo tenha características autoadaptativas importantes e que suas DSPLs derivadas sejam, de fato, autoadaptativas. Além disso, o modelo de referência ISALYNE-RM oferece uma estrutura baseada no padrão arquitetural Reflection [42].
Em resumo, a solução proposta tem três contribuições principais: (i) um modelo de referência para DSPLs que facilita o projeto e o desenvolvimento de DSPLs, utilizando o conhecimento da área de sistemas autoadaptativos; (ii) a melhoria da autoadaptabilidade das DSPLs, uma vez que reutilizam conhecimentos da área de SAS; e (iii) o ciclo de con- trole e suas partes são explicitamente representadas no modelo de referência desenvolvido.
Uma instância do Modelo de referência ISALYNE-RM foi especificada através da ex- tensão e do refinamento da infraestrutura Cosmapek (Capítulo 3), sendo apresentada em detalhes no Capítulo 6. Tal instância, denominada ISALYNE-Instance, foi utilizada para validar o modelo de referência proposto, além de oferecer uma infraestrutura, in- cluindo apoio ferramental, para auxiliar o desenvolvimento de DSPLs, a partir do uso do ISALYNE-RM.
ISALYNE-Instance: Uma
Infraestrutura para Apoiar a
Construção de DSPLs seguindo o
ISALYNE-RM
Baseado no ISALYNE-RM, foi implementada uma infraestrutura concreta para a cons- trução de DSPLs, denominada ISALYNE-Instance.
Neste capítulo é descrita essa infraestrutura concreta, que engloba um Reconfigurador, uma ferramenta de apoio ao desenvolvimento e uma notação de modelagem de features, para auxiliar o desenvolvimento de linhas de produtos de software dinâmicas.
Uma visão geral da ISALYNE-Instance é apresentada na Seção 6.1. A Seção 6.2 apresenta o Reconfigurador, seguido da notação para modelagem de features (Seção 6.3) e da ferramenta de apoio, denominada ISALYNE-IDE (Seção 6.4). A Seção 6.5 apresenta o processo de construção da DSPL e-Shop, demonstrando as funcionalidades da ferramenta de apoio. Finalmente, a Seção 6.6 apresenta um estudo de viabilidade da solução proposta, seguida das observações finais apresentadas na Seção 6.7.