• Nenhum resultado encontrado

O E PERFIL UML PARA O

MODELO DE ESTADOS DE ALTO NÍVEL

5.7. MODELOS DE SEQUÊNCIA

Uma vez definidas as estruturas das regras nos Modelo de Componentes, é possível mapear esses modelos para Modelos de Objetos e, a partir destes, obter os Modelos de Sequência a fim de determinar a sequência de eventos que ocorre em uma aplicação PON. No entanto, os modelos de objetos não serão apresentados nesta seção, subentendendo-se que houve este mapeamento.

A Figura 77 e Figura 78 compõem o modelo de sequência do caso de uso “Inicialização”. Neste modelo é apresentada a inicialização do sistema que incluiu a definição dos <<NOP_FBE>> e <<NOP_Rule>>. Após a criação desses estereótipos, os Attributes dos <<NOP_FBE>> notificam as Premises dos <<NOP_Rule>> quando pertinente. A Figura 78 ilustra essa situação. As mensagens estereotipadas <<AttributeNotifiesPremise>> e enviadas do objeto objGate para o objeto condition_rlOpening ocorreram porque os Attributes do

objGate pertencem às Premise daquela condição. Adicionalmente, esta figura ilustra que o objGate também notificou outro <<NOP_Condition>>, o condition_rlClosing, uma vez que a

Figura

A Figura 79 ilustra o modelo de sequência do caso de uso “Abrir Portão” que é antecedido pelo caso de Uso “Inicialização”

Parar de Fechar”. Neste caso de uso h

rlOpenedGate. A primeira

STOP_CLOSING e atTimer==0) Portão” ou ainda “Parar Portão

satisfeita no próprio caso de uso “Abrir Portão”. com que as premissas da regra

atTimer>30). Por sua vez, notifiquem as premissas da

se observar que nesses diagramas o estereótipo << fim de abstrair o modelo

significado das mensagens deles.

Figura 79

ilustra o modelo de sequência do caso de uso “Abrir Portão” que é antecedido pelo caso de Uso “Inicialização” ou “Fechar Portão” ou ainda “Parar Portão

. Neste caso de uso há a aprovação de duas regras

. A primeira tem duas de suas premissas (atGateState==CLOSED e atTimer==0) satisfeitas no caso de uso “Inicialização”

Portão” ou ainda “Parar Portão – Parar de Fechar”, e a terceira (atRemoteStatus==true) satisfeita no próprio caso de uso “Abrir Portão”. A aprovação da regra

