especificação, modelação e projecto de sistemas embutidos - 2008 / 2009

15
Especificação, Modelação e Projecto de Sistemas Embutidos - 2008 / 2009

Upload: internet

Post on 21-Apr-2015

136 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Especificação, Modelação e Projecto de Sistemas Embutidos - 2008 / 2009

Especificação, Modelação e Projecto de Sistemas Embutidos - 2008 / 2009

Page 2: Especificação, Modelação e Projecto de Sistemas Embutidos - 2008 / 2009

Índice:UML Statechart diagrams

IntroduçãoStatechart Diagrams StateComposite StatesEventsSimple TransitionsTransitions to and from Concurrent StatesTransitions to and from Composite StatesFactored Transition PathsSubmachine StatesSynch States

Activity Diagrams

EMPSE - 2008 / 2009 2

Page 3: Especificação, Modelação e Projecto de Sistemas Embutidos - 2008 / 2009

IntroduçãoUML - Unified Modeling Language

O que é? Consiste numa linguagem de modelação de terceira geração. Não é uma linguagem de programação nem uma metodologia. Tem a finalidade de visualizar, especificar, construir e documentar o desenvolvimento de sistemas de informação complexos.

Quem a desenvolveu?Inicialmente desenvolvida por Rumbaugh, Booch (1994) e Jacobson (1995), e posteriormente por mais de 8 entidades, em que cada um contribuiu com parte do seu modelo ou experiência para o desenvolvimento e crescimento do UML.

Porque se desenvolveu?Nasceu da ideia de juntar vários métodos eficazes de modelagem de sistemas complexos (OMT, BOOCH, OOSE, etc.).

Qual o seu objectivo?A UML tem como objectivo de no Futuro ser a modelação standard usada para modelar sistemas concorrentes e distribuídos.

3EMPSE - 2008 / 2009

Page 4: Especificação, Modelação e Projecto de Sistemas Embutidos - 2008 / 2009

Statechart DiagramRepresentam o comportamento das

entidades capazes de um comportamento dinâmico através da especificação de uma resposta para uma determinada recepção de um evento.

Diagrama de estado é um gráfico que representa uma máquina de estados.

Os estados são representados por um rectângulo de cantos redondos e são conectados entre eles por um arco direccionado que representa a transição.

4EMPSE - 2008 / 2009

Page 5: Especificação, Modelação e Projecto de Sistemas Embutidos - 2008 / 2009

State Um estado é uma condição durante a vida de um

objecto ou uma interacção durante a qual ele satisfaz alguma condição, realiza alguma acção ou espera por algum evento.

O estado é representado por um rectângulo com os cantos redondos, podendo conter o nome num rectângulo situado fora do estado, no topo superior.

O estado pode ser dividido em múltiplos compartimentos: Nome do comportamento – topo superior do estado, separado para os

restantes por uma linha horizontal (não deve ser usado caso o nome do estado seja usado e vice-versa).

Comportamento das transições internas - possui uma lista de acções internas ou actividades que são realizadas enquanto o elemento está no estado (não podem ter o mesmo nome dos eventos). Notação usada: nome da acção ‘/’ expressão da acção

5EMPSE - 2008 / 2009

Page 6: Especificação, Modelação e Projecto de Sistemas Embutidos - 2008 / 2009

Composite StatesUm estado composto pode ser decomposto em:

Dois ou mais subestados simultâneos ou concorrentes (chamadas regiões);

Em subestados mutuamente exclusivos ou sequenciais.

Cada subestado de um estado composto pode ser ele próprio um estado composto de qualquer tipo.

Cada estado composto deverá possuir subestados iniciais e finais.

Na representação de subestados concorrentes as diferentes regiões são separadas por tracejado. Cada região poderá ter um nome, e deverá possuir o diagrama de estados sequenciais que descrevem o seu comportamento.

6EMPSE - 2008 / 2009

Page 7: Especificação, Modelação e Projecto de Sistemas Embutidos - 2008 / 2009

Composite States (2)

Subestados sequenciais

Subestados concorrentes

7EMPSE - 2008 / 2009

Page 8: Especificação, Modelação e Projecto de Sistemas Embutidos - 2008 / 2009

Events Um evento é uma ocorrência significativa que tem uma

localização no tempo (instante de tempo do evento) e no espaço. Notação usada: nome do evento ‘(‘ parâmetro – parâmetro’)

No contexto de uma máquina de estados, um evento pode ter como resposta uma transição (mudança de estado) e/ou uma acção.

Os eventos são instantâneos O que interessa é que se lhe possa atribuir um instante de tempo de

