• Nenhum resultado encontrado

2.2 PARADIGMA ORIENTADO A NOTIFICAÇÕES (PON)

2.2.1 Mecanismo de Notificações e Funcionamento

Uma aplicação desenvolvida em PON é constituída por um conjunto de Regras (Rules) e Entidades Factuais (FBE – Fact Base Element). O fluxo de execução é construído de maneira implícita às declarações das Rules e FBEs, graças à maneira emergente que são construídas as conexões para execução da cadeia de notificações pontuais entre as entidades PON. Desta forma, a definição da inferência em PON ocorre de maneira diferente do fluxo de execução encontrado em aplicações do PI, como o POO, nas quais o desenvolvedor informa de maneira

explícita a sequência ou laço de iteração por meio de comandos como (SIMÃO et al., 2012).

A dinâmica da execução da aplicação PON se dá pela mudança de estado dos FBEs que provocam um

condições que levam o sistema a reagir e alcançar novos estados. esboça o diagrama de classes conceitual do funcionamento do PON.

Figura 1 – Diagrama de classes conceitual do PON e suas entidades

A classe FBE representa entidades do sistema que juntas representam seu estado e parte de comportamento

conjunto de Attributes e seu co estado no sistema, um objeto

seu valor (estado). Neste momento ele notifica as relacionadas, para que estas reavaliem seus estado

Premise é alterado, a Premise

conjunto de Conditions relacionadas, o que ocorre por meio da notificação sobre a mudança de seu estado lógico às

Na sequência, cada com as notificações da

explícita a sequência ou laço de iteração por meio de comandos como

A dinâmica da execução da aplicação PON se dá pela mudança de estado que provocam um ciclo de notificações até as Rules

que levam o sistema a reagir e alcançar novos estados. esboça o diagrama de classes conceitual do funcionamento do PON.

Diagrama de classes conceitual do PON e suas entidades Fonte: Simão, Tacla et al. (2012)

representa entidades do sistema que juntas representam seu estado e parte de comportamento do sistema, respectivamente por meio de seu e seu conjunto de Methods. Quando há uma mudança de estado no sistema, um objeto Attribute de um determinado FBE

seu valor (estado). Neste momento ele notifica as Premisses especificamente relacionadas, para que estas reavaliem seus estados lógicos. Se o valor lógico da

Premise colabora com a avaliação lógica de uma ou de um

relacionadas, o que ocorre por meio da notificação sobre a mudança de seu estado lógico às Conditions (BANASZEWSKI, 2009)

