From natural language requirements to formal descriptions in Alloy through boilerplates

Detalhes bibliográficos
Autor(a) principal: Cadete, Daniel Nascimento
Data de Publicação: 2012
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/1822/27964
Resumo: Dissertação de mestrado em Engenharia de Informática
id RCAP_28921d1861679c0e950d866528a0bdeb
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/27964
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling From natural language requirements to formal descriptions in Alloy through boilerplates681.3.062Dissertação de mestrado em Engenharia de InformáticaFormal Methods are usually applied by specialists in the final phases of software development. They aim to identify programming errors, and through that reduce the probability of a future failure. Usually, errors are more related with misinterpretation of requirements than with bad programming. More than ever, requirements documents deal with complex terms, which programmers aren’t familiar with, resulting in an increase of misinterpretation of requirements and increasing the costs of the execution of a software project. The use of formal methods could reduce these costs, if properly used to verify requirements and not source code. However, most companies avoid using formal methods due to high costs associated with formal methods application. Programmers or requirements engineers can’t apply formal methods efficiently without previously having specific training, which implies hiring expensive specialists in formal methods. This dissertation presents methods which aim to bring formal methods closer to requirements descriptions. For such, formal modeling is used to verify and validate the descriptions of requirements, and not source code. Initially it’s presented a standard to create formal models, which makes a direct correspondence between each requirement and its model. This standard is supported by a tool which, among other things, automatically generates graphics representations of requirements using its models. Afterwards it’s presented a connection between requirements boilerplates and Alloy models. This connection allows to generate formal models in an automatic fashion, without the need of a specialist. This drastically reduces the costs of using formal methods in software projects. It’s also presented the beginning of an algebra which allows to aggregate these templates. This aggregation allows one to write its requirements documents throught boilerplates and at the end have the complete model of all requirements, for free. When one is modeling a requirements document in Alloy and at some point appears requirements with explicit temporal restrictions, it’s necessary to recreate the whole model in a tool which allows that kind of specification (eg. Uppaal). This process is highly error prone, because it’s a manual transformation and highly dependent on the interpretation of who is modeling. In this dissertation it’s presented a method which allows to automatically generate an Uppaal model from an Alloy model. This transformation allows that at any point in the requirements document, the requirements engineer can generate the correspondent Uppaal model and there specify the temporal properties.Os métodos formais são normalmente aplicados por especialistas nas fases finais do desenvolvimento de software. A sua aplicação visa identificar erros de programação, reduzindo assim a probabilidade de uma falha futura. Tipicamente, os erros que se encontram prendem-se com má interpretação de requisitos e não má programação. Cada vez mais os documentos de requisitos tratam de termos complexos e fora do conhecimento do programador, o que leva a mais erros de interpretação e consequentemente a um aumento dos custos de execução de um projeto de software. A utilização de métodos formais poderia minimizar estes custos, caso eles fossem utilizados não para verificar código, mas sim para verificar requisitos. No entanto, muitas empresas evitam a utilização de métodos formais, devido ao custo elevado da sua aplicação. Os programadores ou engenheiros de requisitos não conseguem aplicar métodos formais de forma eficiente sem terem formação prévia e específica na área, o que implica a contratação de especialistas em métodos formais. Nesta dissertação são apresentados métodos que visam aproximar os métodos formais da escrita dos requisitos. Para tal, a modelação formal é utilizada não para verificar código, mas para verificar a escrita de requisitos. Inicialmente é apresentado um standard para a criação de modelos, que faz uma correspondência direta entre cada requisito e o seu modelo formal. Este standard é suportado por uma ferramenta que, entre outras coisas, gera de forma automática representações gráficas dos requisitos através dos seus modelos. Posteriormente é apresentada uma conexão entre templates de requisitos (requirements boilerplates) e modelos Alloy. Esta conexão permite a criação de modelos formais de forma automática, sem necessidade de um especialista. Isto reduz drasticamente o custo de utilização de métodos formais. Apresenta-se igualmente o começo de uma álgebra que permite agregar estes templates. Esta agregação permite que um engenheiro de requisitos escreva o seu documento de requisitos através de templates e no fim tenha de forma automática o modelo formal de todos os requisitos. Quando se está a modelar um documento de requisitos em Alloy e a certo ponto aparecem requisitos com restrições temporais explícitas, é necessário recriar todo o modelo numa ferramenta que permita essa modelação (ex: Uppaal). Este processo está sujeito a erros, porque esta transformação é manual e altamente dependente da interpretação de quem está a modelar. Nesta dissertação é apresentado um método que permite a geração automática de um modelo Uppaal a partir de um modelo Alloy. Esta transformação permite que a qualquer ponto da modelação em Alloy, se crie o modelo Uppaal correspondente e se especifiquem as propriedades temporais.Oliveira, José Nuno FonsecaUniversidade do MinhoCadete, Daniel Nascimento2012-04-052012-04-05T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/1822/27964enginfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-07-21T12:20:35Zoai:repositorium.sdum.uminho.pt:1822/27964Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T19:13:46.463978Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv From natural language requirements to formal descriptions in Alloy through boilerplates
title From natural language requirements to formal descriptions in Alloy through boilerplates
spellingShingle From natural language requirements to formal descriptions in Alloy through boilerplates
Cadete, Daniel Nascimento
681.3.062
title_short From natural language requirements to formal descriptions in Alloy through boilerplates
title_full From natural language requirements to formal descriptions in Alloy through boilerplates
title_fullStr From natural language requirements to formal descriptions in Alloy through boilerplates
title_full_unstemmed From natural language requirements to formal descriptions in Alloy through boilerplates
title_sort From natural language requirements to formal descriptions in Alloy through boilerplates
author Cadete, Daniel Nascimento
author_facet Cadete, Daniel Nascimento
author_role author
dc.contributor.none.fl_str_mv Oliveira, José Nuno Fonseca
Universidade do Minho
dc.contributor.author.fl_str_mv Cadete, Daniel Nascimento
dc.subject.por.fl_str_mv 681.3.062
topic 681.3.062
description Dissertação de mestrado em Engenharia de Informática
publishDate 2012
dc.date.none.fl_str_mv 2012-04-05
2012-04-05T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/1822/27964
url http://hdl.handle.net/1822/27964
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799132577131397120