Análise e Modelação de Sistemas

Documentos relacionados
Diagramas de Estado: (um pouco) história. Diagramas de Transição de Estado. Inventados por David Harel (State Charts)

Diagrama de Máquina de Estados

ANÁLISE DE SISTEMAS. Diagrama de atividades. por. Antônio Maurício Pitangueira

Linguagem UML. Linguagem de Modelagem Unificada UML. Diagrama de Estado. Rosemary Silveira Filgueiras Melo

5 Diagrama de Estado. 5.1 Definição

Capítulo 5 Modelação do Sistema 1

Diagramas de Atividade

Especificação de Sistemas de Software e a UML

Circuitos sequenciais Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture

MODELAGEM DE SISTEMAS

Organização e Arquitetura de Computadores I

Aula 7: Autômatos com Pilha

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

Diagrama de Atividades. Professor: André Gustavo Bastos Lima

Diagrama de Atividades

Diagrama de Atividades. Ricardo Roberto de Lima UNIPÊ APS-I

Organização e Arquitetura de Computadores

Introdução à UML. Prof. Jesus José de Oliveira Neto

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2

Especificação de Sistemas e SysML

Análise de Sistemas. Aula 5

EELi02. Prof. Vinícius Valamiel

DIAGRAMAS DE ESTADOS (DME)

Análise e Projeto Orientados a Objetos Aula III Concepção Visão Geral do Sistema. Prof. Bruno E. G. Gomes IFRN

Modelagem de Sistemas

UML Diagramas de Interação

Diagrama de Sequência.

SISTEMAS DIGITAIS (SD)

Q d( ) P. a( ) c( ) e( ) c( ) S. c( ) d( )

15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos

APÊNDICE D Unified Model Language (UML)

Programação de Sistemas Embebidos

Diagramas. Abordaremos agora cada um destes tipos de diagrama: 1. Diagrama Use-Case. 2. Diagrama de Colaboração. 3. Diagrama de Sequência

MATA60 BANCO DE DADOS Aula 3- Modelo de Entidades e Relacionamentos. Prof. Daniela Barreiro Claro

Modelagem de Processos Redes de Petri e Workflow nets. Silvana Pereira Detro

Especificação, Modelação e Projecto de Sistemas Embutidos

UML Diagrama de Atividades

EA975 - Laboratório de Engenharia de Software

Modelagem de Sistemas Web. Modelagem de BD

Análise e Projeto de Circuitos Combinacionais e Sequenciais

Algoritmos e Programação de Computadores Disciplina:

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE

BPMN. Prof a. Silvia Inês Dallavalle de Pádua

UNIDADE 1 CONCEITOS BÁSICOS EM ALGORITMOS

Circuitos sequenciais

Modelagem Temporal com UML

Algoritmos e Técnicas de Programação Introdução Givanaldo Rocha de Souza

Aula 2 Abordagem Entidade-Relacionamento Cleverton Hentz

UML - Diagramas de Sequência

Engenharia de Software 2012/3 Aula 5 Modelagem de Sistemas

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos

Introdução à UML. Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX. Prof. Fernando Maia da Mota

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Curso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 4. Autômatos Finitos

Sistemas Digitais (SD) Máquinas de Estado Microprogramadas: Circuito de Dados e Circuito de Controlo

Visão Geral da UML. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Trata-se de uma variação do diagrama de estado com um propósito um pouco diferente do diagrama de estado:

Lógica de Programação

Análise e Modelação de Sistemas

Análise de Circuitos Sequënciais Máquinas de Mealy e Moore

Linguagens Regulares. Prof. Daniel Oliveira

Análise e projeto de sistemas

Máquinas de Estados Finitos. Aula 19 Prof. Abel Guilhermino

Marcelo Henrique dos Santos

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

Tópicos da Aula. A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. Introdução à UML e Diagrama de Casos de Uso.

Panorama da notação UML

UML. Trabalho Análise e Projeto de Sistemas. Aluna: Luana Alves Businaro

Programação Básica de Computadores

A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. História da UML. O que é modelagem?

Fluxogramas. Fluxogramas: motivação e conceitos base Uso dos fluxogramas para especificar um circuito.

