963 resultados para Android, Application Programming Interface, Fansubbing, Android Services, App Developing
Resumo:
This paper proposes two meta-heuristics (Genetic Algorithm and Evolutionary Particle Swarm Optimization) for solving a 15 bid-based case of Ancillary Services Dispatch in an Electricity Market. A Linear Programming approach is also included for comparison purposes. A test case based on the dispatch of Regulation Down, Regulation Up, Spinning Reserve and Non-Spinning Reserve services is used to demonstrate that the use of meta-heuristics is suitable for solving this kind of optimization problem. Faster execution times and lower computational resources requirements are the most relevant advantages of the used meta-heuristics when compared with the Linear Programming approach.
Resumo:
Electricity market players operating in a liberalized environment requires access to an adequate decision support tool, allowing them to consider all the business opportunities and take strategic decisions. Ancillary services represent a good negotiation opportunity that must be considered by market players. For this, decision support tool must include ancillary market simulation. This paper proposes two different methods (Linear Programming and Genetic Algorithm approaches) for ancillary services dispatch. The methodologies are implemented in MASCEM, a multi-agent based electricity market simulator. A test case based on California Independent System Operator (CAISO) data concerning the dispatch of Regulation Down, Regulation Up, Spinning Reserve and Non-Spinning Reserve services is included in this paper.
Resumo:
Mestrado em Engenharia Electrotécnica e de Computadores
Resumo:
Projeto para obtenção do grau de Mestre em Engenharia Informática e de Computadores
Resumo:
3rd SMTDA Conference Proceedings, 11-14 June 2014, Lisbon Portugal.
Resumo:
Dissertação de natureza científica realizada para a obtenção do grau de Mestre em Engenharia de redes de comunicação e Multimédia
Resumo:
Actualmente, os sistemas embebidos estão presentes em toda a parte. Embora grande parte da população que os utiliza não tenha a noção da sua presença, na realidade, se repentinamente estes sistemas deixassem de existir, a sociedade iria sentir a sua falta. A sua utilização massiva deve-se ao facto de estarem practicamente incorporados em quase os todos dispositivos electrónicos de consumo, telecomunicações, automação industrial e automóvel. Influenciada por este crescimento, a comunidade científica foi confrontada com novos problemas distribuídos por vários domínios científicos, dos quais são destacados a gestão da qualidade de serviço e gestão de recursos - domínio encarregue de resolver problemas relacionados com a alocação óptima de recursos físicos, tais como rede, memória e CPU. Existe na literatura um vasto conjunto de modelos que propõem soluções para vários problemas apresentados no contexto destes domínios científicos. No entanto, não é possível encontrar modelos que lidem com a gestão de recursos em ambientes de execução cooperativos e abertos com restrições temporais utilizando coligações entre diferentes nós, de forma a satisfazer os requisitos não funcionais das aplicações. Devido ao facto de estes sistemas serem dinâmicos por natureza, apresentam a característica de não ser possível conhecer, a priori, a quantidade de recursos necessários que uma aplicação irá requerer do sistema no qual irá ser executada. Este conhecimento só é adquirido aquando da execução da aplicação. De modo a garantir uma gestão eficiente dos recursos disponíveis, em sistemas que apresentam um grande dinamismo na execução de tarefas com e sem restrições temporais, é necessário garantir dois aspectos fundamentais. O primeiro está relacionado com a obtenção de garantias na execução de tarefas de tempo-real. Estas devem sempre ser executadas dentro da janela temporal requirida. O segundo aspecto refere a necessidade de garantir que todos os recursos necessários à execução das tarefas são fornecidos, com o objectivo de manter os níveis de performance quer das aplicações, quer do próprio sistema. Tendo em conta os dois aspectos acima mencionados, o projecto CooperatES foi especificado com o objectivo de permitir a dispositivos com poucos recursos uma execução colectiva de serviços com os seus vizinhos, de modo a cumprir com as complexas restrições de qualidade de serviço impostas pelos utilizadores ou pelas aplicações. Decorrendo no contexto do projecto CooperatES, o trabalho resultante desta tese tem como principal objectivo avaliar a practicabilidade dos conceitos principais propostos no âmbito do projecto. O trabalho em causa implicou a escolha e análise de uma plataforma, a análise de requisitos, a implementação e avaliação de uma framework que permite a execução cooperativa de aplicações e serviços que apresentem requisitos de qualidade de serviço. Do trabalho desenvolvido resultaram as seguintes contribuições: Análise das plataformas de código aberto que possam ser utilizadas na implementação dos conceitos relacionados com o projecto CooperatES; Critérios que influenciaram a escolha da plataforma Android e um estudo focado na análise da plataforma sob uma perspectiva de sistemas de tempo-real; Experiências na implementação dos conceitos do projecto na plataforma Android; Avaliação da practicabilidade dos conceitos propostos no projecto CooperatES; Proposta de extensões que permitam incorporar características de sistemas de tempo real abertos na plataforma Android.
Resumo:
No decorrer do projeto SELEAG foi desenvolvido um jogo de aventura gráfica educativo com o propósito de ensinar história, cultura e relações sociais aos alunos. Este jogo foi avaliado em contexto de sala de aula em diversos países, obtendo resultados positivos. No entanto, por motivos técnicos, alguns dos objetivos propostos pelo projeto não puderam ser devidamente explorados, como permitir que o jogo fosse extensível por outros educadores ou suportar a colaboração online entre os jogadores. Nomeadamente, as ferramentas utilizadas para desenvolver o jogo eram demasiado complicadas para serem utilizadas fora da equipa de desenvolvimento, o que limitou a extensibilidade do projeto, e tornou impossível que educadores sem conhecimentos de programação fossem também capazes de traduzir os seus conteúdos educativos para este formato. Além disso, apesar do jogo possuir algumas funcionalidades de colaboração online, toda a interação era efetuada externamente ao jogo, através de um fórum de mensagens, o que demonstrou ser pouco motivante para os jogadores, pois muitos deles nem se aperceberam que havia uma componente de colaboração no jogo. O objetivo desta tese incide sobre estes dois problemas, e consistiu em desenvolver um editor e motor de jogo com uma interface simples de utilizar, que não necessita de conhecimentos prévios de programação, e que permite criar jogos de aventura gráfica com uma componente de colaboração online verdadeiramente embebida na jogabilidade. A aplicação desenvolvida foi testada por um conjunto de utilizadores de diversas áreas, tendo-se obtido resultados que demonstram a acessibilidade e simplicidade da mesma, independentemente do nível de experiência prévio de programação do utilizador. A componente de colaboração online foi também muito bem recebida pelos utilizadores, os quais demonstraram bastante interesse em ver jogos de aventura gráfica com componente de colaboração online serem desenvolvidos no futuro.
Resumo:
O objectivo do projecto descrito nesta dissertação é o desenvolvimento da interface entre as empresas e a plataforma Business-to-Business (B2B) de negociação automática de anúncios em construção. A plataforma, no seu todo, deve garantir que os intervalos da programação são preenchidos com um alinhamento de anúncios compatível com os interesses expressos e o perfil construído dos espectadores. A plataforma funciona como um mercado electrónico de negociação automática destinado a agências de publicidade (empresas produtoras) e empresas provedoras de conteúdos e serviços multimédia aos consumidores finais (empresas distribuidoras). As empresas, uma vez registadas na plataforma, passam a ser representadas por agentes que negoceiam automaticamente os itens submetidos com o comportamento especificado. Do ponto de vista da arquitectura, a plataforma consiste num sistema multiagente organizado em três camadas compostas por: (i) agentes de interface com as empresas; (ii) agentes de modelação das empresas; e (iii) agentes delegados, de duração efémera, exclusivamente criados para participar em negociações específicas de conteúdos multimédia. Cada empresa representada na plataforma possui, para além de um número indeterminado de delegados envolvidos em negociações específicas, dois agentes: (i) o agente de interface com a empresa, que expõe um conjunto de operações de interface ao exterior através de um serviço Web, localizado na primeira camada; e (ii) o agente que modela a empresa na plataforma, que expõe através de um serviço Web um conjunto de operações aos agentes das restantes camadas da plataforma, residente na camada intermédia. Este projecto focou-se no desenvolvimento da camada superior de interface da plataforma com as empresas e no enriquecimento da camada intermédia. A realização da camada superior incluiu a especificação da parte da ontologia da plataforma que dá suporte às operações de interface com o exterior, à sua exposição como serviços Web e à criação e controlo dos agentes de interface. Esta camada superior deve permitir às empresas carregar e descarregar toda informação relevante de e para a plataforma, através de uma interface gráfica ou de forma automática, e apresentar de forma gráfica e intuitiva os resultados alcançados, nomeadamente, através da apresentação da evolução das transacções. Em relação à camada intermédia, adicionou-se à ontologia da plataforma a representação do conhecimento de suporte às operações de interface com a camada superior, adoptaram-se taxonomias de classificação de espectadores, anúncios e programas, desenvolveu-se um algoritmo de emparelhamento entre os espectadores, programas e anúncios disponíveis e, por fim, procedeu-se ao armazenamento persistente dos resultados das negociações. Do ponto de vista da plataforma, testou-se o seu funcionamento numa única plataforma física e assegurou-se a segurança e privacidade da comunicação entre empresa e plataforma e entre agentes que representam uma mesma empresa.
Resumo:
Com a generalização das tecnologias de informação e comunicação na área da saúde, a monitorização remota de pacientes, a partir de dispositivos móveis, é uma realidade que contribui para uma melhor qualidade de vida dos pacientes. Mas, não são só os pacientes que ganham com a introdução destas tecnologias, também os profissionais de saúde e os hospitais retiram as suas vantagens. Os profissionais de saúde são munidos de uma ferramenta móvel de monitorização permanente de sinais vitais, aumentando desta forma a ligação médico-paciente. Relativamente aos hospitais, estes vêem os custos de manutenção reduzirem, em virtude da possibilidade dos pacientes puderem ser monitorizados a partir dos seus lares. Neste projecto pretende-se identificar mecanismos que possibilitem responder de forma eficaz à necessidade de partilha de informação, nomeadamente protocolos de comunicação, segurança e sistemas de integração. Foi projectado um protótipo, constituído por um middleware e uma aplicação cliente móvel, onde o middleware tem como missão garantir a interoperabilidade entre um servidor HL7 e a aplicação cliente, utilizada pelo profissional de saúde. A normalização da informação médica trocada entre o servidor HL7 e o middleware obedece à norma internacional HL7.
Resumo:
Neste trabalho propus-me realizar um Sistema de Aquisição de Dados em Tempo Real via Porta Paralela. Para atingir com sucesso este objectivo, foi realizado um levantamento bibliográfico sobre sistemas operativos de tempo real, salientando e exemplificando quais foram marcos mais importantes ao longo da sua evolução. Este levantamento permitiu perceber o porquê da proliferação destes sistemas face aos custos que envolvem, em função da sua aplicação, bem como as dificuldades, científicas e tecnológicas, que os investigadores foram tendo, e que foram ultrapassando com sucesso. Para que Linux se comporte como um sistema de tempo real, é necessário configura-lo e adicionar um patch, como por exemplo o RTAI ou ADEOS. Como existem vários tipos de soluções que permitem aplicar as características inerentes aos sistemas de tempo real ao Linux, foi realizado um estudo, acompanhado de exemplos, sobre o tipo de arquitecturas de kernel mais utilizadas para o fazer. Nos sistemas operativos de tempo real existem determinados serviços, funcionalidades e restrições que os distinguem dos sistemas operativos de uso comum. Tendo em conta o objectivo do trabalho, e apoiado em exemplos, fizemos um pequeno estudo onde descrevemos, entre outros, o funcionamento escalonador, e os conceitos de latência e tempo de resposta. Mostramos que há apenas dois tipos de sistemas de tempo real o ‘hard’ que tem restrições temporais rígidas e o ‘soft’ que engloba as restrições temporais firmes e suaves. As tarefas foram classificadas em função dos tipos de eventos que as despoletam, e evidenciando as suas principais características. O sistema de tempo real eleito para criar o sistema de aquisição de dados via porta paralela foi o RTAI/Linux. Para melhor percebermos o seu comportamento, estudamos os serviços e funções do RTAI. Foi dada especial atenção, aos serviços de comunicação entre tarefas e processos (memória partilhada e FIFOs), aos serviços de escalonamento (tipos de escalonadores e tarefas) e atendimento de interrupções (serviço de rotina de interrupção - ISR). O estudo destes serviços levou às opções tomadas quanto ao método de comunicação entre tarefas e serviços, bem como ao tipo de tarefa a utilizar (esporádica ou periódica). Como neste trabalho, o meio físico de comunicação entre o meio ambiente externo e o hardware utilizado é a porta paralela, também tivemos necessidade de perceber como funciona este interface. Nomeadamente os registos de configuração da porta paralela. Assim, foi possível configura-lo ao nível de hardware (BIOS) e software (módulo do kernel) atendendo aos objectivos do presente trabalho, e optimizando a utilização da porta paralela, nomeadamente, aumentando o número de bits disponíveis para a leitura de dados. No desenvolvimento da tarefa de hard real-time, foram tidas em atenção as várias considerações atrás referenciadas. Foi desenvolvida uma tarefa do tipo esporádica, pois era pretendido, ler dados pela porta paralela apenas quando houvesse necessidade (interrupção), ou seja, quando houvesse dados disponíveis para ler. Desenvolvemos também uma aplicação para permitir visualizar os dados recolhidos via porta paralela. A comunicação entre a tarefa e a aplicação é assegurada através de memória partilhada, pois garantindo a consistência de dados, a comunicação entre processos do Linux e as tarefas de tempo real (RTAI) que correm ao nível do kernel torna-se muito simples. Para puder avaliar o desempenho do sistema desenvolvido, foi criada uma tarefa de soft real-time cujos tempos de resposta foram comparados com os da tarefa de hard real-time. As respostas temporais obtidas através do analisador lógico em conjunto com gráficos elaborados a partir destes dados, mostram e comprovam, os benefícios do sistema de aquisição de dados em tempo real via porta paralela, usando uma tarefa de hard real-time.
Resumo:
A crescente complexidade dos sistemas electrónicos associada a um desenvolvimento nas tecnologias de encapsulamento levou à miniaturização dos circuitos integrados, provocando dificuldades e limitações no diagnóstico e detecção de falhas, diminuindo drasticamente a aplicabilidade dos equipamentos ICT. Como forma de lidar com este problema surgiu a infra-estrutura Boundary Scan descrita na norma IEEE1149.1 “Test Access Port and Boundary-Scan Architecture”, aprovada em 1990. Sendo esta solução tecnicamente viável e interessante economicamente para o diagnóstico de defeitos, efectua também outras aplicações. O SVF surgiu do desejo de incutir e fazer com que os fornecedores independentes incluíssem a norma IEEE 1149.1, é desenvolvido num formato ASCII, com o objectivo de enviar sinais, aguardar pela sua resposta, segundo a máscara de dados baseada na norma IEEE1149.1. Actualmente a incorporação do Boundary Scan nos circuitos integrados está em grande expansão e consequentemente usufrui de uma forte implementação no mercado. Neste contexto o objectivo da dissertação é o desenvolvimento de um controlador boundary scan que implemente uma interface com o PC e possibilite o controlo e monitorização da aplicação de teste ao PCB. A arquitectura do controlador desenvolvido contém um módulo de Memória de entrada, um Controlador TAP e uma Memória de saída. A implementação do controlador foi feita através da utilização de uma FPGA, é um dispositivo lógico reconfiguráveis constituído por blocos lógicos e por uma rede de interligações, ambos configuráveis, que permitem ao utilizador implementar as mais variadas funções digitais. A utilização de uma FPGA tem a vantagem de permitir a versatilidade do controlador, facilidade na alteração do seu código e possibilidade de inserir mais controladores dentro da FPGA. Foi desenvolvido o protocolo de comunicação e sincronização entre os vários módulos, permitindo o controlo e monitorização dos estímulos enviados e recebidos ao PCB, executados automaticamente através do software do Controlador TAP e de acordo com a norma IEEE 1149.1. A solução proposta foi validada por simulação utilizando o simulador da Xilinx. Foram analisados todos os sinais que constituem o controlador e verificado o correcto funcionamento de todos os seus módulos. Esta solução executa todas as sequências pretendidas e necessárias (envio de estímulos) à realização dos testes ao PCB. Recebe e armazena os dados obtidos, enviando-os posteriormente para a memória de saída. A execução do trabalho permitiu concluir que os projectos de componentes electrónicos tenderão a ser descritos num nível de abstracção mais elevado, recorrendo cada vez mais ao uso de linguagens de hardware, no qual o VHDL é uma excelente ferramenta de programação. O controlador desenvolvido será uma ferramenta bastante útil e versátil para o teste de PCBs e outras funcionalidades disponibilizadas pelas infra-estruturas BS.
Resumo:
Actualmente, os smartphones e outros dispositivos móveis têm vindo a ser dotados com cada vez maior poder computacional, sendo capazes de executar um vasto conjunto de aplicações desde simples programas de para tirar notas até sofisticados programas de navegação. Porém, mesmo com a evolução do seu hardware, os actuais dispositivos móveis ainda não possuem as mesmas capacidades que os computadores de mesa ou portáteis. Uma possível solução para este problema é distribuir a aplicação, executando partes dela no dispositivo local e o resto em outros dispositivos ligados à rede. Adicionalmente, alguns tipos de aplicações como aplicações multimédia, jogos electrónicos ou aplicações de ambiente imersivos possuem requisitos em termos de Qualidade de Serviço, particularmente de tempo real. Ao longo desta tese é proposto um sistema de execução de código remota para sistemas distribuídos com restrições de tempo-real. A arquitectura proposta adapta-se a sistemas que necessitem de executar periodicamente e em paralelo mesmo conjunto de funções com garantias de tempo real, mesmo desconhecendo os tempos de execução das referidas funções. A plataforma proposta foi desenvolvida para sistemas móveis capazes de executar o Sistema Operativo Android.
Resumo:
Os sistemas de recomendação têm vindo a ser cada vez mais utilizados nos últimos anos. Por isso, é imprescindível que estes sistemas se adaptem à evolução da sociedade incluindo cada vez mais novas funcionalidades, tais como a adaptação do sistema ao contexto da pessoa. Esta adaptação pode ser feita através de, por exemplo, dispositivos móveis, que têm vindo a apresentar uma taxa de crescimento de vendas muito grande. Dada a crescente integração dos sistemas de recomendação com os sistemas móveis, foi elaborado um estudo sobre o estado da arte dos sistemas de auxílio ao turista que utilizam dispositivos móveis, sendo apresentadas as suas vantagens e desvantagens. Estes sistemas móveis de auxílio a turistas foram divididos em dois grupos: os que apresentam apenas a informação sobre pontos de interesse e os sistemas que são capazes de efectuar recomendações, com base no perfil do turista. Um breve estudo sobre os sistemas operativos para dispositivos móveis é apresentado, sendo especialmente focado o sistema operativo Android que foi o escolhido para esta implementação. Como os dispositivos móveis, actualmente, ainda possuem várias limitações, estas foram descritas e apresentadas as boas práticas no desenvolvimento de aplicações para este tipo de sistemas. É também apresentado um estudo que visa descobrir qual é o método mais leve e mais rápido para trocar dados entre a parte servidora e a parte móvel. Com a parte introdutória apresentada, é exposto o projecto desenvolvido nesta tese, o PSiS Mobile. Este sistema é um módulo que faz parte do projecto PSiS e pretende trazer todas as vantagens dos sistemas móveis para o sistema base já implementado. O projecto PSiS foca-se no estabelecimento de planos de visita personalizados com indicação de percursos para turistas com tempo limitado. Apoiando a definição de planos de visitas de acordo com o perfil do turista (interesses, valores pessoais, desejos, restrições, deficiências, etc.) combinando os produtos de turismo mais adequados (locais de interesse, eventos, restaurantes, etc.) em itinerários eficientes. A utilização de dispositivos móveis para acompanhamento da visita permite uma rápida interacção entre o turista e o sistema. Assim, o PSiS poderá recolher informação contextual do utilizador para que o perfil do mesmo seja enriquecido. O sistema apresentado é composto por duas partes: a parte cliente e a parte servidora. Toda a informação, como por exemplo o perfil do turista, histórico de viagens e valores de similaridade entre utilizadores está presente na parte servidora. O processo de recomendação também é efectuado pela aplicação servidora, sendo esta a responsável pela atribuição de uma classificação aos pontos de interesse tendo em conta o perfil do utilizador em causa. A base de dados do PSiS possui toda a informação relativa aos pontos de interesse numa determinada cidade ou região e o portfólio completo do histórico de visitas de cada utilizador. A componente móvel é uma parte muito importante para o sistema, pois interage com o utilizador no terreno. Um dispositivo móvel como o PDA, não só permite a apresentação de informação relevante ao utilizador, como também permite a recolha automática de informação contextual (por exemplo, a localização). Toda esta informação contribui para a definição de um perfil completo e para uma melhor adaptação do sistema às necessidades do utilizador. De forma a nem sempre estar dependente do servidor, a aplicação móvel possui rotinas para a realização de recomendações básicas. Ou seja, a aplicação móvel não realiza a classificação dos pontos de interesse, mas apenas mostra os principais resultados já formados pela parte servidora. Por exemplo, se um utilizador gostar de comida Chinesa, um restaurante Chinês nas imediações irá ter uma boa classificação e, por isso, ser recomendado. A aplicação móvel mostra ao turista o percurso definido para o dia em que o mesmo se encontra, sendo feito o rastreio do trajecto que o mesmo efectua. Assim, o sistema consegue saber se o horário do planeamento está a ser cumprido ou não. Caso não esteja, é invocado um algoritmo de planeamento que irá tentar corrigir o atraso ou o adiantamento perante o horário inicial. Depois de visitar um ponto de interesse, é pedido ao utilizador para fornecer feedback sobre o mesmo. Se desejado também é possível mostrar os pontos de interesse existentes perto do turista (usando as coordenadas GPS obtidas pelo dispositivo móvel) organizados por categorias, raio de distância, etc. Apesar dos dispositivos móveis possuírem várias restrições, pretendeu-se proporcionar ao utilizador uma boa experiência, através de uma aplicação rápida, de fácil utilização e adaptável, incluindo funcionalidades de planeamento, realidade aumentada e integração com a rede social do sistema. Todos estes factores contribuem para a disponibilização de informação detalhada ao turista.
Resumo:
Actualmente verifica-se que a complexidade dos sistemas informáticos tem vindo a aumentar, fazendo parte das nossas ferramentas diárias de trabalho a utilização de sistemas informáticos e a utilização de serviços online. Neste âmbito, a internet obtém um papel de destaque junto das universidades, ao permitir que alunos e professores possam interagir mais facilmente. A internet e a educação baseada na Web vêm oferecer acesso remoto a qualquer informação independentemente da localização ou da hora. Como consequência, qualquer pessoa com uma ligação à internet, ao poder adquirir informações sobre um determinado tema junto dos maiores peritos, obtém vantagens significativas. Os laboratórios remotos são uma solução muito valorizada no que toca a interligar tecnologia e recursos humanos em ambientes que podem estar afastados no tempo ou no espaço. A criação deste tipo de laboratórios e a sua utilidade real só é possível porque as tecnologias de comunicação emergentes têm contribuído de uma forma muito relevante para melhorar a sua disponibilização à distância. A necessidade de criação de laboratórios remotos torna-se imprescindível para pesquisas relacionadas com engenharia que envolvam a utilização de recursos escassos ou de grandes dimensões. Apoiado neste conceito, desenvolveu-se um laboratório remoto para os alunos de engenharia que precisam de testar circuitos digitais numa carta de desenvolvimento de hardware configurável, permitindo a utilização deste recurso de uma forma mais eficiente. O trabalho consistiu na criação de um laboratório remoto de baixo custo, com base em linguagens de programação open source, sendo utilizado como unidade de processamento um router da ASUS com o firmware OpenWrt. Este firmware é uma distribuição Linux para sistemas embutidos. Este laboratório remoto permite o teste dos circuitos digitais numa carta de desenvolvimento de hardware configurável em tempo real, utilizando a interface JTAG. O laboratório desenvolvido tem a particularidade de ter como unidade de processamento um router. A utilização do router como servidor é uma solução muito pouco usual na implementação de laboratórios remotos. Este router, quando comparado com um computador normal, apresenta uma capacidade de processamento e memória muito inferior, embora os testes efectuados provassem que apresenta um desempenho muito adequado às expectativas.