Professional Documents
Culture Documents
Santo Andr
2014
Este trabalho parte dos requisitos necessrios a aprovao da disciplina em Programao Software Embarcado da Engenharia de
Instrumentao, Automao e Robtica da
Universidade Federal do ABC
Santo Andr
2014
Sumrio
1
INTRODUO
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
2.1
2.2
2.3
ESPECIFICAO DO PROJETO . . . . . . . . . . . . . . .
Especificao Textual . . . . . . . . . . . . . . . . . . . . . . .
Diagramas Use Case e/ou Diagramas de Sequncia . . . . . .
Interface com o ambiente externo (Hardware) . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3.1
3.2
3.3
PROJETO DO SISTEMA . .
Arquitetura . . . . . . . . . .
Diagramas de Estado . . . .
Descrio dos arquivos fonte
.
.
.
.
.
.
.
.
.
.
.
.
. 9
. 9
. 10
. 11
4
4.1
4.2
TESTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Diagramas de sequncia dos casos de teste . . . . . . . . . . . . . . 13
Resultado dos testes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
3
4
4
4
5
1 Introduo
O projeto realizado do forno micro-ondas foi realizado utilizando mquinas de
estado desenvolvidas no ambientede desenvolvimento de software embarcado denominado
QPC e programas utilizando linguagem C na interface Elipse Luna. O projeto consiste
na confeco de uma mquina de estados que permita executar as funes do forno
micro-ondas conforme cada tipo de situao que este possa se encontrar durante o seu
funcionamento.
2 Especificao do projeto
2.1 Especificao Textual
O projeto do forno micro-ondas deve operar utilizando trs botes, porta, +1
Min, Cancela, de forma que quando a porta estiver aberta, a luz interna dever
estar acesa, mas sem emisso de micro-ondas, nesta situao o tempo pode ser ajustado
livremente, quando com a porta estiver fechada, a luz interna dever estar apagada e o
ajuste de tempo tambm pode ser feito, todavia quando houver tempo maior que zero o
forno dever ligar a emisso de micro-ondas e tambm a luz interna e ratifica-se que a
emisso de radiao de micro-ondas deve ocorrer somente com a porta fechada.
O usurio pode pressionar o boto +1 a qualquer instante e adicionar mais tempo
de cozimento, tal como ele tambm pode pressionar o boto cancelar e parar o processo a
qualquer instante. Fica facultativo a escolha dessas funes no momento em que o tempo
de cozimento estiver finalizado, considerando o tempo de aviso de trmino de operao do
forno.
Figura 3 Hardware para estado porta aberta, na situao sem tempo definido
Neste estado temos a luz interna acesa (fundo amarelo) e o forno desligado
Figura 4 Hardware para estado porta aberta, na situao com tempo definido
Neste estado temos a luz interna acesa (fundo amarelo) e o forno desligado, independente
de haver tempo definido no painel
Figura 5 Hardware para estado porta fechada, na situao sem tempo definido
Neste estado temos a luz apagada (fundo azul) e o forno desligado
3 Projeto do sistema
3.1 Arquitetura
O sistema contm os seguintes partes constituintes:
a) Estrutura do Micro contm objeto ativo e um evento temporal.
typedef struct MicroTag {
/* protected: */
QActive super;
/* private: */
QTimeEvt timeEvt;
} Micro;
b) Global objects
QActive * const AO_Micro = { &l_micro.super };
c) Pseudo-Construtor
void Micro_ctor(void) {
Micro *me;
me = &l_micro;
QActive_ctor(&me->super,Q_STATE_CAST(&Micro_initial));
QTimeEvt_ctor(&me->timeEvt, TIMEOUT_SIG);
}
d) Estados e sua entrada para eventos.
static
static
static
static
static
QState
QState
QState
QState
QState
10
11
12
13
4 Testes
4.1 Diagramas de sequncia dos casos de teste
Aps definirmos como a mquina de estados opera conforme a Figura 9 e quais
sinais so enviados ao meio externo para cada estado, os testes so feitos analisando se
os percursos projetados na mquina de estados esto de fato sendo executados e se as
variveis manipuladas dentro de cada estado esto sendo processadas de forma correta.
Inclusive segue em anexo a este relatrio um vdeo demonstrando os casos de operao e
navegao ao longo da mquina de estados, neste vdeo, conforme citado anterioremente,
ressalta-se o uso experimental do boto +1 Min adicionando apenas 3 segundos em
vez de 60, apenas para facilitar a simulao reduzindo a espera para a transio entre os
estados.