instituto de informática universidade federal do rio grande do sul porto alegre – rs – brazil...

21
Instituto de Informática Universidade Federal do Rio Grande do Sul Porto Alegre – RS – Brazil Modelando com UML CMP 231 – Sistemas Embarcados Prof. Flávio R. Wagner e Prof. Luigi Carro

Upload: internet

Post on 17-Apr-2015

106 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Instituto de Informática Universidade Federal do Rio Grande do Sul Porto Alegre – RS – Brazil Modelando com UML CMP 231 – Sistemas Embarcados Prof. Flávio

Instituto de InformáticaUniversidade Federal do Rio Grande do Sul

Porto Alegre – RS – Brazil

Modelando com UML

CMP 231 – Sistemas Embarcados

Prof. Flávio R. Wagner e Prof. Luigi Carro

Page 2: Instituto de Informática Universidade Federal do Rio Grande do Sul Porto Alegre – RS – Brazil Modelando com UML CMP 231 – Sistemas Embarcados Prof. Flávio

2

• UML 2.0 define visões para lidar com “separação de interesses” (separation of concerns):• Visão estrutural: diagramas de classe, de

componentes e de implantação• Visão de interações: diagramas de seqüência e

de interações• Visão de atividades: diagrama de atividades• Visão de estados: diagrama de estados• Total de 13 diagramas!!!

UML 2.0: Diferentes visões

Page 3: Instituto de Informática Universidade Federal do Rio Grande do Sul Porto Alegre – RS – Brazil Modelando com UML CMP 231 – Sistemas Embarcados Prof. Flávio

3

UML 2.0: Diagramas

Hierarquia de diagramas UML

Estruturais Comportamentais

Page 4: Instituto de Informática Universidade Federal do Rio Grande do Sul Porto Alegre – RS – Brazil Modelando com UML CMP 231 – Sistemas Embarcados Prof. Flávio

4

UML 2.0: Diagramas

Hierarquia de diagramas UML

Estruturais

- Diagrama de Classes

- Diagrama de Estrutura

- Diagrama de Componente

- Diagrama de Implantação

- Diagrama de Objeto

- Diagrama de Pacotes

Page 5: Instituto de Informática Universidade Federal do Rio Grande do Sul Porto Alegre – RS – Brazil Modelando com UML CMP 231 – Sistemas Embarcados Prof. Flávio

5

UML 2.0: Diagramas

Hierarquia de diagramas UML

Comportamentais:

- Diagrama de Atividade

- Diagrama de Interações

- Diag. de Seqüência

- Diag. de Comunicação

- Diag. De Temporização

- Diagrama de Casos de Uso

- Diagrama Máquina de Estados

Page 6: Instituto de Informática Universidade Federal do Rio Grande do Sul Porto Alegre – RS – Brazil Modelando com UML CMP 231 – Sistemas Embarcados Prof. Flávio

6

Estendendo UML: Perfil UML-SPT

UML-SPT: UML Profile for Schedulability, Performance and Time

• Modelagem de Recursos

• Modelagem de Tempo• Modelagem da Concorrência• Modelos de Análise da Escalonabilidade• Modelagem do Desempenho

MARTE: sucessor do UML-SPT, mas ainda não é suportado pelas maioria das ferramentas de modelagem.

Page 7: Instituto de Informática Universidade Federal do Rio Grande do Sul Porto Alegre – RS – Brazil Modelando com UML CMP 231 – Sistemas Embarcados Prof. Flávio

7

Aplicando UML no projeto de sistemas

Identificação de requisitos funcionais/análise: Diag. de Caso de uso Diag. de Seqüência Diag. de Atividade

Projeto:•Diag. de Seqüência•Diag. de Atividade•Diag. De Estados•Diag. de Objetos•Diag. de Classes•Diag. de Componentes•Diag. de Implantação (deployment)

Page 8: Instituto de Informática Universidade Federal do Rio Grande do Sul Porto Alegre – RS – Brazil Modelando com UML CMP 231 – Sistemas Embarcados Prof. Flávio

8

Usando UML: Exemplos

• Cadeira de Rodas

• Vant

• Crane

Page 9: Instituto de Informática Universidade Federal do Rio Grande do Sul Porto Alegre – RS – Brazil Modelando com UML CMP 231 – Sistemas Embarcados Prof. Flávio

9

Usando UML: Exemplos

• Cadeira de Rodas

• Vant

• Crane

Page 10: Instituto de Informática Universidade Federal do Rio Grande do Sul Porto Alegre – RS – Brazil Modelando com UML CMP 231 – Sistemas Embarcados Prof. Flávio

10

Exemplo de um diagrama de casos de uso

Cadeira de Rodas: Diagrama de Casos de Uso

Identificação de requisitos funcionais/análise

ATOR

CASO DE USO

Page 11: Instituto de Informática Universidade Federal do Rio Grande do Sul Porto Alegre – RS – Brazil Modelando com UML CMP 231 – Sistemas Embarcados Prof. Flávio

11

Cadeira de Rodas

Diagrama de ClassesClasses da cadeira:

- Wheelchair

- Navigator

- JoystickDriver

- ActuatorDriver

- SensorDriver

- MovementController

CLASSEASSOCIAÇÕES

Tipos de Associações- Associação unidirecional- Associação bidirecional- Herança (generalização-especialização)- Agregação

Page 12: Instituto de Informática Universidade Federal do Rio Grande do Sul Porto Alegre – RS – Brazil Modelando com UML CMP 231 – Sistemas Embarcados Prof. Flávio

