Você está na página 1de 37

Modelador de Mquinas de Estados v 1.0.

Manual MME.

& CONDADO

Setembro de 2005. Instituto Nacional de Pesquisas Espaciais INPE www.inpe.br

ndice
Introduo....................................................................................................................... 3 Como e onde obter a ferramenta?................................................................................... 3 Instalao ........................................................................................................................ 3 Uso da Ferramenta MME ............................................................................................... 4 Apresentao do Aplicativo............................................................................................ 5 5.1 Descrio dos Menus:............................................................................................. 6 5.2 Descrio da Barra de Ferramentas:..................................................................... 11 Etapa 1 - Estados ...................................................................................................... 12 Etapa 2 - Modificao............................................................................................... 12 Etapa 3 - Transio ................................................................................................... 12 Etapa 4 - Insero ..................................................................................................... 13 Etapa 5 - Alinhamento.............................................................................................. 13 Etapa 6 - Cores ......................................................................................................... 13 Etapa 7 - Ordenao ................................................................................................. 14 5.3 Descrio da rea de Desenho............................................................................. 14 5.4 Descrio da rea de Atribuio.......................................................................... 15 5.4.1 Atributos da Mquina de Estado ......................................................................... 15 Etapa 1 Geral. ........................................................................................................ 15 Etapa 2 Variveis................................................................................................... 16 Etapa 3 Interao ................................................................................................... 16 Etapa 4 Definio de Dados .................................................................................. 17 Etapa 5 Elemento................................................................................................... 18 5.4.2 Atributos do Estado ............................................................................................. 18 Etapa 1 - Estados Selecionados ................................................................................ 18 Etapa 2 - Transies Relacionadas ........................................................................... 20 5.4.3 Atributos de Transies ....................................................................................... 20 Etapa 1 Transio Selecionada .............................................................................. 20 Etapa 2 Entradas .................................................................................................... 22 Etapa 3 Condio................................................................................................... 22 Etapa 4 Ao.......................................................................................................... 23 Etapa 5 Faltas ......................................................................................................... 23 Etapa 6 Sada ......................................................................................................... 23 6. Ferramenta CONDADO ............................................................................................... 24 Introduo......................................................................................................................... 24 Conversor ......................................................................................................................... 25 Gerador ............................................................................................................................. 25 Linguagem de Especificao de Protocolos (LEP) ............Erro! Indicador no definido. Restries ......................................................................................................................... 25 7. Exemplo de uso da MME com a CONDADO ............................................................. 25 Passo 1 .............................................................................................................................. 26 Passo 2 .............................................................................................................................. 26 Passo 3 .............................................................................................................................. 27 Passo 4 .............................................................................................................................. 29 1. 2. 3. 4. 5.

Passo 5 .............................................................................................................................. 30 Passo 6 .............................................................................................................................. 30 Passo 7 .............................................................................................................................. 32 Usando as Restries na Ferramenta CONDADO ........................................................... 35

1. Introduo
Este documento descreve a integrao das ferramentas MME, um editor de mquina de estados, e Condado, um gerador de casos de teste a partir de mquinas de estados.

2. Como e onde obter a ferramenta?


A ferramenta pode ser encontrada na pgina da internet do projeto Atifs: http://www.inpe.br/atifs. Ou acesse diretamente o link para fazer o download direto: http://www.inpe.br/atifs/documentos/MME.zip, o arquivo se encontra compactado, use um programa de descompactao, tais como: WinZip, FreeZip, ou outro de sua preferncia.

3. Instalao
Obs: Para que funcione o recurso de rodar diretamente a ferramenta CONDADO, necessrio que os diretrios estejam dispostos da seguinte forma: Ferramenta MME: C:\MME\

Diretrio de instalao da MME

Figura 1 - Diretrio de Instalao da MME

Contendo o arquivo: MME.exe e o diretrio: Condado. Ferramenta CONDADO: C:\MME\Condado\

Diretrio de instalao da CONDADO

Figura 2 - Diretrio de Instalao da CONDADO

Contendo os arquivos: arq.pl; gerador.exe ; LIBPL.dll

4. Uso da Ferramenta MME


seguir: Ao executar o aplicativo descompactado, deve aparecer a tela de abertura como a

Figura 3 - Tela de Abertura

Nesta tela contem informaes sobre a verso do aplicativo, linguagem de programao utilizada, nomes dos criadores do aplicativo e as logomarcas das instituies envolvidas durante a criao do mesmo. Aps apresentao da Tela de Abertura ser exibida uma mensagem como abaixo:

Figura 4 - Top Grid

Essa mensagem aparece devido o aplicativo estar usando uma biblioteca na verso trial do TopGrid.

