• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 169
  • 5
  • 5
  • 5
  • 5
  • 3
  • 3
  • 2
  • 1
  • 1
  • 1
  • Tagged with
  • 174
  • 174
  • 107
  • 58
  • 47
  • 36
  • 35
  • 34
  • 31
  • 30
  • 24
  • 19
  • 18
  • 18
  • 18
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
31

Uma linguagem para especificação da dinâmica dos fatos institucionais em sistemas multiagentes

Brito, Maiquel de January 2012 (has links)
Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico. Programa de Pós-Graduação em Engenharia de Automação e Sistemas / Made available in DSpace on 2013-03-04T19:13:03Z (GMT). No. of bitstreams: 1 303473.pdf: 11553265 bytes, checksum: 0dce2db289e1bdc44d55a45b09c01249 (MD5) / Esta dissertação foi desenvolvida considerando que Sistemas Multiagentes (SMA) são compostos por três dimensões distintas e independentes: agentes, ambiente e instituição. Os agentes podem atuar sobre o ambiente e a instituição alterando o estado dessas estruturas. Este trabalho concentra-se especificamente em fatos que provocam alterações no estado da instituição, que, neste trabalho, são chamados fatos institucionais. Os fatos institucionais podem ser resultado da ação direta dos agentes. Um agente pode, por exemplo, interagir com a instituição para adotar um determinado papel ou para comunicar que cumpriu uma obrigação que lhe fora atribuída. Em outras situações, no entanto, o estado da instituição pode ser alterado a partir de fatos verificados no ambiente ou na própria instituição. Essa abordagem tem inspiração na teoria da Construção da Realidade Social, proposta por John Searle. Um agente cruzando um semáforo fechado, por exemplo, é um fato ocorrido no ambiente e que tem uma consequência em nível institucional, que é a violação de uma norma. Esse agente, no entanto, pode não ter intenção em comunicar a violação à instituição pois isso pode ter consequências contrárias a seus objetivos. Nesse caso, é conveniente que a instituição identifique a violação da norma a partir do fato ocorrido no ambiente, independente da vontade do agente. A partir dessas questões, este trabalho propõe um modelo para definir alterações no estado da instituição a partir de eventos e estados verificados no ambiente ou na própria instituição. Com base no modelo proposto, propõe-se também linguagem de programação para escrever regras que definem alterações no estado da instituição e uma arquitetura que foi implementada. Por fim, para avaliar o modelo proposto, a implementação realizada é incorporada em dois SMA. Como resultado desses estudos, observou-se a possibilidade de simplificação no raciocínio e atuação dos agentes, que podem concentrar-se em atuar sobre elementos do ambiente sem conhecer integralmente as instituições com que se relacionam na realização de suas tarefas. Verificou-se também que o modelo proposto pode contribuir com a persistência do SMA, além de conferir-lhe a característica do poder institucional. / This work was writen regarding Multiagent Systems as composed by three distinct and independent dimensions: agents, institution and environment. The agents can act over the environment and institution causing changes on these structures. The state of the institution can, moreover, be changed as result of facts that have occurred in the environment or even in the institution. This approach is inspired on the theory of Construction of Social Reality, proposed by John Searle. For instance an agent running through a red traffic light means a norm violation. In this case, the fact of an agent running through a red traffic light is an action of the agent over the environment and the norm violation is the new institutional state. Up on the basis on this approach is proposed a model to state changes on the state of the institution as consequence of facts occurred in the environment or even in the institution. Based on the model, it is also proposed a programming language and an architecture that was implemented. Finally, in order to evaluate the model, the implementation is inserted in two experimental Multiagent Systems. As results, it was possible to observe the possibility of simplification on the agent's reasoning and acting. The agents can focus on acting over environment elements without any awareness about the institutional infrastructure of the system. The model can also contribute to the system persistence and give to the system the feature of institutionalised power.
32

Extensões da UML para descrever processos de negócio