12

Exemplo de um diagrama de seqüência

Cadeira de Rodas: Diagrama de Seqüência

Descrição funcional do caso de uso movementActuating

Objeto

Life-line

Mensagem

Ref para outro diagrama de sequência

- Mensagem síncrona- Mensagem assíncrona

Page 13: Instituto de Informática Universidade Federal do Rio Grande do Sul Porto Alegre – RS – Brazil Modelando com UML CMP 231 – Sistemas Embarcados Prof. Flávio

13

Usando UML: Exemplos

• Cadeira de Rodas

• Vant

• Crane

Page 14: Instituto de Informática Universidade Federal do Rio Grande do Sul Porto Alegre – RS – Brazil Modelando com UML CMP 231 – Sistemas Embarcados Prof. Flávio

14

Diagrama de Classes: Vant

Tipos de Associações- Associação unidirecional- Associação bidirecional- Herança- Agregação

Page 15: Instituto de Informática Universidade Federal do Rio Grande do Sul Porto Alegre – RS – Brazil Modelando com UML CMP 231 – Sistemas Embarcados Prof. Flávio

15

Diagrama de Seqüência

alt : if/elsepar: concorrência

Page 16: Instituto de Informática Universidade Federal do Rio Grande do Sul Porto Alegre – RS – Brazil Modelando com UML CMP 231 – Sistemas Embarcados Prof. Flávio

16

Usando UML: Exemplos

• Cadeira de Rodas

• Vant

• Crane

Page 17: Instituto de Informática Universidade Federal do Rio Grande do Sul Porto Alegre – RS – Brazil Modelando com UML CMP 231 – Sistemas Embarcados Prof. Flávio

17

Crane em UML: Casos de Uso

Car-positionSensor

Cable-angleSensor

MotorBreak-relay

Crane User

EmergencyOperation Mode

Sensor check

Diagnosis

Initialisation

NominalOperation Mode

CalculatePosition Sensors

Update

«extend»

Casos de Uso

Page 18: Instituto de Informática Universidade Federal do Rio Grande do Sul Porto Alegre – RS – Brazil Modelando com UML CMP 231 – Sistemas Embarcados Prof. Flávio

18

Crane em UML: Diagrama de classes

«SAschedRes»::Initializer

«SAresource»::DesiredPosition

::BreakInterface

«SAschedRes»::SensorChecker

«SAschedRes»::Diagnoser

«SAschedRes»::Controller

«SAschedRes»::PositionSensorInterface

«SAresource»::PosCarMin

«SAresource»::PosCarMax

«SAresource»::DeltaPosCar

«SAresource»::VcCheck

::MotorInterface

::SwPosCarMin

::SwPosCarMax

«SAschedRes»::ConsoleInterface

::SwPosCar

«SAschedRes»::AngleSensorInterface

«SAresource»::AngleMax

1 1

11

1

1

1

1

1

1

1

11

1

1

1

1

1

1

1

1

1

1

1

1

1

1 1

1

1

1

1

11 1

1

1

1

1

1

1 1..*

11

1

1

1

1

1

1

1

11

1

1

1

11

1

1

1

1

1

1

1

1

11

11

<<SAschedRes>> objetos ativos escalonáveis

Interfaces com sensores e atuadores

<<SAresource>>: Recurso compartilhado

Page 19: Instituto de Informática Universidade Federal do Rio Grande do Sul Porto Alegre – RS – Brazil Modelando com UML CMP 231 – Sistemas Embarcados Prof. Flávio

19

Crane User

:PosCarMin«SAresource»

:DeltaPosCar«SAresource»

:VcCheck«SAresource»

:PositionSensorInterface«SAschedRes»

:AngleSensorInterface«SAschedRes»

:Initializer«SAschedRes»

:BreakInterface

:SensorChecker«SAschedRes»

diagnoser:Diagnoser«SAschedRes»

nominalCtrl:Controller«SAschedRes»

:PosCarMax«SAresource»

:AngleMax«SAresource»

run()2.7 :

run()2.8 :

activate()2.10 :

activate()2.11 :

set()2.2 :

set()2.3 :

set()2.4 :

set()2.5 :

PowerOn()1 :

powerOn()2 :

setOn()2.1 :

run()2.9 :

set()2.6 :

Initialisation

Crane em UML: Diagrama de Colaboração (1)

Inicialização

concorrentes

Mensagens assíncronas

Diagrama de comunicação

Page 20: Instituto de Informática Universidade Federal do Rio Grande do Sul Porto Alegre – RS – Brazil Modelando com UML CMP 231 – Sistemas Embarcados Prof. Flávio

20

Crane em UML : Diagrama de Estados

EmergencyOpMode

InitMode

NormalOpModeEmrgStopOpMode

Controller

«C reate»/

ac tivate /

setEm ergencyM ode/

ru n /

s etE m rgS top/

re s e t /

s etE m rgS top/

/

Creio que seria possível implementar aqui a concorrencia com o diagnóstico

Diagrama de Estados -> control-flow

Estados do controle:

- Init

- Emergency Stop

- Emergency Mode

- Normal Mode

Page 21: Instituto de Informática Universidade Federal do Rio Grande do Sul Porto Alegre – RS – Brazil Modelando com UML CMP 231 – Sistemas Embarcados Prof. Flávio

21

Material complementar

• Site da OMG:

http://www.omg.org/

• Modelagem do Vant: http://www.inf.ufrgs.br/~rrferreira/vant.zip