Extração automática de modelos CSP a partir de casos de uso

Submitted by Flasleandro Oliveira (flasleandro.oliveira@cprm.gov.br) on 2014-05-05T18:18:39Z No. of bitstreams: 1 dissertacao_rbsa_final.pdf: 3125474 bytes, checksum: 127a694ac384496fa8a37d473ede57da (MD5) === Approved for entry into archive by Flasleandro Oliveira (flasleandro.oliveira@cprm.gov.b...

Full description

Bibliographic Details
Main Author: ARAÚJO, Renata Bezerra e Silva de
Language:Portuguese
Published: 2014
Subjects:
Online Access:http://rigeo.cprm.gov.br/xmlui/handle/doc/1192
Description
Summary:Submitted by Flasleandro Oliveira (flasleandro.oliveira@cprm.gov.br) on 2014-05-05T18:18:39Z No. of bitstreams: 1 dissertacao_rbsa_final.pdf: 3125474 bytes, checksum: 127a694ac384496fa8a37d473ede57da (MD5) === Approved for entry into archive by Flasleandro Oliveira (flasleandro.oliveira@cprm.gov.br) on 2014-05-05T18:18:52Z (GMT) No. of bitstreams: 1 dissertacao_rbsa_final.pdf: 3125474 bytes, checksum: 127a694ac384496fa8a37d473ede57da (MD5) === Approved for entry into archive by Flasleandro Oliveira (flasleandro.oliveira@cprm.gov.br) on 2014-05-05T18:19:00Z (GMT) No. of bitstreams: 1 dissertacao_rbsa_final.pdf: 3125474 bytes, checksum: 127a694ac384496fa8a37d473ede57da (MD5) === Made available in DSpace on 2014-05-05T18:19:09Z (GMT). No. of bitstreams: 1 dissertacao_rbsa_final.pdf: 3125474 bytes, checksum: 127a694ac384496fa8a37d473ede57da (MD5) === No ciclo de vida de desenvolvimento de software, especificação de requisitos é uma atividade muito propensa a definições incorretas. Isto geralmente acontece porque esses documentos são normalmente escritos em linguagem natural, tornando muito alta a possibilidade de introduzir ambiguidades e interpretações errôneas. Por outro lado, a utilização de linguagem natural traz simplicidade e flexibilidade ao se especificar requisitos, considerando que esta é uma notação que pode ser compreendida tanto pelo cliente quanto pelo desenvolvedor. Uma vez que projetos de software possuem documentos precisos, engenheiros de software que tenham bom conhecimento em linguagens formais podem criar manualmente uma especificação formal com o propósito de validar as propriedades do sistema. No entanto, esta criação manual pode não cobrir todos os requisitos ou podem conter inconsistências. Desta forma, a geração automática de modelos formais a partir de documento de requisitos parece ser uma boa solução para este problema. Para alcançar este objetivo, os documentos de requisitos devem ser simples, diretos, uniformes e sem ambuiguidades. Para que isto aconteça, Linguagens Naturais Controladas (Controlled Natural Languages - CNL) são comumente utilizadas. Este trabalho faz parte do projeto de Pesquisa e Desenvolvimento do CIn Brazil Test Center (CInBTCRD), que é uma cooperação entre a Motorola e o Centro de Informática da Universidade Federal de Pernambuco (CIn-UFPE). Em primeiro lugar, este trabalho propõe uma linguagem restrita (CNL) para definir casos de uso contendo uma noção de estado, os quais consideram dados de entrada, saída, guarda e atualização de variáveis, como um complemento para a descrição textual. Depois disso, uma tradução automática dessa linguagem para a algebra de processos CSP foi proposta, a fim de permitir a análise formal de requisitos e geração de casos de teste. Finalmente, foi realizada a implementação e integração desta linguagem e sua tradução para CSP em uma ferramenta conhecida como TaRGeT, cujo propósito é a geração de casos de teste a partir de documentos de casos de uso que seguem um template padrão e são escritos utilizando uma CNL. A TaRGeT original não era capaz de lidar com definições de dados e as manipulações destes dados, e utiliza sistemas rotulados por transição (labelled transition systems) em vez de CSP, como formalismo. Para ilustrar as técnicas propostas neste trabalho, um estudo de caso foi realizado no ambiente da Motorola, adaptando um exemplo de caso de uso real da indústria de modo a encaixá-lo no nosso template. O documento de caso de uso considera situações de envio e recebimento de SMS/MMS, contendo uma feature com 7 casos de uso, incluindo definições e manipulações de dados, relacionamentos entre casos de uso e 6 fluxos alternativos. O CSP gerado contém 570 linhas de código e a verificação de suas propriedades foi checada com sucesso utilizando-se a ferramenta FDR, um verificador de modelo para CSP