Na sequência, cada Condition notificada avalia o seu valor lógico de acordo com as notificações da Premise e com o operador lógico (de conjunção ou explícita a sequência ou laço de iteração por meio de comandos como while e for

A dinâmica da execução da aplicação PON se dá pela mudança de estado

Rules por meio de

que levam o sistema a reagir e alcançar novos estados. A Figura 1 esboça o diagrama de classes conceitual do funcionamento do PON.

Diagrama de classes conceitual do PON e suas entidades

representa entidades do sistema que juntas representam seu do sistema, respectivamente por meio de seu . Quando há uma mudança de sofrerá mudança de especificamente a ele s lógicos. Se o valor lógico da colabora com a avaliação lógica de uma ou de um relacionadas, o que ocorre por meio da notificação sobre a

(BANASZEWSKI, 2009).

notificada avalia o seu valor lógico de acordo e com o operador lógico (de conjunção ou

disjunção) utilizado. Então, no caso de uma conjunção, quando todas as Premisses que integram uma Condition são satisfeitas, a Condition também é satisfeita, resultando na aprovação da sua respectiva Rule para a execução (BANASZEWSKI, 2009) (RONSZCKA, 2012).

Quando uma Rule aprovada está pronta para executar, a sua Action é ativada. Uma Action é conectada a uma ou várias Instigations. As Instigations notificadas pelas Actions acionam a execução de algum serviço de um objeto FBE por meio dos Methods. Normalmente, as chamadas para os Methods também alteram os estados dos Attributes e o ciclo de notificação pode recomeçar (BANASZEWSKI, 2009).

Por exemplo, a Figura 2 ilustra uma aplicação PON contendo dois FBEs (à esquerda) e duas Rules (à direita). Os dois FBEs contém Attributes que, quando têm seus valores alterados, notificam as respectivas Premisses e, consecutivamente, as

Conditions das Rules. Quando ativadas, as Actions das Rules notificam às Instigations que chamam a execução dos Methods dos FBEs (SIMÃO et al., 2012).

Esse exemplo permite melhor compreender como se dá o ciclo de notificações.

Figura 2 – Cadeia de notificação das entidades do PON Fonte: Adaptado de Simão, Tacla et al. (2012)

A Figura 3 apresenta um exemplo de Rule, na forma de uma regra causal. Cada Rule é uma entidade computacional composta por outras entidades (Figura 2),

que podem ser observadas como objetos e/ou classes. Por exemplo, apresentada é composta por um objeto

trata da decisão da Rule Assim, Condition e Action

causal da Rule (SIMÃO et al., 2012)

Figura 3

A Rule apresentada na avião (v.g. jogador) em um

dissertação (será apresentado no Capítulo conjunção que requer três

avaliações sobre o Attributes d

(Playing)? b) o avião (Airplane) possui pontos de vida (atLifePoints) para que possa disparar? c) foi pressionado o botão (atFireButton) d

estiver satisfeita, a Rule

executa um Method para adicionar um novo projétil na tela do jogo.

Assim, é possível perceber que, na essência, a computação no PON está organizada e distribuída entre entidades autônomas e reativas que colaboram por meio de notificações pontuais. Desta maneira, o PON leva a uma nova maneira de desenvolver software, na qual os fluxos de execução ocorrem de maneira colaborativa entre as entidades

que podem ser observadas como objetos e/ou classes. Por exemplo, apresentada é composta por um objeto Condition e um objeto

Rule, enquanto a Action trata da execução das ações da Action trabalham juntas para realizar o conhecimento lógico e

(SIMÃO et al., 2012).

– Exemplo de uma Rule e entidades relacionadas

apresentada na Figura 3 controla o disparo de um projétil de um avião (v.g. jogador) em um jogo de combate aéreo desenvolvido em 2D para esta

(será apresentado no Capítulo 3). A Condition dess conjunção que requer três Premisses verdadeiras. As Premisses

o Attributes das FBEs: a) Stage está em estado “jogando” )? b) o avião (Airplane) possui pontos de vida (atLifePoints) para que possa disparar? c) foi pressionado o botão (atFireButton) de disparo? Quando a

Rule executará a Instigation, que por sua vez, neste caso,

para adicionar um novo projétil na tela do jogo.

Assim, é possível perceber que, na essência, a computação no PON está da e distribuída entre entidades autônomas e reativas que colaboram por meio de notificações pontuais. Desta maneira, o PON leva a uma nova maneira de , na qual os fluxos de execução ocorrem de maneira entidades (RONSZCKA et al., 2011).

que podem ser observadas como objetos e/ou classes. Por exemplo, essa Rule e um objeto Action. A Condition trata da execução das ações da Rule. trabalham juntas para realizar o conhecimento lógico e

e entidades relacionadas

controla o disparo de um projétil de um de combate aéreo desenvolvido em 2D para esta essa Rule contém uma

Premisses fazem as seguintes

: a) Stage está em estado “jogando” )? b) o avião (Airplane) possui pontos de vida (atLifePoints) para que possa e disparo? Quando a Condition , que por sua vez, neste caso, para adicionar um novo projétil na tela do jogo.

Assim, é possível perceber que, na essência, a computação no PON está da e distribuída entre entidades autônomas e reativas que colaboram por meio de notificações pontuais. Desta maneira, o PON leva a uma nova maneira de , na qual os fluxos de execução ocorrem de maneira