A methodology to apply formal verification to UML-based software
Autor(a) principal: | |
---|---|
Data de Publicação: | 2015 |
Tipo de documento: | Tese |
Idioma: | eng |
Título da fonte: | Biblioteca Digital de Teses e Dissertações do INPE |
Texto Completo: | http://urlib.net/sid.inpe.br/mtc-m21b/2015/09.08.18.24 |
Resumo: | Software development organizations aim to add quality to the created products, especially those dealing with critical systems, which require high quality software. Formal Methods offer a large potential to provide more effective verification techniques. Besides, Formal Verification methods, such as Model Checking, are best applied in early stages of system design, when costs are low and benefits can be high, increasing the quality of systems. Unified Modeling Language (UML) is widely used for modeling (object-oriented) software, and its use is increasing in the aerospace industry. Verification and Validation of complex software developed according to UML is not trivial due to complexity of the software itself, and the several different UML models/diagrams that can be used to model behavior and structure of the software. This PhD thesis presents an extension of a methodology called SOLIMVA, initially developed to generate model-based system and acceptance test cases considering Natural Language requirements artifacts (SOLIMVA 1.0), and to detect incompleteness in software specifications by means of Model Checking (SOLIMVA 2.0). Such an extension generated SOLIMVA 3.0 which transforms up to three different UML behavioral diagrams (sequence, behavioral state machine, and activity) into a single Transition System to support Model Checking of software developed in accordance with UML. In SOLIMVA 3.0, properties are formalized based on use case models or requirements expressed in pure textual notation. The translation into the Transition System is done for the NuSMV model checker, but there is a possibility in using other model checkers, such as SPIN. A tool, XML Metadata Interchange to Transition System (XMITS), was developed to automate some steps of SOLIMVA 3.0 methodology. The approach was applied to two real case studies (embedded software) related to project under development at Instituto Nacional de Pesquisas Espaciais (INPE). Defects were detected within the design of these software systems showing the feasibility of the methodology. The main contribution of this PhD thesis is the transformation of a non-formal language (UML) to a formal language (language of the NuSMV model checker) towards a greater adoption in practice of Formal Methods in software development. |
id |
INPE_d4094b419adabd47b11f77b1393dae2d |
---|---|
oai_identifier_str |
oai:urlib.net:sid.inpe.br/mtc-m21b/2015/09.08.18.24.45-0 |
network_acronym_str |
INPE |
network_name_str |
Biblioteca Digital de Teses e Dissertações do INPE |
spelling |
info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisA methodology to apply formal verification to UML-based softwareUma metodologia para aplicar verificação formal a software desenvolvido de acordo com UML2015-10-02Valdivino Alexandre de Santiago JúniorNandamudi Lankalapalli VijaykumarFábio Fagundes SilveiraEdgar Toshiro YanoLuciana Brasil Rebelo dos SantosInstituto Nacional de Pesquisas Espaciais (INPE)Programa de Pós-Graduação do INPE em Computação AplicadaINPEBRUMLformal verificationmodel checkingSOLIMVAformal methodsverificação formalmétodos formaisSoftware development organizations aim to add quality to the created products, especially those dealing with critical systems, which require high quality software. Formal Methods offer a large potential to provide more effective verification techniques. Besides, Formal Verification methods, such as Model Checking, are best applied in early stages of system design, when costs are low and benefits can be high, increasing the quality of systems. Unified Modeling Language (UML) is widely used for modeling (object-oriented) software, and its use is increasing in the aerospace industry. Verification and Validation of complex software developed according to UML is not trivial due to complexity of the software itself, and the several different UML models/diagrams that can be used to model behavior and structure of the software. This PhD thesis presents an extension of a methodology called SOLIMVA, initially developed to generate model-based system and acceptance test cases considering Natural Language requirements artifacts (SOLIMVA 1.0), and to detect incompleteness in software specifications by means of Model Checking (SOLIMVA 2.0). Such an extension generated SOLIMVA 3.0 which transforms up to three different UML behavioral diagrams (sequence, behavioral state machine, and activity) into a single Transition System to support Model Checking of software developed in accordance with UML. In SOLIMVA 3.0, properties are formalized based on use case models or requirements expressed in pure textual notation. The translation into the Transition System is done for the NuSMV model checker, but there is a possibility in using other model checkers, such as SPIN. A tool, XML Metadata Interchange to Transition System (XMITS), was developed to automate some steps of SOLIMVA 3.0 methodology. The approach was applied to two real case studies (embedded software) related to project under development at Instituto Nacional de Pesquisas Espaciais (INPE). Defects were detected within the design of these software systems showing the feasibility of the methodology. The main contribution of this PhD thesis is the transformation of a non-formal language (UML) to a formal language (language of the NuSMV model checker) towards a greater adoption in practice of Formal Methods in software development.Organizações que desenvolvem software objetivam produzir produtos de software de qualidade, especialmente aquelas que lidam com sistemas críticos, que demandam software de alta qualidade. Métodos Formais oferecem grande potencial para prover técnicas de verificação mais efetivas. Além disso, métodos de Verificação Formal, como Model Checking, são aplicados de maneira mais eficiente nos estágios iniciais do projeto de software, quando os custos ainda são baixos e os benefícios podem ser altos, aumentando a qualidade dos sistemas de software. A Linguagem de Modelagem Unificada (UML) é consideravelmente utilizada para modelar software (orientado a objetos), e seu uso tem crescido na indústria aeroespacial. Verificação e Validação de sistemas complexos desenvolvidos de acordo com UML não são tarefas triviais, devido à complexidade do software em si, e a diversos diagramas/modelos UML diferentes que podem ser usados para modelar o comportamento e a estrutura do sistema. Esta tese de doutorado apresenta uma extensão de uma metodologia chamada SOLIMVA, desenvolvida inicialmente para gerar casos de teste de sistema e de aceitação baseados em modelos, considerando requisitos em Linguagem Natural (SOLIMVA 1.0), e para detectar não completude em especificações de software utilizando Model Checking (SOLIMVA 2.0). Tal extensão gerou a SOLIMVA 3.0, a qual transforma até três diferentes diagramas comportamentais da UML (sequência, atividades e máquina de estado) em um único Sistema de Transição de Estados para possibilitar a aplicação de Model Checking em software desenvolvido de acordo com a UML. Na SOLIMVA 3.0, as propriedades são formalizadas baseando-se nos modelos de casos de uso ou em requisitos expressos em notação textual pura. A tradução para o Sistema de Transição de Estados é feita para a ferramenta de Model Checking NuSMV, mas existe a possibilidade de se utilizar outras ferramentas, como por exemplo, SPIN. Uma ferramenta, XML Metadata Interchange to Transition System (XMITS), foi desenvolvida para automatizar algumas atividades da metodologia SOLIMVA 3.0. A abordagem foi aplicada em dois estudos de caso reais (software embarcado) relacionados a um projeto em desenvolvimento no Instituto Nacional de Pesquisas Espaciais (INPE). Foram encontrados defeitos nos projetos desses sistemas de software, mostrando a viabilidade da metodologia. A principal contribuição desta tese de doutorado é a transformação de uma linguagem não formal (UML) para uma linguagem formal (linguagem de entrada da ferramenta de Model Checking NuSMV), tendo como objetivo uma maior utilização, na prática, de Métodos Formais no processo de desenvolvimento de software.http://urlib.net/sid.inpe.br/mtc-m21b/2015/09.08.18.24info:eu-repo/semantics/openAccessengreponame:Biblioteca Digital de Teses e Dissertações do INPEinstname:Instituto Nacional de Pesquisas Espaciais (INPE)instacron:INPE2021-07-31T06:54:51Zoai:urlib.net:sid.inpe.br/mtc-m21b/2015/09.08.18.24.45-0Biblioteca Digital de Teses e Dissertaçõeshttp://bibdigital.sid.inpe.br/PUBhttp://bibdigital.sid.inpe.br/col/iconet.com.br/banon/2003/11.21.21.08/doc/oai.cgiopendoar:32772021-07-31 06:54:53.191Biblioteca Digital de Teses e Dissertações do INPE - Instituto Nacional de Pesquisas Espaciais (INPE)false |
dc.title.en.fl_str_mv |
A methodology to apply formal verification to UML-based software |
dc.title.alternative.pt.fl_str_mv |
Uma metodologia para aplicar verificação formal a software desenvolvido de acordo com UML |
title |
A methodology to apply formal verification to UML-based software |
spellingShingle |
A methodology to apply formal verification to UML-based software Luciana Brasil Rebelo dos Santos |
title_short |
A methodology to apply formal verification to UML-based software |
title_full |
A methodology to apply formal verification to UML-based software |
title_fullStr |
A methodology to apply formal verification to UML-based software |
title_full_unstemmed |
A methodology to apply formal verification to UML-based software |
title_sort |
A methodology to apply formal verification to UML-based software |
author |
Luciana Brasil Rebelo dos Santos |
author_facet |
Luciana Brasil Rebelo dos Santos |
author_role |
author |
dc.contributor.advisor1.fl_str_mv |
Valdivino Alexandre de Santiago Júnior |
dc.contributor.advisor2.fl_str_mv |
Nandamudi Lankalapalli Vijaykumar |
dc.contributor.referee1.fl_str_mv |
Fábio Fagundes Silveira |
dc.contributor.referee2.fl_str_mv |
Edgar Toshiro Yano |
dc.contributor.author.fl_str_mv |
Luciana Brasil Rebelo dos Santos |
contributor_str_mv |
Valdivino Alexandre de Santiago Júnior Nandamudi Lankalapalli Vijaykumar Fábio Fagundes Silveira Edgar Toshiro Yano |
dc.description.abstract.por.fl_txt_mv |
Software development organizations aim to add quality to the created products, especially those dealing with critical systems, which require high quality software. Formal Methods offer a large potential to provide more effective verification techniques. Besides, Formal Verification methods, such as Model Checking, are best applied in early stages of system design, when costs are low and benefits can be high, increasing the quality of systems. Unified Modeling Language (UML) is widely used for modeling (object-oriented) software, and its use is increasing in the aerospace industry. Verification and Validation of complex software developed according to UML is not trivial due to complexity of the software itself, and the several different UML models/diagrams that can be used to model behavior and structure of the software. This PhD thesis presents an extension of a methodology called SOLIMVA, initially developed to generate model-based system and acceptance test cases considering Natural Language requirements artifacts (SOLIMVA 1.0), and to detect incompleteness in software specifications by means of Model Checking (SOLIMVA 2.0). Such an extension generated SOLIMVA 3.0 which transforms up to three different UML behavioral diagrams (sequence, behavioral state machine, and activity) into a single Transition System to support Model Checking of software developed in accordance with UML. In SOLIMVA 3.0, properties are formalized based on use case models or requirements expressed in pure textual notation. The translation into the Transition System is done for the NuSMV model checker, but there is a possibility in using other model checkers, such as SPIN. A tool, XML Metadata Interchange to Transition System (XMITS), was developed to automate some steps of SOLIMVA 3.0 methodology. The approach was applied to two real case studies (embedded software) related to project under development at Instituto Nacional de Pesquisas Espaciais (INPE). Defects were detected within the design of these software systems showing the feasibility of the methodology. The main contribution of this PhD thesis is the transformation of a non-formal language (UML) to a formal language (language of the NuSMV model checker) towards a greater adoption in practice of Formal Methods in software development. Organizações que desenvolvem software objetivam produzir produtos de software de qualidade, especialmente aquelas que lidam com sistemas críticos, que demandam software de alta qualidade. Métodos Formais oferecem grande potencial para prover técnicas de verificação mais efetivas. Além disso, métodos de Verificação Formal, como Model Checking, são aplicados de maneira mais eficiente nos estágios iniciais do projeto de software, quando os custos ainda são baixos e os benefícios podem ser altos, aumentando a qualidade dos sistemas de software. A Linguagem de Modelagem Unificada (UML) é consideravelmente utilizada para modelar software (orientado a objetos), e seu uso tem crescido na indústria aeroespacial. Verificação e Validação de sistemas complexos desenvolvidos de acordo com UML não são tarefas triviais, devido à complexidade do software em si, e a diversos diagramas/modelos UML diferentes que podem ser usados para modelar o comportamento e a estrutura do sistema. Esta tese de doutorado apresenta uma extensão de uma metodologia chamada SOLIMVA, desenvolvida inicialmente para gerar casos de teste de sistema e de aceitação baseados em modelos, considerando requisitos em Linguagem Natural (SOLIMVA 1.0), e para detectar não completude em especificações de software utilizando Model Checking (SOLIMVA 2.0). Tal extensão gerou a SOLIMVA 3.0, a qual transforma até três diferentes diagramas comportamentais da UML (sequência, atividades e máquina de estado) em um único Sistema de Transição de Estados para possibilitar a aplicação de Model Checking em software desenvolvido de acordo com a UML. Na SOLIMVA 3.0, as propriedades são formalizadas baseando-se nos modelos de casos de uso ou em requisitos expressos em notação textual pura. A tradução para o Sistema de Transição de Estados é feita para a ferramenta de Model Checking NuSMV, mas existe a possibilidade de se utilizar outras ferramentas, como por exemplo, SPIN. Uma ferramenta, XML Metadata Interchange to Transition System (XMITS), foi desenvolvida para automatizar algumas atividades da metodologia SOLIMVA 3.0. A abordagem foi aplicada em dois estudos de caso reais (software embarcado) relacionados a um projeto em desenvolvimento no Instituto Nacional de Pesquisas Espaciais (INPE). Foram encontrados defeitos nos projetos desses sistemas de software, mostrando a viabilidade da metodologia. A principal contribuição desta tese de doutorado é a transformação de uma linguagem não formal (UML) para uma linguagem formal (linguagem de entrada da ferramenta de Model Checking NuSMV), tendo como objetivo uma maior utilização, na prática, de Métodos Formais no processo de desenvolvimento de software. |
description |
Software development organizations aim to add quality to the created products, especially those dealing with critical systems, which require high quality software. Formal Methods offer a large potential to provide more effective verification techniques. Besides, Formal Verification methods, such as Model Checking, are best applied in early stages of system design, when costs are low and benefits can be high, increasing the quality of systems. Unified Modeling Language (UML) is widely used for modeling (object-oriented) software, and its use is increasing in the aerospace industry. Verification and Validation of complex software developed according to UML is not trivial due to complexity of the software itself, and the several different UML models/diagrams that can be used to model behavior and structure of the software. This PhD thesis presents an extension of a methodology called SOLIMVA, initially developed to generate model-based system and acceptance test cases considering Natural Language requirements artifacts (SOLIMVA 1.0), and to detect incompleteness in software specifications by means of Model Checking (SOLIMVA 2.0). Such an extension generated SOLIMVA 3.0 which transforms up to three different UML behavioral diagrams (sequence, behavioral state machine, and activity) into a single Transition System to support Model Checking of software developed in accordance with UML. In SOLIMVA 3.0, properties are formalized based on use case models or requirements expressed in pure textual notation. The translation into the Transition System is done for the NuSMV model checker, but there is a possibility in using other model checkers, such as SPIN. A tool, XML Metadata Interchange to Transition System (XMITS), was developed to automate some steps of SOLIMVA 3.0 methodology. The approach was applied to two real case studies (embedded software) related to project under development at Instituto Nacional de Pesquisas Espaciais (INPE). Defects were detected within the design of these software systems showing the feasibility of the methodology. The main contribution of this PhD thesis is the transformation of a non-formal language (UML) to a formal language (language of the NuSMV model checker) towards a greater adoption in practice of Formal Methods in software development. |
publishDate |
2015 |
dc.date.issued.fl_str_mv |
2015-10-02 |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/doctoralThesis |
status_str |
publishedVersion |
format |
doctoralThesis |
dc.identifier.uri.fl_str_mv |
http://urlib.net/sid.inpe.br/mtc-m21b/2015/09.08.18.24 |
url |
http://urlib.net/sid.inpe.br/mtc-m21b/2015/09.08.18.24 |
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.publisher.none.fl_str_mv |
Instituto Nacional de Pesquisas Espaciais (INPE) |
dc.publisher.program.fl_str_mv |
Programa de Pós-Graduação do INPE em Computação Aplicada |
dc.publisher.initials.fl_str_mv |
INPE |
dc.publisher.country.fl_str_mv |
BR |
publisher.none.fl_str_mv |
Instituto Nacional de Pesquisas Espaciais (INPE) |
dc.source.none.fl_str_mv |
reponame:Biblioteca Digital de Teses e Dissertações do INPE instname:Instituto Nacional de Pesquisas Espaciais (INPE) instacron:INPE |
reponame_str |
Biblioteca Digital de Teses e Dissertações do INPE |
collection |
Biblioteca Digital de Teses e Dissertações do INPE |
instname_str |
Instituto Nacional de Pesquisas Espaciais (INPE) |
instacron_str |
INPE |
institution |
INPE |
repository.name.fl_str_mv |
Biblioteca Digital de Teses e Dissertações do INPE - Instituto Nacional de Pesquisas Espaciais (INPE) |
repository.mail.fl_str_mv |
|
publisher_program_txtF_mv |
Programa de Pós-Graduação do INPE em Computação Aplicada |
contributor_advisor1_txtF_mv |
Valdivino Alexandre de Santiago Júnior |
_version_ |
1706809357706985472 |