5. Apresentao do Aplicativo
O aplicativo pode ser dividido em quatro partes como descrito na Figura 2 Tela Inicial. So divididas em Menus, Barra de Ferramentas, reas de Desenho, rea dos Atributos. Menus

Barra de Ferramentas

rea de Desenho

rea de Atributos

Figura 5 - Tela Inicial

No Menu encontra se as opes: Arquivo, Editar e Ajuda. A maioria das funes encontrada dentro de cada sub menu tambm est na Barra de Ferramentas. A rea de Desenho usada para desenhar a mquina de estados usando os smbolos representativos. A rea de Atributos usada para nomear ou atribuir valores para cada objeto colocado(s) na rea de Desenho. 5.1 Descrio dos Menus:

Figura 6 - Menus Menu Arquivo: com o menu arquivo tero a disposio os seguintes sub-menus:

Figura 7 - Menu Arquivo

Novo: com esse sub-menu poder criar um novo arquivo; Abrir: com esse sub-menu poder abrir um arquivo existente; Salvar: com esse sub-menu poder salvar o arquivo; Salvar Como: com esse sub-menu poder salvar o arquivo em outro diretrio ou com nome um diferente do atual. Sair: fecha o aplicativo; Exportar:

Figura 8 - Sub-menu Exportar

Nesse sub-menu poder exportar o contedo da rea de Desenho para um arquivo Imagem. Tambm poder exportar para uma arquivo tipo Linguagem de Especificao de Protocolos (LEP) ou exportar um arquivo Base de Fatos que pode ser usado como entrada para uma outra ferramenta denominada CONDADO.

Menu Editar: com o menu editar tero a disposio os seguintes sub-menus:

Figura 9 - Menu Editar

Desfazer: com esse sub-menu poder desfazer as aes uma a uma desde a ultima at a primeira; Refazer: com esse sub-menu poder refazer a ultima ao desfeita pelo sub menu Desfazer; Copiar: com esse sub-menu poder copia o elemento localizado na rea de Desenho; Recortar: com esse sub-menu poder recortar o elemento localizado na rea de Desenho; Colar: com esse sub-menu poder colar os elementos copiados ou recortados anteriormente e que esto na rea de transferncia; Incluir:

Figura 10 - Menu Incluir

Com esse sub-menu poder incluir na rea de Desenho um Estado, uma Transio ou uma Auto Transio;

Remover:

Figura 11 - Menu Remover

Com esse sub-menu poder remover da rea de Desenho um Estado, uma Transio, uma Auto Transio ou Estados Isolados; Modificar:

Figura 12 - Menu Modificar

Com esse sub-menu poder modificar o Estado Inicial, o Estado Final, Inverter Transio, ordenar os nomes dos estados na lista de elementos usando Reordenar identificadores dos Estados, ordenar os nomes das transies na lista de elementos usando Reordenar identificadores das Transies; Selecionar:

Figura 13 - Menu Selecionar

Com esse sub-menu poder selecionar Todos os Elementos (estados e transies), Todos os Estados, Todas as Transies ou Desfazer Seleo; Alinhar:

Figura 14 - Menu Selecionar Elemento

Com esse sub-menu poder alinhar os Elementos Horizontalmente ou alinhar os Elementos Verticalmente,

Figura 15 - Menu Alinhar Elemento

Tambm no sub-menu Alinhar, poder alinhar a Seleo Horizontalmente para a Esquerda, o Centro ou para a Direita, ou ainda alinhar Seleo Verticalmente para parte Superior da tela, para o Centro, ou para a parte Inferior da tela;

Ordem:

Figura 16 - Menu Ordem do Elemento

Com esse sub-menu poder Trazer pra Frente, Avanar um Nvel, Recuar um Nvel e Enviar pra Trs o elemento selecionado; Colorir:

Figura 17 - Menu Colorir

Com o estado ou transio selecionada basta clicar no boto Colorir e exibir a tela para escolha de uma cor padro ou personalizada. Veja figura abaixo:

10

Figura 18 - Barra de Ferramentas Paleta de Cor

Caso escolha uma cor personalizada, poder adicionar essa cor s cores padro, basta clicar no boto Adicionar s cores personalizadas. Menu Ajuda:

Figura 19 - Menu Ajuda

Com o menu ter algumas informaes sobre o desenvolvimento, a linguagem de programao usada no aplicativo e sobre os colaboradores no desenvolvimento. Menu Gerar Teste:

Figura 20 - Menu Gerar Teste

Com esse menu ter a opo de gerar os casos de teste compilados diretamente com a ferramenta CONDADO. 5.2 Descrio da Barra de Ferramentas:

Figura 21 - Barra de Ferramentas

