EL68E Sistemas Embarcados
Prof. Douglas RENAUX
Prof. Douglas RENAUX
Processo
1) Concepção do Produto 2) Engenharia de Requisitos 3) Engenharia de Sistema
4) Processo de Desenvolvimento de Hardware 5) Processo de Desenvolvimento de Software 5) Processo de Desenvolvimento de Software 6) Processo de Desenvolvimento da Mecânica 7) Integração do Sistema
8) Teste de Sistema 9) Teste em Campo
10) Documentação de Produto e de Produção 11) Empacotamento de produto
Ciclo de Desenvolvimento em V
Análise de Requisitos
Testes de Aceitação Especificação
de Requisitos
Validação dos Requisitos
Implementação Projeto
Arquitetural
Testes Unitários
Testes de Integração
Projeto Detalhado
Processo de Desenvolvimento Genérico
1.
Engenharia de Requisitos
1. Entrada: requisitos (informais, de cliente, de normas/padrões)
2. Objetivo: Entendimento do problema
3. Meios: modelagem, prototipação
3. Meios: modelagem, prototipação
4. Saída: especificação (formal, clara, precisa, correta, consistente, completa)
Funcional: o que o sistema faz, como se usa Não-Funcional: desempenho, robustez,
ambiente, aspectos do processo de desenv.
5. O QUÊ
2.
Projeto (Design)
1. Entrada: especificação de requisitos
2. Objetivo: Planejamento da Solução
3. Meios: modelagem, prototipação
Saída:doc de projeto, descreve a solução
4. Saída:doc de projeto, descreve a solução planejada
5. COMO
6. Estudo da plataforma de HW, plataforma computacional, ferramentas, bibliotecas
7. Projeto da estrutura da solução (arquitetura do sistema), projeto detalhado de cada elemento da estrutura
3.
Implementação e Teste
1. Entrada: doc projeto
2. Objetivo: gerar produto
3. Meios: codificação, implementação HW, integração, teste
integração, teste
4. Saída:cabeça de série + docs produção
5. FAZER
Modelagem – Diagramas de Estado
Prof. Douglas RENAUX
Prof. Douglas RENAUX
Modelagem
•
O que é ? Para que servem ?
Artefato reativo
reaje aos eventos externos pode gerar eventos internos reaje aos eventos internos
reaje = gera saídas, muda de estado, muda reaje = gera saídas, muda de estado, muda
variáveis internas (parte do estado)
MEF – Máquina de Estados Finita
• Modelam aspectos dinâmicos de um sistema ou componente
(máquina = artefato = coisa) ( = significa modela)
• Muito apropriado para artefatos reativos (reativo x transformacional)
(reativo x transformacional)
maioria dos RTS e SE são reativos
• MEF – possuem um número finito de estados
• Transições entre estados são tipicamente causadas por eventos externos
(já que o artefato é reativo a eles)
MEF modelam:
classes
casos de uso equipamentos sub-sistemas sub-sistemas
sistemas inteiros
Conceitos
• Estado = condição ou situação estável de uma máquina
A MEF pode executar atividades enquanto está num estado, ou, pode simplesmente não fazer nada enquanto aguarda por um evento
• Evento
Um acontecimento relevante ocorrendo em um tempo bem Um acontecimento relevante ocorrendo em um tempo bem definido
É modelado como sendo instantâneo
Pode ser interno ou externo (interno = interno a MEF)
• Transição
• A mudança de um estado para outro
• Causas:
Evento (externo ou interno) Condição
Fim de atividade Imediato
Statecharts
David Harel
1984 – Instituto Weizmann – Israel assim como MEF,
é usado por projetistas de HW e de SW Contribuições:
hierarquia história
concorrência
UML 2.0
MEF:
comportamentais: MEFs que descrevem o comportamento do artefato. Não se aplica a
alguns classificadores como portas e interfaces;
estados podem especificar ações.
estados podem especificar ações.
de protocolo: MEFs que definem o protocolo do classificador: condições para que uma
operação (e.g. da interface) seja chamada; os resultados; a ordenação. MEFs de protocolo
não fazem referência a implementação, apenas à interface visível externamente.
Notação Gráfica
frames (quadro) com caixa de descrição para o título
usar {protocol}
caixas de comentário estado:
ações de entrada e saída: entry/ exit/
transições internas: evento / ação
Simbolos
• Estado
• Transição
• Evento [condição] / ação
• Nome do estado
• Nome do estado
•
•
Evento = nome do evento
• Condição = expressão lógica (resultado é verdadeiro ou falso)
• Ação = lista de ações separadas por ;
atribuição, chamada de método, ativação de saída, ..
Tipos de Eventos
•
Sinal – recebimento assíncrono de um sinal exemplos: irq de hw, carta, UDP
•
Chamada de rotina ou método
•
Tempo – after(duração) ou at(datahora) duração é medida a partir da entrada no estado
•
Change( ) – mudança no valor de variável
ou expressão
Condições
[else]
operadores lógicos: ==, !=, <, ...
Operadores: IS_IN(estado)
Pseudo-Estados
• Inicial (bola preenchida)
• Final (bull eye) – fica neste estado aguardando encerramento
• Terminação (x grande)
Junção – bola preenchida menor
• Junção – bola preenchida menor
• Fork
• Join
• Porta de entrada (circulo vazio)
• Porta de saída (círculo com x)
• História rasa e profunda
• Seleção (losango)