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.