14 resultados para Java (Programming Language)
em Repositório Científico do Instituto Politécnico de Lisboa - Portugal
Resumo:
Trabalho Final de Mestrado para obtenção do grau de Mestre em Engenharia Informática e de Computadores
Resumo:
O presente trabalho teve como principal objectivo o desenvolvimento de um analisador de vibrações de dois canais baseado em computador, para a realização de diagnóstico no âmbito do controlo de condição de máquinas. Foi desenvolvida uma aplicação num computador comum, no software LabVIEW, que através de transdutores de aceleração do tipo MEMS conectados via USB, faz a recolha de dados de vibração e procede ao seu processamento e apresentação ao utilizador. As ferramentas utilizadas para o processamento de dados são ferramentas comuns encontradas em vários analisadores de vibrações disponíveis no mercado. Estas podem ser: gráficos de espectro de frequência, sinal no tempo, cascata ou valores de nível global de vibração, entre outras. Apesar do analisador desenvolvido não apresentar inovação nas ferramentas de análise adoptadas, este pretende ser distinguido pelo baixo custo, simplicidade e carácter didáctico. Este trabalho vem evidenciar as vantagens, desvantagens e potencialidades de um analisador desta natureza. São tiradas algumas conclusões quanto à sua capacidade de diagnóstico de avarias, capacidades como ferramenta didáctica, sensores utilizados e linguagem de programação escolhida. Como conclusões principais, o trabalho revela que os sensores escolhidos não são os indicados para efectuar o diagnóstico de avarias em ambiente industrial, contudo são ideais para tornar este analisador numa boa ferramenta didáctica e de treino.
Resumo:
O trabalho que se apresenta incide sobre o estudo aerodinâmico das pás de uma turbina eólica de pequeno porte, com vista à simplificação geométrica, de forma a que estas sejam baratas e de fácil concepção. A teoria da quantidade de movimento do elemento de pá (BEMT), que é o modelo de referência para o projecto e análise aerodinâmica das pás das turbinas eólicas, foi utilizada neste trabalho de forma a projectar e analisar aerodinamicamente as pás da turbina. Sendo assim, desenvolveu-se um programa computacional em MATLAB, denominado de “Turbina”, de forma a implementar a teoria BEM. Introduzindo os dados dos parâmetros de projecto no programa (potência requerida, o número de pás, velocidade do vento, a TSR e o tipo de perfil alar), obtêm-se os parâmetros geométricos das pás (distribuição da corda ao longo da envergadura, o raio da pá e a distribuição da torção da pá), os parâmetros aerodinâmicos e de desempenho. Uma pá ideal foi calculada e de seguida foi modificada de forma a obter-se uma pá simples e menos carregada aerodinamicamente. Introduzidas as modificações na geometria da pá ideal, obtiveram-se duas configurações distintas. Uma configuração linear, onde a distribuição da corda e do ângulo de torção se tornam lineares, e outra configuração bi-linear, onde a distribuição da corda continua linear mas o ângulo de torção se torna bi-linear, isto é, a pá é composta por dois troços onde cada troço apresenta uma distribuição linear do ângulo de torção geométrica. As conclusões demonstram que a configuração bi-linear é uma boa alternativa a configuração ideal, apresentando uma redução do desempenho do rotor de 2.8% para um aumento do raio da pá em 1.41%, para se obter a mesma potência da configuração ideal. A análise aos perfis alares, utilizados neste trabalho, foi efectuada a partir dos programas comerciais ICEM e FLUENT. De forma a automatizar a análise de CFD, três programas foram desenvolvidos utilizando a linguagem de programação “C”. Os programas são denominados de “Malha2D”, “Calcula_Coeficientes” e “Plot_Graficos”. Finalmente, um estudo paramétrico foi feito de forma a avaliar a influências das variáveis de projecto no desempenho geral da turbina.
Resumo:
Dissertação de natureza científica para obtenção do grau de Mestre em Engenharia Civil
Resumo:
Trabalho de Projeto para obtenção do grau de Mestre em Engenharia de Eletrónica e Telecomunicações
Resumo:
Object-oriented programming languages presently are the dominant paradigm of application development (e. g., Java,. NET). Lately, increasingly more Java applications have long (or very long) execution times and manipulate large amounts of data/information, gaining relevance in fields related with e-Science (with Grid and Cloud computing). Significant examples include Chemistry, Computational Biology and Bio-informatics, with many available Java-based APIs (e. g., Neobio). Often, when the execution of such an application is terminated abruptly because of a failure (regardless of the cause being a hardware of software fault, lack of available resources, etc.), all of its work already performed is simply lost, and when the application is later re-initiated, it has to restart all its work from scratch, wasting resources and time, while also being prone to another failure and may delay its completion with no deadline guarantees. Our proposed solution to address these issues is through incorporating mechanisms for checkpointing and migration in a JVM. These make applications more robust and flexible by being able to move to other nodes, without any intervention from the programmer. This article provides a solution to Java applications with long execution times, by extending a JVM (Jikes research virtual machine) with such mechanisms. Copyright (C) 2011 John Wiley & Sons, Ltd.
Resumo:
As comunicações electrónicas são cada vez mais o meio de eleição para negócios entre entidades e para as relações entre os cidadãos e o Estado (e-government). Esta diversidade de transacções envolve, muitas vezes, informação sensível e com possível valor legal. Neste contexto, as assinaturas electrónicas são uma importante base de confiança, fornecendo garantias de integridade e autenticação entre os intervenientes. A produção de uma assinatura digital resulta não só no valor da assinatura propriamente dita, mas também num conjunto de informação adicional acerca da mesma, como o algoritmo de assinatura, o certificado de validação ou a hora e local de produção. Num cenário heterogéneo como o descrito anteriormente, torna-se necessária uma forma flexível e interoperável de descrever esse tipo de informação. A linguagem XML é uma forma adequada de representar uma assinatura neste contexto, não só pela sua natureza estruturada, mas principalmente por ser baseada em texto e ter suporte generalizado. A recomendação XML Signature Syntax and Processing (ou apenas XML Signature) foi o primeiro passo na representação de assinaturas em XML. Nela são definidas sintaxe e regras de processamento para criar, representar e validar assinaturas digitais. As assinaturas XML podem ser aplicadas a qualquer tipo de conteúdos digitais identificáveis por um URI, tanto no mesmo documento XML que a assinatura, como noutra qualquer localização. Além disso, a mesma assinatura XML pode englobar vários recursos, mesmo de tipos diferentes (texto livre, imagens, XML, etc.). À medida que as assinaturas electrónicas foram ganhando relevância tornou-se evidente que a especificação XML Signature não era suficiente, nomeadamente por não dar garantias de validade a longo prazo nem de não repudiação. Esta situação foi agravada pelo facto da especificação não cumprir os requisitos da directiva 1999/93/EC da União Europeia, onde é estabelecido um quadro legal para as assinaturas electrónicas a nível comunitário. No seguimento desta directiva da União Europeia foi desenvolvida a especificação XML Advanced Electronic Signatures que define formatos XML e regras de processamento para assinaturas electrónicas não repudiáveis e com validade verificável durante períodos de tempo extensos, em conformidade com a directiva. Esta especificação estende a recomendação XML Signature, definindo novos elementos que contêm informação adicional acerca da assinatura e dos recursos assinados (propriedades qualificadoras). A plataforma Java inclui, desde a versão 1.6, uma API de alto nível para serviços de assinaturas digitais em XML, de acordo com a recomendação XML Signature. Contudo, não existe suporte para assinaturas avançadas. Com este projecto pretende-se desenvolver uma biblioteca Java para a criação e validação de assinaturas XAdES, preenchendo assim a lacuna existente na plataforma. A biblioteca desenvolvida disponibiliza uma interface com alto nível de abstracção, não tendo o programador que lidar directamente com a estrutura XML da assinatura nem com os detalhes do conteúdo das propriedades qualificadoras. São definidos tipos que representam os principais conceitos da assinatura, nomeadamente as propriedades qualificadoras e os recursos assinados, sendo os aspectos estruturais resolvidos internamente. Neste trabalho, a informação que compõe uma assinatura XAdES é dividia em dois grupos: o primeiro é formado por características do signatário e da assinatura, tais como a chave e as propriedades qualificadoras da assinatura. O segundo grupo é composto pelos recursos assinados e as correspondentes propriedades qualificadoras. Quando um signatário produz várias assinaturas em determinado contexto, o primeiro grupo de características será semelhante entre elas. Definiu-se o conjunto invariante de características da assinatura e do signatário como perfil de assinatura. O conceito é estendido à verificação de assinaturas englobando, neste caso, a informação a usar nesse processo, como por exemplo os certificados raiz em que o verificador confia. Numa outra perspectiva, um perfil constitui uma configuração do serviço de assinatura correspondente. O desenho e implementação da biblioteca estão também baseados no conceito de fornecedor de serviços. Um fornecedor de serviços é uma entidade que disponibiliza determinada informação ou serviço necessários à produção e verificação de assinaturas, nomeadamente: selecção de chave/certificado de assinatura, validação de certificados, interacção com servidores de time-stamp e geração de XML. Em vez de depender directamente da informação em causa, um perfil — e, consequentemente, a operação correspondente — é configurado com fornecedores de serviços que são invocados quando necessário. Para cada tipo de fornecedor de serviços é definida um interface, podendo as correspondentes implementações ser configuradas de forma independente. A biblioteca inclui implementações de todos os fornecedores de serviços, sendo algumas delas usadas for omissão na produção e verificação de assinaturas. Uma vez que o foco do projecto é a especificação XAdES, o processamento e estrutura relativos ao formato básico são delegados internamente na biblioteca Apache XML Security, que disponibiliza uma implementação da recomendação XML Signature. Para validar o funcionamento da biblioteca, nomeadamente em termos de interoperabilidade, procede-se, entre outros, à verificação de um conjunto de assinaturas produzidas por Estados Membros da União Europeia, bem como por outra implementação da especificação XAdES.
Resumo:
A rápida evolução dos dispositivos móveis e das tecnologias de comunicação sem fios transformou o telemóvel num poderoso dispositivo de computação móvel. A necessidade de estar sempre contactável, comum à civilização moderna, tem aumentado a dependência deste dispositivo, sendo transportado pela maioria das pessoas num ambiente urbano e assumindo um papel talvez mais importante que a própria carteira. A ubiquidade e capacidade de computação dos telemóveis aumentam o interesse no desenvolvimento de serviços móveis, além de tradicionais serviços de voz. Um telemóvel pode em breve tornar-se um elemento activo nas nossas tarefas diárias, servindo como um instrumento de pagamento e controlo de acessos, proporcionando assim novas interfaces para serviços existentes. A unificação de vários serviços num único dispositivo é um desafio que pode simplificar a nossa rotina diária e aumentar o conforto, no limite deixaremos de necessitar de dinheiro físico, cartões de crédito ou débito, chaves de residência e de veículos automóveis, ou inclusive documentos de identificação como bilhetes de identidade ou passaportes. O interesse demonstrado pelos intervenientes, desde os fabricantes de telemóveis e operadores de rede móvel até às instituições financeiras, levaram ao aparecimento de múltiplas soluções de serviços móveis. Porém estas soluções respondem geralmente a problemas específicos, apenas contemplando um fornecedor de serviços ou uma determinada operação de pagamento, como seja a compra de bilhetes ou pagamento de estacionamento. Estas soluções emergentes consistem também tipicamente em especificações fechadas e protocolos proprietários. A definição de uma arquitectura genérica, aberta interoperável e extensível é necessária para que os serviços móveis possam ser adoptados de uma forma generalizada por diferentes fornecedores de serviços e para diversos tipos de pagamento. A maior parte das soluções actuais de pagamento móvel depende de comunicações através da rede móvel, algumas utilizam o telemóvel apenas como uma interface de acesso à internet enquanto outras possibilitam o envio de um SMS (Short Message Service) para autorizar uma transacção, o que implica custos de comunicação em todas as operações de pagamento. Este custo de operação torna essas soluções inadequadas para a realização de micropagamentos e podem por isso ter uma aceitação limitada por parte dos clientes. As soluções existentes focam-se maioritariamente em pagamentos à distância, não tirando partido das características do pagamento presencial e não oferecendo por isso uma verdadeira alternativa ao modelo actual de pagamento com cartões de crédito/débito. As capacidades computacionais dos telemóveis e suporte de diversos protocolos de comunicação sem fio local não têm sido aproveitadas, vendo o telemóvel apenas como um terminal GSM (Global System for Mobile Communications) e não oferecendo serviços adicionais como seja a avaliação dinâmica de risco ou controlo de despesas. Esta dissertação propõe e valida, através de um demonstrador, uma aquitectua aberta para o pagamento e controlo de acesso baseado em dispositivos móveis, intitulada WPAC (Wireless Payment and Access Control). Para chegar à solução apresentada foram estudadas outras soluções de pagamento, desde o aparecimento dos cartões de débito até a era de pagamentos electrónicos móveis, passando pelas soluções de pagamento através da internet. As capacidades dos dispositivos móveis, designadamente os telemóveis, e tecnologias de comunicação sem fios foram também analisadas a fim de determinar o estado tecnológico actual. A arquitectura WPAC utiliza padrões de desenho utilizados pela indústria em soluções de sucesso, a utilização de padrões testados e a reutilização de soluções com provas dadas permite aumentar a confiança nesta solução, um destes exemplos é a utilização de uma infra-estrutura de chave pública para o estabelecimento de um canal de comunicação seguro. Esta especificação é uma arquitectura orientada aos serviços que utiliza os Web Services para a definição do contracto do serviço de pagamento. A viabilidade da solução na orquestração de um conjunto de tecnologias e a prova de conceito de novas abordagens é alcançada com a construção de um protótipo e a realização de testes. A arquitectura WPAC possibilita a realização de pagamentos móveis presenciais, isto é, junto do fornecedor de bens ou serviços, seguindo o modelo de pagamento com cartões de crédito/débito no que diz respeito aos intervenientes e relações entre eles. Esta especificação inclui como aspecto inovador a avaliação dinâmica de risco, que utiliza o valor do pagamento, a existência de pagamentos frequentes num período curto de tempo, e a data, hora e local do pagamento como factores de risco; solicitando ao cliente o conjunto de credenciais adequado ao risco avaliado, desde códigos pessoais a dados biométricos. É também apresentada uma alternativa ao processo normal de pagamento, que apesar de menos cómoda permite efectuar pagamentos quando não é possível estabelecer um canal de comunicação sem fios, aumentando assim a tolerância a falhas. Esta solução não implica custos de operação para o cliente na comunicação com o ponto de venda do comerciante, que é realizada através de tecnologias de comunicação local sem fios, pode ser necessária a comunicação através da rede móvel com o emissor do agente de pagamento para a actualização do agente de software ou de dados de segurança, mas essas transmissões são ocasionais. O modelo de segurança recorre a certificados para autenticação dos intervenientes e a uma infra-estrutura de chave pública para cifra e assinatura de mensagens. Os dados de segurança incluídos no agente de software móvel, para desabilitar a cópia ou corrupção da aplicação mas também para a comparação com as credenciais inseridas pelo cliente, devem igualmente ser encriptados e assinados de forma a garantir a sua confidencialidade e integridade. A arquitectura de pagamento utiliza o standard de Web Services, que é amplamente conhecido, aberto e interoperável, para definição do serviço de pagamento. Existem extensões à especificação de Web Services relativas à segurança que permitem trocar itens de segurança e definem o modo de cifra e assinatura de mensagens, possibilitando assim a sua utilização em aplicações que necessitem de segurança como é o caso de serviços de pagamento e controlo de acesso. O contracto de um Web Service define o modo de invocação dos serviços, transmissão de informação e representação de dados, sendo normalmente utilizado o protocolo SOAP que na prática não é mais que um protocolo de troca de mansagens XML (eXtensible Markup Language). O envio e recepção de mensagens XML; ou seja, a transmissão de simples sequências de caracteres, é suportado pela maioria dos protocolos de comunicação, sendo portanto uma solução abrangente que permite a adopção de diversas tecnologias de comunicação sem fios. O protótipo inclui um agente de software móvel, implementado sobre a forma de uma MIDlet, aplicação Java para dispositivos móveis, que implementa o protocolo de pagamento comunicando sobre uma ligação Bluetooth com o ponto de venda do comerciante, simulado por uma aplicação desenvolvida sobre a plataforma .NET e que por isso faz prova da heterogeneidade da solução. A comunicação entre o comerciante e o seu banco para autorização do pagamento e transferência monetária utiliza o protocolo existente para a autorização de pagamentos, com base em cartões de crédito/débito. A definição desta especificação aberta e genérica em conjunto com o forte interesse demonstrado pelos intervenientes, proporciona uma boa perspectiva em termos de adopção da solução, o que pode impulsionar a implementação de serviços móveis e dessa forma simplificar as rotinas diárias das pessoas. Soluções móveis de pagamento reduzem a necessidade de transportar vários cartões de crédito/débito na nossa carteira. A avaliação dinâmica de risco permite aumentar a segurança dos pagamentos, com a solicitação de mais credenciais ao cliente para pagamentos com um maior risco associado, sendo um ponto importante quer para os clientes quer para as instituições financeiras pois diminui o risco de fraude e aumenta a confiança no sistema. Esta solução de pagamento electrónico pode também facilitar a consulta de pagamentos efectuados e saldos, mantendo um histórico dos movimentos, o que não é possível nos cartões de crédito/débito sem uma visita a uma ATM (Automated Teller Machine) ou utilização de homebanking.
Resumo:
This paper is on the problem of short-term hydro, scheduling, particularly concerning head-dependent cascaded hydro systems. We propose a novel mixed-integer quadratic programming approach, considering not only head-dependency, but also discontinuous operating regions and discharge ramping constraints. Thus, an enhanced short-term hydro scheduling is provided due to the more realistic modeling presented in this paper. Numerical results from two case studies, based on Portuguese cascaded hydro systems, illustrate the proficiency of the proposed approach.
Resumo:
Relevant past events can be remembered when visualizing related pictures. The main difficulty is how to find these photos in a large personal collection. Query definition and image annotation are key issues to overcome this problem. The former is relevant due to the diversity of the clues provided by our memory when recovering a past moment and the later because images need to be annotated with information regarding those clues to be retrieved. Consequently, tools to recover past memories should deal carefully with these two tasks. This paper describes a user interface designed to explore pictures from personal memories. Users can query the media collection in several ways and for this reason an iconic visual language to define queries is proposed. Automatic and semi-automatic annotation is also performed using the image content and the audio information obtained when users show their images to others. The paper also presents the user interface evaluation based on tests with 58 participants.
Resumo:
Dissertação para obtenção do grau de Mestre em Engenharia Civil na Área de Especialização de Vias de Comunicação e Transportes
Resumo:
A stochastic programming approach is proposed in this paper for the development of offering strategies for a wind power producer. The optimization model is characterized by making the analysis of several scenarios and treating simultaneously two kinds of uncertainty: wind power and electricity market prices. The approach developed allows evaluating alternative production and offers strategies to submit to the electricity market with the ultimate goal of maximizing profits. An innovative comparative study is provided, where the imbalances are treated differently. Also, an application to two new realistic case studies is presented. Finally, conclusions are duly drawn.
Resumo:
Dissertação apresentada à Escola Superior de Educação de Lisboa para obtenção de grau de mestre em Educação Artística, na especialização de Teatro na Educação
Resumo:
Dissertação para obtenção do grau de Mestre em Engenharia Electrotécnica Ramo de Energia