15 resultados para software engineering practices
em Instituto Politécnico do Porto, Portugal
Resumo:
Practical sessions are the backbone of qualification in engineering education. It leads to a better understanding and allows mastering scientific concepts and theories. The lack of the availability of practical sessions at many universities and institutions owing to the cost and the unavailability of instructors the most of the time caused a significant decline in experimentation in engineering education over the last decades. Recently, with the progress of computer-based learning, remote laboratories have been proven to be the best alternative to the traditional ones, regarding to its low cost and ubiquity. Some universities have already started to deploy remote labs in their practical sessions. This contribution compiles diverse experiences based on the deployment of the remote laboratory, Virtual Instrument Systems in Reality (VISIR), on the practices of undergraduate engineering grades at various universities within the VISIR community. It aims to show the impact of its usage on engineering education concerning the assessments of students and teachers as well.
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:
In this paper we present VERITAS, a tool that focus time maintenance, that is one of the most important processes in the engineering of the time during the development of KBS. The verification and validation (V&V) process is part of a wider process denominated knowledge maintenance, in which an enterprise systematically gathers, organizes, shares, and analyzes knowledge to accomplish its goals and mission. The V&V process states if the software requirements specifications have been correctly and completely fulfilled. The methodologies proposed in software engineering have showed to be inadequate for Knowledge Based Systems (KBS) validation and verification, since KBS present some particular characteristics. VERITAS is an automatic tool developed for KBS verification which is able to detect a large number of knowledge anomalies. It addresses many relevant aspects considered in real applications, like the usage of rule triggering selection mechanisms and temporal reasoning.
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:
Embedded real-time applications increasingly present high computation requirements, which need to be completed within specific deadlines, but that present highly variable patterns, depending on the set of data available in a determined instant. The current trend to provide parallel processing in the embedded domain allows providing higher processing power; however, it does not address the variability in the processing pattern. Dimensioning each device for its worst-case scenario implies lower average utilization, and increased available, but unusable, processing in the overall system. A solution for this problem is to extend the parallel execution of the applications, allowing networked nodes to distribute the workload, on peak situations, to neighbour nodes. In this context, this report proposes a framework to develop parallel and distributed real-time embedded applications, transparently using OpenMP and Message Passing Interface (MPI), within a programming model based on OpenMP. The technical report also devises an integrated timing model, which enables the structured reasoning on the timing behaviour of these hybrid architectures.
Resumo:
Composition is a practice of key importance in software engineering. When real-time applications are composed it is necessary that their timing properties (such as meeting the deadlines) are guaranteed. The composition is performed by establishing an interface between the application and the physical platform. Such an interface does typically contain information about the amount of computing capacity needed by the application. In multiprocessor platforms, the interface should also present information about the degree of parallelism. Recently there have been quite a few interface proposals. However, they are either too complex to be handled or too pessimistic.In this paper we propose the Generalized Multiprocessor Periodic Resource model (GMPR) that is strictly superior to the MPR model without requiring a too detailed description. We describe a method to generate the interface from the application specification. All these methods have been implemented in Matlab routines that are publicly available.
Resumo:
Multi-agent architectures are well suited for complex inherently distributed problem solving domains. From the many challenging aspects that arise within this framework, a crucial one emerges: how to incorporate dynamic and conflicting agent beliefs? While the belief revision activity in a single agent scenario is concentrated on incorporating new information while preserving consistency, in a multi-agent system it also has to deal with possible conflicts between the agents perspectives. To provide an adequate framework, each agent, built as a combination of an assumption based belief revision system and a cooperation layer, was enriched with additional features: a distributed search control mechanism allowing dynamic context management, and a set of different distributed consistency methodologies. As a result, a Distributed Belief Revision Testbed (DiBeRT) was developed. This paper is a preliminary report presenting some of DiBeRT contributions: a concise representation of external beliefs; a simple and innovative methodology to achieve distributed context management; and a reduced inter-agent data exchange format.
Resumo:
Current engineering education challenges require approaches that promote scientific, technical, design and complementary skills while fostering autonomy, innovation and responsibility. The European Project Semester (EPS) at Instituto Superior de Engenharia do Porto (ISEP) (EPS@ISEP) is a one semester project-based learning programme (30 European Credit Transfer Units (ECTU)) for engineering students from diverse scientific backgrounds and nationalities that intends to address these goals. The students, organised in multidisciplinary and multicultural teams, are challenged to solve real multidisciplinary problems during one semester. The EPS package, although on project development (20 ECTU), includes a series of complementary seminars aimed at fostering soft, project-related and engineering transversal skills (10 ECTU). Hence, the students enrolled in this programme improve their transversal skills and learn, together and with the team of supervisors, subjects distinct from their core training. This paper presents the structure, implementation and results of the EPS@ISEP that was created in 2011 to apply the best engineering practices and promote internationalisation and engineering education innovation at ISEP.
Resumo:
Composition is a practice of key importance in software engineering. When real-time applications are composed, it is necessary that their timing properties (such as meeting the deadlines) are guaranteed. The composition is performed by establishing an interface between the application and the physical platform. Such an interface typically contains information about the amount of computing capacity needed by the application. For multiprocessor platforms, the interface should also present information about the degree of parallelism. Several interface proposals have recently been put forward in various research works. However, those interfaces are either too complex to be handled or too pessimistic. In this paper we propose the generalized multiprocessor periodic resource model (GMPR) that is strictly superior to the MPR model without requiring a too detailed description. We then derive a method to compute the interface from the application specification. This method has been implemented in Matlab routines that are publicly available.
Resumo:
This paper presents a step count algorithm designed to work in real-time using low computational power. This proposal is our first step for the development of an indoor navigation system, based on Pedestrian Dead Reckoning (PDR). We present two approaches to solve this problem and compare them based in their error on step counting, as well as, the capability of their use in a real time system.
Resumo:
Este estudo centra-se na temática da perfuração de maciços rochosos. A perfuração, dependendo do seu objectivo, diâmetro e comprimento, tem um vasto leque de aplicações incluindo a perfuração para o desmonte com explosivos e colocação de elementos de contenção. Este estudo esta focado na perfuração, tendo normalmente um papel preponderante no rendimento dos ciclos de trabalho em que esta inserida. O processo de perfuração implica uma estreita interacção das ferramentas de perfuração com maciço rochoso a perfurar, como tal um conhecimento rigoroso dos parâmetros geológicos, geotécnicos, geomecânicos do maciço rochoso e preponderante para auxiliar a gestão, do ponto de vista técnico-económico, da operação de perfuração. Este estudo tem como principal objectivo a optimização técnico-económica desta operação através da introdução de processos baseados nas boas práticas de engenharia na perfuração de maciços rochosos, nomeadamente a definição e introdução do processo de afiação dos bits no ciclo de perfuração. Na caracterização do maciço rochoso, para além da pesquisa e recolha bibliográfica pretende-se recorrer a ensaios ”in situ” e laboratoriais que permitam obter informacao útil para a avaliação da perfurabilidade e abrasividade do maciço rochoso.
Resumo:
in RoboCup 2007: Robot Soccer World Cup XI
Resumo:
4th International Conference, SIMPAR 2014, Bergamo, Italy, October 20-23, 2014
Resumo:
The paper presents a multi-robot cooperative framework to estimate the 3D position of dynamic targets, based on bearing-only vision measurements. The uncertainty of the observation provided by each robot equipped with a bearing-only vision system is effectively addressed for cooperative triangulation purposes by weighing the contribution of each monocular bearing ray in a probabilistic manner. The envisioned framework is evaluated in an outdoor scenario with a team of heterogeneous robots composed of an Unmanned Ground and Aerial Vehicle.
Resumo:
A presente dissertação tem como objectivo descrever o trabalho desenvolvido sobre o projecto iCOPE, uma plataforma dedicada ao auxilio do processo psicoterapêutico para pessoas com perturbações psicóticas. A sua concepção e motivada pela necessidade de fornecer um meio psicoterapêutico com base na portabilidade dos dispositivos móveis. O desenvolvimento foi conseguido através de uma colaboração multidisciplinar, orientada por especialistas de terapia ocupacional, e pela engenharia de software. O iCOPE é um sistema centralizado, no qual o progresso de um paciente é registado e monitorizado através de outra aplicação, por um terapeuta designado. Esta filosofia levou à criação de uma API baseada em REST, capaz de comunicar com uma base de dados. A construção da API concretizou-se com recurso a linguagem PHP, aliada a micro-framework Slim. O objectivo desta API passa não só pela necessidade de fornecer um sistema acessível, mas também com a ambição de conceber uma plataforma com um potencial escalável e expansível, para o caso de ser necessário implementar novas funcionalidades futuras (future-proof). O autor desta dissertação foi responsável pelo levantamento de requisitos, o desenvolvimento da aplicação móvel, o desenvolvimento colaborativo do modelo de dados e base de dados e da interface da API de comunicação. No fim do desenvolvimento foi feita uma apreciação funcional pelos utilizadores alvo, que realizaram uma avaliação sobre a utilização e integração da aplicação no seu tratamento. Face aos resultados obtidos foram tiradas conclusões sobre o futuro desenvolvimento da aplicação e que outros aspectos poderiam ser integrados para efectivamente chegar a mais pacientes.