11

Para melhor descrever a Barra de Ferramentas, dividimos em sete etapas como apresentado na figura abaixo:

Figura 22 - Barra de Ferramentas Dividida

Etapa 1 - Estados

2 1
Figura 23 - Barra de Ferramentas Estado

1 Incluir Estado: com este boto poder incluir estado(s) ao projeto; 2 Remover estados selecionados: com este boto poder excluir um ou mais estado(s) selecionado(s); 3 Excluir Estados Isolados: com este boto poder excluir automaticamente os estados isolados. Etapa 2 - Modificao

1
Figura 24 - Barra de Ferramentas Modificar

1 Modificar Estado Inicial: com este boto poder modificar o estado inicial do projeto; 2 Modificar Estado(s) Final(is):com este boto poder modificar um ou mais estado(s) final(is) do projeto.

2 1

Etapa 3 - Transio

3 4

Figura 25 - Barra de Ferramentas Transio

12

1 Incluir transio entre estados selecionados: com este boto poder incluir uma transio entre dois estados selecionados; 2 Remover transio entre estados selecionados: com este boto poder excluir uma ou mais transio selecionadas; 3 Incluir auto transio no estado selecionado: com este boto poder incluir uma auto transio no estado selecionado; 4 Remover auto transio do estado selecionado: com este boto poder excluir uma auto transio selecionada. Etapa 4 - Insero

1
Figura 26 - Barra de Ferramentas Insero

1 Inverter sentido transio dos estados selecionados: com este boto poder inverter o sentido de uma ou mais transio(es) selecionada(s); 2 Alinhar Transies Selecionadas: com este boto poder alinhar uma ou mais transio(es) selecionada(s). Etapa 5 - Alinhamento

Figura 27 - Barra de Ferramentas Alinhar

1 Alinhar estados selecionados horizontalmente: com este boto poder alinhar horizontalmente um ou mais estado selecionado; 2 Alinhar estados selecionados verticalmente: com este boto poder alinhar verticalmente um mais estado selecionado. Etapa 6 - Cores

Figura 28 - Barra de Ferramentas Cor

13

Com o estado ou transio selecionada basta clicar na ferramenta e exibir a tela para escolha de uma cor padro ou personalizada. Veja figura abaixo:

Figura 29 - Barra de Ferramentas Paleta de Cor

Caso escolha uma cor personalizada, poder adicionar essa cor s cores padro, basta clicar no boto Adicionar s cores personalizadas. Etapa 7 - Ordenao

2 1

3 4

Figura 30 - Barra de Ferramentas Ordenar

1 Trazer pra Frente: com este boto poder trazer o elemento selecionado a frente dos outros elementos; 2 Avanar um Nvel: com este boto poder avanar (pra frente) um nvel o elemento selecionado; 3 Recuar um Nvel: com este boto poder recuar (pa trs) um nvel o elemento selecionado; 4 Enviar pra Trs: com este boto poder enviar o elemento selecionado pra trs dos outros elementos. 5.3 Descrio da rea de Desenho Para desenhar uma Mquina de Estado Finita, basta adicionar os estados na rea de Desenho e interliga-las com as transies:

14

Figura 31 - rea de Desenho

5.4 Descrio da rea de Atribuio A descrio da rea de Atribuio esta dividida em trs categorias: Atributos da Mquina de Estado, Atributos do Estado, Atributos de Transies. 5.4.1 Atributos da Mquina de Estado Para visualizar os Atributos da Mquina de Estados, basta clicar em qualquer parte vazia da rea de Desenho. Essa categoria foi dividida em cinco etapas: Geral, Variveis, Interaes, Definio de Dados e Elementos para melhor entendimento. Etapa 1 Geral.

3 1 2 5 4

Figura 32 - rea de Atribuio - Geral

15

1 Data de Criao: neste campo exibe a data de criao do projeto MME; 2 Data de Atualizao: neste campo exibe a ultima data que o projeto MME foi modificado; 3 Titulo: use esse campo para definir um titulo para o projeto; 4 Autor: use esse campo para exibir o nome do autor do projeto; 5 Comentrio: use esse campo para descrever resumidamente o projeto. Etapa 2 Variveis

4 1

Figura 33 - rea de Atribuio Variveis

1 - Clique com o boto direito do mouse para Inserir Varivel ou Remover Varivel; 2 - Nome: nesse campo entre com o nome da varivel sem usar caracteres especiais e sempre iniciar com uma letra; 3 - Tipo: nesse campo defina o tipo da varivel: Integer, Real, Octetstring, Bitstring e Enumerated; 4 - Comentrio: esse campo no obrigatrio, mas til para se fazer anotaes gerias sobre a varivel ou seu contedo; Etapa 3 Interao