Transcrição:

Análise e de Sistemas Classe T09 comportamental: Diagramas de estado Referências: Conceptual Modeling of Informa;on Systems (Chapter 13) Aulas AMS do IST

2 comportamental em UML Comportamento baseado em fluxos Comportamento baseado em estados e transiçoes entre estados Comportamento baseado em mensagens

3 Programa comportamental Conceitos de estado, transição Máquinas de estado Automátas finitos Máquinas de Moore e Mealy Diagramas de transição de estado em UML

4 Estado Estado: situação numa condição invariável durante um intervalo de tempo t Condições invariavéis: propriedades sa;sfeitas pelo sistema em cada estado Está>co ou dinâmico

5 Outros tipos Simples Composto Um estado composto tem estados embebidos que podem ser sequenciais ou concorrentes

6 Mais tipos Espera (está>co) O objecto está simplesmente a espera dum evento Estado baseado em restrições (?) Estados despoletados por valores específicos nos atributos do objecto (Ex. Cartão expirado) Processos em curso (dinâmico) Estado que reflecte a realização duma ac;vidade. Só se sai desse estado quando a ac;vidade é finalizada ou cancelada

7 Transições entre estados e O A

8 Máquinas de estado Máquina finita de estados: máquina que em cada momento está num único estado entre um número finito de estados auto-transição Transições e entradas origem Duração transições = 0 alvo= f(entrada, fonte)

9 Automátas finitos alfabeto

10 Máquinas de Moore e Mealy A máquina de Mealy é semelhante mas a saída é associada às transições A saída depende do símbolo de entrada mas o estado corrente Conceptual Modeling of Informa;on Systems (chapter 13, pages 300/301)

11 Máquinas de Moore e Mealy II Para cada máquina de Moore existe uma máquina de Mealy que produz as mesmas saídas para todas as entradas. Para cada máquina de Mealy existe uma máquina de Moore que produz as mesmas saídas para todas as entradas. Portanto, as máquinas de Moore e Mealy são consideradas equivalentes.

12 Por outras palavras.. A máquina de estados representa comportamento em termos a história de estados e transições entre estados de um objecto As ações invocadas durante a transição, entrada e saída dos estados são especificadas junto dos eventos e condições de guarda associada Exemplo: uma lámpada

13 Diagramas de máquinas de estado As classes podem ser modeladas como máquinas de estado que mostram o ciclo de vida dos objectos Cada classe modelada assim é um máquina de estado diferente mas o diagrama de transição associado é o mesmo para todas as instâncias da mesma classe Não todas as classes precisam ser modeladas como máquinas, só nalguns casos resulta um mecanismo eficaz Por isso, algumas linguagens oferecem formas diferentes de modelar comportamentos.

14 Estados e ciclos de vida das entidades O ciclo de vida duma en;dade e no momento t é a sequência de estados na qual é tem estado desde a sua criação até t O ciclo de vida completa- se quando se chega ao seu estado final Os diagramas de transição definem duas classes de restrições sobre os ciclos de vida das en;dades O conjunto de estados permi;dos. O conjunto de consequências válidas desses estados.

15 Estado fonte Trigger Diagrama de estados (UML) Estado des;no Estado Inicial Estado Final Conceptual Modeling of Informa7on Systems (chapter 13, page 306)

16 Detalhes das Transições Eventos despoletam transições Detalhes Informação: Fornecidas pelo evento Acções: Despoletadas pelo evento Guarda: Condição a verificar aquando a ocorrência do evento

17 Transições e guardas ( ) a maioria das linguagens de modelação conceptual extendem o conceito de transição incluíndo guardas Uma guarda é uma condição sobre a base de informação e/ou os parámetros do evento (trigger) As guardas são definidas com expressões booleanas i [g] e f

18 Exemplo transição com guarda Carro de aluguer: Estado inicial : Disponível Guarda: o carro não está alocado para alugar Trigger: evento de domínio Transferência Estado final: EmTransferência Significa que quando o carro está Disponível e ocorre o evento de domínio Transferência, se o carro naõ está alocado, aceita- se a transferência (estado muda para EmTransferência)

19 Diagrama de estados II (UML) [guarda] trigger/pós- condição Conceptual Modeling of Informa7on Systems (chapter 13, page 307)

20 Pseudo- estados Pseudo- estados: Estados abstractos para representar o início, final, ou para interconectar outros estados do diagrama. Em UML:

21 Pseudo- estados II Estado Inicial: Representa o primeiro estado que ocorre quando se entra numa máquina de estados. Estado Terminal/Final: Representa o estado final de uma region e finaliza a execução de todos os estados duma dada máquina de estados História: Especifica que, quando se sai e se regressa a uma máquina, se entra no estado que estava ac;vo na altura da saída.

22 Pseudo- estados

23 Pseudostados - Junção (Junction) Pseudostate com uma ou várias transições de entrada e uma ou várias transições de saída

24 Pseudostados Junção (Junction) Exemplo de junc>on para simplificar 4 transições: 1 Transição A - C despoletada por e1 e guardada pelas condições [c1 e c3] 2 Transição A D despoletada por e1 e guardada pelas condições [c1e c4] 3 Transição B - C despoletada por e2 e guardada pelas condições [c2 e c3] 4 Transição B- D despoletada por e2 e guardada pelas condições [c2 e c4]

25 Pseudostados (Fork/Join) Join: junta várias transições sem guarda que vêm de vários estados fonte Fork: separa uma transição entrante sem guarda em duas ou mais transições

26 Pseudostados Decisão (Choice) Semelhante à uma junção mas as guardas das transições de saída são avaliadas uma vez que as transições de entrada produziram os seus efeitos Ramificações condicionadas dinâmicas porque o estado final só é conhecido depois que as operações associadas com as transições de entradas são calculadas

27 Statecharts Extensão dos diagramas de estado e incluem: Hierarquias de estados Paralelismo Podem ser representados em UML

28 Statecharts hlp://www.sparxsystems.com/uml_tool_guide/uml_dic;onary/statediagram.html

StateCharts: Exemplo do carro de aluguer 29

StateCharts: Exemplo do carro de aluguer II 30 Detalhando os estados Problema desta abordagem: força a eliminar a conceptualização de alto nível do estado InUse (perdendo semântica)

Detalhando os estado nos statecharts State Charts: Exemplo do Carro de Aluguer III 31 O Estado InUse é mantido, enfatizando o seu significado i.e. a sua semântica!!!

32 Statechart com Paralelismo

33 Estados e comportamentos Comportamentos entrada/ ac;on executar/ ac;on saída/ ac;on.

34 Um exemplo: estados da água

35 Outro exemplo

36 Como construir diagramas de estado 1 Seleccionar uma classe e observar o ciclo de vida dos seus objectos 2 Colocar o estado inicial no canto superior esquerdo do diagrama 3 Iden;ficar os eventos 4 Pense no que fazem os objectos em resposta a cada evento 5 Ordene a lista de estados a. Inicial b. Intermédios c. Final

Como construir diagramas de estado 37 (cont.) 6 Coloque os estados no diagrama ordenados de cima para baixo segundo a ordem iden;ficada em 5 7 Adicione os eventos iden;ficados em 3 como linhas que ligam os estados 8 Iden;fique quando é que o objecto é removido do sistema e ligue este estado ao estado final. 9 Depois de definir estados e eventos normais, pense nos eventos e estados que reflectem excepções 10 Reveja o diagrama e verifique que este faz sen;do.

38 Estados implementados como atributos O diagrama de estado representa a sequência de comportamentos de um objecto resultantes de eventos específicos O estado de uma en;dade pode ser modelado como atributos Os valores do atributo seriam o conjunto dos possíveis estados Exemplo: Os estados de um carro de aluguer seriam respresentados pelo atributo disponibilidade. Os valores possíveis são os estados definidos (disponível, em uso, em manutenção, etc.) Cada carro teria um único valor para este atributo

39 Estado como atributos: exemplo Exemplo de transição do carro de aluguer: Estado inicial: Disponível Trigger: evento de domínio Recolher Estado final: EmUso O significado é que quando um carro está no estado Disponível e o evento do domínio Recolher ocorre, o novo estado do carro é EmUso