Salm Junior, José Francisco January 2003 (has links)
Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico. Programa de Pós-graduação em engenharia de Produção. / Made available in DSpace on 2012-10-21T07:50:46Z (GMT). No. of bitstreams: 0 / Em seu livro intitulado Marcha para a Morte o autor Ed Yourdon compara o esforço necessário para a construção de um sistema aplicativo com a tarefa de "escalar o Monte Everest descalço". Essa visão restritiva no tocante a projetos de software guarda raízes em problemas de planejamento de projeto e no que se refere à clareza na identificação de conceitos de negócio relacionados ao sistema que se pretende construir. Tendo em vista essa realidade, este trabalho apresenta a disciplina de modelagem de negócios e uma proposta para a extensão da Linguagem de Modelagem Unificada (UML) para a abstração adequada desses processos. Além dessa modelagem, este trabalho descreve a inserção dos modelos gerados na modelagem de processos em um Processo de Engenharia de Software (SEP), mostrando que artefatos produzidos na etapa de design e construção são guiados por modelos criados na disciplina de modelagem de processos de negócio. Ao final, o trabalho apresenta um estudo de caso em que as extensões foram aplicadas na definição de três processos de negócio para avaliar a aplicação dessas extensões de negócio na concepção e elaboração de um projeto de sistemas.
33

Um modelo para o planejamento e a programação da produção em ambientes job shop baseado em redes de Petri

Chile Palomino, Reynaldo January 2001 (has links)
Tese (doutorado) - Universidade Federal de Santa Catarina, Centro Tecnológico. Programa de Pós-Graduação em Engenharia de Produção / Made available in DSpace on 2012-10-18T11:14:59Z (GMT). No. of bitstreams: 0Bitstream added on 2014-09-25T22:40:28Z : No. of bitstreams: 1 182895.pdf: 3987168 bytes, checksum: dc262a6c5ad06c06dab04cdc32b4ed29 (MD5) / Um dos maiores desafios enfrentados pela administração da produção e do qual depende muito a eficiência de todo sistema produtivo, sobretudo em ambientes flexíveis de manufatura, é a forma como são tratados os problemas relacionados com o planejamento e a programação da produção. O problema do planejamento esta geralmente relacionado com a quantidade de cada tipo de produto a ser fabricado em cada período de planejamento, dentro de um determinado horizonte, tendo como objetivo satisfazer uma demanda prevista a um custo mínimo. A programação da produção, por sua vez, tem por função a alocação ótima de recursos às operações produtivas com a finalidade de cumprir com a fabricação das quantidades planejadas previamente. Este problema (programação) resulta sendo muito difícil de ser resolvido, sobretudo quando se trabalha em ambientes flexíveis, onde diferentes máquinas são capazes de realizar variadas operações. Neste sentido, o presente trabalho tem como objetivo apresentar as Redes de Petri como uma ferramenta de modelagem tanto gráfica como matemática, para resolver os problemas relacionados com o planejamento e a programação da produção, em ambientes flexíveis de manufatura do tipo job shop.
34

Maldetect : uma metodologia automatizável de detecção de malwares desconhecidos

Santos, Leandro Silva dos 30 June 2016 (has links)
Dissertação (mestrado)—Universidade de Brasília, Faculdade de Tecnologia, Departamento de Engenharia Elétrica, 2016. / Submitted by Fernanda Percia França (fernandafranca@bce.unb.br) on 2016-08-24T15:40:33Z No. of bitstreams: 1 2016_LeandroSilvadosSantos.pdf: 1164074 bytes, checksum: 9322776457712d86b959e6a3b7d0e26e (MD5) / Approved for entry into archive by Raquel Viana(raquelviana@bce.unb.br) on 2016-10-11T20:44:07Z (GMT) No. of bitstreams: 1 2016_LeandroSilvadosSantos.pdf: 1164074 bytes, checksum: 9322776457712d86b959e6a3b7d0e26e (MD5) / Made available in DSpace on 2016-10-11T20:44:07Z (GMT). No. of bitstreams: 1 2016_LeandroSilvadosSantos.pdf: 1164074 bytes, checksum: 9322776457712d86b959e6a3b7d0e26e (MD5) / O cenário de ataques cibernéticos, acompanhando a modernização das ferramentas de detecção e remoção, tem se tornando cada vez mais complexo de ser detectado e mitigado. Com isso as ferramentas tradicionais de detecção e remoção de ameaças estão cada vez menos eficiente, principalmente por aquele seguimento que utiliza uma abordagem de detecção baseada em assinatura. Este trabalho propõe uma metodologia automatizável de detecção de malwares desconhecidos, ou seja, aqueles que não foram detectados pelas ferramentas tradicionais. A metodologia apresentada neste trabalho, denominada aqui por Maldetect, coleta e correlaciona características comportamentais típicas de códigos maliciosos, que estão presente no dump memória volátil, com o objetivo de identificar os artefatos que mais realizam atividades típicas de malware. Além disso, foi construída uma ferramenta usando as linguagens de programação PHP e Python, denominada Maldetect Tool, a qual automatiza a metodologia proposta. Esta ferramenta analisou \textit{dumps} da memória volátil infectados com códigos maliciosos e gerou um relatório contendo os artefatos que mais realizaram atividades típicas de malwares. ________________________________________________________________________________________________ ABSTRACT / The scenario of cyber attacks, following the modernization of detection and removal tools is becoming increasingly complex to be detected and mitigated. Thus the traditional tools of detection and removal of threats are becoming less efficient, especially by those that use a signature-based detection approach. This paper proposes an automatable method of detecting unknown malware, ie those that were not detected by traditional tools. The methodology presented in this work, called here by Maldetect, collects and correlates typical behavioral characteristics of malicious code, which are present in the volatile memory dump , in order to identify artifacts that most perform typical activities of malware. Moreover, it was built a tool using the languages of PHP and Python, called Maldetect Tool, which automates the proposed methodology. This tool analyzed the volatile memory dumps infected with malicious code and generated a report containing the artifacts held more typical activities of malware.
35

