63 resultados para Software Complexity
Resumo:
Article in Press, Corrected Proof
Resumo:
Recent embedded processor architectures containing multiple heterogeneous cores and non-coherent caches renewed attention to the use of Software Transactional Memory (STM) as a building block for developing parallel applications. STM promises to ease concurrent and parallel software development, but relies on the possibility of abort conflicting transactions to maintain data consistency, which in turns affects the execution time of tasks carrying transactions. Because of this fact the timing behaviour of the task set may not be predictable, thus it is crucial to limit the execution time overheads resulting from aborts. In this paper we formalise a FIFO-based algorithm to order the sequence of commits of concurrent transactions. Then, we propose and evaluate two non-preemptive and one SRP-based fully-preemptive scheduling strategies, in order to avoid transaction starvation.
Resumo:
The recent technological advancements and market trends are causing an interesting phenomenon towards the convergence of High-Performance Computing (HPC) and Embedded Computing (EC) domains. On one side, new kinds of HPC applications are being required by markets needing huge amounts of information to be processed within a bounded amount of time. On the other side, EC systems are increasingly concerned with providing higher performance in real-time, challenging the performance capabilities of current architectures. The advent of next-generation many-core embedded platforms has the chance of intercepting this converging need for predictable high-performance, allowing HPC and EC applications to be executed on efficient and powerful heterogeneous architectures integrating general-purpose processors with many-core computing fabrics. To this end, it is of paramount importance to develop new techniques for exploiting the massively parallel computation capabilities of such platforms in a predictable way. P-SOCRATES will tackle this important challenge by merging leading research groups from the HPC and EC communities. The time-criticality and parallelisation challenges common to both areas will be addressed by proposing an integrated framework for executing workload-intensive applications with real-time requirements on top of next-generation commercial-off-the-shelf (COTS) platforms based on many-core accelerated architectures. The project will investigate new HPC techniques that fulfil real-time requirements. The main sources of indeterminism will be identified, proposing efficient mapping and scheduling algorithms, along with the associated timing and schedulability analysis, to guarantee the real-time and performance requirements of the applications.
Resumo:
O objetivo deste trabalho é o desenvolvimento de frameworks de testes automáticos de software. Este tipo de testes normalmente está associado ao modelo evolucionário e às metodologias ágeis de desenvolvimento de software, enquanto que os testes manuais estão relacionados com o modelo em cascata e as metodologias tradicionais. Como tal foi efetuado um estudo comparativo sobre os tipos de metodologias e de testes existentes, para decidir quais os que melhor se adequavam ao projeto e dar resposta à questão "Será que realmente compensa realizar testes (automáticos)?". Finalizado o estudo foram desenvolvidas duas frameworks, a primeira para a implementação de testes funcionais e unitários sem dependências a ser utilizada pelos estagiários curriculares da LabOrders, e a segunda para a implementação de testes unitários com dependências externas de base de dados e serviços, a ser utilizada pelos funcionários da empresa. Nas últimas duas décadas as metodologias ágeis de desenvolvimento de software não pararam de evoluir, no entanto as ferramentas de automação não conseguiram acompanhar este progresso. Muitas áreas não são abrangidas pelos testes e por isso alguns têm de ser feitos manualmente. Posto isto foram criadas várias funcionalidades inovadoras para aumentar a cobertura dos testes e tornar as frameworks o mais intuitivas possível, nomeadamente: 1. Download automático de ficheiros através do Internet Explorer 9 (e versões mais recentes). 2. Análise do conteúdo de ficheiros .pdf (através dos testes). 3. Obtenção de elementos web e respetivos atributos através de código jQuery utilizando a API WebDriver com PHP bindings. 4. Exibição de mensagens de erro personalizadas quando não é possível encontrar um determinado elemento. As frameworks implementadas estão também preparadas para a criação de outros testes (de carga, integração, regressão) que possam vir a ser necessários no futuro. Foram testadas em contexto de trabalho pelos colaboradores e clientes da empresa onde foi realizado o projeto de mestrado e os resultados permitiram concluir que a adoção de uma metodologia de desenvolvimento de software com testes automáticos pode aumentar a produtividade, reduzir as falhas e potenciar o cumprimento de orçamentos e prazos dos projetos das organizações.
Resumo:
Atualmente, as empresas distinguem-se das demais pelos produtos e serviços fornecidos com qualidade e dentro dos prazos estabelecidos. Uma empresa de desenvolvimento de software não foge a essa regra e para isso os processos envolvidos nas diversas fases de levantamento, desenvolvimento, implementação e suporte devem estar documentados, ser do conhecimento geral da Organização e colocados em prática diariamente nas diversas atividades dos colaboradores. Para isso deve contribuir uma melhoria contínua desses mesmos processos. O CMMI-DEV, Capability Maturity Model Integration for Development, possibilita a introdução de boas práticas nas diversas áreas do processo de desenvolvimento de software, mas também a avaliação dessas áreas e respetiva identificação de aspetos a necessitarem de ser melhorados ou até disseminados por toda a organização. Este trabalho envolveu efetuar uma análise teórica do CMMI-DEV e sua posterior utilização prática num ambiente de trabalho empresarial para avaliação dos processos dessa empresa. Para a concretização deste segundo aspeto, foi elaborado um questionário para avaliar os processos de uma organização, segundo o modelo CMMI-DEV 1.3, avaliada a facilidade de utilização do questionário de avaliação dos processos por parte dos inquiridos. Foi realizada ainda uma análise aos resultados obtidos nos referidos questionários.
Resumo:
Este estudo procura a valorização do ensino dirigido a alunos com Incapacidade Intelectual. Tem como objetivos conceber um recurso didático, integrando as ferramentas do Scratch, para alunos com Incapacidade Intelectual; averiguar a exequibilidade do uso desse recurso em ambiente natural de ensino e promover o envolvimento de alunos com Incapacidade Intelectual na realização de tarefas propostas na disciplina de Ciências da Natureza. Pretendemos dar resposta às seguintes questões de investigação: (1) A utilização do Scratch é adequada e exequível no trabalho quotidiano de alunos com Incapacidade Intelectual? (2) Em que medida o Scratch pode contribuir para um melhor envolvimento dos alunos com Incapacidade Intelectual na realização das tarefas propostas? Para este efeito, planificamos duas aulas. Na primeira, abordou-se o conteúdo a tratar – Poluição – e na segunda aula utilizou-se o Scratch, desafiando os alunos a desenvolverem diversas tarefas de forma mais ativa. O presente estudo segue uma abordagem metodológica de natureza qualitativa, centrando-se num estudo de caso, onde se aborda a importância do uso das Tecnologias de Informação e Comunicação, mais concretamente o software educativo Scratch, como sendo uma ferramenta potenciadora do envolvimento dos alunos. Este estudo foi aplicado a três alunos com Incapacidade Intelectual que tinham sido atribuídos à docente investigadora no presente ano letivo. Os dados foram recolhidos através da análise dos Programas Educativos Individuais dos alunos participantes; da entrevista realizada à docente de Educação Especial; de gravações áudio, de fotografias, de trabalhos realizados pelos alunos participantes e de notas de campo da investigadora. Foi centralidade do estudo a conceção de uma proposta didática e o desenvolvimento dos respetivos recursos, utilizando o software educativo Scratch. Quer a proposta didática quer os recursos a ela associados constituem em si mesmo parte dos resultados do trabalho desenvolvido. Os dados obtidos neste estudo permitem sustentar a ideia de que é possível trabalhar com alunos com Necessidades Educativas Especiais, nomeadamente Incapacidade Intelectual, recorrendo ao software educativo Scratch e que o uso desta ferramenta proporcionou um maior envolvimento e autonomia dos alunos nas tarefas propostas.
Resumo:
O estudo que apresentamos tem como objetivos de investigação contribuir para o desenvolvimento global das crianças com Necessidades Educativas Especiais, nomeadamente, portadoras de Dislexia, designadamente em aulas onde são lecionados conteúdos de Ciências da Natureza e de Matemática, e conceber um recurso didático apoiado nas TIC que seja adequado à utilização em sala de aula por alunos com dislexia. Neste sentido, o estudo foi orientado pelas seguintes questões de investigação: A utilização do Scratch é adequada e exequível no trabalho quotidiano de alunos portadores de Dislexia? e Em que medida o Scratch pode contribuir para um melhor envolvimento dos alunos portadores de Dislexia na realização das tarefas propostas? O presente trabalho segue uma metodologia de carácter qualitativo, centrando-se no estudo de caso. Tentou-se dar uma resposta à reduzida utilização do software Scratch no ensino das Ciências da Natureza e Matemática como instrumentos viáveis para uma aprendizagem de sucesso em alunos portadores de Dislexia. Este estudo foi aplicado a três alunos do 4º ano, com este diagnóstico, de um agrupamento de escolas do concelho de Viseu. Para dar resposta às questões de investigação supracitadas foram implementadas e projetadas duas atividades no software Scratch para serem desenvolvidas em duas situações formativas contextualizadas. O subdomínio que se pretendeu trabalhar foi “A importância da água para os seres vivos” articulando com o conteúdo dos volumes. Os dados foram recolhidos através da análise dos Programas Educativos Individuais de cada um dos alunos participantes, das entrevistas às docentes de Educação Especial, de gravações áudio, fotografias, trabalhos dos alunos e os registos da professora investigadora. Os resultados obtidos permitiram caracterizar o modo como os alunos, portadores de dislexia, se envolveram com o Scratch na aquisição de conhecimento. Permitiram ainda demonstrar aos professores que é possível construir atividades nesta ferramenta envolvendo conteúdos curriculares interdisciplinares.
Resumo:
The study of chemical diffusion in biological tissues is a research field of high importance and with application in many clinical, research and industrial areas. The evaluation of diffusion and viscosity properties of chemicals in tissues is necessary to characterize treatments or inclusion of preservatives in tissues or organs for low temperature conservation. Recently, we have demonstrated experimentally that the diffusion properties and dynamic viscosity of sugars and alcohols can be evaluated from optical measurements. Our studies were performed in skeletal muscle, but our results have revealed that the same methodology can be used with other tissues and different chemicals. Considering the significant number of studies that can be made with this method, it becomes necessary to turn data processing and calculation easier. With this objective, we have developed a software application that integrates all processing and calculations, turning the researcher work easier and faster. Using the same experimental data that previously was used to estimate the diffusion and viscosity of glucose in skeletal muscle, we have repeated the calculations with the new application. Comparing between the results obtained with the new application and with previous independent routines we have demonstrated great similarity and consequently validated the application. This new tool is now available to be used in similar research to obtain the diffusion properties of other chemicals in different tissues or organs.
Resumo:
Dissertação de Mestrado apresentada ao Instituto de Contabilidade e Administração do Porto para a obtenção do grau de Mestre em Tradução e Interpretação Especializadas, sob orientação do Doutor Manuel Moreira da Silva Esta versão não contém as críticas e sugestões dos elementos do júri
Resumo:
Nos últimos anos tem-se verificado a constante evolução dos mercados em plataformas na Internet como forma de melhoria não só dos serviços prestados, mas também para o aumento de vendas de produtos e respetiva internacionalização dos mesmos. Este aumento da procura por este tipo de softwares, assim como a constante evolução e atualização dos mesmos tem contribuído para que estas aplicações evoluam em termos de funcionalidades e complexidade. Isto contribui cada vez para a dificuldade de formar equipas capazes de manter e desenvolver estes sistemas sem que comprometa em grandes custos para as organizações. Neste sentido surgiram diversas ferramentas que permitem criar soluções pré desenvolvidas de aplicações na Internet denominadas de "E-commerce applications". Estas plataformas, apesar do utilizador não ter obrigatoriamente que deter conhecimentos de programação para proceder à sua instalação, são bastante restritas tanto aos serviços que podem ser usados, e na sua escalabilidade, visto que normalmente correm em servidores específicos e por vezes as configurações necessárias para instalação tornam-se bastante complexas de ser efetuadas. Pretende-se no âmbito desta dissertação de mestrado propor um modelo de uma arquitetura de um sistema baseado em mecanismos MDA para a área de retalho, particularmente em ambientes de e-commerce. Serão inicialmente sistematizados os principais tipos de ecommerce numa perspetiva de evolução histórica. Será igualmente enquadrado o MDA no desenvolvimento de um sistema de e-commerce. Neste sentido, serão equacionadas as diferenças entre o modelo típico de desenvolvimento de software e o desenvolvimento de software orientado pelas metodologias do MDA. No processo de especificação e desenvolvimento do modelo proposto será realizada uma análise de requisitos, assim como, a proposta do modelo da arquitetura de um sistema baseado em mecanismos MDA, tendo como orientação os requisitos e arquitetura definida na fase de análise. Finalmente no sentido de analisar o resultado esperado para um sistema orientado por metodologias definidas por MDA, serão realizado alguns testes no sistema desenvolvido de forma a analisar o seu desempenho e validar a sua adequabilidade no âmbito do processo de desenvolvimento de sistemas e-commerce
Resumo:
A integração contínua é uma prática no desenvolvimento de software que já existe há algum tempo mas ainda não é muito conhecida nem usada. Esta prática no desenvolvimento de software surgiu com a programação extrema e tem evoluído ao longo dos últimos anos, adaptando-se às novas tecnologias. O estudo aqui apresentado pretende essencialmente mostrar a real importância e o valor acrescido que a integração contínua pode trazer a um projeto de desenvolvimento de software. O trabalho aqui exposto surge no âmbito de um projeto interno, realizado pelo autor na empresa Konkconsulting, cuja finalidade se prende com o conhecimento mais aprofundado da integração contínua e com o levantamento das necessidades e criação de soluções, de modo a conseguir a sua utilização nos produtos que irão ser desenvolvidos pela empresa. Nesta dissertação, é proposto um conjunto de ferramentas para responder às necessidades imediatas da empresa na implementação de integração contínua num dos seus projetos. Estas ferramentas devem ser de simples e de fácil utilização, de modo a ajudar os programadores durante os desenvolvimentos e responder às necessidades da utilização da integração contínua em um projeto a ser desenvolvido pela empresa, mas ao mesmo tempo, podendo ser facilmente incorporadas em futuros projetos.
Resumo:
A necessidade de utilizar métodos de ligação que melhor satisfaçam as necessidades de projeto tem causado a crescente utilização das juntas adesivas, em detrimento dos métodos tradicionais tais como a soldadura, ligações aparafusadas e rebitadas. A sua utilização em diversas aplicações industriais justifica-se pela redução de peso, redução de concentrações de tensões, isolamento acústico e melhor resistência à corrosão. Contudo, também apresentam desvantagens, como a necessidade de preparação das juntas, a fraca resistência a esforços de arrancamento e a complexidade da previsão da sua resistência. As juntas híbridas são obtidas por combinação de uma técnica tradicional com uma ligação adesiva. As juntas híbridas adesivas-soldadas obtêm-se através da combinação da ligação adesiva com a ligação soldada, sendo a soldadura de resistência por pontos a técnica de soldadura mais usada no fabrico deste tipo de juntas. A sinergia entre ligação adesiva e soldadura por pontos oferece vantagens competitivas em relação às ligações adesivas, tais como superior resistência e rigidez, e maior resistência ao arrancamento e à fadiga. No presente trabalho é apresentado um estudo experimental e numérico de juntas T-peel soldadas, adesivas e híbridas (adesivas-soldadas) solicitadas ao arrancamento. Considerouse o adesivo frágil Araldite® AV138 e os adesivos dúcteis Araldite® 2015 e Sikaforce® 7752 e aderentes de aço (C45E). Foi realizada uma análise dos valores experimentais e efetuada uma comparação destes valores com os resultados obtidos pelo Método de Elementos Finitos (MEF) no software ABAQUS®, que incluiu uma análise de tensões na camada de adesivo e previsão do comportamento das juntas por MDC. Observou-se que, dos três adesivos em estudo, o adesivo Sikaforce® 7752 é o que apresenta o melhor desempenho na ligação de juntas T-peel. A boa concordância entre os resultados experimentais e numéricos permitiu validar a utilização de MDC para previsão da resistência de juntas T-peel adesivas e híbridas. Assim, o presente trabalho representa uma base para posterior aplicação no projeto deste tipo de ligação, com as vantagens decorrentes na redução do tempo de projeto e maior facilidade de otimização.
Resumo:
Actualmente e cada vez mais, são concebidos e utilizados programas de cálculo automático de Engenharia na realização de projectos de edifícios, que proporcionam aos engenheiros uma possibilidade avançada e rápida de execução, simulação e análise de edifícios para estruturas complexas e de elevada dimensão. Contudo, será necessário que os resultados deverão ser fiáveis de modo a não existirem consequências no comportamento real da estrutura a longo prazo. O presente relatório de estágio, refere-se à verificação aos estados limites de utilização (tensões, fendilhação e deformação) segundo o Eurocódigo 2, de uma estrutura porticada em betão armado, nomeadamente de um pórtico central pertencente a essa mesma estrutura recorrendo ao programa de cálculo automático da Autodesk o Robot Structural Analysis Professional 2014. O objectivo principal do presente trabalho consiste na comparação de resultados referente aos estados limites últimos e de utilização, pelos diferentes módulos de dimensionamento Required e Provided Reinforcement presentes no programa Robot. É destacado no final do relatório, considerando uma disposição de armadura optada analiticamente para o pórtico, uma análise comparativa de resultados referente aos estados limites de utilização entre o comando Typical Reinforcement do módulo Provided Reinforcement e por expressões analíticas. Refere-se contudo que, o procedimento do método analítico teve como base de cálculo uma aplicação desenvolvida para a verificação de elementos de betão armado aos estados limites de utilização segundo o Eurocódigo 2, com o nome de XD-Conserv tendo sido também comparado os resultados finais do mesmo.
Resumo:
A crescente evolução dos dispositivos contendo circuitos integrados, em especial os FPGAs (Field Programmable Logic Arrays) e atualmente os System on a chip (SoCs) baseados em FPGAs, juntamente com a evolução das ferramentas, tem deixado um espaço entre o lançamento e a produção de materiais didáticos que auxiliem os engenheiros no Co- Projecto de hardware/software a partir dessas tecnologias. Com o intuito de auxiliar na redução desse intervalo temporal, o presente trabalho apresenta o desenvolvimento de documentos (tutoriais) direcionados a duas tecnologias recentes: a ferramenta de desenvolvimento de hardware/software VIVADO; e o SoC Zynq-7000, Z-7010, ambos desenvolvidos pela Xilinx. Os documentos produzidos são baseados num projeto básico totalmente implementado em lógica programável e do mesmo projeto implementado através do processador programável embarcado, para que seja possível avaliar o fluxo de projeto da ferramenta para um projeto totalmente implementado em hardware e o fluxo de projeto para o mesmo projeto implementado numa estrutura de harware/software.
Resumo:
Computação gráfica um campo que tem vindo a crescer bastante nos últimos anos, desde áreas como cinematográficas, dos videojogos, da animação, o avanço tem sido tão grande que a semelhança com a realidade é cada vez maior. Praticamente hoje em dia todos os filmes têm efeitos gerados através de computação gráfica, até simples anúncios de televisão para não falar do realismo dos videojogos de hoje. Este estudo tem como objectivo mostrar duas alternativas no mundo da computação gráfica, como tal, vão ser usados dois programas, Blender e Unreal Engine. O cenário em questão será todo modelado de raiz e será o mesmo nos dois programas. Serão feitos vários renders ao cenário, em ambos os programas usando diferentes materiais, diferentes tipos de iluminação, em tempo real e não de forma a mostrar as várias alternativas possíveis.