5 1
Figura 34 - rea de Atribuio Interao

16

1 - Clique com o boto direito do mouse para inserir uma nova Interao; 2 - Nome: nesse campo entre com o nome para a interao sem caracteres especiais e sempre iniciar com uma letra; 3 - Entrada: selecione essa caixa de seleo para definir a interao como sendo de entrada; 4 - Sada: selecione essa caixa de seleo para definir a interao como sendo se sada; 5 - Comentrio: use esse campo para comentar a interao. Etapa 4 Definio de Dados

2 1

8 6

10

Figura 35 - rea de Atribuio Definio de Dados

1 - Clique com o boto direito do mouse para inserir um novo Dado; 2 - Entrada: escolha uma das Interaes de entrada previamente cadastrada; 3 - Tipo: selecione o tipo do dado: Sequence, Set ou Choice. Abaixo encontra a descrio dos tipos; 4 - Tamanho: entre com o tamanho da seqncia; 5 - Comentrio: use esse campo para comentar o dado. 6 - Com o dado selecionado, clique com o boto direito do mouse para inserir um componente; 7 - Nome: nesse campo entre com o nome para o componente sem caracteres especiais e sempre iniciar com uma letra e neste caso necessrio que a primeira letra esteja em minsculo; 8 - Tipo: selecione o tipo do dado: Integer, Real, Octetstring, Bitstring, Ennumerated; 9 - Valores: nesse campo entre com os valores do componente; 10 - Comentrio: use esse campo para comentar o componente. Obs.: possvel representar estruturas de dados atravs dos tipos estruturados: Sequence, Set, Choice.

17

Os tipos Sequence e Set so similares, ambos so usados para agrupar uma coleo de tipos, incluindo tipo simples e estruturados. A diferena ente eles est na ordenao desses tipos. No tipo Sequence, a ordem em que os tipos so colocados importante, enquanto que no tipo Set a ordem no importa. O tipo Choice permite escolher um tipo de dentre um conjunto de tipos definidos. Etapa 5 Elemento

2 1
Figura 36 - rea de Atributos Elemento

1 Estados: esta lista exibe todos os estados existentes no projeto, informando o Ttulo, Nome e Comentrios dos estados; 2 Transies: esta lista exibe todas as transies existentes no projeto, informado o Ttulo, Nome e Comentrios das transies. 5.4.2 Atributos do Estado Para visualizar os Atributos do Estado, basta selecionar um estado e automaticamente aparecer na rea de Atributos. Essa categoria foi dividida em duas etapas: Estados Selecionados e Transies Relacionadas. Etapa 1 - Estados Selecionados

18

3 2 1 6 7 5

Figura 37 - Tela Atributos de Estados Selecionados

1 Nome: use esse campo para entrar com o nome do estado sem caracteres especiais e sempre iniciar com uma letra; 2 Titulo: esse campo gerado automaticamente, sendo o titulo que aparece dentro da figura estado na rea de Desenho; 3 Cor: use esse recurso para mudar a cor do estado selecionado, ao clicar no boto a tela para escolha de uma cor padro ou personalizada. Veja figura abaixo:

Figura 38 - Barra de Ferramentas Paleta de Cor

Caso escolha uma cor personalizada, poder adicionar essa cor s cores padro, basta clicar no boto Adicionar s cores personalizadas; 4 Coordenadas: indica a coordenada que se encontra o elemento selecionado; 5 Comentrio: use esse espao para fazer uma breve descrio sobre o estado selecionado;

19

6 Inicial: selecionando essa caixa de seleo, estar definindo esse estado como inicial, lembrando que somente pode haver um estado inicial em cada projeto. Entretanto o estado inicial tambm pode ser final; 7 Final: selecionando essa caixa de seleo, estar definindo esse estado como final, podendo existir mais de um estado final em cada projeto.

Etapa 2 - Transies Relacionadas

Figura 39 - Tela Atributos de Transies Selecionadas

1 Chegando: lista das transies que chegam at o estado selecionado; informando o Ttulo, Nome e Comentrios das transies; 2 Saindo: lista das transies que partem do estado selecionado, informando o Ttulo, Nome e Comentrios das transies. 5.4.3 Atributos de Transies Para visualizar os Atributos de Transies, basta selecionar uma transio e automaticamente aparecer na rea de Atributos. Essa categoria foi dividida em seis etapas: Transio Selecionada, Entrada, Condio, Aes, Faltas e Sadas. Etapa 1 Transio Selecionada

20

3 2 1 6 5

Figura 40 - rea de Atribuio Transio Selecionada

