Projeto unificado de componentes em hardware e software para sistemas embarcados

Detalhes bibliográficos
Autor(a) principal: Mück, Tiago Rogério
Data de Publicação: 2013
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UFSC
Texto Completo: https://repositorio.ufsc.br/handle/123456789/107452
Resumo: Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Ciência da Computação, Florianópolis, 2013.
id UFSC_b5e27eb4e553b57d680e52dcce752070
oai_identifier_str oai:repositorio.ufsc.br:123456789/107452
network_acronym_str UFSC
network_name_str Repositório Institucional da UFSC
repository_id_str 2373
spelling Universidade Federal de Santa CatarinaMück, Tiago RogérioFrohlich, Antonio Augusto Medeiros2013-12-06T00:09:49Z2013-12-06T00:09:49Z2013317921https://repositorio.ufsc.br/handle/123456789/107452Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Ciência da Computação, Florianópolis, 2013.O crescente aumento na complexidade dos sistemas embarcados está ocasionando uma migração para técnicas de projeto em níveis mais altos de abstração, o que tem levado a uma convergência entre as metodologias de desenvolvimento de hardware e software. Este trabalho tem como objetivo principal contribuir nesse cenário propondo uma estratégia de desenvolvimento unificada que possibilita a implementação de componentes em hardware e software a partir de uma única descrição na linguagem C++. As técnicas propostas se baseiam em conceitos de programação orientada a objetos (do inglês Object-oriented Programming - OOP) e programação orientada a aspectos (do inglês Aspect-oriented Programming - AOP) para guiar uma estratégia de engenharia de domínio que facilita a clara separação entre a estrutura e comportamento-base de um componente das características que são específicas de implementações em hardware ou software.Certos aspectos de um componente, como, por exemplo, alocação de recursos e a interface de comunicação, são modelados de maneiras distintas dependendo da implementação-alvo (hardware ou software). Este trabalho mostra como tais aspectos podem ser fatorados e encapsulados em programas de aspecto que são aplicados às descrições iniciais apenas quando o particionamento final entre hardware e software é definido. Os mecanismos de aplicação de aspectos são definidos via metaprogramação estática utilizando os templates do C++. Dessa forma, a extração de implementações em hardware ou software a partir de uma implementação unificada em C++ é direta e se dá através de transformações no nível da linguagem suportadas por uma grande gama de compiladores e ferramentas de síntese de alto-nível (do inglês High-level Synthesis - HLS). Para avaliar a abordagem proposta, foi desenvolvida uma plataforma flexível para implementação de System-on-Chips (SoCs) em dispositivos lógico programáveis. A infraestrutura de hardware/software desenvolvida utiliza uma arquitetura baseadas em Network-on-Chips (NoCs) para prover um mecanismo de comunicação transparente entre hardware e software. A avaliação dos mecanismos propostos foi feita através da implementação de um SoC para aplicações PABX. Os resultados mostraram que a estratégia proposta resulta em componentes flexíveis e reusáveis com uma eficiência muito próxima a de componentes implementados especificamente para software ou hardware.<br>Abstract : The increasing complexity of current embedded systems is pushing their design to higher levels of abstraction, leading to a convergence between hardware and software design methodologies. In this work we aim at narrowing the gap between hardware and software design by introducing a strategy that handles both domains in a unified fashion. We leverage on Aspect-oriented Programming (AOP) and Object-oriented Programming (OOP) techniques in order to provide unified C++ descriptions of embedded system components. Such unified descriptions can be obtained through a careful design process focused on isolating aspects that are specific of hardware and software scenarios. Aspects that differ significantly in each domain, such as resource allocation and communication interface, were isolated in aspect programs that are applied to the unified descriptions before they are compiled to software binaries or synthesized to dedicated hardware using High-level Synthesis (HLS) tools. Furthermore, we propose a flexible FPGA-based SoC platform for the deployment of SoCs in a HLS-capable environment. The proposed hardware/software infrastructure relies on a Network-on-Chip-based architecture to provide transparent communication mechanisms for hardware and software components. The proposed unified design approach and its transparent communication mechanisms are evaluated through the implementation of a SoC for digital PABX systems. The results show that our strategy leads to reusable and flexible components at the cost of an acceptable overhead when compared to software-only C/C++ and hardware-only C++ implementations.135 p.| il., grafs., tabs.porInformaticaComputaçãoSistemas embutidos de computadorProgramação orientada a objetos (Computação)C++ (Linguagem de programacao de computador)Projeto unificado de componentes em hardware e software para sistemas embarcadosinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisreponame:Repositório Institucional da UFSCinstname:Universidade Federal de Santa Catarina (UFSC)instacron:UFSCinfo:eu-repo/semantics/openAccessORIGINAL317921.pdfapplication/pdf2856608https://repositorio.ufsc.br/bitstream/123456789/107452/1/317921.pdf9914933b78068186dfadbbe43a9060efMD51123456789/1074522013-12-05 22:09:49.907oai:repositorio.ufsc.br:123456789/107452Repositório de PublicaçõesPUBhttp://150.162.242.35/oai/requestopendoar:23732013-12-06T00:09:49Repositório Institucional da UFSC - Universidade Federal de Santa Catarina (UFSC)false
dc.title.en.fl_str_mv Projeto unificado de componentes em hardware e software para sistemas embarcados
title Projeto unificado de componentes em hardware e software para sistemas embarcados
spellingShingle Projeto unificado de componentes em hardware e software para sistemas embarcados
Mück, Tiago Rogério
Informatica
Computação
Sistemas embutidos de computador
Programação orientada a objetos (Computação)
C++ (Linguagem de programacao de computador)
title_short Projeto unificado de componentes em hardware e software para sistemas embarcados
title_full Projeto unificado de componentes em hardware e software para sistemas embarcados
title_fullStr Projeto unificado de componentes em hardware e software para sistemas embarcados
title_full_unstemmed Projeto unificado de componentes em hardware e software para sistemas embarcados
title_sort Projeto unificado de componentes em hardware e software para sistemas embarcados
author Mück, Tiago Rogério
author_facet Mück, Tiago Rogério
author_role author
dc.contributor.en.fl_str_mv Universidade Federal de Santa Catarina
dc.contributor.author.fl_str_mv Mück, Tiago Rogério
dc.contributor.advisor1.fl_str_mv Frohlich, Antonio Augusto Medeiros
contributor_str_mv Frohlich, Antonio Augusto Medeiros
dc.subject.classification.en.fl_str_mv Informatica
Computação
Sistemas embutidos de computador
Programação orientada a objetos (Computação)
C++ (Linguagem de programacao de computador)
topic Informatica
Computação
Sistemas embutidos de computador
Programação orientada a objetos (Computação)
C++ (Linguagem de programacao de computador)
description Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Ciência da Computação, Florianópolis, 2013.
publishDate 2013
dc.date.accessioned.fl_str_mv 2013-12-06T00:09:49Z
dc.date.available.fl_str_mv 2013-12-06T00:09:49Z
dc.date.issued.fl_str_mv 2013
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://repositorio.ufsc.br/handle/123456789/107452
dc.identifier.other.en.fl_str_mv 317921
identifier_str_mv 317921
url https://repositorio.ufsc.br/handle/123456789/107452
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv 135 p.| il., grafs., tabs.
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFSC
instname:Universidade Federal de Santa Catarina (UFSC)
instacron:UFSC
instname_str Universidade Federal de Santa Catarina (UFSC)
instacron_str UFSC
institution UFSC
reponame_str Repositório Institucional da UFSC
collection Repositório Institucional da UFSC
bitstream.url.fl_str_mv https://repositorio.ufsc.br/bitstream/123456789/107452/1/317921.pdf
bitstream.checksum.fl_str_mv 9914933b78068186dfadbbe43a9060ef
bitstream.checksumAlgorithm.fl_str_mv MD5
repository.name.fl_str_mv Repositório Institucional da UFSC - Universidade Federal de Santa Catarina (UFSC)
repository.mail.fl_str_mv
_version_ 1766805349348671488