9 resultados para developer
em Instituto Politécnico do Porto, Portugal
Resumo:
A crise económica global que se faz sentir leva a que surja uma necessidade de aumentar a competitividade das empresas, através da melhoria de performance dos seus colaboradores. Nesse sentido, Lean Manufacturing é uma área que merece a atenção das empresas e dos seus colaboradores, uma vez que os seus principais objectivos são o aumento da produtividade, a redução dos desperdícios e a optimização dos recursos disponíveis. Uma ferramenta do Lean que merece especial destaque é o Método 5S, que permite aumentar a produtividade através do aumento da organização do posto de trabalho. Uma vez que usar postos de trabalho a mais, de modo a que os colaboradores pratiquem e aprendam a aplicar as regras do 5S, fica dispendioso em tempo de trabalho e custos acrescidos pela paragem da linha produção, surge a necessidade de criação de um Jogo Sério que ajude na aprendizagem destes temas. Um breve estudo do mercado revelou que esta necessidade não está a ser devidamente respondida. Existem algumas entidades que se dedicam ao ensino e partilha deste tipo de conhecimentos, sendo poucas as que têm ferramentas digitais disponíveis. Esta dissertação propõe um Jogo Sério que pretende dar resposta a esta necessidade, permitindo pôr em prática o Método 5S, servindo ainda como ferramenta motivadora, para que o colaborador aprofunde o seu conhecimento na matéria. Esta abordagem prática encoraja o jogador a aprender por tentativa e erro. Informações mostradas ao longo do jogo permitem uma aprendizagem sem haver uma sobrecarga cognitiva. A avaliação do jogo, realizada por um grupo de alunos que frequentam o Mestrado em Engenharia Mecânica, demonstrou que a nossa abordagem é eficiente e resulta na aprendizagem dos conceitos 5S.
Resumo:
Embedded systems are increasingly complex and dynamic, imposing progressively higher developing time and costs. Tuning a particular system for deployment is thus becoming more demanding. Furthermore when considering systems which have to adapt themselves to evolving requirements and changing service requests. In this perspective, run-time monitoring of the system behaviour becomes an important requirement, allowing to dynamically capturing the actual scheduling progress and resource utilization. For this to succeed, operating systems need to expose their internal behaviour and state, making it available to external applications, and a runtime monitoring mechanism must be available. However, such mechanism can impose a burden in the system itself if not wisely used. In this paper we explore this problem and propose a framework, which is intended to provide this run-time mechanism whilst achieving code separation, run-time efficiency and flexibility for the final developer.
Resumo:
The mainline Linux Kernel is not designed forhard real-time systems; it only fits the requirements of soft realtimesystems. In recent years, a kernel developer communityhas been working on the PREEMPT-RT patch. This patch(that aims to get a fully preemptible kernel) adds some realtimecapabilities to the Linux kernel. However, in terms ofscheduling policies, the real-time scheduling class of Linux islimited to the First-In-First-Out (SCHED_FIFO) and Round-Robin (SCHED_RR) scheduling policies. These scheduling policiesare however quite limited in terms of realtime performance.Therefore, in this paper, we report one importantcontribution for adding more advanced real-time capabilitiesto the Linux Kernel. Specifically, we describe modificationsto the (PREEMPT-RT patched) Linux kernel to supportreal-time slot-based task-splitting scheduling algorithms. Ourpreliminary evaluation shows that our implementation exhibitsa real-time performance that is superior to the schedulingpolicies provided by the current version of PREMPT-RT. Thisis a significant add-on to a widely adopted operating system.
Resumo:
Typically common embedded systems are designed with high resource constraints. Static designs are often chosen to address very specific use cases. On contrast, a dynamic design must be used if the system must supply a real-time service where the input may contain factors of indeterminism. Thus, adding new functionality on these systems is often accomplished by higher development time, tests and costs, since new functionality push the system complexity and dynamics to a higher level. Usually, these systems have to adapt themselves to evolving requirements and changing service requests. In this perspective, run-time monitoring of the system behaviour becomes an important requirement, allowing to dynamically capturing the actual scheduling progress and resource utilization. For this to succeed, operating systems need to expose their internal behaviour and state, making it available to the external applications, usually using a run-time monitoring mechanism. However, such mechanism can impose a burden in the system itself if not wisely used. In this paper we explore this problem and propose a framework, which is intended to provide this run-time mechanism whilst achieving code separation, run-time efficiency and flexibility for the final developer.
Resumo:
Search Optimization methods are needed to solve optimization problems where the objective function and/or constraints functions might be non differentiable, non convex or might not be possible to determine its analytical expressions either due to its complexity or its cost (monetary, computational, time,...). Many optimization problems in engineering and other fields have these characteristics, because functions values can result from experimental or simulation processes, can be modelled by functions with complex expressions or by noise functions and it is impossible or very difficult to calculate their derivatives. Direct Search Optimization methods only use function values and do not need any derivatives or approximations of them. In this work we present a Java API that including several methods and algorithms, that do not use derivatives, to solve constrained and unconstrained optimization problems. Traditional API access, by installing it on the developer and/or user computer, and remote API access to it, using Web Services, are also presented. Remote access to the API has the advantage of always allow the access to the latest version of the API. For users that simply want to have a tool to solve Nonlinear Optimization Problems and do not want to integrate these methods in applications, also two applications were developed. One is a standalone Java application and the other a Web-based application, both using the developed API.
Resumo:
Nonlinear Optimization Problems are usual in many engineering fields. Due to its characteristics the objective function of some problems might not be differentiable or its derivatives have complex expressions. There are even cases where an analytical expression of the objective function might not be possible to determine either due to its complexity or its cost (monetary, computational, time, ...). In these cases Nonlinear Optimization methods must be used. An API, including several methods and algorithms to solve constrained and unconstrained optimization problems was implemented. This API can be accessed not only as traditionally, by installing it on the developer and/or user computer, but it can also be accessed remotely using Web Services. As long as there is a network connection to the server where the API is installed, applications always access to the latest API version. Also an Web-based application, using the proposed API, was developed. This application is to be used by users that do not want to integrate methods in applications, and simply want to have a tool to solve Nonlinear Optimization Problems.
Resumo:
Over the past decades several approaches for schedulability analysis have been proposed for both uni-processor and multi-processor real-time systems. Although different techniques are employed, very little has been put forward in using formal specifications, with the consequent possibility for mis-interpretations or ambiguities in the problem statement. Using a logic based approach to schedulability analysis in the design of hard real-time systems eases the synthesis of correct-by-construction procedures for both static and dynamic verification processes. In this paper we propose a novel approach to schedulability analysis based on a timed temporal logic with time durations. Our approach subsumes classical methods for uni-processor scheduling analysis over compositional resource models by providing the developer with counter-examples, and by ruling out schedules that cause unsafe violations on the system. We also provide an example showing the effectiveness of our proposal.
Resumo:
As plataformas com múltiplos núcleos tornaram a programação paralela/concorrente num tópico de interesse geral. Diversos modelos de programação têm vindo a ser propostos, facilitando aos programadores a identificação de regiões de código potencialmente paralelizáveis, deixando ao sistema operativo a tarefa de as escalonar dinamicamente em tempo de execução, explorando o maior grau possível de paralelismo. O Java não foge a esta tendência, disponibilizando ao programador um número crescente de bibliotecas de mecanismos de sincronização e paralelização de código. Neste contexto, esta tese apresenta e discute um conjunto de resultados obtidos através de testes intensivos à eficiência de algoritmos de ordenação implementados com recurso aos mecanismos de concorrência da API do Java 8 (Threads, Threadpools, ExecutorService, CountdownLach, ExecutorCompletionService e ForkJoinPools) em sistemas com um número de núcleos variável. Para cada um dos mecanismos, são apresentadas conclusões sobre o seu funcionamento e discutidos os cenários em que o seu uso pode ser rentabilizado de modo a serem obtidos melhores tempos de execução.
Resumo:
Neste documento, são investigados vários métodos usados na inteligência artificial, com o objetivo de obter previsões precisas da evolução dos mercados financeiros. O uso de ferramentas lineares como os modelos AR, MA, ARMA e GARCH têm muitas limitações, pois torna-se muito difícil adaptá-los às não linearidades dos fenómenos que ocorrem nos mercados. Pelas razões anteriormente referidas, os algoritmos como as redes neuronais dinâmicas (TDNN, NARX e ESN), mostram uma maior capacidade de adaptação a estas não linearidades, pois não fazem qualquer pressuposto sobre as distribuições de probabilidade que caracterizam estes mercados. O facto destas redes neuronais serem dinâmicas, faz com que estas exibam um desempenho superior em relação às redes neuronais estáticas, ou outros algoritmos que não possuem qualquer tipo de memória. Apesar das vantagens reveladas pelas redes neuronais, estas são um sistema do tipo black box, o que torna muito difícil extrair informação dos pesos da rede. Isto significa que estes algoritmos devem ser usados com precaução, pois podem tornar-se instáveis.