38 resultados para Factory of software
em Instituto Politécnico do Porto, Portugal
Resumo:
The foreseen evolution of chip architectures to higher number of, heterogeneous, cores, with non-uniform memory and non-coherent caches, brings renewed attention to the use of Software Transactional Memory (STM) as an alternative to lock-based synchronisation. However, STM relies on the possibility of aborting conflicting transactions to maintain data consistency, which impacts on the responsiveness and timing guarantees required by real-time systems. In these systems, contention delays must be (efficiently) limited so that the response times of tasks executing transactions are upperbounded and task sets can be feasibly scheduled. In this paper we defend the role of the transaction contention manager to reduce the number of transaction retries and to help the real-time scheduler assuring schedulability. For such purpose, the contention management policy should be aware of on-line scheduling information.
Resumo:
Recent embedded processor architectures containing multiple heterogeneous cores and non-coherent caches renewed attention to the use of Software Transactional Memory (STM) as a building block for developing parallel applications. STM promises to ease concurrent and parallel software development, but relies on the possibility of abort conflicting transactions to maintain data consistency, which in turns affects the execution time of tasks carrying transactions. Because of this fact the timing behaviour of the task set may not be predictable, thus it is crucial to limit the execution time overheads resulting from aborts. In this paper we formalise a FIFO-based algorithm to order the sequence of commits of concurrent transactions. Then, we propose and evaluate two non-preemptive and one SRP-based fully-preemptive scheduling strategies, in order to avoid transaction starvation.
Resumo:
The recent trends of chip architectures with higher number of heterogeneous cores, and non-uniform memory/non-coherent caches, brings renewed attention to the use of Software Transactional Memory (STM) as a fundamental building block for developing parallel applications. Nevertheless, although STM promises to ease concurrent and parallel software development, it relies on the possibility of aborting conflicting transactions to maintain data consistency, which impacts on the responsiveness and timing guarantees required by embedded real-time systems. In these systems, contention delays must be (efficiently) limited so that the response times of tasks executing transactions are upper-bounded and task sets can be feasibly scheduled. In this paper we assess the use of STM in the development of embedded real-time software, defending that the amount of contention can be reduced if read-only transactions access recent consistent data snapshots, progressing in a wait-free manner. We show how the required number of versions of a shared object can be calculated for a set of tasks. We also outline an algorithm to manage conflicts between update transactions that prevents starvation.
Resumo:
The international Electrotechnical Commission (IEC) 61499 architecture incorporated several function block with which distributed control application may be developed, and how these are interpreted and executed. However, due the distributed nature of the control applications, many issues also need to be taken into account. Most of these are due to the new error model and failure modes of the distributed hardware on which the distributed application is executed and also due the incomplete standards definition of the execution models. IEC 61499 frameworks does not clarify how to handle with replication of software and hardware components. In this paper we propose a replication model for IEC 61499 applications and which mechanisms and protocols may be used for their support.
Resumo:
This paper describes a communication model to integrate repositories of programming problems with other e-Learning software components. The motivation for this work comes from the EduJudge project that aims to connect an existing repository of programming problems to learning management systems. When trying to use the existing repositories of learning objects we realized that they are mainly specialized search engines and lack features for integration with other e-Learning systems. With this model we intend to clarify the main features of a programming problem repository, in order to enable the design and development of software components that use it. The two main points of this model are the definition of programming problems as learning objects and the definition of the core functions exposed by the repository. In both cases, this model follows the existing specifications of the IMS standard and proposes extensions to deal with the special requirements of automatic evaluation and grading of programming exercises. In the definition of programming problems as learning objects we introduced a new schema for meta-data. This schema is used to represent meta-data related to automatic evaluation that cannot be conveniently represented using the standard: the type of automatic evaluation; the requirements of the evaluation engine; or the roles of different assets - tests cases, program solutions, etc. In the definition of the core functions we used two different web services flavours - SOAP and REST - and described each function as an operation for each type of interface. We describe also the data types of the arguments of each operation. These data types consist mainly on learning objects and their identifications, but include also usage reports and queries using XQuery.
Resumo:
This paper proposes and reports the development of an open source solution for the integrated management of Infrastructure as a Service (IaaS) cloud computing resources, through the use of a common API taxonomy, to incorporate open source and proprietary platforms. This research included two surveys on open source IaaS platforms (OpenNebula, OpenStack and CloudStack) and a proprietary platform (Parallels Automation for Cloud Infrastructure - PACI) as well as on IaaS abstraction solutions (jClouds, Libcloud and Deltacloud), followed by a thorough comparison to determine the best approach. The adopted implementation reuses the Apache Deltacloud open source abstraction framework, which relies on the development of software driver modules to interface with different IaaS platforms, and involved the development of a new Deltacloud driver for PACI. The resulting interoperable solution successfully incorporates OpenNebula, OpenStack (reuses pre-existing drivers) and PACI (includes the developed Deltacloud PACI driver) nodes and provides a Web dashboard and a Representational State Transfer (REST) interface library. The results of the exchanged data payload and time response tests performed are presented and discussed. The conclusions show that open source abstraction tools like Deltacloud allow the modular and integrated management of IaaS platforms (open source and proprietary), introduce relevant time and negligible data overheads and, as a result, can be adopted by Small and Medium-sized Enterprise (SME) cloud providers to circumvent the vendor lock-in problem whenever service response time is not critical.
Resumo:
Lunacloud is a cloud service provider with offices in Portugal, Spain, France and UK that focus on delivering reliable, elastic and low cost cloud Infrastructure as a Service (IaaS) solutions. The company currently relies on a proprietary IaaS platform - the Parallels Automation for Cloud Infrastructure (PACI) - and wishes to expand and integrate other IaaS solutions seamlessly, namely open source solutions. This is the challenge addressed in this thesis. This proposal, which was fostered by Eurocloud Portugal Association, contributes to the promotion of interoperability and standardisation in Cloud Computing. The goal is to investigate, propose and develop an interoperable open source solution with standard interfaces for the integrated management of IaaS Cloud Computing resources based on new as well as existing abstraction libraries or frameworks. The solution should provide bothWeb and application programming interfaces. The research conducted consisted of two surveys covering existing open source IaaS platforms and PACI (features and API) and open source IaaS abstraction solutions. The first study was focussed on the characteristics of most popular open source IaaS platforms, namely OpenNebula, OpenStack, CloudStack and Eucalyptus, as well as PACI and included a thorough inventory of the provided Application Programming Interfaces (API), i.e., offered operations, followed by a comparison of these platforms in order to establish their similarities and dissimilarities. The second study on existing open source interoperability solutions included the analysis of existing abstraction libraries and frameworks and their comparison. The approach proposed and adopted, which was supported on the conclusions of the carried surveys, reuses an existing open source abstraction solution – the Apache Deltacloud framework. Deltacloud relies on the development of software driver modules to interface with different IaaS platforms, officially provides and supports drivers to sixteen IaaS platform, including OpenNebula and OpenStack, and allows the development of new provider drivers. The latter functionality was used to develop a new Deltacloud driver for PACI. Furthermore, Deltacloud provides a Web dashboard and REpresentational State Transfer (REST) API interfaces. To evaluate the adopted solution, a test bed integrating OpenNebula, Open- Stack and PACI nodes was assembled and deployed. The tests conducted involved time elapsed and data payload measurements via the Deltacloud framework as well as via the pre-existing IaaS platform API. The Deltacloud framework behaved as expected, i.e., introduced additional delays, but no substantial overheads. Both the Web and the REST interfaces were tested and showed identical measurements. The developed interoperable solution for the seamless integration and provision of IaaS resources from PACI, OpenNebula and OpenStack IaaS platforms fulfils the specified requirements, i.e., provides Lunacloud with the ability to expand the range of adopted IaaS platforms and offers a Web dashboard and REST API for the integrated management. The contributions of this work include the surveys and comparisons made, the selection of the abstraction framework and, last, but not the least, the PACI driver developed.
Resumo:
O software tem vindo a tornar-se uma parte importante de qualquer empresa, cobrindo várias áreas funcionais, tais como manufaturação, vendas ou recursos humanos. O facto de uma empresa possuir um software capaz de ligar todas ou a maior parte das suas áreas funcionais e de acomodar as suas regras de negócio permite que estas tenham acesso a dados em tempo real nos quais se podem basear para tomar decisões. Estes tipos de software podem ser categorizados como Enterprise resource planning (ERP). Tendo em conta que estes tipos de software têm um papel importante dentro de uma empresa, a aquisição dos mesmos é algo que deve ser bem estudado. As grandes empresas normalmente optam pela aquisição de soluções comerciais uma vez que estas tendem a ter mais funcionalidades, maior suporte e certificações. Os ERPs comerciais representam, no entanto, um esforço elevado para que a sua compra possa ser feita, o que limita a possibilidade de aquisição dos mesmos por parte de pequenas ou médias empresas. No entanto, tal como acontece com a maior parte dos tipos de software, existem alternativas open-source. Se nos colocássemos na posição de uma pequena empresa, a tentar iniciar o seu negócio em Portugal, que tipo de ERP seria suficiente para os nossos requisitos? Teríamos que optar por comprar uma solução comercial, ou uma solução open-source seria suficiente? E se optássemos por desenvolver uma solução à medida? Esta tese irá responder a estas questões focando-se apenas num dos componentes base de qualquer ERP, a gestão de entidades. O componente de gestão de entidades é responsável por gerir todas as entidades com as quais a empresa interage abrangindo colaboradores, clientes, fornecedores, etc. A nível de funcionalidades será feita uma comparação entre um ERP comercial e um ERP open-source. Como os ERPs tendem a ser soluções muito genéricas é comum que estes não implementem todos os requisitos de um negócio em particular, como tal os ERPs precisam de ser extensíveis e adaptáveis. Para perceber até que ponto a solução open-source é extensível será feita uma análise técnica ao seu código fonte e será feita uma implementação parcial de um gerador de ficheiros de auditoria requerido pela lei Portuguesa, o SAF-T (PT). Ao estudar e adaptar a solução open-source podemos especificar o que teria que ser desenvolvido para podermos criar uma solução à medida de raiz.
Resumo:
Mestrado em Engenharia Electrotécnica e de Computadores
Resumo:
Ao longo dos tempos foi possível constatar que uma grande parte do tempo dos professores é gasta na componente de avaliação. Por esse facto, há já algumas décadas que a correcção automática de texto livre é alvo de investigação. Sendo a correcção de exercícios efectuada pelo computador permite que o professor dedique o seu tempo em tarefas que melhorem a aprendizagem dos alunos. Para além disso, cada vez mais as novas tecnologias permitem o uso de ferramentas com bastante utilidade no ensino, pois para além de facilitarem a exposição do conhecimento também permitem uma maior retenção da informação. Logo, associar ferramentas de gestão de sala de aula à correcção automática de respostas de texto livre é um desafio bastante interessante. O objectivo desta dissertação foi a realização de um estudo relativamente à área de avaliação assistida por computador em que este trabalho se insere. Inicialmente, foram analisados alguns correctores ortográficos para seleccionar aquele que seria integrado no módulo proposto. De seguida, foram estudadas as técnicas mais relevantes e as ferramentas que mais se enquadram no âmbito deste trabalho. Neste contexto, a ideia foi partir da existência de uma ferramenta de gestão de sala de aula e desenvolver um módulo para a correcção de exercícios. A aplicação UNI_NET-Classroom, que foi a ferramenta para a qual o módulo foi desenvolvido, já continha um componente de gestão de exercícios que apenas efectuava a correcção para as respostas de escolha múltipla. Com este trabalho pretendeu-se acrescentar mais uma funcionalidade a esse componente, cujo intuito é dar apoio ao professor através da correcção de exercícios e sugestão da cotação a atribuir. Por último, foram realizadas várias experiências sobre o módulo desenvolvido, de forma a ser possível retirar algumas conclusões para o presente trabalho. A conclusão mais importante foi que as ferramentas de correcção automática são uma mais-valia para os professores e escolas.
Resumo:
Com a expansão da Televisão Digital e a convergência entre os meios de difusão convencionais e a televisão sobre IP, o número de canais disponíveis tem aumentado de forma gradual colocando o espectador numa situação de difícil escolha quanto ao programa a visionar. Sobrecarregados com uma grande quantidade de programas e informação associada, muitos espectadores desistem sistematicamente de ver um programa e tendem a efectuar zapping entre diversos canais ou a assistir sempre aos mesmos programas ou canais. Diante deste problema de sobrecarga de informação, os sistemas de recomendação apresentam-se como uma solução. Nesta tese pretende estudar-se algumas das soluções existentes dos sistemas de recomendação de televisão e desenvolver uma aplicação que permita a recomendação de um conjunto de programas que representem potencial interesse ao espectador. São abordados os principais conceitos da área dos algoritmos de recomendação e apresentados alguns dos sistemas de recomendação de programas de televisão desenvolvidos até à data. Para realizar as recomendações foram desenvolvidos dois algoritmos baseados respectivamente em técnicas de filtragem colaborativa e de filtragem de conteúdo. Estes algoritmos permitem através do cálculo da similaridade entre itens ou utilizadores realizar a predição da classificação que um utilizador atribuiria a um determinado item (programa de televisão, filme, etc.). Desta forma é possível avaliar o nível de potencial interesse que o utilizador terá em relação ao respectivo item. Os conjuntos de dados que descrevem as características dos programas (título, género, actores, etc.) são armazenados de acordo com a norma TV-Anytime. Esta norma de descrição de conteúdo multimédia apresenta a vantagem de ser especificamente vocacionada para conteúdo audiovisual e está disponível livremente. O conjunto de recomendações obtidas é apresentado ao utilizador através da interacção com uma aplicação Web que permite a integração de todos os componentes do sistema. Para validação do trabalho foi considerado um dataset de teste designado de htrec2011-movielens-2k e cujo conteúdo corresponde a um conjunto de filmes classificados por diversos utilizadores num ambiente real. Este conjunto de filmes possui, para além da classificações atribuídas pelos utilizadores, um conjunto de dados que descrevem o género, directores, realizadores e país de origem. Para validação final do trabalho foram realizados diversos testes dos quais o mais relevante correspondeu à avaliação da distância entre predições e valores reais e cujo objectivo é classificar a capacidade dos algoritmos desenvolvidos preverem com precisão as classificações que os utilizadores atribuiriam aos itens analisados.
Resumo:
O betão é o material de construção feito pelo Homem mais utilizado no mundo. A sua composição é um processo complexo que exige um conhecimento teórico sólido e muita experiência prática, pelo que poucas pessoas estão habilitadas para o fazer e são muito requisitadas. No entanto não existe muita oferta actual de software que contemple alguns dos aspectos importantes da composição do betão, nomeadamente para o contexto europeu. Nesse sentido, foi desenvolvido um sistema de apoio à decisão chamado Betacomp, baseado num sistema pericial, para realizar estudos de composição de betão. Este contempla as normas legais portuguesas e europeias, e a partir da especificação do betão apresenta toda a informação necessária para se produzir um ensaio de betão. A aquisição do conhecimento necessário ao sistema contou com a colaboração de um especialista com longa e comprovada experiência na área da formulação e produção do betão, tendo sido construída uma base de conhecimento baseada em regras de produção no formato drl (Drools Rule Language). O desenvolvimento foi realizado na plataforma Drools.net, em C# e VB.net. O Betacomp suporta os tipos de betão mais comuns, assim como adições e adjuvantes, sendo aplicável numa grande parte dos cenários de obra. Tem a funcionalidade de fornecer explicações sobre as suas decisões ao utilizador, auxiliando a perceber as conclusões atingidas e simultaneamente pode funcionar como uma ferramenta pedagógica. A sua abordagem é bastante pragmática e de certo modo inovadora, tendo em conta parâmetros novos, que habitualmente não são considerados neste tipo de software. Um deles é o nível do controlo de qualidade do produtor de betão, sendo feito um ajuste de compensação à resistência do betão a cumprir, proporcional à qualidade do produtor. No caso dos produtores de betão, permite que indiquem os constituintes que já possuem para os poderem aproveitar (caso não haja impedimentos técnicos) , uma prática muito comum e que permitirá eventualmente uma aceitação maior da aplicação, dado que reflecte a forma habitual de agir nos produtores.
Resumo:
actividade de turismo de habitação tem crescido de forma sustentada ao longo dos últimos anos em Portugal e o recurso à internet como canal de comercialização deste serviço tem substituído gradualmente os restantes canais mais tradicionais. No entanto, esta generalização do recurso a websites, nesta e noutras áreas da actividade económica, não tem sido sempre sinónimo de qualidade, justificando assim a procura de sistemas de avaliação deste tipo de produto de software, que possam ser aplicados sistemática e eficazmente. Nesse sentido, foi desenvolvido este trabalho, no propósito de conseguir um modelo de avaliação de websites, específico para o turismo de habitação, na convicção de que para áreas específicas se exigem abordagens específicas. A pesquisa por modelos orientados para esta actividade não produziu qualquer resultado, ao contrário de outras áreas onde já existem modelos adequados, como sejam a área académica e outras. Daí a necessidade de conjugar ideias e conceitos mais genéricos, de fontes diversas, com elementos específicos de turismo de habitação, no intuito de os combinar e adequar aos objectivos deste trabalho. Assim, a partir de elementos da Norma ISO 9126; de conceitos de usabilidade, funcionalidade, credibilidade, e outros; da opção por uma abordagem de desempenho empresarial; de modelos já existentes, embora direccionados para outras áreas; e de um modelo exploratório de carácter empírico entretanto desenvolvido, foi concebido e implementado um modelo que se caracteriza no essencial, por ser estruturado em três níveis, contemplar um conjunto de trinta e oito atributos em avaliação, com maior incidência naqueles relacionados com aspectos que se considera terem maior influência no desempenho da actividade económica subjacente, e que tem uma ponderação variável do seu impacto no resultado final. No intuito de dar flexibilidade ao modelo e de contrariar a carga subjectiva resultante do processo de ponderação do impacto de cada atributo avaliado, foram implementados no modelo três cenários alternativos com ponderações distintas, cada um valorizando determinado tipo de atributos e desvalorizando outros. Naturalmente que, aquando da implementação do modelo exploratório foram já retiradas algumas conclusões sobre o panorama geral, todavia o modelo definitivo veio dar-lhes maior consistência e pormenor.
Resumo:
Mestrado em Engenharia Electrotécnica – Sistemas Eléctricos de Energia
Resumo:
Building reliable real-time applications on top of commercial off-the-shelf (COTS) components is not a straightforward task. Thus, it is essential to provide a simple and transparent programming model, in order to abstract programmers from the low-level implementation details of distribution and replication. However, the recent trend for incorporating pre-emptive multitasking applications in reliable real-time systems inherently increases its complexity. It is therefore important to provide a transparent programming model, enabling pre-emptive multitasking applications to be implemented without resorting to simultaneously dealing with both system requirements and distribution and replication issues. The distributed embedded architecture using COTS components (DEAR-COTS) architecture has been previously proposed as an architecture to support real-time and reliable distributed computer-controlled systems (DCCS) using COTS components. Within the DEAR-COTS architecture, the hard real-time subsystem provides a framework for the development of reliable real-time applications, which are the core of DCCS applications. This paper presents the proposed framework, and demonstrates how it can be used to support the transparent replication of software components.