Analysis of message passing software using electrum

dc.contributor.advisorCunha, Alcinopor
dc.contributor.advisorMacedo, Nunopor
dc.contributor.authorCarvalho, Bruno Renato Fernandespor
dc.date.accessioned2023-04-26T18:17:58Z
dc.date.available2023-04-26T18:17:58Z
dc.date.issued2020-11-13
dc.date.submitted2020-11
dc.description.abstractAutomation 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.por
dc.description.abstractO 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.por
dc.description.sponsorshipThis 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.por
dc.identifier.tid203255160por
dc.identifier.urihttps://hdl.handle.net/1822/84160
dc.language.isoengpor
dc.relationPOCI-01-0145-FEDER-016826por
dc.rightsopenAccesspor
dc.rights.urihttp://creativecommons.org/licenses/by/4.0/por
dc.subjectSoftware verificationpor
dc.subjectModel checkingpor
dc.subjectSafetypor
dc.subjectRoboticspor
dc.subjectElectrumpor
dc.subjectROSpor
dc.subjectHAROSpor
dc.subjectVerificação de softwarepor
dc.subjectRobóticapor
dc.subject.fosEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informáticapor
dc.titleAnalysis of message passing software using electrumpor
dc.typemasterThesiseng
dspace.entity.typePublicationen
sdum.degree.grade19 valorespor
sdum.uoeiEscola de Engenhariapor
thesis.degree.grantorUniversidade do Minhopor
thesis.degree.nameDissertação de mestrado integrado em Informatics Engineeringpor

Ficheiros

Pacote original

A mostrar 1 - 1 de 1
A carregar...
Nome:
Bruno Renato Fernandes Carvalho.pdf
Tamanho:
4.22 MB
Formato:
Adobe Portable Document Format
Descrição: