57 resultados para Taxonomia (computação)
Resumo:
Hoje em dia, há um aumento evidente dos produtos ou soluções sob medida, com o objectivo de melhor se adaptarem às necessidades dos perfis de clientes. Num outro contexto, existe um largo crescimento da presença da computação informática nas salas de aulas, de maneira a auxiliar o professor a cativar e motivar os alunos, através de jogos educativos. Contudo, nem todos os docentes têm conhecimentos informáticos avançados, então não têm forma de perso-nalizar jogos, o que beneficiaria as crianças com soluções adaptadas às suas necessidades. Com isto, foi idealizado um sistema, que assenta sobre uma framework de criação de jogos, e que possibilite a um utilizador com menos habilidades informáticas a possibilidade de criar um jogo. Apesar de existirem diversos jogos desse tipo, seria vantajoso um professor poder criar um jogo, personalizando-o de acordo com as necessidades do aluno e com as competências que se desejam desenvolver. Este sistema consiste numa interface em que o utilizador segue uma série de passos definidos, do qual resulta um ficheiro com todas as características de jo-go, que será depois importado para uma framework, permitindo assim a criação de diferentes jogos, desde que se enquadrem na mesma mecânica.
Resumo:
A Programação Genética (PG) é uma técnica de Aprendizagem de Máquina (Machine Learning (ML)) aplicada em problemas de otimização onde pretende-se achar a melhor solução num conjunto de possíveis soluções. A PG faz parte do paradigma conhecido por Computação Evolucionária (CE) que tem como inspiração à teoria da evolução natural das espécies para orientar a pesquisa das soluções. Neste trabalho, é avaliada a performance da PG no problema de previsão de parâmetros farmacocinéticos utilizados no processo de desenvolvimento de fármacos. Este é um problema de otimização onde, dado um conjunto de descritores moleculares de fármacos e os valores correspondentes dos parâmetros farmacocinéticos ou de sua atividade molecular, utiliza-se a PG para construir uma função matemática que estima tais valores. Para tal, foram utilizados dados de fármacos com os valores conhecidos de alguns parâmetros farmacocinéticos. Para avaliar o desempenho da PG na resolução do problema em questão, foram implementados diferentes modelos de PG com diferentes funções de fitness e configurações. Os resultados obtidos pelos diferentes modelos foram comparados com os resultados atualmente publicados na literatura e os mesmos confirmam que a PG é uma técnica promissora do ponto de vista da precisão das soluções encontradas, da capacidade de generalização e da correlação entre os valores previstos e os valores reais.
Resumo:
Na atualidade existe a necessidade de produzir novos aviões de forma rápida, eficiente e económica com o objetivo de abrir novas rotas de voo, expansão das já existentes e substituição de aviões em fim de vida útil. Neste contexto, e sem nunca deixar de cumprir os apertados requisitos do domínio que incluem a exigência de elevada qualidade, a indústria adotou a arquitetura IMA que permite executar várias aplicações aviónicas num único sistema de computação partilhado. Com esta arquitetura, o desenvolvimento do software para as aeronaves ganhou uma elevada relevância, sendo necessário gerar código automaticamente, reutilizar código já testado proveniente de outras aplicações anteriormente desenvolvidas e garantir o mais cedo possível que o software desenvolvido se encontra de acordo com os standards. Apesar da complexidade do domínio, desenvolveu-se uma ferramenta que permite produzir a estrutura do código de novas aplicações para a aviónica. Aferramenta lida com a variabilidade das diversas linhas de produto e reduz o tempo de desenvolvimento. Uma DSL poderia ser uma solução apropriada, pois permite cobrir diversos requisitos exigidos, no entanto, esta solução não é exequível porque seria necessário produzir uma linguagem para cada configuração de software aviónico diferente se pretendêssemos tirar partido da especificidade. Com esta dissertação, solucionou-se esta dificuldade com recurso à noção de família de DSLs. Trata-se de um conjunto de linguagens para um domínio específico, que apresentam um conjunto comum de conceitos chave, mas que adaptam alguns desses conceitos para cumprir a variabilidade dos requisitos. Utilizou-se a abordagem MDD para desenvolver um gerador automático de DSLs que é capaz de produzir a linguagem desejada de acordo com a configuração de software pretendida para a partição pertencente a um módulo aviónico. As linguagens geradas apresentam um nível de usabilidade adequada para o domínio, bem como têm a capacidade de validar as construções efetuadas usando a DSL e produzir os artefactos pretendidos.
Resumo:
As simulações que pretendam modelar fenómenos reais com grande precisão em tempo útil exigem enormes quantidades de recursos computacionais, sejam estes de processamento, de memória, ou comunicação. Se até há pouco tempo estas capacidades estavam confinadas a grandes supercomputadores, com o advento dos processadores multicore e GPUs manycore os recursos necessários para este tipo de problemas estão agora acessíveis a preços razoáveis não só a investigadores como aos utilizadores em geral. O presente trabalho está focado na otimização de uma aplicação que simula o comportamento dinâmico de materiais granulares secos, um problema do âmbito da Engenharia Civil, mais especificamente na área da Geotecnia, na qual estas simulações permitem por exemplo investigar a deslocação de grandes massas sólidas provocadas pelo colapso de taludes. Assim, tem havido interesse em abordar esta temática e produzir simulações representativas de situações reais, nomeadamente por parte do CGSE (Australian Research Council Centre of Excellence for Geotechnical Science and Engineering) da Universidade de Newcastle em colaboração com um membro da UNIC (Centro de Investigação em Estruturas de Construção da FCT/UNL) que tem vindo a desenvolver a sua própria linha de investigação, que se materializou na implementação, em CUDA, de um algoritmo para GPUs que possibilita simulações de sistemas com um elevado número de partículas. O trabalho apresentado consiste na otimização, assente na premissa da não alteração (ou alteração mínima) do código original, da supracitada implementação, de forma a obter melhorias significativas tanto no tempo global de execução da aplicação, como no aumento do número de partículas a simular. Ao mesmo tempo, valida-se a formulação proposta ao conseguir simulações que refletem, com grande precisão, os fenómenos físicos. Com as otimizações realizadas, conseguiu-se obter uma redução de cerca de 30% do tempo inicial cumprindo com os requisitos de correção e precisão necessários.
Resumo:
Os serviços inicialmente idealizados para o mundo dos negócios, têm actualmente um espectro de utilização muito mais lato, facilitando assim a incorporação de software do exterior, sob a representação de serviço, por parte das aplicações. Os principais contribuidores para a emergente utilização de serviços são a proliferação dos dispositivos móveis, a crescente popularidade da computação da nuvem e a ubiquidade da Internet. Apesar deste estado da arte, a abstracção dos serviços continua, maioritariamente, a ser relegada para a camada do middleware. Consequentemente, este confinamento obstem o programador de ter privilégios para interagir com os serviços ao nível da linguagem. A inexistência deste nível de abstracção dificulta o deployment de aplicações dinâmicas. Como medida para tal, o objectivo do nosso trabalho é garantir suporte ao dinamismo e deployment de arquitecturas orientadas a serviços. Com esse propósito, vamos endereçar os problemas de incorporação dos serviços acessíveis pela Web e permitir operações de reconfiguração dos mesmos, nomeadamente, a ligação dinâmica, substituição do fornecedor de serviços e a gestão dinâmica de conjuntos de fornecedores de serviços.
Resumo:
Série II - Nºs 8 e 9 - Colóquios - I Jornada de Cultura Inglesa - Família e Educação
Resumo:
Nos anos mais recentes tem sido feita investigação no uso da Programação Orientada a Aspectos no suporte a computação paralela, nomeadamente para conseguir guardar as funcionalidades da mesma em módulos, algo que não é possível quando se utiliza Programação Orientada a Objectos. Um resultado desta investigação foi o desenvolvimento de uma aplicação, o ParJECoLi, desenvolvida usando a linguagem Java e recorrendo ao AspectJ para paralelizar a mesma. No entanto, durante essa mesma investigação, chegou-se à conclusão que o AspectJ apresenta algumas limitações na reutilização de módulos. Tendo em conta isso, surgiu a ideia de estudar uma outra linguagem de programação, conceptualmente diferente da usada na investigação. A linguagem Scala é conhecida por ter uma capacidade de composição modular flexível. Como tal parece interessante entender até que ponto é capaz de substituir AspectJ no suporte modular à computação paralela. Este projecto pretende aferir essa capacidade. Neste contexto, pretende-se usar o ParJECoLi como caso de estudo para dirigir comparações entre Scala e AspectJ.
Resumo:
Na cadeia de produção de cartografia digital, que se encontra implementada no IGeoE, existe a necessidade de efetuar a restituição de objetos através da vetorização 3D. Sendo este processo completamente manual, o operador identifica e adquire os objetos, em ambiente estereoscópico, segundo as regras estabelecidas nas normas de aquisição. A aquisição de construções, nomeadamente os edifícios, são dos objetos que mais recursos consomem devido à sua frequência e dificuldade de restituição. A possibilidade de simplificar esta parte do processo proporciona um beneficio substancial para toda a cadeia de produção. Pretende-se assim detetar edifícios em fotografias aéreas, extraindo a sua informação planimétrica e altimétrica, para posterior inserção num SIG. Para a obtenção da altimetria são utilizados os princípios de fotogrametria analítica através das equações de colinearidade. Este problema torna-se relevante devido ao facto de se pretender retirar informação de fotografias, que possuem bastante informação, com recurso à computação gráfica, através de técnicas de segmentação em vários níveis e fotogrametria, juntando assim duas áreas do saber. Esta solução permite automatizar um processo que é predominantemente manual, contribuindo para melhorar a cadeia de produção sem a alteração de funcionamento da mesma.
Resumo:
Alguns jogos têm como objectivo a competição, outros a aprendizagem, uns jogam-se em grupo, outros individualmente. No entanto, todos têm um factor comum, ou seja, a experiência que se retira do momento é única. Seja esta experiência positiva ou negativa vai servir de aprendizagem nem que seja apenas das regras e mecânicas do dispositivo. Os Serious Games simulam situações ou processos do mundo real que são elaborados com o propósito de resolver um problema. Muitas vezes estes sacrificam o divertimento e o entretenimento com o objectivo de alcançar um tipo de progresso desejado para o jogador. Tal como no passado, e tendo em conta o desenvolvimento exponencial da tecnologia, os Serious Games podem agora ter um papel fundamental no desenvolvimento de novas terapias e ferramentas de saúde. É precisamente a olhar para o presente, e com os olhos no futuro dos Serious Games aplicados à saúde, que foi desenvolvida esta investigação. Como complemento, é também apresentado o projecto Typlife. Destinado a jovens com diabetes, é um projecto académico que tem como objectivo o desenvolvimento de uma aplicação para smartphone para o controlo da diabetes, enquanto envolve o utilizador numa experiência interactiva de recompensas pelas boas práticas no dia-a-dia.
Resumo:
Actualmente, os meios de produção industrial estão em constante desenvolvimento, de forma a corresponderem a um mercado cada vez mais globalizado, caracterizado por uma forte competição, uma pressão na redução de custos, e a existência de produtos e serviços personalizados. Entretanto, ao nível de equipamento de robótica, também se tem notado esta pressão por parte do mercado, exigindo-se equipamento com uma complexidade crescente, tanto ao nível da sua morfologia, do seu controlo e da sua utilização. Ao nível da sua utilização, tornou-se então necessário adoptar abordagens que permitam um maior controlo quanto a falhas de manuseamento e respectiva modelação destes robôs. Uma destas abordagens é a simulação. A simulação é uma das áreas com maior crescimento a nível tecnológico, sendo utilizada em várias áreas de tecnologia e informação devido à sua capacidade de adaptação, tornando-se numa área bastante dinâmica e flexível. Dentro dum contexto de robôs industriais, as aplicações mais típicas consistem na programação “offline” de robôs e na aprendizagem de robótica, tendo como objectivo estudar e analisar os comportamentos de determinados sistemas, com o intuito de reduzir a necessidade de intervenção humana em tarefas repetitivas, perigosas e dispendiosas. Além disso, a simulação está também presente na computação informática nas salas de aulas, por forma a auxiliar o professor. Foi então idealizado um sistema de simulação capaz de imitar um robô industrial em que os alunos terão que conseguir controlar, para que os vários testes sejam primeiramente implementados no simulador, diminuindo assim, o risco de causar acidentes no seu congênere real durante a fase de testes. O sistema consiste numa interface em que possibilita ao utilizador fazer um controlo manual do robô simulado, assim como ser capaz de o controlar por comandos requisitados por uma aplicação exterior através de serviços WEB, permitindo assim, a simulação de vários testes no robô industrial em causa.
Resumo:
O problema das dificuldades de aprendizagem dos alunos e o insucesso escolar na disciplina de Matemática tem merecido particular atenção dos responsáveis pelo ensino e pela formação, tornando-se mais premente aquando da transição entre o ensino secundário e o ensino superior. Verifica-se, com efeito, que no final dos seus estudos secundários uma parte considerável de candidatos a uma formação superior revela graves lacunas neste âmbito, comprometendo, à partida, toda a sua formação ulterior. O panorama agrava-se quando esse tipo de literacia é requisito prioritário em determinados cursos altamente especializados como é o caso das Engenharias, da Economia ou da Gestão. O objetivo prioritário deste trabalho – que incide sobre um caso particular de seleção de candidatos para uma instituição de ensino e formação na área das ciências e tecnologia - é o de compreender o nível de consistência entre o que se espera ter assimilado em termos matemáticos à saída do secundário (o currículo prescrito) e o que efetivamente os alunos demonstram saber nesse ponto da sua formação (o currículo avaliado). A necessidade de compreender o fenómeno conduziu à análise das matrizes disponibilizadas aos candidatos, da correspondente prova de Matemática realizada por aqueles como instrumento de seleção e os resultados obtidos no ISPTEC. Aplicando-se a taxonomia de Bloom, constatou-se que, não obstante a referida prova enfermar de alguma complexidade, a mesma comportava, no entanto, algumas questões de grande acessibilidade. Para além do tratamento possível destes dados, procurou-se apresentar a etiologia do problema, ou seja, o porquê desta disparidade entre currículo prescrito e currículo avaliado, assim como definir algumas recomendações tendentes a corrigir e a prevenir tal situação de insucesso como forma de ir ao encontro dos objetivos de desenvolvimento para o Milénio preconizados pela UNESCO.
Resumo:
A Digital Breast Tomosynthesis (DBT) é uma técnica que permite obter imagens mamárias 3D de alta qualidade, que só podem ser obtidas através de métodos de re-construção. Os métodos de reconstrução mais rápidos são os iterativos, sendo no en-tanto computacionalmente exigentes, necessitando de sofrer muitas optimizações. Exis-tem optimizações que usam computação paralela através da implementação em GPUs usando CUDA. Como é sabido, o desenvolvimento de programas eficientes que usam GPUs é ainda uma tarefa demorada, dado que os modelos de programação disponíveis são de baixo nível, e a portabilidade do código para outras arquitecturas não é imedia-ta. É uma mais valia poder criar programas paralelos de forma rápida, com possibili-dade de serem usados em diferentes arquitecturas, sem exigir muitos conhecimentos sobre a arquitectura subjacente e sobre os modelos de programação de baixo nível. Para resolver este problema, propomos a utilização de soluções existentes que reduzam o esforço de paralelização, permitindo a sua portabilidade, garantindo ao mesmo tempo um desempenho aceitável. Para tal, vamos utilizar um framework (FastFlow) com suporte para Algorithmic Skeletons, que tiram partido da programação paralela estruturada, capturando esquemas/padrões recorrentes que são comuns na programação paralela. O trabalho realizado centrou-se na paralelização de uma das fases de reconstru-ção da imagem 3D – geração da matriz de sistema – que é uma das mais demoradas do processo de reconstrução; esse trabalho incluiu um método de ordenação modificado em relação ao existente. Foram realizadas diferentes implementações em CPU e GPU (usando OpenMP, CUDA e FastFlow) o que permitiu comparar estes ambientes de programação em termos de facilidade de desenvolvimento e eficiência da solução. A comparação feita permite concluir que o desempenho das soluções baseadas no FastFlow não é muito diferente das tradicionais o que sugere que ferramentas deste tipo podem simplificar e agilizar a implementação de um algoritmos na área de recons-trução de imagens 3D, mantendo um bom desempenho.