38 resultados para Factory of software
Resumo:
Classical lock-based concurrency control does not scale with current and foreseen multi-core architectures, opening space for alternative concurrency control mechanisms. The concept of transactions executing concurrently in isolation with an underlying mechanism maintaining a consistent system state was already explored in fault-tolerant and distributed systems, and is currently being explored by transactional memory, this time being used to manage concurrent memory access. In this paper we discuss the use of Software Transactional Memory (STM), and how Ada can provide support for it. Furthermore, we draft a general programming interface to transactional memory, supporting future implementations of STM oriented to real-time systems.
Resumo:
Dissertação de Mestrado
Resumo:
No âmbito da Unidade Curricular Dissertação, inserida no segundo ano do Mestrado em Engenharia Mecânica – Gestão Industrial do Instituto Superior de Engenharia do Porto, foi proposto um projecto que está a ser desenvolvido pela equipa de Engenharia e Gestão Industrial, da unidade de negócios AMT, intitulado por: “Projecto Índia – Desenvolvimento da nova unidade fabril” Este projecto tem como principal objectivo o desenvolvimento de uma fábrica de excelência na Índia de fabricação de componentes de média tensão, isto é, com processos logísticos bem definidos e com linhas de produção o mais automatizadas possivel. Esta nova fábrica de raiz, vai ser gerida e decalcada do modelo atualmente existe na fábrica da EFACEC de componentes de média tensão existente em Portugal. Numa primeira fase do desenvolvimento do projecto, foi seleccionado um edifício com cerca de 1600m2 em Nashik, uma localidade a cerca de 171 Km de Mumbai, onde se encontram 80% dos fornecedores da EFACEC. Foram identificados os produtos a serem fabricados e quantificada a respectiva procura anual. Foi efectuado o balanceamento de cada uma das linhas e desenhado o layout. Neste layout contemplou-se as áreas de produção, laboratório, gabinetes de chefes de equipa, expedição, recepção e armazém. Após a definição das áreas de montagem de cada produto, iniciou-se a concepção das linhas de produção, sobretudo automáticas, com a definição da cadência de produção. A linha de fabricação que é especialmente detalhada neste documento é a linha de montagem dos comandos CI. Este é o produto com mais procura. Foi também definido o processo logístico do fluxo interno da fábrica. Nas linhas de produção foi implementado o sistema de controlo de fluxo baseado em cartões Kanban e no armazém criou-se um novo conceito de controlo e localização de produtos, o “Aquiles”. O Aquiles permite automaticamente e através da leitura de código de barras, indexar os artigos nas estantes. Cada artigo e cada estante e/ou localização estão codificados e no momento de recepção de material o código do artigo é associado ao código da estante. No âmbito de explorar todas as soluções possíveis para a um melhor desenvolvimento desta nova fábrica foram abordados temas como “JIT”, “Pull Flow”, “Kanban”, “Takttime”.
Resumo:
WWW is a huge, open, heterogeneous system, however its contents data is mainly human oriented. The Semantic Web needs to assure that data is readable and “understandable” to intelligent software agents, though the use of explicit and formal semantics. Ontologies constitute a privileged artifact for capturing the semantic of the WWW data. Temporal and spatial dimensions are transversal to the generality of knowledge domains and therefore are fundamental for the reasoning process of software agents. Representing temporal/spatial evolution of concepts and their relations in OWL (W3C standard for ontologies) it is not straightforward. Although proposed several strategies to tackle this problem but there is still no formal and standard approach. This work main goal consists of development of methods/tools to support the engineering of temporal and spatial aspects in intelligent systems through the use of OWL ontologies. An existing method for ontology engineering, Fonte was used as framework for the development of this work. As main contributions of this work Fonte was re-engineered in order to: i) support the spatial dimension; ii) work with OWL Ontologies; iii) and support the application of Ontology Design Patterns. Finally, the capabilities of the proposed approach were demonstrated by engineering time and space in a demo ontology about football.
Resumo:
Os parques de estacionamento cobertos estão obrigados por legislação a terem sistemas de desenfumagem. Assim, nesta dissertação desenvolve-se um procedimento computacional para a analise e verificação de funcionamento de sistemas de desenfumagem com ventiladores de impulso para parques de estacionamento, recorrendo ao software de mecânica dos fluidos computacional OpenFOAM. Actualmente nos sistemas de desenfumagem de parques de estacionamento estão a ser aplicados ventiladores de impulso. Este tipo de ventiladores não estão contemplados pela legislação em vigor. Assim, para serem utilizados é necessário verificar se estes podem substituir as redes de condutas. A verificação do funcionamento de sistemas de desenfumagem com ventiladores de impulso e efectuada com recurso a programas de simulação de mecânica dos fluidos computacional. O software OpenFOAM não tem tutoriais para ventiladores de impulso. Assim, foi executado um procedimento para validação dos ventiladores de impulso. A validação consistiu em reproduzir-se uma experiência executada por Giesen et al. (2011). Executaram-se várias simulações com diferentes modelos de turbulência, verificando-se que o programa buoyantpimplefoam do software OpenFOAM ao utilizar o modelo de turbulência k -ɛ simulou quase na perfeição os ventiladores de impulso. O desenvolvimento do procedimento computacional foi executado para um parque de estacionamento com uma geometria bastante complexa. O parque de estacionamento foi criado com um software em 3D e posteriormente inserido numa malha j a criada com as dimensões exteriores do parque. Foram estipuladas as condições de fronteira e executou-se uma simulação de seiscentos segundos com parâmetros determinados previamente. O processamento da simulação teve a duração de aproximadamente oito dias. Dos resultados obtidos concluiu-se que o procedimento computacional apresentado simula adequadamente sistemas de desenfumagem em parques de estacionamento.
Resumo:
Currently, due to the widespread use of computers and the internet, students are trading libraries for the World Wide Web and laboratories with simulation programs. In most courses, simulators are made available to students and can be used to proof theoretical results or to test a developing hardware/product. Although this is an interesting solution: low cost, easy and fast way to perform some courses work, it has indeed major disadvantages. As everything is currently being done with/in a computer, the students are loosing the “feel” of the real values of the magnitudes. For instance in engineering studies, and mainly in the first years, students need to learn electronics, algorithmic, mathematics and physics. All of these areas can use numerical analysis software, simulation software or spreadsheets and in the majority of the cases data used is either simulated or random numbers, but real data could be used instead. For example, if a course uses numerical analysis software and needs a dataset, the students can learn to manipulate arrays. Also, when using the spreadsheets to build graphics, instead of using a random table, students could use a real dataset based, for instance, in the room temperature and its variation across the day. In this work we present a framework which uses a simple interface allowing it to be used by different courses where the computers are the teaching/learning process in order to give a more realistic feeling to students by using real data. A framework is proposed based on a set of low cost sensors for different physical magnitudes, e.g. temperature, light, wind speed, which are connected to a central server, that the students have access with an Ethernet protocol or are connected directly to the student computer/laptop. These sensors use the communication ports available such as: serial ports, parallel ports, Ethernet or Universal Serial Bus (USB). Since a central server is used, the students are encouraged to use sensor values results in their different courses and consequently in different types of software such as: numerical analysis tools, spreadsheets or simply inside any programming language when a dataset is needed. In order to do this, small pieces of hardware were developed containing at least one sensor using different types of computer communication. As long as the sensors are attached in a server connected to the internet, these tools can also be shared between different schools. This allows sensors that aren't available in a determined school to be used by getting the values from other places that are sharing them. Another remark is that students in the more advanced years and (theoretically) more know how, can use the courses that have some affinities with electronic development to build new sensor pieces and expand the framework further. The final solution provided is very interesting, low cost, simple to develop, allowing flexibility of resources by using the same materials in several courses bringing real world data into the students computer works.
Resumo:
This study aims to analyze and compare four micro-firms' organizational culture, evaluated through the Competing Values Framework (Quinn & Rohbaugh, 1983). Data was collected in 2011 and 2013 in firms selling the same type of software and providing the same kind of services, focusing on the years between 2008-2011. Findings point to somewhat different results of micro-firms, when comparing to other samples in the literature. Suggestions for future research are given.
Resumo:
Saber qual o papel de um Sistema de Apoio à Decisão na gestão estratégica de uma Unidade de Saúde Familiar; perceber qual a importância, no desempenho deste tipo de instituições, que estes Sistemas de Informação poderão assumir e identificar de que forma este gênero de software pode auxiliar a tomada de decisões estratégica da gestão das Unidades de Cuidados de Saúde Primários, são algumas das interrogações cuja relevância se verifica ser cada vez mais crescente e que se irão analisar no presente estudo. Para dar resposta às interrogações supra citadas é necessário conhecer o contexto no qual a organização está inserida, assim como perceber se a visão dos seus colaboradores (realizando-se para isso um inquérito por questionário aos colaboradores da Unidade de Saúde Familiar) é idêntica à realidade demonstrada através dos dados do histórico da instituição (recolhendo, estudando e efetuando estudos analíticos com o auxílio de um Sistema de Apoio à Decisão escolhido para o efeito – Weka). Tendo em conta o percurso anteriormente referido é assim possível inferir que é notória a positividade que os Sistemas de Apoio à Decisão podem ter no que é o dia-a-dia de uma Unidade de Saúde Familiar, tendo em conta que facilitam a análise de dados e podem até antecipar cenários futuros analisando o passado da instituição.
Resumo:
Desde sempre o Homem procurou automatizar tarefas repetitivas. Tanto na indústria como no sector doméstico ou de comércio estão constantemente a surgir novos equipamentos procurando aumentar o nível de automação de diversas tarefas. A necessidade de empresas criadoras de produtos inovadores se manterem concorrenciais obrigou à adopção de métodos de projecto e planeamento mais estruturados e eficientes que eliminem os desperdícios tanto de material como de tempo. Diversas construções em termos orçamentais e o aumento da procura de produtos de alta qualidade a baixo custo deu origem a um novo tipo de programas, os programas de simulação virtual. Tal como na indústria, também na investigação nas Instituições de Ensino Superior se procuram adoptar os métodos de trabalho mais eficientes possíveis. Uma parte dos programas de simulação robótica utilizados hoje em dia na investigação no Instituto Superior de Engenharia do Porto estão concebidos em linguagem C. Embora esta linguagem seja extremamente capaz, existem métodos mais adequados de simulação que aceleram o processo de modelação permitindo a visualização do movimento e simulação de diversas situações potencialmente criticas sem existir a necessidade de construção de um protótipo funcional do robô. Durante o último ano, este projecto permitiu construir um modelo de um robô quadrúpede num programa de simulação virtual chamado Simmechanics™. Embora haja já algum trabalho desenvolvido nesta área, constatou-se que a informação existente possuía algumas lacunas. Com o trabalho desenvolvido preparou-se esta dissertação que pretende clarificar algumas questões que surgem na modelação de um robô. Neste documento explica-se como modelar um robô de corpo flexível, modelar as pernas e as respectivas juntas da anca e do joelho assim como também se apresenta a modelação de um contacto com o solo recorrendo a um modelo descrito na literatura. Este documento foi escrito a pensar no leitor, procurando-se explicar de forma simples mas concisa os diversos passos necessários para construir um modelo virtual de um robô. O autor espera, desta forma, ajudar futuros colegas que pretendam trabalhar com o Simmechanics™ a mais facilmente se integrarem com o programa aumentando desta forma o declive da curva de aprendizagem e permitindo um maior aproveitamento desta ferramenta.
Resumo:
A evolução tecnológica atingiu um ritmo que muitas empresas têm dificuldade de acompanhar, existem diversas opções no mercado, para um mesmo objectivo, e tornasse determinante o processo de tomada de decisão sobre qual tecnologia adoptar para determinado objectivo. O alvo de estudo desta dissertação de mestrado, é uma das tecnologias, que últimamente tem ganho especial relevo, quando aplicada ao ambiente industrial, o RFID (Radio Frequency Identification Devices). Na presente dissertação, foi efectuado um levantamento do estado da arte, na área da identificação automática, com especial foco no RFID. Esta revisão bibliográfica teve como principal objectivo perceber quais as tecnologias concorrentes do RFID, e explorar quais as suas principais características tecnológicas e funcionais, bem como as vantagens no uso desta tecnologia de forma a sustentar a implementação de um sistema protótipo de gestão de armazém. O contributo final da dissertação, consiste numa aplicação que tem como principal objectvo simular os fluxos de infomação resultantes dos fluxos fisícos de materiais em ambiente de armazém. Foi também tido em conta no desenvolvimento da aplicação, a demonstração de algumas das mais valias que esta tecnologia pode trazer para a gestão de armazéns. Para implementação da aplicação destaca-se a utilização da arquitectura MVC (Model-view-controlador), em ambiente web, para permitir uma descentalização do software no ambiente indoor do armazém.
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:
Durante os últimos anos tem-se assistido a um crescimento exponencial da utilização dos dispositivos móveis. Atualmente, a presença destes dispositivos está tão consolidada na sociedade em que nos encontramos que é praticamente impossível estar num espaço público sem encontrar uma pessoa a utilizar um exemplar deste tipo de dispositivos, na forma de um Smartphone ou um Tablet. Nesse sentido, um grande número de organizações de desenvolvimento de software tem vindo a apostar na criação de aplicações para servir este mercado com enorme potencial. De forma a iniciar o desenvolvimento aplicacional nesta área, cabe às organizações escolherem a metodologia de desenvolvimento que mais se adapta às suas necessidades e ao contexto que desejam explorar. Por vezes, a abordagem adotada acaba por ser tornar inadaptada a longo prazo, podendo as aplicações começar a apresentar níveis de desempenho e problemas comportamentais indesejados, de acordo com as alterações realizadas e as necessidades evidenciadas no seu processo de evolução, sendo necessário explorar outras alternativas metodológicas. No contexto apresentado surge a temática da presente dissertação, que se propõe à criação de um plano de migração tecnológica genérico direcionado a um conjunto aplicações móveis em estudo, desenvolvidas através de uma metodologia híbrida, adaptada ao desenvolvimento de aplicações compatíveis com as diversas plataformas móveis. O plano devia então ser construído com o intuito de efetuar a migração das aplicações para uma metodologia nativa, adaptada ao desenvolvimento de aplicações móveis específicas a uma determinada plataforma móvel, que no presente caso seria sob a plataforma Android. No decorrer do trabalho realizado foram desenvolvidos mecanismos e componentes genéricos que permitiram implementar um módulo de migração responsável por construir um projeto nativo base de Android através de um projeto híbrido, construído segundo as suas tecnologias específicas. Finalizada a implementação, foram realizados testes comparativos entre a aplicação alvo de migração e o protótipo nativo conseguido e foi apresentada uma série de resultados que permitiram concluir a adequação da metodologia nativa para ultrapassar a problemática evidenciada. Além disso, foi também possível concluir que o sistema de migração genérico resultante do trabalho desta dissertação permite reduzir significativamente o tempo de desenvolvimento necessário em migrações de outras aplicações que se enquadrem na mesma problemática.
Resumo:
Nos dias de hoje, os sistemas de tempo real crescem em importância e complexidade. Mediante a passagem do ambiente uniprocessador para multiprocessador, o trabalho realizado no primeiro não é completamente aplicável no segundo, dado que o nível de complexidade difere, principalmente devido à existência de múltiplos processadores no sistema. Cedo percebeu-se, que a complexidade do problema não cresce linearmente com a adição destes. Na verdade, esta complexidade apresenta-se como uma barreira ao avanço científico nesta área que, para já, se mantém desconhecida, e isto testemunha-se, essencialmente no caso de escalonamento de tarefas. A passagem para este novo ambiente, quer se trate de sistemas de tempo real ou não, promete gerar a oportunidade de realizar trabalho que no primeiro caso nunca seria possível, criando assim, novas garantias de desempenho, menos gastos monetários e menores consumos de energia. Este último fator, apresentou-se desde cedo, como, talvez, a maior barreira de desenvolvimento de novos processadores na área uniprocessador, dado que, à medida que novos eram lançados para o mercado, ao mesmo tempo que ofereciam maior performance, foram levando ao conhecimento de um limite de geração de calor que obrigou ao surgimento da área multiprocessador. No futuro, espera-se que o número de processadores num determinado chip venha a aumentar, e como é óbvio, novas técnicas de exploração das suas inerentes vantagens têm de ser desenvolvidas, e a área relacionada com os algoritmos de escalonamento não é exceção. Ao longo dos anos, diferentes categorias de algoritmos multiprocessador para dar resposta a este problema têm vindo a ser desenvolvidos, destacando-se principalmente estes: globais, particionados e semi-particionados. A perspectiva global, supõe a existência de uma fila global que é acessível por todos os processadores disponíveis. Este fato torna disponível a migração de tarefas, isto é, é possível parar a execução de uma tarefa e resumir a sua execução num processador distinto. Num dado instante, num grupo de tarefas, m, as tarefas de maior prioridade são selecionadas para execução. Este tipo promete limites de utilização altos, a custo elevado de preempções/migrações de tarefas. Em contraste, os algoritmos particionados, colocam as tarefas em partições, e estas, são atribuídas a um dos processadores disponíveis, isto é, para cada processador, é atribuída uma partição. Por essa razão, a migração de tarefas não é possível, acabando por fazer com que o limite de utilização não seja tão alto quando comparado com o caso anterior, mas o número de preempções de tarefas decresce significativamente. O esquema semi-particionado, é uma resposta de caráter hibrido entre os casos anteriores, pois existem tarefas que são particionadas, para serem executadas exclusivamente por um grupo de processadores, e outras que são atribuídas a apenas um processador. Com isto, resulta uma solução que é capaz de distribuir o trabalho a ser realizado de uma forma mais eficiente e balanceada. Infelizmente, para todos estes casos, existe uma discrepância entre a teoria e a prática, pois acaba-se por se assumir conceitos que não são aplicáveis na vida real. Para dar resposta a este problema, é necessário implementar estes algoritmos de escalonamento em sistemas operativos reais e averiguar a sua aplicabilidade, para caso isso não aconteça, as alterações necessárias sejam feitas, quer a nível teórico quer a nível prá
Resumo:
Os vídeo jogos ou jogos de computador têm vindo a crescer na sua relação com o público ganhando terreno e credibilidade nos benefícios que os jogadores obtêm quando usam este tipo de software, indo esses benefícios para além do divertimento associado à palavra jogo no seu sentido etimológico. Nos últimos anos cada vez mais o mercado e algumas das mais reputadas instituições de ensino têm dedicado especial atenção a este tipo de software, englobando nesses estudos diversas áreas desde a engenharia à saúde, incluindo ainda, estudos de cariz psicológico e sociológico reveladores de que estas experiências de entretenimento, cada vez mais disponíveis a todos, têm influência na sua envolvente de integração e relação com outros fenómenos de cariz social. Apreciado o estado da arte esta tese tem como principal objetivo servir de guia de iniciação a individuais ou pequenas equipas da área de desenvolvimento de software no caminho para o desenvolvimento de jogos de vídeo independentes, apresentando uma análise cuidada capaz de apoiar as equipas desde o momento zero, estando o mesmo estruturado de forma a refletir o entendimento das bases teóricas em que o desenvolvimento deste tipo de software assenta, o estado da arte sobre plataformas, análise de mercado e indústria, metodologias de desenvolvimento e equipas, e ainda analisadas algumas das mais relevantes ferramentas de desenvolvimento e criação de conteúdos. Como prova de conceito e componente de caráter experimental, este trabalho compreende ainda o desenvolvimento de um jogo de vídeo guiado pelas orientações e lições apreendidas durante o processo de estudo de forma a ser representativo da aplicação dessa aprendizagem, e ainda capaz de detalhar passo a passo cada fase do processo, com o objetivo de apoiar a preparação de pessoas interessadas em iniciar a aventura de desenvolver os seus próprios jogos e quem sabe dar início aos seus próprios negócios e empresas. O jogo desenvolvido replica um recente êxito, o jogo 2048, que apesar da sua mecânica simples revela-se um excelente desafio do ponto de vista da sua implementação, bem como o processo criativo adjacente no transformar algo tão simples e experimentado numa experiência nova capaz de atrair antigos jogadores e interesse de novos. O desenvolvimento e publicação da aplicação experimental, e após análise dos dados recolhidos, mostram-se reveladores de que é de fato possível a programadores independentes entrar num mercado de alto potencial, e que adquiridas as bases de conhecimento expostas no documento estarão em condições mais favoráveis para ultrapassar algumas das mais comuns barreiras no atingir desse objetivo.
Resumo:
This report describes a study based on a research and evaluation of platforms (JavaScript frameworks and libraries carried out under the discipline of Tese/Dissertação/Estágio in the Master Degree Computer Science - area of expertise in Arquitecturas Sistemas e Redes, in Instituto Superior de Engenharia do Porto (ISEP). The JavaScript language is increasingly present in the development of software and particularly software for the web environment. For this reason there is a need to investigate the issue, as the platforms that are emerging in the market have a very low level of maturity compared to existing, it is crucial to identify the main differences so that we can save time, labor and other costs in research and experimentation developers. This project aims to inform a range of platforms and existing JavaScript libraries on the market. For further investigation, a study of use cases used at this point in the market was held. To assist the work were used qualitative research methods through the existing content of research related to the area, and quantitative research methods. It was thus conducted a survey sent via email to fifty regular users of the language, platforms, and JavaScript libraries, linking the functional and non-functional characteristics of the platforms and existing use cases in the market, in order to realize what is the use of these tools in his professional life. This study allowed developers to access information that will be compared and evaluated in order to achieve a more precise evaluation of the various analyzed platforms. It was also made an evaluation of adaptation of the various platforms to the various use cases.