Honeyselk : um ambiente para pesquisa e visualização de ataques cibernéticos em tempo real / Honeyselk : na environment for reearch and viewing of cyber attacks in real time

Oliveira Júnior, Gildásio Antonio de 16 December 2016 (has links)
Dissertação (mestrado)—Universidade de Brasília, Faculdade de Tecnologia, Departamento de Engenharia Elétrica, 2016. / Submitted by Camila Duarte (camiladias@bce.unb.br) on 2017-01-25T15:28:38Z No. of bitstreams: 1 2016_GildásioAntoniodeOliveiraJúnior.pdf: 4791513 bytes, checksum: 9cce1023de6318d9405f9be7d6680634 (MD5) / Approved for entry into archive by Raquel Viana(raquelviana@bce.unb.br) on 2017-03-13T18:28:49Z (GMT) No. of bitstreams: 1 2016_GildásioAntoniodeOliveiraJúnior.pdf: 4791513 bytes, checksum: 9cce1023de6318d9405f9be7d6680634 (MD5) / Made available in DSpace on 2017-03-13T18:28:49Z (GMT). No. of bitstreams: 1 2016_GildásioAntoniodeOliveiraJúnior.pdf: 4791513 bytes, checksum: 9cce1023de6318d9405f9be7d6680634 (MD5) / Dado o grande número de vulnerabilidades em sistemas de informação e a atividade contínua dos atacantes, é cada vez mais necessário usar técnicas de detecção de tráfego malicioso para identificação e proteção contra ataques cibernéticos. Portanto, é importante operacionalizar intencionalmente um ambiente cibernético para ser invadido e comprometido, a fim de permitir que profissionais de segurança analisem a evolução dos diversos ataques e vulnerabilidades exploradas. Este trabalho propõe uma arquitetura projetada para a pesquisa e a obtenção de informações do ponto de vista dos atacantes. A solução, denominada HoneySELK, foi implementada e seus resultados avaliados para mostrar sua capacidade de coletar, analisar e visualizar uma grande quantidade de ataques cibernéticos em tempo real. / Due to the large number of vulnerabilities in information systems and the continuous activity of attackers, techniques for malicious traffic detection are required to identify and protect against cyber-attacks. Therefore, it is important to intentionally operate a cyber environment to be invaded and compromised in order to allow security professionals to analyze the evolution of the various attacks and exploited vulnerabilities. In this paper, we propose a security architecture deployed specifically for research and information gathering from the attackers’ point of view. This architecture, named HoneySELK, is described and its results are evaluated to show its ability to collect, analyze, and visualize large amount of cyber-attacks in real time.
36

Programação de horários usando um algoritmo de busca em vizinhança variável