1 Nome: use esse campo para entrar com o nome da transio sem caracteres especiais e sempre iniciar com uma letra; 2 Titulo: esse campo gerado automaticamente, sendo o titulo que aparece dentro da figura transio na rea de Desenho; 3 Cor: use esse recurso para mudar a cor de uma transio selecionada, ao clicar no boto a tela para escolha de uma cor padro ou personalizada. Veja figura abaixo:

Figura 41 - Barra de Ferramentas Paleta de Cor

Caso escolha uma cor personalizada, poder adicionar essa cor s cores padro, basta clicar no boto Adicionar s cores personalizadas; 4 Coordenadas: indica a coordenada que se encontra o elemento selecionado; 5 Comentrio: use esse espao para fazer uma breve descrio sobre o estado selecionado; 6 Estados: este se encontra dividido em: *Origem: este campo mostra o estado de origem da transio selecionada; *Destino: este campo mostra o estado de destino da transio selecionada;

21

*Titulo: este campo mostra o titulo do estado de origem/destino, podendo mudar selecionando outro estado, mudando tambm na rea de Desenho; *Nome: exibe o nome do estado de origem/destino; *Comentrio: exibe o comentrio inserido no estado. Etapa 2 Entradas

5 1

Figura 42 - rea de Atributos Entradas

1 - Clique com o boto direito do mouse para inserir uma nova entrada; 2 - Nome: escolha a interao de entrada que j esteja cadastrada; 3 - Camada: escolha a camada: Inferior ou Superior; 4 - Parmetros: Entre com o parmetro da entrada; 5 - Comentrio: use esse campo para comentar a entrada. Etapa 3 Condio

3 1

Figura 43 - rea de Atribuio Condio

1 - Clique com o boto direito do mouse para inserir uma nova condio; 2 - Condio: use esse campo para entrar com a condio sem caracteres especiais e sempre iniciar com uma letra;

22

3 - Comentrio: use esse campo para comentar a condio. Etapa 4 Ao

3 1

Figura 44 - rea de Atribuio Aes

1 - Clique com o boto direito do mouse para inserir uma nova ao; 2 - Ao: use esse campo para entrar com a ao sem caracteres especiais e sempre iniciar com uma letra; 3 - Comentrio: use esse campo para comentar a ao. Etapa 5 Faltas

3 1

Figura 45 - rea de Atribuio Falta

1 - Clique com o boto direito do mouse para inserir uma nova falta; 2 - Falta: use esse campo para entrar com a falta sem caracteres especiais e sempre iniciar com uma letra; 3 - Comentrio: use esse campo para comentar a falta. Etapa 6 Sada

23

5 1

Figura 46 - rea de Atribuio Sada

1 - Clique com o boto direito do mouse para inserir uma nova sada; 2 - Nome: escolha a interao de sada que j esteja cadastrada; 3 - Camada: escolha a camada: Inferior ou Superior; 4 - Parmetros: Entre com o parmetro da sada; 5 - Comentrio: use esse campo para comentar a sada.

6. Ferramenta CONDADO
Introduo A CONDADO tem por objetivo a gerao de testes combinando controle e dados dos parmetros de interaes do protocolo e para isto utiliza trs tcnicas de caixa preta: teste de transio de estados, teste de sintaxe e teste de domnio. Para possibilitar o mtodo de gerao de teste, uma linguagem para a especificao de protocolos foi descrita e chamada de Linguagem de Especificao de Protocolos (LEP) permitindo ento que a CONDADO realize a transformao da especificao do protocolo em uma especificao de teste e em seguida gere os casos de teste utilizando as tcnicas de caixa preta citadas anteriormente. O mtodo de gerao de teste consiste no seguinte: primeiramente, definem-se os requisitos do protocolo representados por uma mquina de estados finita estendida expressa em LEP, que serve como entrada para o analisador. O analisador, por sua vez, monta a tabela de smbolos, o cdigo intermedirio da especificao e gera a matriz de transio contendo a parte de controle do protocolo. Com base na matriz de transio gerada pelo analisador, o verificador de propriedades analisa a especificao com o objetivo de definir quais as propriedades que esta possui. Tanto o analisador como o verificador de propriedades apenas oferece servios a CONDADO a qual baseada na tabela de smbolos, cdigo intermedirio e propriedades da especificao utiliza seus dois componentes

24

principais para gerar os casos de teste. Os componentes principais da CONDADO consistem no seguinte: Conversor Este componente baseia-se na especificao em LEP, obtida atravs dos servios do analisador, e na satisfao dos requisitos da especificao para transformar os dados e transies em uma especificao de teste cujo formato baseado em Clusulas de Horn, que so interpretadas em Prolog. O conversor for substitudo pela MME, quando esta foi integrada a Condado. Gerador De posse das Clusulas de Horn fornecidas pelo Conversor e das restries definidas pelo usurio, este componente utiliza um conjunto de tcnicas de caixa preta implementadas em Prolog para gerar seqncias de teste as quais englobam controle e dados. A CONDADO permite ainda testes completos ou seletivos, onde nos testes seletivos o usurio define propsitos de teste como, por exemplo, quais transies sero testadas ou quantas vezes sero executas. Alm disso, o usurio pode utilizar as restries para auxiliar na gerao dos casos de teste onde, no havendo restrio, todos os casos de teste para as tcnicas implementadas pela CONDADO sero geradas. Restries Para usarmos as restries da contado devemos editar o arquivo arq.pl, para tanto abra o arquivo com o bloco de notas. O arquivo possui os seguintes campos arquivo('TesteCondado.seq').:nome do arquivo que conter a seqncia de teste; r1([]).: est restrio define o nmero de vezes que executar uma determinada transio; r2([]).: est restrio define quais transies sero percorridas.

7. Exemplo de uso da MME com a CONDADO


Para nosso exemplo ser usada a seguinte mquina de estados:

25

d/s4
EstadoA EstadoD

a/s1

g/s7

e/s5

f/s6

EstadoB

b/s2 c/s3

EstadoC

Figura 47 - MEF Exemplo

Usando a MEF acima iremos demonstrar como usar a MME. Sero descritos aqui algumas consideraes e reforar algumas restries no uso do aplicativo. Passo 1 Analisamos a MEF para abstraiamos algumas informaes, tais como as entradas, sadas, nmeros de estados e nmero de transies (dentro da MME as transies so descritas como sendo entrada e sada ou Interao de entrada e sada). Analisando o exemplo acima encontramos as seguintes informaes: Entradas: a, b, c, d, e, f, g Sadas: s1, s2, s3, s4, s5, s6, s7 N Estados: 4 N Transies: 7 Passo 2 Agora cadastraremos essas informaes no aplicativo MME. Primeiro abre se o aplicativo MME e em seguida escolhemos a opo Interao na rea de Atribuio, clicamos com o boto direito do mouse e escolhemos a opo Inserir Interao: Em seguida entramos com o nome e selecionamos o tipo da interao: Entrada ou Sada.Ver figura abaixo:

26

Figura 48 - Exemplo Inserir Interao

Obs.: os nomes das interaes de entrada e sada, no devem conter caracteres especiais ou iniciar com nmeros. Para esse exemplo cadastraremos todas as entradas e sadas mencionadas no passo anterior. Passo 3 Com todas as entradas e sadas cadastradas, adicionaremos a rea de Desenho os Estados e as Transies. Para tanto clicamos no boto Incluir Estado da barra de ferramentas para habilitar a funo de incluso de estado. Uma vez clicado o boto basta clicar na rea de Desenho para que a figura representativa aparea, podendo adicionar quantos estados forem necessrios. Quando j estiver adicionado todos os estados, clique outra vez no boto Incluir Estado para desabilitar a funo. Ver figura abaixo:

27

Figura 49 - Exemplo Inserir Estado

Para inserir as transies basta selecionar dois estados simultaneamente e clicar no boto Incluir transio entre estados selecionados. Para selecionar mais de um estado ao mesmo tempo, permanea com o boto Shift do teclado pressionado. Repare na figura abaixo o circulo azul em volta dos estados selecionados:

Figura 50 - Exemplo Inseris Transio

28

Passo 4 Renomer os estados e as transies. Para tanto selecione o estado EO, na rea de Atribuio dever aparecer os Atributos do Estado. Ver figura abaixo:

Figura 51 Exemplo Nomear o Estado

No lugar de estado0 renomeie para EstadoA. O mesmo pode ser feito com os outros estados E1, E2 e E3. Sendo que na figura que aparece na rea de Desenho no muda o nome, sempre aparecendo E0, E1, E2 e E3. Para renomearmos uma transio, selecione a transio TO, a rea de Atribuio dever aparecer os Atributos de Transies. Ver figura abaixo:

Figura 52 - Exemplo Nomear Transio

No lugar de transicao0 renomeie para a. O mesmo pode ser feito com as outras transies T1, T2, T3, T4, T5 e T6.

29

Como no caso dos estados a figura que aparece na rea de Desenho no muda o nome, sempre aparecendo T0, T1, T2, T3, T4, T5 e T6. At o momento a imagem do projeto esta desta maneira:

Figura 53 Exemplo Atual

