Analysis of message passing software using electrum

Detalhes bibliográficos
Autor(a) principal: Carvalho, Bruno Renato Fernandes
Data de Publicação: 2020
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: https://hdl.handle.net/1822/84160
Resumo: Dissertação de mestrado integrado em Informatics Engineering
id RCAP_da073cb6dc797f24f3d8e0b999b273eb
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/84160
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 Analysis of message passing software using electrumSoftware verificationModel checkingSafetyRoboticsElectrumROSHAROSVerificação de softwareRobóticaEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaDissertação de mestrado integrado em Informatics EngineeringAutomation developments are enabling industrial restructuring through the incorporation of more efficient and accurate processes with less associated cost. Consequently, robots are being increasingly used in the most various scenarios, including in Safety Critical domains. In such cases, the use of suitable methods to attest both the system’s quality and their safety is absolutely essential. Following the current increase of complexity of cyber-physical systems, safety guards which used to be fully hardware dependent, are constantly migrating to software. Here upon, middleware software to abstract systems hardware are constantly evolving and are being increasingly adopted. The common feature of these systems is usually associated with its modular architectures based on message-passing communication patterns. A notorious case is the ROS middleware, where highly configurable robots are usually built by composing third-party modules. The verification of such systems is usually very hard, and its implemen tation in real industrial environments is, in most cases, impracticable. To promote adoption, this work advocates the use of lightweight formal methods associated with semi-automatic techniques that require minimal user input and provide valuable intuitive feedback. This work explores and proposes a technique to automatically verify system-wide safety properties of ROS-based applications in continuous integration environments. It is based on the formalization of ROS architectural models and nodes behaviours in Electrum, a specification language of first-order temporal logic supported by a model-finder over which, system-wide properties are subsequently model-checked. In order to automate the analysis, the technique is deployed as an HAROS plug-in, a framework for quality assessment of ROS software, specially aimed to its community. The technique proposal and its implementation under the HAROS framework are eval uated with positive results on a real agricultural robot, AgRobV16, whose dimension and complexity are industrially representative.O constante desenvolvimento em processos de automação tem motivado reestruturações nos mais diversos processos industriais, aumentando a sua eficiência, e consequentemente, reduzindo os custos associados. As vantagens provocadas pela automação impulsionam a sua adoção nos mais amplos domínios, nomeadamente, em cenários considerados críticos. Nestes casos, é vital a existência e adopção de técnicas que forneçam fortes garantias da qualidade e segurança dos sistemas. Isto é de particular relevância aquando do desenvolvimento de sistemas ciber-físicos, onde se observa uma constante migração de safety guards, que eram usualmente implementadas ao nível do hardware, para lógica de software. De forma a acompanhar o aumento na complexidade destes sistemas, middlewares que permitem abstrair hardware tem sido adoptados de forma ubíqua. Este são construídos predominantemente sobre arquiteturas modulares baseadas em message-passing. Um caso notório são as aplicações ROS, onde robôs altamente configuráveis são construídos através da composição de módulos externos. Na maioria dos casos, a verificação destes sistemas é muito difícil, sendo que em ambientes industriais e geralmente impraticável. Com vista a promover a adopção de técnicas que promovam a qualidade do software em ambientes de produção, este trabalho defende a utilização de lightweight formal methods associados a técnicas semi-automáticas que requerem intervenções mínimas por parte dos utilizadores, retornando feedback valioso de forma intuitiva. Este trabalho explora e propõe uma técnica para verificação automática de system-wide safety properties em aplicações ROS, cujos resultados podem ser estendidos para qualquer arquitetura modular baseada em message passing. A técnica fundamenta-se na formalização de modelos estruturais de arquiteturas ROS, e especificações comportamentais dos seus nodos em Electrum. Após formalização do sistema, as propriedades são verificadas através de técnicas de model-checking. De forma a automatizar a análise, a técnica descrita neste documento é implementada através de um plug-in para HAROS, uma framework utilizada no control de qualidade de software ROS. A técnica proposta, assim como a sua implementação sobre o ambiente Haros, foram positivamente avaliadas aquando da sua aplicação em um caso real, AgRobV16. Um robô agrícola, cuja dimensão e complexidade são representativos daquilo que seria de esperar em verdadeiros ambientes industriais.This work is financed by the ERDF – European Regional Development Fund through the Operational Programme for Competitiveness and Internationalisation - COMPETE 2020 Programme and by National Funds through the Portuguese funding agency, FCT - Fundação para a Ciência e a Tecnologia, within project POCI-01-0145-FEDER-016826.Cunha, AlcinoMacedo, NunoUniversidade do MinhoCarvalho, Bruno Renato Fernandes2020-11-132020-11-13T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://hdl.handle.net/1822/84160eng203255160info: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:12:43Zoai:repositorium.sdum.uminho.pt:1822/84160Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T19:04:39.916417Repositó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 Analysis of message passing software using electrum
title Analysis of message passing software using electrum
spellingShingle Analysis of message passing software using electrum
Carvalho, Bruno Renato Fernandes
Software verification
Model checking
Safety
Robotics
Electrum
ROS
HAROS
Verificação de software
Robótica
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
title_short Analysis of message passing software using electrum
title_full Analysis of message passing software using electrum
title_fullStr Analysis of message passing software using electrum
title_full_unstemmed Analysis of message passing software using electrum
title_sort Analysis of message passing software using electrum
author Carvalho, Bruno Renato Fernandes
author_facet Carvalho, Bruno Renato Fernandes
author_role author
dc.contributor.none.fl_str_mv Cunha, Alcino
Macedo, Nuno
Universidade do Minho
dc.contributor.author.fl_str_mv Carvalho, Bruno Renato Fernandes
dc.subject.por.fl_str_mv Software verification
Model checking
Safety
Robotics
Electrum
ROS
HAROS
Verificação de software
Robótica
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
topic Software verification
Model checking
Safety
Robotics
Electrum
ROS
HAROS
Verificação de software
Robótica
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
description Dissertação de mestrado integrado em Informatics Engineering
publishDate 2020
dc.date.none.fl_str_mv 2020-11-13
2020-11-13T00: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 https://hdl.handle.net/1822/84160
url https://hdl.handle.net/1822/84160
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv 203255160
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_ 1799132457076785152