Silva, Odilon Novaes [UNESP] 20 December 2013 (has links) (PDF)
Made available in DSpace on 2014-06-11T19:22:34Z (GMT). No. of bitstreams: 0 Previous issue date: 2013-12-20Bitstream added on 2014-06-13T20:29:05Z : No. of bitstreams: 1 000750866.pdf: 4302130 bytes, checksum: efac3d1d795a3f0286001041f918cb45 (MD5) / Por se tratar de uma tarefa complexa, as instituições passaram a recorrer a diversas metaheurísticas no intuito de resolver um problema árduo e complexo que é a elaboração de grade horária. No Brasil, com o advento do desenvolvimento da microinformática a partir da década de 90, do século XX, esse problema foi tratado com o uso de ferramentas de programação linear e métodos matemáticos baseados em otimização clássica. Posteriormente, passou a ser executado pelas universidades públicas e privadas a partir de propostas computacionais, desenvolvidas para a resolução desse tipo de problema, usando técnicas fundamentadas no uso de metaheurísticas. O presente trabalho visa projetar e implementar computacionalmente um algoritmo tipo VNS (do inglês Variable Neighborhood Search) para resolver o problema de programação de horários em ambientes universitários; realizar uma análise teórica e experimental do desempenho do algoritmo VNS e discutir a aplicação desse algoritmo na otimização de outros problemas da família de problemas do tipo timetabling. Para isso foi desenvolvido um algoritmo de busca em vizinhança variável para resolver um tipo de problema da família timetabling em ambientes universitários. / Building of timetables is a hard work to accomplish due to its complexity, so that institutions started to make use of several Metaheuristics for solving timetabling problems. In Brazil, the development of Computer Science from the Nineties, within the late 20th century, allowed to handle this kind of problem with Linear Programming Tools and Mathematical Methods based upon Classical Optimization Techniques. Afterwards, the same task was carried out by private and public universities using computational proposals based upon Metaheuristics. The aim of this work is to project and implement VNS algorithm computationally to solve timetabling problems in university environments; to provide a theoretical and experimental analysis of the VNS algorithm performance and discuss its application in order to optimize any other type of timetabling family problems. Thus, an algorithm of variable neighborhood search was developed for solving problems of timetabling family in university environments.
37

Um estudo sobre verificação formal de sistemas concorrentes

Queiroz, João Paulo Carvalho Colu de 06 July 2012 (has links)
Dissertação (mestrado)—Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2012. / Submitted by Albânia Cézar de Melo (albania@bce.unb.br) on 2012-10-18T16:28:45Z No. of bitstreams: 1 2012_JoaoPauloCarvalhoColuQueiroz.pdf: 949010 bytes, checksum: 6c8c52f3b39f58d84a5780716ea83b12 (MD5) / Approved for entry into archive by Guimaraes Jacqueline(jacqueline.guimaraes@bce.unb.br) on 2012-10-24T11:08:41Z (GMT) No. of bitstreams: 1 2012_JoaoPauloCarvalhoColuQueiroz.pdf: 949010 bytes, checksum: 6c8c52f3b39f58d84a5780716ea83b12 (MD5) / Made available in DSpace on 2012-10-24T11:08:41Z (GMT). No. of bitstreams: 1 2012_JoaoPauloCarvalhoColuQueiroz.pdf: 949010 bytes, checksum: 6c8c52f3b39f58d84a5780716ea83b12 (MD5) / Este trabalho apresenta um estudo de metodologias para veri cação formal de aplicativos desenvolvidos em linguagens imperativas, em especial, na linguagem Java. Os formalismos teóricos mostrados incluem a Lógica de Hoare, usada para representar pro- priedades de aplicações imperativas, e construções da linguagem de especi cação JML (baseada na Lógica de Hoare), usada para especi car o comportamento esperado de apli- cações codi cadas em Java. As ferramentas mostradas são o sistema Krakatoa, usado para converter especi cações JML em obrigações de prova, e o ambiente interativo de provas Coq, usado para veri car obrigações de prova. Finalmente, exibe-se um estudo de caso que utiliza o ferramental teórico e prático proposto. ______________________________________________________________________________ ABSTRACT / This work presents a study of methodologies to formally verify applications developed with imperative languages, specially with the Java language. The theoretical formalisms shown include Hoare Logic, which is used to sketch properties on imperative languages, and JML constructions (based on Hoare Logic), which is a speci cation language used to specify the expected behavior from Java programs. The tools shown are the Krakatoa system, used to convert JML speci cations into proof obligations, and the Coq interactive proof environment, used to verify proof obligations. Finally, this paper presents a case study that employs the theoretical and practical proposed framework.
38

Algebraic laws for object oriented programming with references

