Please use this identifier to cite or link to this item: https://repositorio.ufu.br/handle/123456789/26527
Full metadata record
DC FieldValueLanguage
dc.creatorSilva, Cecília Carneiro e-
dc.date.accessioned2019-08-05T18:46:57Z-
dc.date.available2019-08-05T18:46:57Z-
dc.date.issued2019-07-10-
dc.identifier.citationSILVA, Cecília Carneiro e. Firmware em Rust: estratégias de implementação e modelos de programação confiáveis visando aplicações concorrentes em tempo real. Dissertação (Mestrado em Engenharia Elétrica) - Universidade Federal de Uberlândia, Uberlândia, 2019. DOI http://dx.doi.org/10.14393/ufu.di.2019.2040.pt_BR
dc.identifier.urihttps://repositorio.ufu.br/handle/123456789/26527-
dc.description.abstractEmbedded systems are particularly vital in the transition to a more connected world. They differ from traditional information systems by a series of factors, largely influenced by proximity (intersection) with the "real world". In general, computer programs can be seen, or rather, constructed from two perspectives: either from a computer-oriented view, or through computation-oriented abstractions. With regard to embedded software, the domain of the first class of thinking is clear. The recent flaws, however, propose a paradigm shift, believing that current methods are not enough to deal with contemporary difficulties. Rust, even though it is a systems language, aligns with the second thinking trend. Based on static verifications, and some dynamic validations, this language gives the developer the possibility to create trustworthy solutions. Rust combines techniques that until then were restricted to search languages ​​in a surprisingly ergonomic and efficient way. The present work, based on computation models pertinent to the scope, explore the use of this language in the context of microcontrolled applications. After a brief introduction, the contribution is presented, a hardware abstraction library, in Rust, built for the purpose of translating "mechanical" properties of the hardware into secure abstractions into software. Then, mechanisms to control the complexity coming from the physical nature of these applications are explained. A “timer-wheel” timing model and two high-level software building standards, complementary to the low-level model (tasks and resources) preached by the RTFM framework (Real-Time for The Masses) are the other contributions of this work. In short, the techniques presented here were designed to adapt the Rust language to the characteristics of embedded applications. The result is more reliable and secure software.pt_BR
dc.description.sponsorshipCAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível Superiorpt_BR
dc.languageporpt_BR
dc.publisherUniversidade Federal de Uberlândiapt_BR
dc.rightsAcesso Abertopt_BR
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/us/*
dc.subjectCyber Physical Systemspt_BR
dc.subjectEngenharia Elétricapt_BR
dc.subjectEngenharia de Softwarept_BR
dc.subjectSoftware Engineeringpt_BR
dc.subjectLinguagem Rustpt_BR
dc.subjectRust Languagept_BR
dc.titleFirmware em Rust: estratégias de implementação e modelos de programação confiáveis visando aplicações concorrentes em tempo realpt_BR
dc.title.alternativeFirmware in Rust: reliable implementation strategies and programming models targeting concurrent and real-time applicationspt_BR
dc.typeDissertaçãopt_BR
dc.contributor.advisor-co1Almeida, Marcelo Barros de-
dc.contributor.advisor-co1Latteshttp://lattes.cnpq.br/0711663486251657pt_BR
dc.contributor.advisor1Coelho, Ernane Antônio Alves-
dc.contributor.advisor1Latteshttp://lattes.cnpq.br/9183492978798433pt_BR
dc.contributor.referee1Cunha, Márcio José da-
dc.contributor.referee1Latteshttp://lattes.cnpq.br/5012626154282569pt_BR
dc.contributor.referee2Almeida, Rodrigo Maximiano Antunes de-
dc.contributor.referee2Latteshttp://lattes.cnpq.br/4546176200819713pt_BR
dc.creator.Latteshttp://lattes.cnpq.br/8907532853735780pt_BR
dc.description.degreenameDissertação (Mestrado)pt_BR
dc.description.resumoOs sistemas embarcados são vitais na transição para um mundo mais conectado. Eles se diferem dos tradicionais sistemas de informação por uma série de fatores, largamente influenciados, pela proximidade (interseção) com o “mundo real”. De forma geral, programas computacionais podem ser vistos, ou melhor, construídos sob duas perspectivas: seja a partir de uma visão próxima à máquina, ou através de abstrações de alto nível. No que tange os software embarcados, é nítido o domínio da primeira classe de atuação. As recentes falhas, todavia, propõe uma mudança de paradigma, ao acreditar que os métodos vigentes não são suficientes para lidar com as dificuldades contemporâneas. Rust, mesmo sendo uma linguagem de sistemas, se alinha com a segunda tendência de pensamento. Apoiada em verificações estáticas, e algumas validações dinâmicas, essa linguagem oferece ao desenvolvedor a possibilidade de, idiomaticamente, criar soluções confiáveis. Rust combina técnicas que, até então, eram restritas à linguagens de pesquisa, de uma forma surpreendentemente ergonômica e eficiente. O presente trabalho, amparado em modelos de computação pertinentes ao escopo, explora o uso dessa linguagem no contexto das aplicações microcontroladas. Após breve introdução, apresenta-se, como contribuição, uma biblioteca de abstração de hardware, em Rust, construída com a finalidade de traduzir propriedades “mecânicas” do hardware para abstrações seguras em software. Em seguida, são explicitados os mecanismos de controle da complexidade proveniente da natureza física dessas aplicações. Um modelo de temporalização via timer-wheels e dois padrões de construção de software, de alto nível, complementares o modelo de baixo nível (tarefas e recursos) pregado pela framework RTFM (Real-Time for The Masses) são as demais contribuições deste trabalho. Em suma, as técnicas aqui apresentadas foram pensadas para adaptar a linguagem Rust às características das aplicações embarcadas. O resultado são software mais confiáveis e seguros.pt_BR
dc.publisher.countryBrasilpt_BR
dc.publisher.programPrograma de Pós-graduação em Engenharia Elétricapt_BR
dc.sizeorduration160pt_BR
dc.subject.cnpqCNPQ::ENGENHARIAS::ENGENHARIA ELETRICApt_BR
dc.identifier.doihttp://dx.doi.org/10.14393/ufu.di.2019.2040pt_BR
dc.orcid.putcode60255354-
dc.crossref.doibatchidpublicado no crossref antes da rotina xml-
Appears in Collections:DISSERTAÇÃO - Engenharia Elétrica

Files in This Item:
File Description SizeFormat 
FirmwareEmRust.pdfDissertação12.01 MBAdobe PDFThumbnail
View/Open


This item is licensed under a Creative Commons License Creative Commons