Passo 5 Por padro a MME define o estado E0 como estado inicial, podendo ser diferencia pela seta de indicao que aparece no estado agora iremos seleciona-lo para defini-lo tambm como estado final. Primeiro selecionamos o estado E0, dever aparecer na rea de Atribuio os Atributos do Estado como na Figura 51 Exemplo Nomear o Estado, observamos que a caixa de seleo Inicial est marcada, o que devemos fazer marcar tambm a caixa de seleo Final, podendo ver que a figura representando o Estado A mudou um pouco sua forma, adicionando um novo circulo dentro do estado. Veja abaixo:

Estado Inicial

Figura 54 - Exemplo Estado Final

Estado Inicial e Final.

Obs.: lembrando que somente pode existir um estado inicial. Mas pode haver mais de um estado final. Passo 6 Agora iremos adicionar valores as transies. Primeiro selecionaremos a transio T0, dever aparecer na rea de Atribuio os Atributos de Transies como na Figura 52 - Exemplo Nomear Transio, escolheremos a

30

opo Entrada, na parte branca dentro da rea de Atribuio, clicaremos com o boto direito do mouse para inserirmos uma nova entrada. Entraremos com as seguintes informaes: Nome: a Camada: INFERIOR Parmetros: deixar esse campo vazio Comentrio: Entrada da transio TO Veja a figura abaixo:

Figura 55 - Exemplo Inserir Entrada

Mantendo a transio T0 selecionada escolheremos a opo Sada, na parte branca dentro da rea de Atribuio, clicaremos com o boto direito do mouse para inserirmos uma nova sada. Entraremos com as seguintes informaes: Nome: s1 Camada: INFERIOR Parmetros: deixar esse campo vazio Comentrio: Sada da transio TO Veja a figura abaixo:

Figura 56 - Exemplo Inserir Sada

31

Repetir o processo para as outras transies. O campo Parmetros da opo Entrada e opo Sada poder ficar vazio para todas as transies. O campo Camada poder deixar selecionado INFERIOR tambm para todas as transies. Item T1 Nome: b Comentrio: Entrada da transio T1 Nome: c Comentrio: Entrada da transio T2 Nome: d Comentrio: Entrada da transio T3 Nome: e Comentrio: Entrada da transio T4 Nome: f Comentrio: Entrada da transio T5 Nome: g Comentrio: Entrada da transio T6 Entrada Nome: s2 Comentrio: Sada da transio T1 Nome: s3 Comentrio: Sada da transio T2 Nome: s4 Comentrio: Sada da transio T3 Nome: s5 Comentrio: Sada da transio T4 Nome: s6 Comentrio: Sada da transio T5 Nome: s7 Comentrio: Sada da transio T6 Sada

T2 T3 T4 T5 T6
Passo 7

Nesse ponto podemos gerar uma base de fatos que servir como entrada da ferramenta CONDADO. Clicamos no menu Arquivo, sub-menu Exportar e escolhemos Base de Fatos... Veja a figura abaixo:

Figura 57 - Exportar Base de Fatos

Aparecer uma tela pedindo o caminho onde ser salvo o arquivo um nome para o mesmo. Obs. 1: para que a MME possa executar a ferramenta CONDADO, preciso que o arquivo seja salvo junto com os arquivos arp.pl, gerador.exe e LIBPL.DLL no seguinte endereo: C:\ MME\Condado\

32

Obs. 2: o nome deve ser base.pl para que a ferramenta CONDADO possa executa-lo. Veja a figura abaixo:

Figura 58 - Salvar Base de Fatos

Com o arquivo base.pl salvo no diretrio correto, podemos executar a ferramenta CONDADO. Clique no menu Gerar Teste e sub-menu Condado. Aparecer uma tela estilo MSDOS, assim que a ferramenta terminar de gerar os casos de teste a tela desaparece automaticamente. Para ver os casos de teste gerados pela ferramenta CONDADO, basta ir ao mesmo diretrio onde se encontra a base.pl. Neste exemplo foram gerados os seguintes casos e teste:
senddata(L,a) senddata(L,b) senddata(L,c) senddata(L,b) senddata(L,e) senddata(L,f) senddata(L,g) senddata(L,a) senddata(L,b) senddata(L,c) senddata(L,b) senddata(L,g) recdata(L,s1) recdata(L,s2) recdata(L,s3) recdata(L,s2) recdata(L,s5) recdata(L,s6) recdata(L,s7) recdata(L,s1) recdata(L,s2) recdata(L,s3) recdata(L,s2) recdata(L,s7) senddata(L,d) senddata(L,f) senddata(L,c) senddata(L,b) senddata(L,e) senddata(L,f) senddata(L,g) senddata(L,d) senddata(L,f) senddata(L,c) senddata(L,b) senddata(L,g) recdata(L,s4) recdata(L,s6) recdata(L,s3) recdata(L,s2) recdata(L,s5) recdata(L,s6) recdata(L,s7) recdata(L,s4) recdata(L,s6) recdata(L,s3) recdata(L,s2) recdata(L,s7)

senddata(L,a) recdata(L,s1) senddata(L,b) recdata(L,s2) senddata(L,e) recdata(L,s5)

senddata(L,d) recdata(L,s4) senddata(L,f) recdata(L,s6) senddata(L,e) recdata(L,s5)

33

senddata(L,f) senddata(L,c) senddata(L,b) senddata(L,g) senddata(L,a) senddata(L,b) senddata(L,e) senddata(L,f) senddata(L,g)

recdata(L,s6) recdata(L,s3) recdata(L,s2) recdata(L,s7) recdata(L,s1) recdata(L,s2) recdata(L,s5) recdata(L,s6) recdata(L,s7)

senddata(L,f) senddata(L,c) senddata(L,b) senddata(L,g) senddata(L,d) senddata(L,f) senddata(L,e) senddata(L,f) senddata(L,g)

recdata(L,s6) recdata(L,s3) recdata(L,s2) recdata(L,s7) recdata(L,s4) recdata(L,s6) recdata(L,s5) recdata(L,s6) recdata(L,s7)

senddata(L,a) recdata(L,s1) senddata(L,b) recdata(L,s2) senddata(L,g) recdata(L,s7)

senddata(L,d) recdata(L,s4) senddata(L,f) recdata(L,s6) senddata(L,g) recdata(L,s7) 10

O valor numrico apresentado no final dos casos de teste mostra a quantidade de casos gerados. Cada caso de teste separado por uma linha em branco. Removendo alguns dados desse caso de teste para limpa-lo temos: Obs: exemplo: senddata(L,a) recdata(L,s1) Sendo que senddata(L,a) a entrada da transio e recdata(L,s1) a sada da transio. Tambm foi removido o nmero representando a quantidade de casos gerados. Os itens removidos foram: senddata(L,) mantendo somente o a a entrada e recdata(L,), mantendo s1 a sada. Veja abaixo os casos de teste contendo somente as entradas e sadas (total 10 c.t.). a b c b e f g s1 s2 s3 s2 s5 s6 s7 a b e f c b g a b e f g s1 s2 s5 s6 s3 s2 s7 s1 s2 s5 s6 s7 a s1 b s2 g s7 d s4 f s6 c s3 b s2 g s7 d s4 f s6 e s5 f s6 g s7

a s1 b s2 c s3 b s2 g s7

d f c b e f g

s4 s6 s3 s2 s5 s6 s7

d f e f c b g

s4 s6 s5 s6 s3 s2 s7

d s4 f s6 g s7

34

Usando as Restries da Ferramenta CONDADO Tomando o exemplo da mquina de estados descrito na Figura 47 - MEF Exemplo. Abrimos o arquivo arq.pl com um editor de texto como, por exemplo, o bloco de notas. O arquivo se encontra no diretrio de instalao da CONDADO. Editaremos os campos da seguinte maneira: Para arquivo( ), escreva o nome TesteDeRestricao.pl. Sendo este o nome do arquivo a ser gerado com os casos de teste; Para r1 entre com r1([[transicao1,2],[transicao2,2]]).. Isso significa que passar 2 vezes pelas transies entre os estados: EstadoB e EstadoC, conforme o exemplo; Veja abaixo os casos de teste contendo somente as entradas e sadas usando a restrio r1 (total 10 c.t.). a b c b c b e f g d f c b e f g s1 s2 s3 s2 s3 s2 s5 s6 s7 s4 s6 s3 s2 s5 s6 s7 a b c b c b g s1 s2 s3 s2 s3 s2 s7 a b e f c b c b g d f e f c b g s1 s2 s5 s6 s3 s2 s3 s2 s7 s4 s6 s5 s6 s3 s2 s7 a b e f g s1 s2 s5 s6 s7 a s1 b s2 g s7

d s4 f s6 c s3 b s2 g s7

d f e f g

s4 s6 s5 s6 s7

d s4 f s6 g s7

Para r2 entre com: r2([transicao3]).. Isso significa que ir cobrir a transio entre os estados: EstadoA e EstadoD, conforme o exemplo. Veja abaixo os casos de teste contendo somente as entradas e sadas usando a restrio r2 (total 5 c.t.). d f c b e f g s4 s6 s3 s2 s5 s6 s7 d s4 f s6 c s3 b s2 g s7 d f e f c b g s4 s6 s5 s6 s3 s2 s7 d f e f g s4 s6 s5 s6 s7 d s4 f s6 g s7

35

36

Você também pode gostar