PALMA, Giovanny Fernando Lucero 16 March 2015 (has links)
Submitted by Isaac Francisco de Souza Dias (isaac.souzadias@ufpe.br) on 2016-01-19T17:04:34Z No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) GIovannyTesis.pdf: 1126817 bytes, checksum: 54a975f083d8ea416057bffa468c281c (MD5) / Made available in DSpace on 2016-01-19T17:04:34Z (GMT). No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) GIovannyTesis.pdf: 1126817 bytes, checksum: 54a975f083d8ea416057bffa468c281c (MD5) Previous issue date: 2015-03-16 / CAPES / CNPq / There are several approaches to defining a formal semantics of a programming language. The main established ones are operational, denotational and axiomatic semantics. The first two rely on defining an explicit model, whereas the latter one is based on postulating relevant properties of the language in terms of axioms. Particularly, in a purely algebraic approach the axioms take the form of conditional equations (typically denoted as programming laws) that relate the language constructs. Without requiring an explicit model, the advantage of the algebraic approach is incrementality: the language can be extended and the laws tend to remain valid, provided the new constructs do not interfere with the behaviour of the original ones. Algebraic laws have been proposed to uncover interesting properties of several programming paradigms: imperative, logic, functional, concurrent and object oriented, among others. As for the other paradigms, there is a comprehensive set of laws for object oriented constructs, but these are restricted to a language with copy semantics; some laws to deal with references have also been proposed, but these are tailored to specific applications, and are far from being comprehensive. In general, formal reasoning with references has been a persistent challenge and algebraic approaches usually have avoided including them in programming languages. We propose a set of algebraic laws for reasoning about object oriented programs with a reference semantics. First we focus on sequential imperative programs that use object references like in Java. The theory is based on previous work by adding laws to cope with object references. The incrementality of the algebraic method is fundamental; with a few exceptions, existing laws for copy semantics are entirely reused, as they are not affected by the reference semantics. As an evidence of relative completeness, we show that any program can be transformed, through the use of our laws, to a normal form which simulates it using an explicit heap with copy semantics. Soundness is addressed by illustrating how some of the laws can be proved in a relational semantics for a subset of the language. We extend the theory of imperative programs for an object oriented language with the usual constructs: additional imperative commands with references, classes with inheritance and subtyping, visibility control, dynamic binding, type tests and downcasts. Algebraic laws are proposed for these new constructs. In order to illustrate the expressiveness of the laws for the object oriented language, we characterize and prove a set of refactorings from Fowler’s catalog. These are contrasted with previous work that formalized refactorings in the context of copy semantics. / Existem várias abordagens para descrever formalmente a semântica de linguagens de programação. As principais são semântica operacional, denotacional e axiomática. As duas primeiras definem modelos semânticos explícitos enquanto a última postula axiomas que descrevem propriedades relevantes da linguagem. Em uma abordagem puramente algébrica, os axiomas são equações (tipicamente denominadas leis de programação) que relacionam os diversos construtores da linguagem. A vantagem da álgebra é a facilidade de extensão: quando uma linguagem é estendida, a tendencia é que as leis já estabelecidas continuem sendo válidas, desde que os novos contrutores não interfiram com o comportamento dos construtores originais da linguagem Leis algébricas tem sido propostas para estudar propriedades interessantes de vários paradigmas de programação: imperativo, lógico, funcional, concorrente e orientado a objetos, entre outros. Em geral, para todos estes paradigmas existe um conjunto representativo de leis. Porém, para programação orientada a objetos, os trabalhos tem se restringido a linguagens com semântica de cópia ou as leis relacionadas com referências tem sido direcionadas somente para aplicações específicas e estão distantes de serem representativas. Em geral, raciocínio formal com referências tem sido um desafio persistente e os trabalhos algébricos usualmente tem evitado a inclusão de referências nas linguagens de programação. Propomos um conjunto de leis algébricas que permitem raciocinar com programas orientados a objetos com uma semântica de referências. Primeiro, focamos em uma linguagem imperativa sequencial que usa referências a objetos como em Java. A teoria é baseada em trabalhos anteriores adicionando leis que lidam com referências. A facilidade de extensão do método algébrico é fundamental; com poucas exeções, as leis anteriores para semântica de cópia são reusadas, pois elas não são afetadas pela semântica de referência. Como uma evidência de completude relativa, mostramos que qualquer programa pode ser transformado, usado as leis, em uma forma normal que simula o programa original usando um heap explícito com semântica de cópia. A consistência (soundness) das leis é abordada ilustrando como algumas das leis podem ser provadas em uma semântica relacional para um subconjunto da linguagem. Estendemos a teoria de programas imperativos para uma linguagem orientada a objetos com os habituais construtores: comandos imperativos adicionais com referências, classes com herança e subtipos, controle de visibilidade, amarração dinâmica, e testes e casts de tipos. Leis são propostas para estes novos construtores. Para ilustrar a expressividade das leis para a linguagem orientada a objetos, caracterizamos e provamos um conjunto de refatorações do catalógo clássico de Fowler. Comparamos nossa apresentação com trabalhos anteriores que formalizaram refatorações em um contexto de semântica de cópia.
39

