PARTIE 2 : SYSTÈME VEGF/VEGFR: ACTEURS DE L’ANGIOGENÈSE
I. PRÉSENTATION
I.2. Les différents membres de la famille VEGF
Conforme apresentado no Capítulo 2, o modelo de objetivos utilizado pela arquitetura precisa conter anotações de contexto. O contexto, por sua vez, também precisa ser modelado. Para facilitar a criação desse modelo existe uma ferramenta baseada no ambiente de desenvolvimento Eclipse (FOUNDATION, 2010), cujo nome é Requirements editor for self-reconguring systems (Editor de requisitos para sistemas auto-reconguráveis).
Nesta arquitetura, o modelo de requisitos do sistema é conceitualmente formado por: modelo de contexto, modelo de objetivos do sistema e modelo de objetivos dos sistemas de apoio.
O modelo de contexto é formado pelas entidades de contexto, com seus atributos, e com os contextos propriamente ditos, ou expressões de contexto. Um caso particular de atributo é quando ele diz respeito a uma outra entidade de contexto, sendo chamado de atributo de referência (Reference Attribute). Essa referência pode ser obrigatória - cardinalidade [1..n] - ou não-obrigatória - cardinalidade [0..n].
A Figura 11 é uma visão parcial do modelo de contexto. Nesse exemplo temos uma entidade de contexto chamada paciente, que possui diversos atributos: mãosEstãoLimpas, estáNoBanheiro, estáConsciente, éAutoSuciente, nívelDeGlicose, nívelDeGlicoseAdequado e estáEmCasa. Uma vez que as entidades e seus atributos estão modeladas, podemos utilizá-las nas expressões de contexto, que representam um contexto especíco.
Item é o atributo ao qual esse contexto se refere, que no caso é éAutoSuciente. A entidade da qual esse atributo faz parte é implícita, e nesse exemplo é paciente. Name é o nome do contexto, que é utilizado para fazer a referência no modelo de objetivos. A propriedade Reference Type indica se o atributo selecionado é um atributo de referência ou um atributo normal. Neste caso, é um atributo normal, por isso este campo ca em branco. A propriedade Value é o valor com qual o valor real do atributo será comparado, enquanto o Value Operator indica qual é a comparação: maior que, menor que, maior ou igual a, menor ou igual, igual ou diferente. De forma textual, esse contexto C2 formaria a seguinte expressão: paciente.éAutoSuciente = false. Quando o resultado dessa expressão for verdadeiro - ou seja, quando o paciente não for auto-suciente - esse contexto estará ativo.
Figura 11: Modelo de contextos na ferramenta de edição
A Figura 12 apresenta uma visão parcial dos objetivos de um sistema. Como se pode ver, existem alguns elementos que não fazem parte da notação Tropos (CASTRO et al., 2002), como eventos (event) e objetivos de alto-nível (Tl Goal, de Top Level Goal). Os objetivos de alto-nível são os objetivos principais do sistema que, por serem tão importantes, cada um deles possui um limite de tempo no qual deve ser satisfeito (Commitment Time), a partir do momento em que ele se torna ativo. O objetivo de alto-nível se torna ativo quando sua condição de ativação se torna verdadeira. A condição de ativação é muito similar ao contexto, só que em vez de estar relacionada a uma decomposição ou a uma ligação Meio-Fim, está relacionada ao objetivo de
Figura 13: Propriedades da condição de ativação na ferramenta de edição
alto-nível. A Figura 13 mostra a janela de edição das propriedades de uma condição de ativação. A representação textual do exemplo na Figura 13 seria paciente.nívelAdequadoDeGlicose = false. Ou seja, o objetivo de alto-nível ao qual essa condição estaria relacionada seria ativado apenas quando o nível de glicose do paciente se tornasse inadequado.
Cada entidade de contexto pode apresentar várias instâncias. Por exemplo, considere a entidade paciente: diversos pacientes podem utilizar o sistema ao mesmo tempo. O paciente Luís vai ser uma instância de paciente, a paciente Ana vai ser outra instância de paciente, e assim por diante. Da mesma forma, poderá haver várias instâncias de um objetivo de alto-nível: quando o nível de glicose de Luís se tornar inadequado o objetivo receberInjeçãoDeInsulina será ativado para Luís; quando o nível de glicose de Ana se tornar inadequado o objetivo receberInjeçãoDeInsulina será ativado para Ana, e assim por diante. A denição de quais entidades identicam um objetivo de alto-nível é feita através da atribuição de parâmetros ao objetivo. Dessa forma será possível saber que quando se aplicou a injeção em Ana não foi Luís que teve o objetivo receberInjeçãoDeInsulina satisfeito.
O renamento dos objetivos de alto nível segue a modelagem do Tropos: os objetivos podem ser decompostos em outros objetivos, e tarefas (planos) podem ser meios para um m (um objetivo). No entanto, o caráter contextual foi acrescido a essas relações, através dos elementos Contextual Goal Dec (Decomposição contextual de objetivo) e Contextual Means End (Relação Meio-Fim contextual), respectivamente. Esses elementos nada mais são do que uma anotação de contexto sobre uma relação (decomposição ou Meio-Fim). No exemplo da Figura 14, o elemento selecionado (Contextual Goal Dec) indica que a decomposição do objetivo de alto-nível receberInjeçãoDeInsulina para o objetivo aplicarInjeçãoDeInsulina só é válida quando o
contexto chamado c1 está ativo.
No lado esquerdo da Figura 15 é apresentado o modelo de objetivos para um sistema de acompanhamento de pacientes com diabetes, da forma como é representado na ferramenta de edição. O lado direito da Figura apresenta o mesmo modelo, dessa vez representado na notação usual de Tropos, a título de comparação. As setas entre uma representação do modelo e outra indicam o mapeamento dos seus elementos. Este mapeamento é apenas ilustrativo, para mostrar como os conceitos de Tropos são expressos na ferramenta de edição.
As tarefas (planos) do modelo de objetivos são compostas por eventos, que representam os passos de uma tarefa. Essa noção de eventos foi inserida no modelo para permitir um monitoramento da execução da tarefa a partir dos dados de contexto. Um evento possui as mesmas propriedades que um contexto, acrescido de um limite de tempo para a ocorrência do evento. Quando ocorrerem todos os eventos que compõem uma tarefa, essa tarefa será considerada executada. Adicionalmente, um evento pode ter pré-condições, que também são expressões de contexto. Se o evento ocorrer, mas a sua pré-condição não for verdadeira nesse momento, o evento será tratado como se não tivesse ocorrido. Por exemplo, se o paciente empurrou o êmbolo da seringa (um evento), mas a agulha da seringa não estava inserida no braço do paciente (uma pré-condição), então a tarefa aplicarInjeção não pode ser considerada realizada.
Quando o ator não é capaz de realizar uma tarefa por conta própria, essa tarefa terá uma dependência com um sistema de apoio. Na hora de se modelar os objetivos do sistema de apoio será preciso, então, modelar o elemento que resolve aquela dependência. No exemplo da Figura 16, a realização da tarefa (plano)
chamarServiçoDeProntoAtendimento depende de que o objetivo
aplicarInjeçãoDeInsulinaNoPaciente seja satisfeito. Implicitamente, a ferramenta de edição dene qual o sistema de apoio que possui esse objetivo, que no caso é o ServiçoDeProntoAtendimento. Sendo assim, no Sistema de Apoio (Support System)
chamado ServiçoDeProntoAtendimento existirá o objetivo
aplicarInjeçãoDeInsulinaNoPaciente, que será também renado a partir de decomposições e de relações Meio-Fim.
Uma vez modelado o contexto, os objetivos do sistema e os objetivos dos sistemas de apoio, podemos partir para a simulação da execução do sistema. Através do simulador podemos visualizar como seria o comportamento de um sistema utilizando a arquitetura auto-congurável, em diferentes contextos. Posteriormente esse simulador será estendido
Figura 14: Propriedades do elemento Contextual Goal Dec
G1: Receber injeção de insulina
Aplicar injeção
de insulina Solicitar o recebimento de injeção de insulina
Coletar e limpar suprimentos Paciente de diabetes Chamar o serviço de pronto-atendimento Serviço de pronto- atendime nto C1 C2 Aplicar injeção or Aplicar injeção de insulina no paciente CONTEXTOS: C1: Paciente.éAutoSuficiente = verdadeiro C2: Paciente.éAutoSuficiente = falso EVENTOS DE ATIVAÇÃO: G1: Paciente.nívelDeGlicoseAdequ ado = false Preparar material Realizar a aplicação and
Figura 15: Representação de objetivos na ferramenta (à esquerda) e com a notação de Tropos (à direita)
Figura 16: Propriedades de uma Dependência para suportar as políticas denidas neste trabalho (vide Capítulo 5).