52 resultados para Geração de código
em Lume - Repositório Digital da Universidade Federal do Rio Grande do Sul
Resumo:
A linguagem síncrona RS é destinada ao desenvolvimento de sistemas reativos. O presente trabalho tem como objetivo criar meios que facilitem o uso da linguagem RS no projeto e implementação desses sistemas, permitindo que, à partir da especificação de um sistema reativo, seja realizada a sua implementação de forma automática. Deste modo, a linguagem RS é utilizada para a descrição do comportamento de um sistema em um alto nível de abstração, antes de serfeitas a decomposição do sistema em componentes de software ou hardware. A implmentação do protótipo do sistema computacional dedicado é obtida através de uma síntese automática desse modelo de alto nível. Foram implementados geradores de código que utilizam o código objeto fornecido pelo compilador da linguagem RS. Os geradores fazem a tradução para a linguagem C, para a linguagem JAVA, ou para a linguagem de descrição de hardware VHDL. A partir da síntese desses códigos poderá ser obtida a implementação do sistema em um micrcoomputador comercial, em um microcomputador Java de dedicado (ASIP Java), ou em um hardware de aplicação específica (ASIC). Foram realizados estudos de caso representativos dos sistemas reativos embaraçados e de tempo rel. Estes estudos de caso serviram para validar os geradores de código bem como para analisar o uso da linguagem RS no projeto e implementação desses sistemas.
Resumo:
A modelagem e desenvolvimento de sistemas embarcados ("embedded systems") de forma distribuída, tende a ser uma tarefa extremamente complexa, especialmente quando envolve sistemas heterogêneos e sincronização de tarefas. Com a utilização do modelo de componentes de software é possível descrever, de uma forma simplificada, todos os elementos de distribuição e de comunicação para este tipo de sistemas. Neste sentido, a especificação de uma ferramenta capaz de auxiliar na modelagem e no desenvolvimento deste tipo de aplicação, certamente irá tornar o trabalho mais simples. Esta dissertação inicia por uma análise comparativa entre as tecnologias passíveis de serem utilizadas na definição de sistemas distribuídos heterogêneos, focando-se principalmente nas metodologias de modelagem, e nos mecanismos e middlewares de comunicação. Dos conceitos formados a partir desta análise é descrita uma ferramenta, baseada em componentes de software. A ferramenta é uma extensão do projeto SIMOO-RT, onde foram adicionados os conceitos de componente de software, biblioteca de componentes e diagrama de implantação. Além disso, foram realizadas modificações no sistema de geração de código, para dar suporte aos novos conceitos da ferramenta. A dissertação termina com a descrição de alguns estudos de caso utilizados para validar a ferramenta.
Resumo:
Este trabalho apresenta um conjunto de técnicas para a modelagem paramétrica e geração de malhas de superfícies para uso em sistemas de análise e simulações numéricas pelo Método dos Elementos Finitos. Foram desenvolvidos algoritmos para a geração paramétrica de superfícies, para a determinação das curvas de interseções entre superfícies e para a geração de malhas em superfícies curvas e recortadas. Foram implementas linhas e curvas paramétricas básicas, a partir das quais são geradas superfícies paramétricas de vários tipos que proporcionam uma grande flexibilidade de modelamento geométrico. Curvas e superfícies são geradas e manipuladas de forma interativa. São apresentadas técnicas que simplificam a implementação de linhas e superfícies paramétricas. Foi desenvolvido um algoritmo para determinar as curvas de interseção entre superfícies paramétricas, que são utilizadas como linhas de recorte (trimming lines) para obter geometrias complexas e compostas de várias superfícies. O algoritmo desenvolvido emprega técnicas de subdivisão adaptativa, por quadtrees, em função da curvatura local das superfícies. Primeiramente, obtém-se uma aproximação das curvas de interseção no espaço 3D, através da aproximação por triângulos. Os resultados iniciais são refinados e projetados sobre as duas superfícies envolvidas com algoritmos que permitem obter grande precisão. As curvas de interseção finais são mapeadas nos espaços paramétricos das duas superfícies, porém com uma parametrização única, o que facilita a junção com superfícies adjacentes Um algoritmo de geração de malha foi desenvolvido para gerar malhas triangulares de qualidade sobre as superfícies curvas e recortadas. O algoritmo utiliza um processo de subdivisão adaptativa por quadtrees, similar ao utilizado no algoritmo de interseção, para definir tamanhos de elementos em função da curvatura local. Em seguida, aplica-se um algoritmo tipo advancing front para gerar a malha sobre a superfície. Os algoritmos foram implementados e testados em um ambiente gráfico interativo especialmente desenvolvido para este trabalho. São apresentados vários exemplos que comprovam a eficiência das técnicas e algoritmos propostos, incluindo exemplos de matrizes de conformação mecânica para uso com código de análise METAFOR, análise de sensibilidade para otimização de pré-formas e de modelagem de superfícies compostas recortadas com geração de malhas de qualidade, para uso em análise por Elementos Finitos ou como contorno para geração de elementos tridimensionais.
Resumo:
Esta dissertação trata da elaboração de uma ferrramenta para a geração de filtros FIR otimizados paralelos com coeficientes constantes. A ferramenta desenvolvida é capaz de gerar uma descrição VHDL de um filtro FIR paralelo com coeficientes constantes a partir das especificações do filtro. São exploradas técnicas de otimização de coeficientes e de otimização arquitetural. As técnicas empregadas são baseadas no uso de representações ternárias e redução do número de digitos não-zero dos coeficientes, uso de fatores de escala e eliminação de sub-expressões comuns. No texto, uma breve introdução sobre os filtros digitais é apresentada seguida por uma série de trabalhos encontrados na literatura relacionados às técnicas mencionadas e que são apresentados como base para o desenvolvimento da ferramenta implementada nesta dissertação. O funcionamento da ferramenta é detalhado tanto nos seus aspectos de algoritmo quanto em nível de implementação. São apresentados resultados de síntese em alguns de filtros hipotéticos projetados utilizando a ferramenta desenvolvida. Uma análise detalhada dos resultados obtidos é realizada. Os apêndices deste trabalho apresentam o código fonte da ferramenta de síntese de filtros desenvolvida.
Resumo:
Atualmente, um dos grandes desafios para qualquer desenvolvedor de software é projetar um sistema que reutilize ao máximo elementos de código e de projeto existentes, visando diminuir o tempo e o esforço exigidos na produção do software. Entre as inúmeras formas de possibilitar reuso no contexto do desenvolvimento segundo o paradigma da orientação a objetos, destaca-se a abordagem de frameworks. A grande importância da documentação de software utilizada no processo de desenvolvimento aliada às características de frameworks serviram como motivação para este trabalho. A documentação dentro do processo de desenvolvimento de software não faz parte de uma fase definida, mas ocorre durante toda sua existência, em paralelo com outras fases do ciclo de vida. A abordagem de frameworks dentro deste contexto enfoca o tratamento de templates e definições das características dos artefatos de software (incluindo não somente código mas também produtos de análise, projeto, frameworks, componentes, diagramas, entre outros), facilitando e acelerando o processo de documentação. Um framework, devido a suas características peculiares que serão examinadas e explicitadas no trabalho, contém uma série de informações que podem, além de apoiar a documentação, ser úteis para produção de outros artefatos (por exemplo, planejamentos de teste, scripts de bancos de dados, padrões de codificação, entre outros) do processo de desenvolvimento. Assim, em um processo de desenvolvimento evolutivo, que utiliza a geração de artefatos como recurso, a manutenção pode ser integralmente realizada somente na especificação e não diluída nos artefatos gerados. O objetivo deste trabalho é investigar, propor e desenvolver uma ferramenta de documentação e geração de artefatos de software, denominado FrameworkDoc. O termo documentação de software aqui utilizado se refere a documentação de desenvolvimento de software, incluindo artefatos, arquiteturas, ferramentas entre outros. Serão abordados dois principais aspectos: primeiramente, a geração automática de documentação dentro do processo de desenvolvimento de software e depois a geração de outros artefatos deste processo, a partir das definições de alto nível disponíveis através do framework. Exemplos de aplicações do FrameworkDoc em projetos reais são apresentados. No entanto, os documentos e artefatos de software considerados foram definidos de forma suficientemente genérica para serem aproveitados em outros contextos.
Resumo:
Esta dissertação analisa algumas características da cadeia produtiva do trigo no Brasil, com o objetivo de descrever a evolução da produção, consumo e políticas relacionadas até os dias de hoje e analisar as possibilidades de geração de emprego e renda. A cadeia produtiva do trigo é composta a montante por um grande número de indústrias de insumos, máquinas, equipamentos e serviços; e pelo setor produtivo a jusante, é composta principalmente pelas indústrias moageiras e de transformação que correspondem aquelas de massas, biscoitos, pães e o consumidor final. Constatou-se que o segmento agrícola é o mais prejudicado pelas importações, mas atualmente todos os segmentos da cadeia produtiva começam a ser ameaçados com as importações. O limite e a quantificação das relações inter-setoriais da cadeia produtiva do trigo foram realizadas através da matriz insumo-produto. Além disso, este modelo foi utilizado para quantificar o número de empregos gerados na atividade agrícola produtora de trigo em grão e nas principais atividades ligadas a ela. O insumoproduto é um modelo estático comparativo e serve para determinar variações nos valores de equilíbrio das variáveis endógenas, quando houver variações nos parâmetros ou variáveis exógenas. Foram realizadas nove simulações com diferentes níveis de produção de trigo a partir da matriz de 1995, quando a produção brasileira foi de 1.436,5 mil toneladas com o objetivo de observar os impactos na geração de emprego, alteração no Valor Bruto da Produção e na utilização de insumos das atividades ligadas a cadeia produtiva do trigo. Neste ano foram gerados 40.108 postos de trabalho o que permite afirmar que a cada 24,4 hectares cultivados é criado um emprego. Mas, a ampliação da produção gera emprego também fora do segmento agrícola, principalmente na indústria de insumos, máquinas, equipamentos e serviços. Os resultados sugerem políticas que venham viabilizar a ampliação da produção de trigo no Brasil, à medida que o cultivo deste cereal gera emprego e renda na atividade agrícola contribuindo para a redução da migração do campo para a cidade.
Resumo:
Atualmente os sistemas computacionais mais sofisticados são aqueles que apresentam imagens gráficas. Devido às características de alta velocidade de processamento e excelente resultado na geração de imagens o uso da Computação Gráfica se dá em diversas áreas como a indústria, pesquisa, publicidade, entretenimento, medicina, treinamento, dentre outras. Este trabalho aborda dois assuntos clássicos na Computação Gráfica, Geometria Sólida Construtiva (CSG) e Sombras Projetadas. Ambos são muito importantes para esta linha de pesquisa da Ciência da Computação. A Geometria Sólida Construtiva é utilizada na modelagem de objetos e as sombras projetadas são necessárias para aumentar o realismo das imagens. Geometria sólida construtiva (CSG) é uma técnica para a modelagem de sólidos, que define sólidos complexos pela composição de sólidos simples (primitivas). Isso inclui também a composição de objetos já combinados, até que se chegue a um objeto mais complexo. Um fator muito importante e necessário na obtenção de imagens realistas e que deve ser considerado é a utilização de sombras, pois estas são eficazes no realismo e impressão espacial de objetos tridimensionais. As sombras estabelecem diversos níveis de profundidade na imagem, fazem uma pontuação geométrica na cena de modo a evitar que os objetos não pareçam estar flutuando no ar. Este trabalho consiste em apresentar uma proposta para a geração de sombras em objetos modelados pela Geometria Sólida Construtiva. Para tanto foram estudados os assuntos referentes à modelagem de objetos por CSG, algoritmos para a geração de sombras “bem delimitadas” e formas de gerar sombras na Geometria Sólida Construtiva. O processo de geração de sombras em cenas modeladas por CSG, através da aplicação das mesmas operações booleanas envolvidas na modelagem dos objetos, sobre as sombras nem sempre apresenta resultados corretos. Diante disso, foram investigadas outras formas de solucionar o problema. Dentre estas, uma alternativa é a realização de transformações na árvore binária CSG, através de outras operações, envolvendo o uso de complemento com operações de união e interseção, para a modelagem do objeto e geração da sombra correspondente. Com base nos estudos realizados foram implementados dois protótipos que exibem a sombra projetada de objetos modelados por CSG. Na implementação do protótipo A utilizaram-se as técnicas tradicionais de modelagem de sólidos e sombra projetada. Os resultados obtidos com este protótipo serviram de referência. No protótipo B os resultados foram obtidos através da aplicação da zona ativa das primitivas na modelagem dos objetos e a sombra é projetada durante o processo de avaliação de contornos do sólido. Os resultados obtidos com este protótipo são comparados com os resultados do protótipo A e são apresentados como forma de exibir a aplicação do método proposto.
Resumo:
O objetivo deste trabalho consiste no desenvolvimento de alguns avanços, teóricos e numéricos, no método LTSN visando implementar a primeira versão de um código computacional, para resolver a equação de transporte utilizando formulação LTSN na forma de multigrupos em geometria plana. Os avanços para o método LTSN estão fundamentados na solução iterativa para o sistema de equações que constituem as condições de contorno, um novo método para a busca do valor de keff baseado no método da bissecção. O desenvolvimento desta metodologia permitiu realizar o calculo muito rápido com altas ordens de quadratura e com esforço computacional muito reduzido. Juntos os avanços matemáticos e numéricos, implementados nesta primeira versão de um código fortran, tal como nos códigos já conhecidos permite solucionar a equação de transporte na forma de multigrupos, tanto para o cálculo direto como para o adjunto, com fontes arbitrárias. Este código utiliza de recursos computacionais da linguagem FORTRAN e as bibliotecas LAPACK, para a otimização de seus algoritmos, facilitando o desenvolvimento futuro. A validação deste trabalho foi feita utilizando dois problemas: um relativo ao fluxo angular e escalar, tanto para o fluxo direto como para o adjunto, cuja importância está relacionada com busca de convergência, relação de reciprocidade e comprovação da solução adjunta, e; um problema de criticalidade, para comprovar a eficácia do algoritmo de busca iterativa de keff e espessura crítica. Com este trabalho se abrem muitas possibilidades tanto teóricas como numéricas a investigar com o método LTSN.
Resumo:
A literatura sobre Teste de Software apresenta diversas estratégias e metodologias que definem critérios eficazes e automatizáveis para selecionar casos de teste capazes de detectar erros em softwares. Embora eficientes na descoberta de erros, as técnicas de seleção de casos de teste exigem que uma quantidade relativamente grande de testes seja realizada para satisfazer os seus critérios. Essa característica acarreta, em parte, um alto custo na atividade de teste, uma vez que, ao fim de cada teste deve-se verificar se o comportamento do software está ou não de acordo com os seus requisitos. Oráculo para teste de software é um mecanismo capaz de determinar se o resultado de um teste está ou não de acordo com os valores esperados. Freqüentemente, assume-se que o próprio projetista de teste é o responsável por esta tarefa. A automatização da atividade dos oráculos deu origem a oráculos automáticos, os quais são capazes de determinar o bom ou mau funcionamento do software a partir de uma fonte de informação confiável. Ao longo dos anos, a especificação formal vêm sendo largamente utilizada como fonte de informação para oráculos automáticos. Diversas estratégias vêm propondo geradores de oráculos baseados em especificações formais. Dentre as características marcantes dessas estratégias, cita-se aquelas que são aplicáveis a implementações derivadas a partir da estrutura da especificação e aquelas que geram oráculos a partir de técnicas específicas de seleção de casos. Essas características, entretanto, limitam a aplicação abrangente dos oráculos por restringi-los tanto a implementações derivadas diretamente de especificações como ao uso de técnicas específicas de seleção de casos de teste. Este trabalho apresenta um estudo sobre os geradores de oráculos para teste de software, identifica aspectos fundamentais que regem seu processo de construção e propõe uma estratégia que permite a geração de oráculos semi-automaticamente, mesmo para implementações não derivadas diretamente da estrutura da especificação. A estratégia proposta é, também, aplicável aos casos de teste derivados de qualquer técnica de seleção de casos de teste.
Resumo:
Usamos a teoria quase-linear para estudar os efeitos do transporte radial de partículas na eficiência da geração de corrente por ondas do tipo híbrida inferior (lower hybrid ou LH), em um tokamak modelado como uma lâmina. Nossos resultados numéricos foram obtidos com cinco diferentes modelos do termo de transporte e indicaram que embora a potência absorvida e a corrente gerada possam ser modificadas por efeito do transporte, a proporção de variação dessas quantidades não é muito sensível a uma forma particular do termo de transporte. Na formulação quase-linear utilizada, a evolução no tempo da função distribuição de elétrons, em um dado ponto da geometria de lâmina proposta, ocorre sob a ação de ondas do tipo híbrida inferior, colisões e transporte, e é descrita pela seguinte equação: 8rfe = (8rfehH + (8rfe)COL + (8rfeh . Oterceiro termo pretende demonstrar a natureza e a magnitude dos efeitos de transporte, e é dado pela seguinte forma: (8rfeh = 8s [DT(S) 8sie] , com um coeficiente para difusão espacial dependente de posição. Utilizamos cinco formas totalmente arbitrárias para a dependência de posição, com as quais pretendemos verificar a sensibilidade do processo de geração de corrente a aspectos do termo de difusão.
Resumo:
Este trabalho apresenta uma metodologia para a geração automática de ASICs, em VHDL, a partir da linguagem de entrada Java. Como linguagem de especificação adotou-se a Linguagem Java por esta possuir características desejáveis para especificação a nível de sistema, como: orientação a objetos, portabilidade e segurança. O sistema é especificamente projetado para suportar síntese de ASICs a partir dos modelos de computação Máquina de Estados Finita e Pipeline. Neste trabalho, adotou-se estes modelos de computação por serem mais usados em sistemas embarcados As principais características exploradas são a disponibilização da geração de ASICs para a ferramenta SASHIMI, o alto nível de abstração com que o projetista pode contar em seu projeto, as otimizações de escalonamento realizadas automaticamente, e o sistema ser capaz de abstrair diferentes modelos de computação para uma descrição em VHDL. Portanto, o ambiente permite a redução do tempo de projeto e, consequentemente, dos custos agregados, diminuindo a probabilidade de erros na elaboração do projeto, portabilidade e reuso de código – através da orientação a objetos de Java – podendo-se proteger os investimentos prévios em desenvolvimento de software. A validação desses conceitos foi realizada mediante estudos de casos, utilizando-se algumas aplicações e analisando os resultados obtidos com a geração dos ASICs.
Resumo:
O presente trabalho é dedicado à simulação numérica de sistemas térmicos de potência. O trabalho é iniciado com a modelagem de um ciclo Rankine, dedicado à produção de energia elétrica, para o qual foi elaborado um programa de simulação com a linguagem de programação MATLAB. A partir desse primeiro caso, são apresentados os modelos empregados para representar os diversos componentes que formam o circuito, como o gerador de vapor, a turbina, o condensador e a bomba. Além desses componentes, são introduzidas as equações que representam o escoamento do fluido de trabalho, no caso a água, permitindo assim o cálculo da perda de carga nas diferentes canalizações do circuito, sendo também acoplado o funcionamento da bomba. Essa alternativa pennite uma melhor avaliação do trabalho despendido para operar o sistema. A modelagem do ciclo deixa então de ser exclusivamente tennodinâmica, e passa a incluir aspectos de mecânica de fluidos. Outras variantes desse ciclo simples são também modelados e simulados, incluindo ciclos Rankine regenerativos e com irreversibilidades. As simulações são efetuadas admitindo-se parâmetros de operação, como, potência da turbina, temperatura do vapor d'água na entrada da turbina e pressão do vapor d'água na saída da turbina, com a variante de fixar-se o título do vapor d'água na saída da turbina.
Resumo:
A competitividade das empresas apresenta forte ligação com a qualidade do relacionamento com o cliente. Para competir em tempo real é preciso dotar a empresa de meios que permitam conhecer e relacionar-se de forma cada vez mais eficiente com os clientes. O uso intensivo da tecnologia é fator que contribui para que o relacionamento com o cliente se torne mais efetivo. CRM (Customer Relationship Management) faz uso da tecnologia de informação com o objetivo de desenvolver e gerenciar relações entre empresas e seus clientes, de forma individualizada e mutuamente benéfica. O presente trabalho refere-se à implementação de um sistema CRM, abrangendo as etapas de seleção da solução de CRM, definição do organograma, cronograma e metodologia de trabalho, redesenho dos processos de atendimento ao cliente e configuração do software. Também é objeto deste trabalho a verificação do nível de satisfação do cliente resultante. O estudo foi desenvolvido junto a uma empresa do setor petroquímico, caso pioneiro de implantação de CRM no país, considerando o segmento de mercado em análise. O texto discute a relação existente entre um sistema de CRM e a satisfação do cliente, apresentando os resultados de uma pesquisa de satisfação aplicada aos clientes da empresa em estudo.