Xchart : um modelo de especificação e implementação de gerenciadores de dialogos

Lucena, Fábio Nogueira de 19 December 1997 (has links)
Orientador: Hans Kurt Edmund Liesenberg / Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-07-23T12:23:21Z (GMT). No. of bitstreams: 1 Lucena_FabioNogueirade_D.pdf: 10000400 bytes, checksum: 439a01207296ae1c6e3311386ba751b8 (MD5) Previous issue date: 1997 / Resumo: O gerenciador de diálogo é um dos componentes mais complexos de uma interface e continua, em grande parte, sendo codificado manualmente em linguagens de programação convencionais. Isto contribui para elevar os custos de desenvolvimento e inibir alterações, que são indispensáveis ao desenvolvimento de interfaces. Essa dissertação propõe a linguagem Xchart e um ambiente de apoio voltados para o desenvolvimento de gerenciadores de diálogo. Xchart possui recursos para capturar adequadamente as funções desses componentes de interfaces. Cada gerenciador é especificado através de um conjunto de diagramas. A semântica formal de Xchart permite que esses diagramas sejam automaticamente executados por um interpretador. Em tempo de execução, instâncias desses diagramas podem ser criadas dinamicamente e executadas concorrentemente, possivelmente em um sistema distribuído, apoiadas pelo sistema de execução de Xchart / Abstract: Not informed / Doutorado / Doutor em Ciência da Computação
40

Geração e vetorização de instruções de multiplicação e acumulação para processadores DSP SIMD

Fargasch, Natalia Viana 01 July 2001 (has links)
Orientador : Guido Costa Souza de Araujo / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-07-27T21:58:37Z (GMT). No. of bitstreams: 1 Fargasch_NataliaViana_M.pdf: 3686476 bytes, checksum: 309fba7a4a0c16dcd92d2ef76510d72b (MD5) Previous issue date: 2000 / Resumo: Processadores que são projetados para executar aplicações específicas - em oposição a processadores de propósito geral- representam uma porcentagem cada vez maior do total de processadores vendidos anualmente. Esses processadores são utilizados em aparelhos eletrônicos como telefones celulares e câmeras digitais, dispositivos médicos de monitoração, modems, sistemas militares de radar, componentes eletrônicos de automóveis, set-top boxes, etc. As aplicações que são executadas por esses processadores tipicamente demandam um alto desempenho, combinado com reduzido tamanho de código e dissipação de energia. Esta dissertação aborda um dos problemas presentes durante a geração de código para uma classe desses processadores, os processadores de sinais digitais (DSPs): como o compilador pode utilizar as instruções especializadas desses processadores a fim de aumentar a densidade e melhorar o desempenho do código gerado. É proposto um procedimento que permite a detecçãoj geração de instruções de multiplicação e acumulação (muito comuns nas aplicações desses processadores). É ainda apresentado um método que permite explorar a possibilidade de execução de código em paralelo por duas ou mais unidades funcionais quando essas são capazes de operar simultaneamente sobre diferentes dados. Os métodos aqui apresentados permitem uma exploração bastante agressiva das instruções de multiplicação e acumulação, e se utilizam de algoritmos de análise de fluxo de dados e técnicas de reestruturação de laços. Não é conhecido nenhum trabalho que aborde esse problema da maneira como é apresentada neste / Abstract: Application specific processors - as opposed to general purpose processors - account for an ever increasing percentage of the processors sold each year. These processors are widely used in electronic devices such as cellular phones and digital cameras, medical monitoring devices, modems, military radar systems, electronic components in vehicles and set-top boxes, to name a few. The applications that usually run on these processors demand high performance, reduced code size and low power consuption. This thesis addresses one of the issues that arise when generating code for a class of these processors, the digital signal processors (DSPs): how the compiler can take advantage of their specialized instructions in order to reduce the size and improve performance of the code generated. A method is proposed that allows for the detectionj generation of multiply and accumulate instructions (typically present in these processors' applications). AIso presented in this work is a method that makes it possible to explore the possibility of running code in parallel on two or more functional units when these are capable of operating simultaneously on different data. The methods herein presented allow for an aggressive harnessing of multiply and accumulate instructions; to accomplish this goal they rely on data flow analysis algorithms and on loop restructuring techniques. No other work is known of that addresses this problem the way it is dealt with in this thesis / Mestrado / Mestre em Ciência da Computação

Page generated in 0.1065 seconds