Modelos din micos omt exerc cio do elevador
This presentation is the property of its rightful owner.
Sponsored Links
1 / 6

Modelos dinâmicos OMT Exercício do elevador PowerPoint PPT Presentation


  • 51 Views
  • Uploaded on
  • Presentation posted in: General

Modelos dinâmicos OMT Exercício do elevador. Gabriel David FEUP - Rua dos Bragas, 4099 Porto Codex - PORTUGAL Tel. 351-2-2041842 - Fax: 351-2-319280. Email: [email protected] URL: http://www.fe.up.pt. Especificação.

Download Presentation

Modelos dinâmicos OMT Exercício do elevador

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Modelos din micos omt exerc cio do elevador

Modelos dinâmicos OMT

Exercício do elevador

Gabriel David

FEUP - Rua dos Bragas, 4099 Porto Codex - PORTUGAL

Tel. 351-2-2041842 - Fax: 351-2-319280

Email: [email protected]

URL: http://www.fe.up.pt


Especifica o

Especificação

  • Objectivo: elaborar um modelo dinâmico que descreva o funcionamento de um elevador.

  • Pretende-se um diagrama de estados para a classe Elevador cujo diagrama de objectos está na figura.

  • O elevador tem comandos para descer e para subir, em cada andar excepto nos terminais, onde só tem um.

  • Tem memorização dos destinos dos vários passageiros numa viagem e das chamadas para um andar

  • Considera-se que não há porta interior, mas apenas portas manuais nos andares

  • Em descanso, a luz apaga ao fim de algum tempo


Diagrama de classe

Elevador

actual: integer

pedidosSubir: set of integer

pedidosDescer: set of integer

destinos: set of integer

actualiza(andar: integer)

limpaPedidosDestinos()

apagaLuz()

acendeLuz()

Eventos

abrePorta

fechaPorta

atinge( andar )

botãoPremido( tipo, andar )

topo

fundo

Diagrama de classe


Diagrama de estados

Diagrama de estados

atinge(andar)[andar  pedidosSubir  destinos  {termo}]/actualiza(andar)

Descanso

botãoPremido(tipo,andar) [actual<andar]

ASubir

entry/apagaLuz

exit/ligaLuz

tempoEsgotado[botões  actual=termo]/põeTermo(sobe)

atinge(andar)[andar  pedidosSubir  destinos  {termo}]/actualiza(andar), iniciaTempo, limpa(subir, andar)

tempoEsgotado[botões=]

tempoEsgotado [actual < termo]

botãoPremido(tipo,andar) [actual>andar]

Parado

PáraDescida

PáraSubida

tempoEsgotado [actual > termo]

abrePorta

fechaPorta/anulaTempo

fechaPorta/anulaTempo

PortaAbertaD

atinge(andar)[andar  pedidosDescer  destinos  {termo}]/actualiza(andar), iniciaTempo, limpa(descer, andar)

PortaAbertaS

abrePorta

tempoEsgotado[botões  actual=termo]/põeTermo(desce)

ADescer

atinge(andar)[andar  pedidosDescer  destinos  {termo}]/actualiza(andar)


Notas ao diagrama

Notas ao diagrama

  • Difícil o equilíbrio entre valores em atributos e número de estados

    • notem a ausência de atributo direcção e dois conjuntos de estados, um para subir e outro para descer

    • a actualização do atributo termo tem que respeitar as condições de ser sempre o máximo (mínimo) dos botões premidos durante a subida (descida), não podendo ultrapassar o extremo

  • “truque” - evento fechaPorta põe a zero o atraso para forçar indirectamente o evento fimDeEspera

  • existe um super-estado com uma transição

  • robustez (tolerância a falhas)

    • incluir eventos a assinalar os extremos e a fazer transições para os estados de paragem opostos, com as respectivas limpezas de dados

    • introduz redundância, pois não existe nenhuma sequência de eventos válida que pudesse levar à tentativa de ultrapassar um extremo


Redu o de estados

Redução de estados

atinge(andar)[andar  paragens(direcção)  {termo}]/actualiza(andar)

Descanso

botãoPremido/põeTermo

Mover

tempoEsgotado[botões  actual=termo]/inverte,põeTermo

tempoEsgotado [botões=]

tempoEsgotado [actual termo]

atinge(andar)[andar  paragens(direcção)  {termo}]/actualiza(andar), iniciaTempo, limpa(andar)

fechaPorta/anulaTempo

Parado

PortaAberta

abrePorta


  • Login