87 resultados para Programming languages (Electronic computers)
Resumo:
Software tools in education became popular since the widespread of personal computers. Engineering courses lead the way in this development and these tools became almost a standard. Engineering graduates are familiar with numerical analysis tools but also with simulators (e.g. electronic circuits), computer assisted design tools and others, depending on the degree. One of the main problems with these tools is when and how to start use them so that they can be beneficial to students and not mere substitutes for potentially difficult calculations or design. In this paper a software tool to be used by first year students in electronics/electricity courses is presented. The growing acknowledgement and acceptance of open source software lead to the choice of an open source software tool – Scilab, which is a numerical analysis tool – to develop a toolbox. The toolbox was developed to be used as standalone or integrated in an e-learning platform. The e-learning platform used was Moodle. The first approach was to assess the mathematical skills necessary to solve all the problems related to electronics and electricity courses. Analysing the existing circuit simulators software tools, it is clear that even though they are very helpful by showing the end result they are not so effective in the process of the students studying and self learning since they show results but not intermediate steps which are crucial in problems that involve derivatives or integrals. Also, they are not very effective in obtaining graphical results that could be used to elaborate reports and for an overall better comprehension of the results. The developed tool was based on the numerical analysis software Scilab and is a toolbox that gives their users the opportunity to obtain the end results of a circuit analysis but also the expressions obtained when derivative and integrals calculations, plot signals, obtain vector diagrams, etc. The toolbox runs entirely in the Moodle web platform and provides the same results as the standalone application. The students can use the toolbox through the web platform (in computers where they don't have installation privileges) or in their personal computers by installing both the Scilab software and the toolbox. This approach was designed for first year students from all engineering degrees that have electronics/electricity courses in their curricula.
Resumo:
This paper presents a framework for a robotic production line simulation learning environment using Autonomous Ground Vehicles (AGV). An eLearning platform is used as interface with the simulator. The objective is to introduce students to the production robotics area using a familiar tool, an eLearning platform, and a framework that simulates a production line using AGVs. This framework allows students to learn about robotics but also about several areas of industrial management engineering without requiring an extensive prior knowledge on the robotics area. The robotic production line simulation learning environment simulates a production environment using AGVs to transport materials to and from the production line. The simulator allows students to validate the AGV dynamics and provides information about the whole materials supplying system which includes: supply times, route optimization and inventory management. The students are required to address several topics such as: sensors, actuators, controllers and an high level management and optimization software. This simulator was developed with a known open source tool from robotics community: Player/Stage. This tool was extended with several add-ons so that students can be able to interact with a complex simulation environment. These add-ons include an abstraction communication layer that performs events provided by the database server which is programmed by the students. An eLearning platform is used as interface between the students and the simulator. The students can visualize the effects of their instructions/programming in the simulator that they can access via the eLearning platform. The proposed framework aims to allow students from different backgrounds to fully experience robotics in practice by suppressing the huge gap between theory and practice that exists in robotics. Using an eLearning platform eliminates installation problems that can occur from different computers software distribution and makes the simulator accessible by all students at school and at home.
Resumo:
Teaching and learning computer programming is as challenging as difficult. Assessing the work of students and providing individualised feedback to all is time-consuming and error prone for teachers and frequently involves a time delay. The existent tools and specifications prove to be insufficient in complex evaluation domains where there is a greater need to practice. At the same time Massive Open Online Courses (MOOC) are appearing revealing a new way of learning, more dynamic and more accessible. However this new paradigm raises serious questions regarding the monitoring of student progress and its timely feedback. This paper provides a conceptual design model for a computer programming learning environment. This environment uses the portal interface design model gathering information from a network of services such as repositories and program evaluators. The design model includes also the integration with learning management systems, a central piece in the MOOC realm, endowing the model with characteristics such as scalability, collaboration and interoperability. This model is not limited to the domain of computer programming and can be adapted to any complex area that requires systematic evaluation with immediate feedback.
Resumo:
Este relatório apresenta o trabalho realizado no âmbito da unidade curricular de Dissertação do Mestrado em Engenharia Electrotécnica e de Computadores – área de especialização de Automação e Sistemas. O trabalho realizado consiste no desenvolvimento de um Sistema de Controlo Remoto de Luzes de Aeródromo (SCRLA) que pode ser aplicado em paralelo aos comandos locais de controlo das luzes de aproximação, pista ou circulação, entre outras, de uma infra-estrutura aeroportuária. O objectivo fundamental deste sistema consiste em permitir ao piloto de uma aeronave o acendimento das luzes do aeródromo desde a própria aeronave, recorrendo apenas ao equipamento de rádio VHF existente a bordo da mesma e que é normalmente usado para comunicações com os serviços de controlo de tráfego aéreo. Este sistema, em aeródromos com possível operação nocturna (e.g., heliportos de hospitais), permite uma redução dos custos associados a despesas com eventual pessoal técnico ou a redução da carga de trabalho neste, e uma diminuição do consumo de energia eléctrica, uma vez que as luzes apenas são acendidas quando necessário. Este sistema permite também reduzir a poluição luminosa no ambiente e contribui positivamente para a longevidade dos equipamentos luminosos. No desenvolvimento do sistema, foram adquiridos e/ou aplicados conhecimentos nas áreas de navegação aérea, infra-estruturas aeroportuárias, telecomunicações, normalização e estandardização, electrónicas analógica e digital, programação de baixo nível em microcontroladores, desenho e construção de circuitos impressos, desenho e construção mecânica.
Resumo:
A Smart TV é um equipamento novo e em evolução que incorpora um computador e acesso à Internet em ecrãs de grande qualidade. Permite a implementação de serviços interactivos, acesso à Internet e televisão. À medida que a tecnologia melhora, muitos equipamentos estão a tornar-se tão capazes quanto os computadores normais quando se trata de navegação na web e até mesmo vídeo na Internet (Video-on-Demand e streaming de vídeo). O projecto de estágio “NONIUS.TV na Smart TV LG Pro:Centric” foi desenvolvido na empresa Nonius Software que está inserida no ramo das telecomunicações. Uma das suas áreas de actividade está relacionada com o desenvolvimento de plataformas de entretenimento para o mercado hoteleiro, combinando diversos serviços e funcionalidades a pensar no hóspede. Este projecto teve como finalidade implementar alguns dos serviços e funcionalidades já existentes em plataformas que usam uma Set-Top Box da Nonius Software, numa Smart TV, aproveitando também para inovar e criar novos serviços. Nesse conjunto está incluída a implementação de uma Caixa de Mensagens, Serviço de Quartos, Serviço de Desporto e Lazer, Serviços Informativos, um cliente RTSP, um despertador, um sistema de mudança de idioma e outras pequenas funcionalidades desenvolvidas ao longo de toda a aplicação. Esta dissertação apresenta um estudo sobre as tecnologias Smart TV existentes no mercado, assim como as vantagens e desvantagens da sua utilização para este projecto. Após uma análise de requisitos de forma a estruturar e desenhar os serviços e funcionalidades a serem criados para a aplicação, implementou-se um conjunto de serviços, usando a linguagem de programação ActionScript 2.0, que permitiram à empresa disponibilizar um novo produto baseado na televisão Pro:Centric da LG.
Resumo:
To improve surgical safety, and to reduce the mortality and surgical complications incidence, the World Health Organization (WHO) developed the Surgical Safety Checklist (SSC). The SSC is a support of information that aids health professionals to reduce the number of complications, induction of anaesthesia, period before skin incision and period before leaving the operating room (OR). The SSC was tested in several countries of the world and their results shown that after introduction of the SSC the incidence of patient complication lowered from 11.0% to 7.0% (P<0.001), the rate of death declined from 1.5% to 0.8% (P = 0.003) and the nurses recognized that patients identity was more often con rmed (81.6% to 94.2%, P<0.01) in many institutions. Recently the SSC was also implemented in Portuguese hospitals, which led us to its study in the real clinical environment. An observational study was performed: several health professionals were observed and interviewed, to understand the functioning of the SSC in an OR, during the clinical routine. The objective of this study was to understand the current use of the SSC, and how it may be improved in terms of usability, taking advantage of the technological advancements such as mobile applications. During two days were observed 14 surgeries, only 2 surgeries met the requirements for the three phases of the SSC, as de ned by the WHO. Of the remaining 12 observed surgeries, 9 surgeries completed the last phase at the correct time. It was also observed that only in 2 surgeries all the phases of the SSC were read aloud to the team and that, in 7 surgeries, several items were read aloud and answered but no one was checking the SSC, only after the end of the phase. The observational study results disclose that several health professionals do not meet with rules of the WHO manual. This study demonstrates that it is urgent to change the mindset of health professionals, and that di erent features in the SSC may be useful to make it more easy to use. With the results of the observational study, a SSC application proposal was developed with new functionalities to improve and aid the health professional in its use. In this application the user can chose between a SSC already created to a speci c surgery or to create a new SSC, adding and adapting some questions from the WHO standard. To create a new SSC, the application is connected to an online questionnaire builder (JotForm). The choice for this online questionnaire builder went through three essential characteristics: number of types of questions, mainly checkbox, radio button and text; the possibility of to create sections inside sections and the API. In addition, in this proposal the improvements are focused in forcing the user to focus in the work ow of the SSC and to save the input timestamps and any actions made by them. Therefore, the following features was implemented to achieve that goal: display one item of the SSC at a time; display the stage where the SSC is; do not allow going back to the previous step; do not allow going forward to the next item if the current is not lled; do not allow going forward to the next item if the time it took to ll the item was too short and log any action made by the user.
Resumo:
Os Mercados Eletrónicos atingiram uma complexidade e nível de sofisticação tão elevados, que tornaram inadequados os modelos de software convencionais. Estes mercados são caracterizados por serem abertos, dinâmicos e competitivos, e constituídos por várias entidades independentes e heterogéneas. Tais entidades desempenham os seus papéis de forma autónoma, seguindo os seus objetivos, reagindo às ocorrências do ambiente em que se inserem e interagindo umas com as outras. Esta realidade levou a que existisse por parte da comunidade científica um especial interesse no estudo da negociação automática executada por agentes de software [Zhang et al., 2011]. No entanto, a diversidade dos atores envolvidos pode levar à existência de diferentes conceptualizações das suas necessidades e capacidades dando origem a incompatibilidades semânticas, que podem prejudicar a negociação e impedir a ocorrência de transações que satisfaçam as partes envolvidas. Os novos mercados devem, assim, possuir mecanismos que lhes permitam exibir novas capacidades, nomeadamente a capacidade de auxiliar na comunicação entre os diferentes agentes. Pelo que, é defendido neste trabalho que os mercados devem oferecer serviços de ontologias que permitam facilitar a interoperabilidade entre os agentes. No entanto, os humanos tendem a ser relutantes em aceitar a conceptualização de outros, a não ser que sejam convencidos de que poderão conseguir um bom negócio. Neste contexto, a aplicação e exploração de relações capturadas em redes sociais pode resultar no estabelecimento de relações de confiança entre vendedores e consumidores, e ao mesmo tempo, conduzir a um aumento da eficiência da negociação e consequentemente na satisfação das partes envolvidas. O sistema AEMOS é uma plataforma de comércio eletrónico baseada em agentes que inclui serviços de ontologias, mais especificamente, serviços de alinhamento de ontologias, incluindo a recomendação de possíveis alinhamentos entre as ontologias dos parceiros de negociação. Este sistema inclui também uma componente baseada numa rede social, que é construída aplicando técnicas de análise de redes socias sobre informação recolhida pelo mercado, e que permite melhorar a recomendação de alinhamentos e auxiliar os agentes na sua escolha. Neste trabalho são apresentados o desenvolvimento e implementação do sistema AEMOS, mais concretamente: • É proposto um novo modelo para comércio eletrónico baseado em agentes que disponibiliza serviços de ontologias; • Adicionalmente propõem-se o uso de redes sociais emergentes para captar e explorar informação sobre relações entre os diferentes parceiros de negócio; • É definida e implementada uma componente de serviços de ontologias que é capaz de: • o Sugerir alinhamentos entre ontologias para pares de agentes; • o Traduzir mensagens escritas de acordo com uma ontologia em mensagens escritas de acordo com outra, utilizando alinhamentos previamente aprovados; • o Melhorar os seus próprios serviços recorrendo às funcionalidades disponibilizadas pela componente de redes sociais; • É definida e implementada uma componente de redes sociais que: • o É capaz de construir e gerir um grafo de relações de proximidade entre agentes, e de relações de adequação de alinhamentos a agentes, tendo em conta os perfis, comportamento e interação dos agentes, bem como a cobertura e utilização dos alinhamentos; • o Explora e adapta técnicas e algoritmos de análise de redes sociais às várias fases dos processos do mercado eletrónico. A implementação e experimentação do modelo proposto demonstra como a colaboração entre os diferentes agentes pode ser vantajosa na melhoria do desempenho do sistema e como a inclusão e combinação de serviços de ontologias e redes sociais se reflete na eficiência da negociação de transações e na dinâmica do mercado como um todo.
Resumo:
A new iterative algorithm based on the inexact-restoration (IR) approach combined with the filter strategy to solve nonlinear constrained optimization problems is presented. The high level algorithm is suggested by Gonzaga et al. (SIAM J. Optim. 14:646–669, 2003) but not yet implement—the internal algorithms are not proposed. The filter, a new concept introduced by Fletcher and Leyffer (Math. Program. Ser. A 91:239–269, 2002), replaces the merit function avoiding the penalty parameter estimation and the difficulties related to the nondifferentiability. In the IR approach two independent phases are performed in each iteration, the feasibility and the optimality phases. The line search filter is combined with the first one phase to generate a “more feasible” point, and then it is used in the optimality phase to reach an “optimal” point. Numerical experiences with a collection of AMPL problems and a performance comparison with IPOPT are provided.
Resumo:
O veículo guiado automaticamente (AGV) adquirido pelo Departamento de Engenharia Mecânica (DEM) tem vindo a ficar obsoleto devido ao hardware, que nos dias de hoje começa a dar sinais de falhas bem como falta de peças de substituição, e ao software, sendo o PLC (Programmable Logic Controller) usado muito limitado quanto às suas funções de controlo, ficando as principais tarefas de controlo do AGV a cargo de placas eletrónicas de controlo. Para promover o controlo autónomo do AGV, foi decidido retirar toda a parte de hardware que detinha o controlo do mesmo e passou a ser um novo PLC, com maior capacidade de processamento, a executar todo o tipo de controlo necessário ao funcionamento do mesmo. O hardware considerado apenas incluí, de forma resumida, os motores responsáveis pelo movimento e direção, placa de controlo de potência dos motores, placa de interface entre as saídas digitais do PLC e as entradas da placa de controlo de potência dos motores e os demais sensores necessários à deteção de obstáculos, fins de curso da direção, sensores dos postos de trabalho e avisadores de emergência. Todo o controlo de movimento e direção bem como a seleção das ações a executar passou a ficar a cargo do software programado no PLC assim como a interação entre o sistema de supervisão instalado num posto de controlo e o PLC através de comunicação via rádio. O uso do PLC permitiu a flexibilidade de mudar facilmente a forma como as saídas digitais são usadas, ao contrário de um circuito eletrónico que necessita de uma completa remodelação, tempo de testes e implementação para efetuar a mesma função. O uso de um microcontrolador seria igualmente viável para a aplicação em causa, no entanto o uso do PLC tem a vantagem de ser robusto, mais rápido na velocidade de processamento, existência de software de interface de programação bastante intuitivo e de livre acesso, facilidade de alterar a programação localmente ou remotamente, via rádio, acesso a vários protocolos de comunicação robustos como Modbus, Canbus, Profinet, Modnet, etc., e acesso integrado de uma consola gráfica totalmente programável. iv É ainda possível a sua expansão com adição de módulos de entradas e saídas digitais e/ou analógicas permitindo expandir largamente o uso do AGV para outros fins. A solução está a ser amplamente testada e validada no Laboratório de Automação (LabA) do Departamento de Engenharia Mecânica do ISEP (Instituto Superior de Engenharia do Porto), permitindo a otimização dos sistemas de controlo de direção bem como a interatividade entre o PLC e o programa de interface/supervisão do posto de trabalho.
Resumo:
Face à estagnação da tecnologia uniprocessador registada na passada década, aos principais fabricantes de microprocessadores encontraram na tecnologia multi-core a resposta `as crescentes necessidades de processamento do mercado. Durante anos, os desenvolvedores de software viram as suas aplicações acompanhar os ganhos de performance conferidos por cada nova geração de processadores sequenciais, mas `a medida que a capacidade de processamento escala em função do número de processadores, a computação sequencial tem de ser decomposta em várias partes concorrentes que possam executar em paralelo, para que possam utilizar as unidades de processamento adicionais e completar mais rapidamente. A programação paralela implica um paradigma completamente distinto da programação sequencial. Ao contrário dos computadores sequenciais tipificados no modelo de Von Neumann, a heterogeneidade de arquiteturas paralelas requer modelos de programação paralela que abstraiam os programadores dos detalhes da arquitectura e simplifiquem o desenvolvimento de aplicações concorrentes. Os modelos de programação paralela mais populares incitam os programadores a identificar instruções concorrentes na sua lógica de programação, e a especificá-las sob a forma de tarefas que possam ser atribuídas a processadores distintos para executarem em simultâneo. Estas tarefas são tipicamente lançadas durante a execução, e atribuídas aos processadores pelo motor de execução subjacente. Como os requisitos de processamento costumam ser variáveis, e não são conhecidos a priori, o mapeamento de tarefas para processadores tem de ser determinado dinamicamente, em resposta a alterações imprevisíveis dos requisitos de execução. `A medida que o volume da computação cresce, torna-se cada vez menos viável garantir as suas restrições temporais em plataformas uniprocessador. Enquanto os sistemas de tempo real se começam a adaptar ao paradigma de computação paralela, há uma crescente aposta em integrar execuções de tempo real com aplicações interativas no mesmo hardware, num mundo em que a tecnologia se torna cada vez mais pequena, leve, ubíqua, e portável. Esta integração requer soluções de escalonamento que simultaneamente garantam os requisitos temporais das tarefas de tempo real e mantenham um nível aceitável de QoS para as restantes execuções. Para tal, torna-se imperativo que as aplicações de tempo real paralelizem, de forma a minimizar os seus tempos de resposta e maximizar a utilização dos recursos de processamento. Isto introduz uma nova dimensão ao problema do escalonamento, que tem de responder de forma correcta a novos requisitos de execução imprevisíveis e rapidamente conjeturar o mapeamento de tarefas que melhor beneficie os critérios de performance do sistema. A técnica de escalonamento baseado em servidores permite reservar uma fração da capacidade de processamento para a execução de tarefas de tempo real, e assegurar que os efeitos de latência na sua execução não afectam as reservas estipuladas para outras execuções. No caso de tarefas escalonadas pelo tempo de execução máximo, ou tarefas com tempos de execução variáveis, torna-se provável que a largura de banda estipulada não seja consumida por completo. Para melhorar a utilização do sistema, os algoritmos de partilha de largura de banda (capacity-sharing) doam a capacidade não utilizada para a execução de outras tarefas, mantendo as garantias de isolamento entre servidores. Com eficiência comprovada em termos de espaço, tempo, e comunicação, o mecanismo de work-stealing tem vindo a ganhar popularidade como metodologia para o escalonamento de tarefas com paralelismo dinâmico e irregular. O algoritmo p-CSWS combina escalonamento baseado em servidores com capacity-sharing e work-stealing para cobrir as necessidades de escalonamento dos sistemas abertos de tempo real. Enquanto o escalonamento em servidores permite partilhar os recursos de processamento sem interferências a nível dos atrasos, uma nova política de work-stealing que opera sobre o mecanismo de capacity-sharing aplica uma exploração de paralelismo que melhora os tempos de resposta das aplicações e melhora a utilização do sistema. Esta tese propõe uma implementação do algoritmo p-CSWS para o Linux. Em concordância com a estrutura modular do escalonador do Linux, ´e definida uma nova classe de escalonamento que visa avaliar a aplicabilidade da heurística p-CSWS em circunstâncias reais. Ultrapassados os obstáculos intrínsecos `a programação da kernel do Linux, os extensos testes experimentais provam que o p-CSWS ´e mais do que um conceito teórico atrativo, e que a exploração heurística de paralelismo proposta pelo algoritmo beneficia os tempos de resposta das aplicações de tempo real, bem como a performance e eficiência da plataforma multiprocessador.