com que as premissas da regra rlOpenedGate sejam aprovadas (atGateState==OPENING e a aprovação da regra rlOpenedGate faz com que

premissas da regra rlClosingGate (atTimer==0 e atGateState=OPENED)

se observar que nesses diagramas o estereótipo <<NOP_Action>> também foi suprimido a fim de abstrair o modelo. Portanto, os estereótipos de mensagens

significado das mensagens trocadas entre os elementos quando há essa supressão de alguns

79 - Case de Estudo - Abrir Portão - Modelo de Sequência

ilustra o modelo de sequência do caso de uso “Abrir Portão” que é ou ainda “Parar Portão – á a aprovação de duas regras rlOpeningGate e (atGateState==CLOSED ou satisfeitas no caso de uso “Inicialização” ou “Fechar (atRemoteStatus==true) é A aprovação da regra rlOpeningGate faz sejam aprovadas (atGateState==OPENING e faz com que suas instigações atGateState=OPENED). Pode-

>> também foi suprimido a ns ajudam a entender o trocadas entre os elementos quando há essa supressão de alguns

A Figura 80 ilustra o modelo de sequência do caso de uso “Fechar Portão” que é antecedido pelo caso de uso “Abrir Portão” ou “Parar Portão

uso há a aprovação de duas regras premissas (atGateState==

satisfeitas no caso de uso

(atRemoteStatus==true) é satisfeita no próprio caso de uso “ regra rlClosingGate faz com que as premissas da regra (atGateState==CLOSED e atTimer>

com que suas instigações notifiquem e atGateState=CLOSED).

Figura 80

A Figura 81 ilustra o modelo de sequência do caso de uso “Parar Portão (Parar de Abrir)” que é antecedido pelo caso de uso “Inicialização” ou “

uso há a aprovação de duas regras

ilustra o modelo de sequência do caso de uso “Fechar Portão” que é so “Abrir Portão” ou “Parar Portão – Parar de Abrir

o de duas regras rlClosingGate e rlClosedGate. A primeira premissas (atGateState==OPENED ou atGateState==STOP_OPENING satisfeitas no caso de uso “Abrir Portão” ou “Parar Portão – Parar de Abrir”,

satisfeita no próprio caso de uso “Fechar Portão”. A aprovação da faz com que as premissas da regra rlClosedGate

e atTimer>30). Por sua vez, a aprovação da regr com que suas instigações notifiquem duas das premissas da regra rlOpeningGate

80 - Case de Estudo - Fechar Portão - Modelo de Sequência

ilustra o modelo de sequência do caso de uso “Parar Portão (Parar de Abrir)” que é antecedido pelo caso de uso “Inicialização” ou “Fechar Portão

de duas regras rlOpeningGate e rlStopOpeningGate

ilustra o modelo de sequência do caso de uso “Fechar Portão” que é Parar de Abrir”. Neste caso de . A primeira tem duas de suas ou atGateState==STOP_OPENING e atTimer==0) Parar de Abrir”, e a terceira Portão”. A aprovação da

Gate sejam aprovadas

). Por sua vez, a aprovação da regra rlClosedGate faz

OpeningGate (atTimer==0

Modelo de Sequência

ilustra o modelo de sequência do caso de uso “Parar Portão (Parar de Fechar Portão”. Neste caso de

duas de suas premissas (atGateState==OPENED e atTimer==0) satisfeitas no caso de uso “Inicialização” ou “Fechar Portão”

caso de uso “Parar Portão “atGateState==OPENING”

remoto seja pressionado antes do término da abertura do portão, as suas premissas “atTimer<30” e atRemoteStatus==true” também são satisfeitas

regra rlStopOpeningGate faz com que suas instigações notifiquem regra rlClosing (atTimer==0 e atGateState=

Figura 81 - Case de Estudo

A Figura 82 ilustra o modelo de sequência do caso de uso “Parar Portão (Parar de Fechar)” que é antecedido pelo caso de uso “

duas de suas premissas (atGateState==OPENED e atTimer==0) satisfeitas no caso de uso ou “Fechar Portão”, e a terceira (atRemoteStatus==true)

Parar Portão”. A aprovação da regra rlOpeningGate faz com que a premissa “atGateState==OPENING” da regra rlStopOpeningGate seja aprovada

remoto seja pressionado antes do término da abertura do portão, as suas premissas ” e atRemoteStatus==true” também são satisfeitas. Por sua vez, a aprovação da

faz com que suas instigações notifiquem duas das (atTimer==0 e atGateState=STOP_OPENING).

Case de Estudo - Parar Portão (Parar de Abrir) - Modelo de Sequência

ilustra o modelo de sequência do caso de uso “Parar Portão (Parar de Fechar)” que é antecedido pelo caso de uso “Abrir Portão” ou “Parar Portão

duas de suas premissas (atGateState==OPENED e atTimer==0) satisfeitas no caso de uso e a terceira (atRemoteStatus==true) é satisfeita no próprio faz com que a premissa seja aprovada e, caso o controle remoto seja pressionado antes do término da abertura do portão, as suas premissas . Por sua vez, a aprovação da duas das premissas da

Modelo de Sequência

ilustra o modelo de sequência do caso de uso “Parar Portão (Parar de “Parar Portão – Parar de Abrir”.

Neste caso de uso há a aprov

primeira regra tem duas de suas premissas (atGateState==OPENED atTimer==0) satisfeitas no caso de uso

terceira (atRemoteStatus==true)

Fechar”. A aprovação da regra “atGateState==CLOSING” da regra

remoto seja pressionado antes do término d

“atTimer<30” e atRemoteStatus==true” também são satisfeitas. Por sua vez, a aprovação da regra rlStopClosingGate faz com que suas instigações notifiquem duas das premissas da regr

rlOpening (atTimer==0 e atGateState=STOP_

Figura 82 - Case de Estudo

Como pode ser observado, os Modelos de Sequência permitem modelar a sequência com que as notificações ocorrem, além da interação entre os casos de usos.

Neste caso de uso há a aprovação de duas regras rlClosingGate e

duas de suas premissas (atGateState==OPENED ou STOP_OPENING atTimer==0) satisfeitas no caso de uso “Abrir Portão” ou “Parar Portão

terceira (atRemoteStatus==true) é satisfeita no próprio caso de uso “Parar Portão

”. A aprovação da regra rlClosingGate faz com que a premissa ” da regra rlStopClosingGate seja aprovada e, caso o controle seja pressionado antes do término do fechamento do portão, as suas premissas ” e atRemoteStatus==true” também são satisfeitas. Por sua vez, a aprovação da faz com que suas instigações notifiquem duas das premissas da regr (atTimer==0 e atGateState=STOP_CLOSING).

Case de Estudo - Parar Portão (Parar de Fechar) - Modelo de Sequência

Como pode ser observado, os Modelos de Sequência permitem modelar a sequência ficações ocorrem, além da interação entre os casos de usos.

e rlStopClosingGate. A ou STOP_OPENING e “Parar Portão – Parar de Abrir” e a satisfeita no próprio caso de uso “Parar Portão – Parar de faz com que a premissa seja aprovada e, caso o controle do portão, as suas premissas ” e atRemoteStatus==true” também são satisfeitas. Por sua vez, a aprovação da faz com que suas instigações notifiquem duas das premissas da regra

Modelo de Sequência

Como pode ser observado, os Modelos de Sequência permitem modelar a sequência ficações ocorrem, além da interação entre os casos de usos.

Optou-se, neste caso de estudo, por não criar os Modelos de Comunicação, uma vez que eles apresentam as mesmas informações do Modelo de Sequência, mas com enfoque diferente. No entanto, para enriquecer a modelagem é interessante fazer uso desses Modelos.