999 resultados para Computação móvel
Resumo:
A equação de complexidade de um algoritmo pode ser expressa em termos de uma equação de recorrência. A partir destas equações obtém-se uma expressão assintótica para a complexidade, provada por indução. Neste trabalho, propõem-se um esquema de solução de equações de recorrência usando equações características que são resolvidas através de um "software" de computação simbólica, resultando em uma expressão algébrica exata para a complexidade. O objetivo é obter uma forma geral de calcular a complexidade de um algoritmo desenvolvido pelo método Divisão-e-Conquista.
Resumo:
Neste estudo são discutidos alguns aspectos relacionados à escolha da primeira linguagem de programação em currículos de ciência da computação, com interesse especial em Pascal e Java. A primeira linguagem é amplamente adotada para ensinar programação aos novatos, enquanto a segunda está ganhando popularidade como uma linguagem moderna e abrangente, que pode ser usada em muitas disicplinas ao longo de um curso degraduação em computação como ferramenta para ensinar desde recursos básicos de programação até tópicos mais avançados. Embora vários problemas quanto ao ensino de Java, com a primeira linguagem de programação, possam ser apontadas, consideramosque Java é uma boa escolha, visto que (a) oferece apoio a importantes questões conceituais e tecnológicos e, (b) é possível contornar algumas complexidades da linguagem e da plataforma Java para torná-las mais adequadas à alunos iniciantes. Além disso, considerando a grande popularidade de Pascal nos currículos de cursos de computação, uma eventual adoção de Java conduz à outro problema: a falta de professores aptos a lecionar programação orientada a objetos. Sugerimos que este problema de migração de Pascal para Java seja enfrentado através de smplificação do ambiente de desenvolvimento de programas, uso de um pacote com classes que facilitam a entrada e saída, e o desenvolvimento de um catálogo comparativo de programas implementados em ambas as linguagens. Neste estudo também é apresentado o JEduc, um IDE muito simples com o objetivo de dar suporte ao ensino da linguagem de programação orientada a objetos Java aos novatos. Oferece componentes desenvolvidos em Java que integram edição, compilação e execução de programas Java. Além das funcionalidades comuns a um IDE, JEduc foi desenvolvido para gir como uma ferramente pedagógica: simplifica a maioria das mensagens do compilador e erros da JRE, permite a inserção de esqueletos de comandos, e incorpora pacotes especiais para esconder alguns detalhes sintáticos e semânticos indesejáveis.
Resumo:
A simulação paralela de eventos é uma área da computação que congrega grande volume de pesquisas, pela importância em facilitar o estudo de novas soluções nas mais diferentes áreas da ciência e tecnologia, sem a necessidade da construção de onerosos protótipos. Diversos protocolos de simulação paralela podem ser encontrados, divididos em dois grandes grupos de acordo com o algoritmo empregado para a execução em ordem dos eventos: os conservadores e os otimistas; contudo, ambos os grupos utilizam trocas de mensagens para a sincronização e comunicação. Neste trabalho, foi desenvolvido um novo protocolo de simulação paralela, fazendo uso de memória compartilhada, o qual foi implementado e testado sobre um ambiente de estações de trabalho, realizando, assim, simulação paralela com uso de memória compartilhada distribuída. O protocolo foi desenvolvido tendo como base de funcionamento os protocolos conservadores; utilizou diversas características dos mesmos, mas introduziu várias mudanças em seu funcionamento. Sua execução assemelha-se às dos protocolos de execução síncrona, utilizando conceitos como o lookahead e janelas de tempo para execução de eventos. A principal mudança que o novo protocolo sofreu foi proporcionada pelo acesso remoto à memória de um LP por outro, produzindo diversas outras nas funções relativas à sincronização dos processos, como o avanço local da simulação e o agendamento de novos eventos oriundos de outro LP. Um ganho adicional obtido foi a fácil resolução do deadlock, um dos grandes problemas dos protocolos conservadores de simulação paralela. A construção de uma interface de comunicação eficiente com uso de memória compartilhada é o principal enfoque do protocolo, sendo, ao final da execução de uma simulação, disponibilizado o tempo de simulação e o tempo de processamento ocioso (quantia utilizada em comunicação e sincronização). Além de uma implementação facilitada, propiciada pelo uso de memória compartilhada ao invés de trocas de mensagens, o protocolo oferece a possibilidade de melhor ocupar o tempo ocioso dos processadores, originado por esperas cada vez que um LP chega a uma barreira de sincronização. Em nenhum momento as modificações efetuadas infringiram o princípio operacional dos protocolos conservadores, que é não possibilitar a ocorrência de erros de causalidade local. O novo protocolo de simulação foi implementado e testado sobre um ambiente multicomputador de memória distribuída, e seus resultados foram comparados com dois outros simuladores, os quais adotaram as mesmas estratégias, com idênticas ferramentas e testados em um mesmo ambiente de execução. Um simulador implementado não utilizou paralelismo, tendo seus resultados sido utilizados como base para medir o speedup e a eficiência do novo protocolo. O outro simulador implementado utilizou um protocolo conservador tradicional, descrito na literatura, realizando as funções de comunicação e sincronização através de trocas de mensagens; serviu para uma comparação direta do desempenho do novo protocolo proposto, cujos resultados foram comparados e analisados.
Resumo:
A abertura do mercado brasileiro de telecomunicações intensificou a competição entre as empresas operadoras, exigindo uma maior agilidade no processo de tomada de decisão para evitar a diminuição de suas fatias de participação neste mercado. Esta situação exige que as empresas busquem a utilização de Sistemas de Informação como o EIS que possam fornecer informações corretas e no momento oportuno. No caso das empresas operadoras de telefonia móvel celular, a necessidade da informação para tomada de decisão é ainda mais urgente em razão da forte competição verificada neste mercado, onde os clientes mudam freqüentemente de operadora a procura de melhores serviços ou preços mais acessíveis. O objetivo deste trabalho foi desenvolver e construir um protótipo de EIS em uma empresa operadora de telefonia móvel celular, avaliando seus efeitos sobre o processo de tomada de decisão. Admitiu-se como pressuposto básico nesta pesquisa que o uso de um EIS facilita o processo de tomada de decisão. O método de pesquisa utilizado foi pesquisa-ação. Inicialmente foram identificadas as decisões relevantes usualmente tomadas pelos executivos e também as informações necessárias para tomá-las. Em seguida foram priorizadas as informações levando em conta os objetivos da organização, definidos os fatores críticos de sucesso e identificados os indicadores de desempenho para monitoramento dos mesmos. Após isto, definiu-se o modelo conceitual do EIS e a sua construção e instalação na área da empresa escolhida para estudo. Finalmente o protótipo foi avaliado na tentativa de verificar o seu efeito sobre o processo de tomada de decisão. Os resultados da avaliação mostraram que o protótipo de EIS supriu as necessidades de informações dos executivos, atingindo as expectativas dos mesmos. Constatou-se que o processo de tomada de decisão ficou mais fácil com o uso do EIS, o que confirma o pressuposto de pesquisa.
Resumo:
O presente trabalho insere-se no contexto das pesquisas realizadas no Laboratório de Computação & Música do Instituto de Informática da UFRGS. Com ele pretendemos fundamentar e investigar possibilidades em educação musical através da World Wide Web (WWW ou, simplesmente, Web). Para isso, em um primeiro momento, investigamos como desenvolver adequadamente sistemas educativo-musicais para a Web. Queremos aproveitar uma das principais vantagens que a Web oferece para a educação: a de facilitar a disponibilização e o acesso ao conteúdo educativo. Especificamente nesta área do conhecimento - Música -, é rara a pesquisa visando utilizar a Web como suporte. A Internet continua impondo sérias limitações ao emprego de multimídia e ainda mais quando seus dados representam informações sonoras e musicais. Devido a isso, os poucos estudos existentes optam ou por uma simplificação exagerada do sistema ou por soluções proprietárias muito complicadas, que podem reduzir a facilidade de acesso do público-alvo. Assim, no presente trabalho procuramos encontrar um meio-termo: uma solução de compromisso entre a funcionalidade que se espera de tais sistemas, a sua operacionalidade e a simplicidade que a Internet ainda impõe. Para atingir esse objetivo, nos concentramos em promover a interatividade entre o aluno e um ambiente de aprendizado distribuído para o domínio musical. Buscamos fundamentar essa interatividade a partir de: a) conceitos pertinentes a uma interação de boa qualidade para propósitos de ensino/aprendizagem; e b) adoção de tecnologias da Web para música que permitam a implementação adequada desses conceitos. Portanto este trabalho é eminentemente interdisciplinar, envolvendo principalmente estudos das áreas de Interação Humano-Computador, Educação Musical e Multimídia. Após essa fase inicial de fundamentação, investigamos uma solução possível para esse problema na forma de um protótipo de um sistema educativo-musical na Web, tendo em vista os seguintes requisitos: · Ser fácil de programar, mas suficiente para satisfazer os requisitos de sistemas musicais. · Ser acessível, útil e usável pelos seus usuários (notadamente alunos e educadores musicais). Esse protótipo - INTERVALOS, que visa auxiliar o ensino/aprendizagem da teoria de intervalos, arpejos e escalas musicais - é uma ferramenta que pode ser integrada a um ambiente mais completo de educação musical na Web, incluindo as demais tecnologias da Internet necessárias para implementar Ensino a Distancia de música nesse meio. INTERVALOS foi submetido a avaliações de usabilidade e avaliações pedagógicas, por meio das quais pretendemos validar o grau de adequação da fundamentação teórica (conceitos) e tecnológica (tecnologias) para educação musical baseada na Web.
Resumo:
Sistemas de visão artificial são cada vez mais usados para auxiliar seres humanos a realizar diferentes tarefas. Estes sistemas são capazes de reconhecer padrões em imagens complexas. Técnicas de visão computacional têm encontrado crescente aplicação em estudos e sistemas de controle e monitoração de tráfego de automóveis. Uma das áreas de pesquisa que tem sido objeto de estudo por diferentes grupos é a leitura automática de placas de matrículas como forma de detectar transgressores, encontrar carros roubados ou efetuar estudos de origem/destino [BAR99]. Com o constante crescimento do volume de tráfego de automóvel e a limitada capacidade dos sensores convencionais, especialistas da área recorrem a técnicas de identificação automática de veículos para obter dados relativos ao escoamento de tráfego. A identificação automática de veículos tem tido essencialmente duas abordagens distintas: a utilização de transponders e a utilização de técnicas de visão computacional [INI85] . Estas são essencialmente úteis em casos em que não é viável obrigar os motoristas a instalar transponders em seus automóveis. No entanto, essas técnicas são mais sensíveis às condições atmosféricas e de iluminação tais como nevoeiros, chuva intensa, luz noturna, reflexos em superfícies, etc. Este trabalho apresenta um estudo de diversas técnicas de processamento de imagem objetivando o aperfeiçoamento de um sistema de identificação automática de placas de veículos. Este aperfeiçoamento está relacionado com a diminuição do tempo de execução necessário à localização e reconhecimento dos caracteres contidos nas placas dos veículos bem como a melhorar a taxa de sucesso no seu reconhecimento. A primeira versão do sistema de identificação da placas de veículos descrito em [SOU2000], desenvolvido no CPG-EE da UFRGS, denominado SIAV 1.0, localiza e extrai 91,3% das placas corretamente mas apresenta uma taxa de reconhecimento das placas de 37,3%, assim como um tempo de processamento não satisfatório. Neste trabalho, cujo sistema desenvolvido é denominado SIAV 2.0, a imagem é previamente processada através da aplicação de técnicas de realce da imagem. O principal objetivo das técnicas de realce é processar a imagem de modo que o resultado seja mais apropriado para uma aplicação específica do que a imagem original [GON93]. O sistema busca melhorar a qualidade da imagem eliminando ou suavizando sombras e reflexos presentes na cena em virtude da iluminação não controlada. Visando um menor tempo de execução durante o tratamento e análise da imagem um estudo estatístico baseado na distribuição gaussiana foi realizado de maneira a restringir a área de análise a ser processada. O SIAV possui duas redes neurais como ferramentas de reconhecimento de caracteres. A partir da análise dos diferentes modelos de redes neurais empregados na atualidade, foi desenvolvida uma nova arquitetura de rede a ser utilizada pelo SIAV 2.0 que oferece uma taxa de reconhecimento superior a rede neural usada no SIAV 1.0. Visando um melhor tempo de execução, a implementação em hardware dedicado para este modelo é abordado. Os testes foram realizados com três bancos de imagens obtidas por câmeras diferentes, inclusive por dispositivo "pardal" comercial. Estes testes foram realizados para verificar a efetividade dos algoritmos aperfeiçoados.
Resumo:
A filtragem de imagens visando a redução do ruído é uma tarefa muito importante em processamento de imagens, e encontra diversas aplicações. Para que a filtração seja eficiente, ela deve atenuar apenas o ruído na imagem, sem afetar estruturas importantes, como as bordas. Há na literatura uma grande variedade de técnicas propostas para filçtragem de imagens com preservação de bordas, com as mais variadas abordagens, deentrte as quais podem ser citadas a convolução com máscaras, modelos probabilísticos, redes neurais, minimização de funcionais e equações diferenciais parciais. A transformada wavelet é uma ferramenta matemática que permite a decomposição de sinais e imagens em múltiplas resoluções. Essa decomposição é chamada de representação em wavelets, e pode ser calculada atrravés de um algorítmo piramidal baseado em convoluções com filtros passa-bandas e passa-baixas. Com essa transformada, as bordas podem ser calculadas em múltiplas resoluções. Além disso, como filtros passa-baixas são utilizados na decomposição, a atenuação do ruído é um processo intrínseco à transformada. Várias técnicas baseadas na transformada wavelet têm sido propostas nos últimos anos, com resultados promissores. Essas técnicas exploram várias características da transformada wavelet, tais como a magnitude de coeficientes e sua evolução ao longo das escalas. Neste trabalho, essas características da transformada wavelet são exploradas para a obtenção de novas técnicas de filtragem com preservação das bordas.
Resumo:
O uso estratégico de sistemas bifásicos para preservação das vantagens da catálise homogênea tem se mostrado uma alternativa tecnológica interessante, já que se aliam altas atividades e seletividades, com a possibilidade de recuperação/re-utilização do sistema catalítico. O sistema catalítico Rh(acac)(CO)2/Sulfoxantphos imobilizado no líquido iônico hidrofóbico 1-n-butil-3-metilimidazólio (BMI.PF6) promove a reação de hidroformilação de olefinas pesadas com seletividades em aldeídos superiores a 98%. A regiosseletividade deste sistema é fortemente dependente da natureza do líquido iônico e da fase móvel envolvidos na reação. Estudos sobre transferência de massa gás/líquido também foram realizados e demonstraram que CO é mais solúvel do que H2 no BMI.PF6, na ordem de duas vezes mais, nas condições reacionais utilizadas. A formação do complexo de catalítico em BMI.PF6 foi monitorada por infravermelho (HPIR) e ressonância magnética nuclear (HPNMR) in situ. As mesmas espécies catalíticas ee e ea-(difosfina)Rh(CO)2H observadas em solventes orgânicos foram formadas no BMI.PF6. O uso de HPIR sob condições de hidroformilação mostrou que o equilíbrio dinâmico ee:ea segue um comportamento semelhante ao observado em meio homogêneo onde solventes orgânicos clássicos, como o tolueno, são utilizados.
Resumo:
Este trabalho descreve a aplicação da Programação Genética, uma técnica de Computação Evolucionária, ao problema da Síntese de Fala automática. A Programação Genética utiliza as técnicas da evolução humana para descobrir programas bem adaptados a um problema específico. Estes programas, compostos de instruções, variáveis, constantes e outros elementos que compõe uma linguagem de programação, são evoluídos ao longo de um conjunto de gerações. A Síntese de Fala, consiste na geração automática das formas de ondas sonoras a partir de um texto escrito. Uma das atividades mais importantes, é realizada através da conversão de palavras e letras para os sons da fala elementares (fonemas). Muitos sistemas de síntese são implementados através de regras fixas, escritas por programadores humanos. Um dos mais conhecidos sistemas de síntese é o FESTIVAL, desenvolvido pela Universidade de Edimburgh, usando a linguagem de programação funcional LISP e um número fixo de regras. Neste trabalho, nós exploramos a possibilidade da aplicação do paradigma da Programação Genética, para evoluir automaticamente regras que serão adotadas para implementação do idioma Português na ferramenta FESTIVAL, desenvolvido no projeto SPOLTECH (CNPq – NSF cooperação entre UFRGS e Universidade do Colorado). A modelagem do problema, consiste na definição das regras de pronúncia do Português Brasileiro, que a implementação do sistema FESTIVAL pronuncia erradamente, já que o mesmo foi implementado primariamente para o idioma Inglês. A partir destas regras, o sistema de Programação Genética, desenvolvido neste trabalho, evolui programas que constituem boas soluções para a conversão de letras para fonemas. A descrição dos resultados obtidos, cobre detalhes sobre a evolução das soluções, complexidade e regras implementadas, representadas pelas soluções mais bem adaptadas; mostrando que a Programação Genética, apesar de ser complexa, é bastante promissora.
Resumo:
Técnicas de Processamento de Imagens e de Computação Gráfica vêm sendo empregadas há bastante tempo para o diagnóstico por imagens em Medicina. Mais recentemente, aplicações baseadas em modelos anatômicos, tanto extraídos de volumes de imagens como criados com base em estudos de anatomia, despontam com força. Tais modelos visam suportar simulação de movimento e de fisiologia. Porém, para que isso se torne realidade, modelos anatômicos do corpo humano precisam ser construídos e aperfeiçoados. Entre outras funcionalidades, esses modelos devem ser capazes de representar o movimento articulado do corpo humano. O problema de modelagem das articulações já foi considerado em diversos trabalhos, principalmente em Robótica e Animação. Entretanto, esses trabalhos não levaram em conta fidelidade anatômica com profundidade suficiente para que pudessem ser utilizados em aplicações de Medicina. O principal objetivo deste trabalho, portanto, é a criação de uma estratégia de representação de articulações embasada em características anatômicas para modelagem de esqueletos humanos virtuais. Um estudo da anatomia do esqueleto humano é apresentado, destacando os tipos de articulações humanas e aspectos do seu movimento. Também é apresentado um estudo dos modelos de articulações encontrados na literatura de Computação Gráfica, e são comentados alguns sistemas de software comercial que implementam corpos articulados. Com base nesses dois estudos, procurou-se identificar as deficiências dos modelos existentes em termos de fidelidade anatômica e, a partir disso, propor uma estratégia de representação para articulações humanas que permitisse a construção de corpos humanos virtuais anatomicamente realísticos. O modelo de articulações proposto foi projetado com o auxílio de técnicas de projeto orientado a objetos e implementado no âmbito do projeto Virtual Patients. Usando as classes do modelo, foi construído um simulador de movimentos, que recebe a descrição de um corpo articulado através de um arquivo em formato XML e apresenta uma animação desse corpo. A descrição do movimento também é especificada no mesmo arquivo. Esse simulador foi utilizado para gerar resultados para verificar a correção e fidelidade do modelo articular. Para isso, um joelho virtual foi construído, seus movimentos foram simulados e comparados com outros joelhos: o modelo de outro simulador, um modelo plástico anatômico e o joelho real.
Resumo:
A partir de uma base de dados de ações da Telemar S.A., do período de 21/09/1998 a 21/10/2002, e de opções de 02/10/2000 a 21/10/2002, foi avaliado qual o previsor que prevê com maior precisão a volatilidade futura: o implícito ou o estatístico. A volatilidade implícita foi obtida por indução retroativa da fórmula de Black-Scholes. As previsões estatísticas da volatilidade foram obtidas pelos modelos de média móvel ponderada igualmente, modelo GARCH, EGARCH e FIGARCH. Os resultados das regressões do conteúdo de informação revelam que a volatilidade implícita ponderada possui substancial quantidade de informações sobre a volatilidade um passo à frente, pois apresenta o maior R2 ajustado de todas as regressões. Mesmo sendo eficiente, os testes indicam que ela é viesada. Porém, a estatística Wald revela que os modelos EGARCH e FIGARCH são previsores eficientes e não viesados da variação absoluta dos retornos da Telemar S.A. entre t e t + 1, apesar do R2 um pouco inferior a volatilidade implícita. Esse resultado a partir de parâmetros baseados em dados ex-post, de certo modo refuta a hipótese de que as opções possibilitam melhores informações aos participantes do mercado sobre as expectativas de risco ao longo do próximo dia Nas regressões do poder de previsão, que testam a habilidade da variável explicativa em prever a volatilidade ao longo do tempo de maturidade da opção, os resultados rejeitam a hipótese da volatilidade implícita ser um melhor previsor da volatilidade futura. Elas mostram que os coeficientes das volatilidades implícitas e incondicionais são estatisticamente insignificantes, além do R2 ajustado ser zero ou negativo. Isto, a princípio, conduz à rejeição da hipótese de que o mercado de opções é eficiente. Por outro lado, os resultados apresentados pelos modelos de volatilidade condicional revelam que o modelo EGARCH é capaz de explicar 60% da volatilidade futura. No teste de previsor eficiente e não viesado, a estatística Wald não rejeita esta hipótese para o modelo FIGARCH. Ou seja, um modelo que toma os dados ex-post consegue prever a volatilidade futura com maior precisão do que um modelo de natureza forward looking, como é o caso da volatilidade implícita. Desse modo, é melhor seguir a volatilidade estatística - expressa pelo modelo FIGARCH, para prever com maior precisão o comportamento futuro do mercado.
Resumo:
A visualização em tempo real de cenas complexas através de ambientes de rede é um dos desafios na computação gráfica. O uso da visibilidade pré-computada associada a regiões do espaço, tal como a abordagem dos Potentially Visible Sets (PVS), pode reduzir a quantidade de dados enviados através da rede. Entretanto, o PVS para algumas regiões pode ainda ser bastante complexo, e portanto uma estratégia diferente para diminuir a quantidade de informações é necessária. Neste trabalho é introduzido o conceito de Smart Visible Set (SVS), que corresponde a uma partição das informações contidas no PVS segundo o ângulo de visão do observador e as distâncias entre as regiões. Dessa forma, o conceito de “visível” ou de “não-visível” encontrado nos PVS é estendido. A informação referente ao conjunto “visível” é ampliada para “dentro do campo de visão” ou “fora do campo de visão” e “longe” ou “perto”. Desta forma a informação referente ao conjunto “visível” é subdividida, permitindo um maior controle sobre cortes ou ajustes nos dados que devem ser feitos para adequar a quantidade de dados a ser transmitida aos limites impostos pela rede. O armazenamento dos SVS como matrizes de bits permite ainda uma interação entre diferentes SVS. Outros SVS podem ser adicionados ou subtraídos entre si com um custo computacional muito pequeno permitindo uma rápida alteração no resultado final. Transmitir apenas a informação dentro de campo de visão do usuário ou não transmitir a informação muito distante são exemplos dos tipos de ajustes que podem ser realizados para se diminuir a quantidade de informações enviadas. Como o cálculo do SVS depende da existência de informação de visibilidade entre regiões foi implementado o algoritmo conhecido como “Dual Ray Space”, que por sua vez depende do particionamento da cena em regiões. Para o particionamento da cena em uma BSP-Tree, foi modificada a aplicação QBSP3. Depois de calculada, a visibilidade é particionada em diferentes conjuntos através da aplicação SVS. Finalmente, diferentes tipos de SVS puderam ser testados em uma aplicação de navegação por um cenário 3D chamada BSPViewer. Essa aplicação também permite comparações entre diferentes tipos de SVS e PVS. Os resultados obtidos apontam o SVS como uma forma de redução da quantidade de polígonos que devem ser renderizados em uma cena, diminuindo a quantidade de informação que deve ser enviada aos usuários. O SVS particionado pela distância entre as regiões permite um corte rápido na informação muito distante do usuário. Outra vantagem do uso dos SVS é que pode ser realizado um ordenamento das informações segundo sua importância para o usuário, desde que uma métrica de importância visual tenha sido definida previamente.
Resumo:
A computação de tempo real é uma das áreas mais desafiadoras e de maior demanda tecnológica da atualidade. Está diretamente ligada a aplicações que envolvem índices críticos de confiabilidade e segurança. Estas características, inerentes a esta área da computação, vêm contribuindo para o aumento da complexidade dos sistemas tempo real e seu conseqüente desenvolvimento. Isto fez com que mecanismos para facilitar especificação, delimitação e solução de problemas passem a ser itens importantes para tais aplicações. Este trabalho propõe mecanismos para atuarem no desenvolvimento de sistemas de tempo real, com o objetivo de serem empregados como ferramenta de apoio no problema da verificação de presença de inconsistências, que podem vir a ocorrer nos vários modelos gerados partir da notação da linguagem de modelagem gráfica para sistemas de tempo real - UML-RT(Unified Modeling Language for Real Time). Estes mecanismos foram projetados através da construção de um metamodelo dos conceitos presentes nos diagramas de classe, de objetos, de seqüência, de colaboração e de estados. Para construir o metamodelo, utiliza-se a notação do diagrama de classes da UML (Unified Modeling Language). Contudo, por intermédio das representações gráficas do diagrama de classes não é possível descrever toda a semântica presente em tais diagramas. Assim, regras descritas em linguagem de modelagem OCL (Object Constraint Language) são utilizadas como um formalismo adicional ao metamodelo. Com estas descrições em OCL será possível a diminuição das possíveis ambigüidades e inconsistências, além de complementar as limitações impostas pelo caráter gráfico da UML. O metamodelo projetado é mapeado para um modelo Entidade&Relacionamento. A partir deste modelo, são gerados os scripts DDL (Data Definition Language) que serão usados na criação do dicionário de dados, no banco de dados Oracle. As descrições semânticas escritas através de regras em OCL são mapeadas para triggers, que disparam no momento em que o dicionário de dados é manipulado. O MET Editor do SiMOO-RT é a ferramenta diagramática que faz o povoamento dos dados no dicionário de dados. SiMOO-RT é uma ferramenta orientada a objetos para a modelagem, simulação e geração automática de código para sistemas de tempo real.
Resumo:
As tarefas de visão computacional incentivam uma significativa parte da pesquisa em todas as áreas científicas e industriais, entre as quais, cita-se a área voltada para o desenvolvimento de arquiteturas de computadores. A visão computacional é considerada um dos problemas mais desafiadores para a computação de alto desempenho, pois esta requer um grande desempenho, bem como um alto grau de flexibilidade. A flexibilidade é necessária pois a visão computacional abrange aplicações em que há diferentes tarefas a serem realizadas com diferentes necessidades de desempenho. Esta flexibilidade é particularmente importante em sistemas destinados a atuar como ambientes experimentais para novas técnicas de processamento visual ou para a prototipação de novas aplicações. Computação configurável tem demonstrado, por meio de exemplos implementados pela comunidade científica, fornecer uma boa relação entre alto desempenho e flexibilidade necessária para a implementação de diferentes técnicas utilizadas na área de visão computacional. Contudo, poucos esforços de pesquisa têm sido realizados na concepção de sistemas completos visando a solução de um problema de visão computacional, incluindo ambos os requisitos de software e de hardware. O principal objetivo deste trabalho é mostrar que as técnicas e tecnologias disponíveis na área de computação configurável podem ser empregadas para a concepção de um sistema capaz de implementar um grande número de aplicações da área de visão computacional na pesquisa e no ambiente industrial. Entretanto, não é escopo deste trabalho implementar um sistema de computação que seja suficiente para abordar os requerimentos necessários para todas as aplicações em visão computacional, mas os métodos aqui introduzidos podem ser utilizados como uma base geral de implementação de várias tarefas de visão computacional. Este trabalho utiliza ambientes que permitem implementações conjuntas de hardware e software, pois os mesmos facilitam a validação das técnicas aqui apresentadas, por meio da implementação de um estudo de caso, sendo parte deste estudo de caso implementado em software e outra parte em hardware.
Resumo:
A análise de um algoritmo tem por finalidade melhorar, quando possível, seu desempenho e dar condições de poder optar pelo melhor, dentre os algoritmos existentes, para resolver o mesmo problema. O cálculo da complexidade de algoritmos é muito dependente da classe dos algoritmos analisados. O cálculo depende da função tamanho e das operações fundamentais. Alguns aspectos do cálculo da complexidade, entretanto, não dependem do tipo de problema que o algoritmo resolve, mas somente das estruturas que o compõem, podendo, desta maneira, ser generalizados. Com base neste princípio, surgiu um método para o cálculo da complexidade de algoritmos no pior caso. Neste método foi definido que cada estrutura algorítmica possui uma equação de complexidade associada. Esse método propiciou a análise automática da complexidade de algoritmos. A análise automática de algoritmos tem como principal objetivo tornar o processo de cálculo da complexidade mais acessível. A união da metodologia para o pior caso, associada com a idéia da análise automática de programas, serviu de motivação para o desenvolvimento do protótipo de sistema ANAC, que é uma ferramenta para análise automática da complexidade de algoritmos não recursivos. O objetivo deste trabalho é implementar esta metodologia de cálculo de complexidade de algoritmos no pior caso, com a utilização de técnicas de construção de compiladores para que este sistema possa analisar algoritmos gerando como resultado final a complexidade do algoritmo dada em ordens assintóticas.