@PHDTHESIS{ 2016:1146260808, title = {Domain-specific language & support tools for high-level stream parallelism}, year = {2016}, url = "http://tede2.pucrs.br/tede2/handle/tede/6776", abstract = "Sistemas baseados em fluxo cont?nuo de dados representam diversos dom?nios de aplica??es, por exemplo, video, ?udio, processamento gr?fico e de rede, etc. Os programas que processam um fluxo cont?nuo de dados podem executar em diferentes tipos de arquiteturas paralelas (esta??es de trabalho, servidores, celulares e supercomputadores) e representam cargas de trabalho significantes em nossos sistemas computacionais atuais. Mesmo assim, a maioria deles ainda n?o ? paralelizado. Al?m disso, quando um novo software precisa ser desenvolvido, os programadores necessitam lidar com solu??es que oferecem pouca produtividade de c?digo, portabilidade de c?digo e desempenho. Para resolver este problema, estamos oferecendo uma nova linguagem espec?fica de dom?nio (DSL), que naturalmente captura e representa o paralelismo para aplica??es baseadas em fluxo cont?nuo de dados. O objetivo ? oferecer um conjunto de atributos (atrav?s de anota??es) que preservam o c?digo fonte do programa e n?o ? dependente de arquitetura para anotar o paralelismo. Neste estudo foi usado o mecanismo de atributos do C++ para projetar uma DSL embarcada e padronizada com a linguagem hospedeira, que foi nomeada como SPar. No entanto, a implementa??o de DSLs usando ferramentas baseadas em compiladores ? dif?cil, complicado e geralmente requer uma curva de aprendizagem significativa. Isto ? ainda mais dif?cil para aqueles que n?o s?o familiarizados com uma tecnologia de compiladores. Portanto, a motiva??o ? simplificar este caminho para outros pesquisadores (sabedores do seu dom?nio) com ferramentas de apoio (a ferramenta ? chamada de CINCLE) para implementar DSLs produtivas e de alto n?vel atrav?s de poderosas e agressivas transforma??es de fonte para fonte. Na verdade, desenvolvedores que criam programas com paralelismo podem usar suas habilidades sem ter que projetar e implementar o c?digo de baixo n?vel. O principal objetivo desta tese foi criar uma DSL e ferramentas de apoio para paralelismo de fluxo cont?nuo de alto n?vel no contexto de um framework de programa??o que ? baseado em compilador e orientado a dom?nio. Assim, SPar foi criado usando CINCLE. SPar oferece apoio ao desenvolvedor de software com produtividade, desempenho e portabilidade de c?digo, enquanto CINCLE oferece o apoio necess?rio para gerar novas DSLs. Tamb?m, SPar mira transforma??o de fonte para fonte produzindo c?digo de padr?es paralelos no topo de FastFlow e MPI. Por fim, temos um conjunto completo de experimentos demonstrando que SPar oferece melhor produtividade de c?digo sem degradar significativamente o desempenho em sistemas multi-core bem como regras de transforma??es que s?o capazes de atingir a portabilidade de c?digo (para arquiteturas multi-computador) atrav?s dos seus atributos gen?ricos.", publisher = {Pontif?cia Universidade Cat?lica do Rio Grande do Sul}, scholl = {Programa de P?s-Gradua??o em Ci?ncia da Computa??o}, note = {Faculdade de Inform?tica} }