ocorrência

Os eventos podem ser de vários tipos: Eventos de mudança – uma condição tornar-se verdadeira; Sinais – recebe um sinal explicito de um objecto para outro; Chamadas - invocação de operações; Eventos temporais – após uma passagem de tempo ou ocorrência

de uma data/hora.

Os eventos podem ter parâmetros. Notação usada: nome do parâmetro ‘:’ expressão do tipo

8EMPSE - 2008 / 2009

Page 9: Especificação, Modelação e Projecto de Sistemas Embutidos - 2008 / 2009

Simple TransitionsUma transição simples é uma relação entre dois estados

indicando que um objecto do primeiro estado vai entrar no segundo e executar uma determinada acção quando um evento especifico acontece. Notação usada: evento ’(‘parâmetros’)’ ‘[‘condição ‘]’ ‘/’ acção

Representa-se por uma seta com origem no estado fonte e fim no estado alvo.

O evento são processados um a um.

Se um evento não desponta qualquer transição é descartado.

Se o evento puder disparar na mesma região mais do que uma transição com a mesma prioridade só uma delas será disparada (escolha arbitrária).

9EMPSE - 2008 / 2009

Page 10: Especificação, Modelação e Projecto de Sistemas Embutidos - 2008 / 2009

Transitions To and From Concurrent StatesAcontecem quando todos os estados fonte são executados;

Depois de ser despoletada todos os estados destino são ocupados;

Inclui uma barra de sincronização que pode representar divisão/junção (forking/joining), sincronização ou ambos;

A barra pode ter uma ou mais setas de entrada ou saída, e ainda uma string de transição situada sobre a mesma.

10EMPSE - 2008 / 2009

Page 11: Especificação, Modelação e Projecto de Sistemas Embutidos - 2008 / 2009

Transitions To and From Composite States Indicam uma transição que é aplicada a cada um dos estados incluídos

no estado composto, e podem ser desenhadas directamente de e para qualquer um desses estados;

No caso de um estado composto concorrente, as setas da barra de sincronização podem ser representadas para um ou mais estados compostos;

Uma transição desenhada a partir da fronteira do estado composto indica a transição desse estado, e neste caso, todos os estados incluídos são forçados a terminar para se dar a transição do estado composto;

Um stub é representado com uma linha vertical desenhada dentro da região do estado composto, e indica uma transição ligada a um estado interno suprimido.

11EMPSE - 2008 / 2009

Page 12: Especificação, Modelação e Projecto de Sistemas Embutidos - 2008 / 2009

Factored Transition Paths Transições Compostas - Surgiram da necessidade de

representar um conjunto de transições provenientes de diferentes estados não concorrentes, e que terminam num mesmo ponto de união;

Permite a partilha do mesmo caminho formado no ponto de união (representado por um pequeno círculo ou losango), simplificando desta forma o diagrama. Deste modo, duas transições compostas distintas podem unir-se partilhando a mesma acção, seguindo o mesmo caminho, e possivelmente terminar no mesmo estado de destino;

Note-se que devido à factorização, a separação e a junção de transições entre estados neste contexto é diferente do que acontece nas transições entre estados concorrentes.

12EMPSE - 2008 / 2009

Page 13: Especificação, Modelação e Projecto de Sistemas Embutidos - 2008 / 2009

Submachines States Representam a invocação de uma máquina de estados definida algures e

é representada pela etiqueta include seguida do nome da submachine;

Pode-se entrar (ou sair) para uma submachine através de qualquer um dos seus substates ou pelo seu default state;

A notação dos seus stub states é semelhante à usada para as stubs transitions, com a excepção que possuem etiquetas de identificação do subestado;

Esta notação não é necessária caso se entre (ou saia) da submachine através do seu default state.

13EMPSE - 2008 / 2009

Page 14: Especificação, Modelação e Projecto de Sistemas Embutidos - 2008 / 2009

Synch States Servem para sincronizar regiões concorrentes dentro de uma máquina de estados;

São usadas em conjunto com forks e joins e asseguram que uma região abandona um determinado estado (ou estados) antes que outra região entre noutro estado (ou estados);

O número de transições de saída de um synch state pode ser limitado pela diferença entre o número de transições de saída e o número de transições de entrada;

São representados por um círculo desenhado entre as regiões correspondentes, com o número do limite de transições no seu interior. O limite pode ser inteiro positivo ou infinito (neste caso representado por ‘*’).

14EMPSE - 2008 / 2009

Page 15: Especificação, Modelação e Projecto de Sistemas Embutidos - 2008 / 2009

Next…

15EMPSE - 2008 / 2009