38 research outputs found

    Automated specification-based testing of graphical user interfaces

    Get PDF
    Tese de doutoramento. Engenharia Electrónica e de Computadores. 2006. Faculdade de Engenharia. Universidade do Porto, Departamento de Informática, Escola de Engenharia. Universidade do Minh

    Design and implementation of a web interface for Axis global testing Live Sites

    Get PDF
    Designing and developing a software product is a difficult process. The product must be usable and solve the correct problem. At the same time, the underlying code must be well written. Many projects fail to deliver or exceed their budget. This thesis explores a practical approach to software design and development that tries to adhere to both user centered design and agile development. The process follows Google Ventures’ design sprint model and also takes inspiration from Jacob Nielsen's discount usability methods. This approach is applied to a real project at Axis Communications. The goal of the project was to design and implement a web application for monitoring and analyzing data from Axis global weather testing ``Live Sites''. The data was collected and analyzed manually which was a very time consuming process. It was difficult to interact with the data in order to see correlations between the weather and the camera images. We were able design a solution to this and implement it during four iterations. Each iteration consisted of a design sprint, an implementation sprint and an evaluation phase. The design sprints were fast and effective, which meant we could spend more time on building the actual product while still being confident that we were building something that would actually work. Through continuous usability evaluation and regular stakeholder meetings we were able to validate our design. The project resulted in a web application consisting of a number of interactive dashboards. Our conclusion is that the resulting interface solves the problem of interacting with the ``Live Site'' data and should provide a good foundation to build upon. We also conclude that Google Ventures' design sprint is a powerful and effective model which could be of great benefit to software development projects.Is it possible to create usable software quickly and effectively? To find out, we combined practices of good usability design and fast software development in a project at Axis Communications. Developing usable software is no simple task. The software must be well designed and solve a real problem for its users. At the same time the software’s inner workings must be engineered in a good way. Preferably, the process of producing this software should be fast and cost effective. Many software projects fail, either by delivering an unusable product or by going over budget. In our master thesis we explored a practical approach to software design and coding that tries to solve these issues. We applied this approach to a software project at Axis Communications. Our task was to develop a website for Axis global testing live sites. These live sites are physical sites located around the world in different climate zones. Each site consists of a number of Axis cameras and a weather station connected to a local server. The cameras are left there so that the physical impact of the environment can be monitored and studied. By doing this Axis makes sure that their cameras are able to handle harsh weather conditions in the real world, not just in controlled test chambers. Our approach was to divide the project into four repetitions, each consisting of a design phase, a coding phase, and a usability evaluation phase. During the design phase, which lasted for five days, we tried to solve design issues. We conducted interviews with the users and had observations sessions on day one. Solutions to the discovered problems were explored in day two. On day three we combined our ideas into a single solution. During day four we made a prototype of this solution. The usability of this prototype was tested on real users at Axis on the fifth and final day. The coding phase lasted two to three weeks and took us from a design prototype to a working website. The usability of the website was evaluated and we brought the newly discovered problems with us to the next repetition. Throughout our project we used this approach to solve design problems at an astonishing pace. By incorporating the design phase into a repetitive process we were able to produce a working product very quickly, which we could continuously add and improve upon. The process resulted in a usable product, but we were sadly not able to fully implement our envisioned solution. We do however believe that by following our process model we were able to not only produce good design, but also well written code. Hopefully this means that the product can be built upon and eventually fully realized. The process model turned out to be a powerful and effective tool. Despite the fact that we couldn’t completely evade the problem of going over budget, we think it could be of great benefit to the software engineering process

    An approach to simulation of autonomous vehicles

    Get PDF
    Tese de mestrado integrado. Engenharia Electrotécnica e de Computadores (Major de Telecomunicações). Faculdade de Engenharia. Universidade do Porto. 200

    Diverse intrusion-tolerant database replication

    Get PDF
    Tese de mestrado em Segurança Informática, apresentada à Universidade de Lisboa, através da Faculdade de Ciências, 2012A combinação da replicação de bases de dados com mecanismos de tolerância a falhas bizantinas ainda é um campo de pesquisa recente com projetos a surgirem nestes últimos anos. No entanto, a maioria dos protótipos desenvolvidos ou se focam em problemas muito específicos, ou são baseados em suposições que são muito difíceis de garantir numa situação do mundo real, como por exemplo ter um componente confiável. Nesta tese apresentamos DivDB, um sistema de replicação de bases de dados diverso e tolerante a intrusões. O sistema está desenhado para ser incorporado dentro de um driver JDBC, o qual irá abstrair o utilizador de qualquer complexidade adicional dos mecanismos de tolerância a falhas bizantinas. O DivDB baseia-se na combinação de máquinas de estados replicadas com um algoritmo de processamento de transações, a fim de melhorar o seu desempenho. Para além disso, no DivDB é possível ligar cada réplica a um sistema de gestão de base de dados diferente, proporcionando assim diversidade ao sistema. Propusemos, resolvemos e implementamos três problemas em aberto, existentes na conceção de um sistema de gestão de base de dados replicado: autenticação, processamento de transações e transferência de estado. Estas características torna o DivDB exclusivo, pois é o único sistema que compreende essas três funcionalidades implementadas num sistema de base de dados replicado. A nossa implementação é suficientemente robusta para funcionar de forma segura num simples sistema de processamento de transações online. Para testar isso, utilizou-se o TPC-C, uma ferramenta de benchmarking que simula esse tipo de ambientes.The combination of database replication with Byzantine fault tolerance mechanism is a recent field of research with projects appearing in the last few years. However most of the prototypes produced are either focused on very specific problems or are based on assumptions that are very hard to accomplish in a real world scenario (e.g., trusted component). In this thesis we present DivDB, a Diverse Intrusion-Tolerant Database Replication system. It is designed to be incorporated inside a JDBC driver so that it abstracts the user from any added complexity from Byzantine Fault Tolerance mechanism. DivDB is based in State Machine Replication combined with a transaction handling algorithm in order to enhance its performance. DivDB is also able to have different database systems connected at each replica, enabling to achieve diversity. We proposed, solved and implemented three open problems in the design of a replicated database system: authentication, transaction handling and state-transfer. This makes DivDB unique since it is the only system that comprises all these three features in a single database replication system. Our implementation is robust enough to operate reliably in a simple Online Transaction Processing system. To test that, we used TPC-C, a benchmark tool that simulates that kind of environments

    Website visualizer : a tool for the visual analysis of website usage

    Get PDF
    Mestrado em Engenharia Electrónica, Telecomunicações e InformáticaOs sítios web estão incorporados em organizações para sustentar a missão das mesmas e para garantir uma difusão eficaz de informação num quadro de fluxo de trabalho eficiente. Neste contexto, os gestores de conteúdo e informação tem que monitorizar constantemente as necessidades inerentes à missão institucional e reflecti-las na estrutura, conteúdos e paradigmas de interacção das respectivas intranets e extranets. Esta tarefa de monitorização e análise não é de todo trivial, nem automática, sendo difícil garantir a sincronização dos sítios institucionais com as efectivas necessidades da sua missão em dado momento. O objectivo fundamental deste trabalho traduz-se nos exercícios de conceptualização, desenvolvimento e avaliação de uma aplicação capaz de relatar um cenário de análise e visualizar padrões de interacção em sitíos institucionais suportados em tecnologias web, que seja capaz de realçar as áreas mais críticas, com base na análise da estructura, conteúdo e hiperligações. Para este efeito, propôs-se um modelo conceptual e uma arquitectura, bem como um conjunto de métodos de visualização que facilitem essa análise. De forma a validar o modelo conceptual, a arquitectura, as estruturas de informação e os diversos métodos de visualização propostos, desenvolveu-se um protótipo que já comporta algumas fases de avaliação e aferição. Este protótipo pode ser considerado como uma plataforma de suporte à investigação capaz de integrar e testar esquemas específicos de visualização e procedimentos de correlação visual. Em suma, é parte integrante de um dos projectos de investigação da Universidade de Aveiro. Mais específicamente, este trabalho introduz uma arquitectura por camadas que suporta vistas multiplas sincronizadas, bem como novos metódos de visualização, inspecção e interacção. O prototipo integra estes metódos de visualização numa aplicação capaz de capturar, compilar e analizar informação relacionada com a estructura e conteúdo do sitío web, bem como padrões de utilização. O protótipo destina-se fundamentalmente a dar apoio a especialistas de usabilidade ou gestores de conteúdo na organização do espaço de informação de um sitío institucional. Contudo, não se destina a produzir directamente soluções para problemas de usabilidade encontrados, mas sim a ajudar a tomar decisões com base nos problemas de usabilidade diagnosticados, identificados e sinalizados durante o processo de análise. ABSTRACT: Websites are incorporated in organizations to support their mission and guarantee effective information delivery within an efficient information workflow framework. In this context, content managers have to constantly monitor the business needs and reflect them on the structure, contents and interaction paradigm of the institutional websites. This task is not trivial, nor automated, being difficult to guarantee that these websites are synchronized with the actual business requirements. The overall goal of this work is the conceptualization, development and evaluation of an application able to assist usability experts in the analysis and visualization of interaction patterns of organizational web based systems. It should be able to highlight the most critical website areas, based on the analysis of website structure, contents and interconnections. For this purpose, a conceptual model and architecture has been proposed, as well as a set of visualization methods designed to facilitate that analysis. In order to validate the proposed conceptual models, the architecture, information structures and several visualization methods, a prototype was developed, evaluated and refined. It can be considered as an experimental research platform, capable of integrating and testing specific visualization schemes and visual correlation procedures, and is part of an ongoing research program of University of Aveiro. Specifically, this work introduces a layered architecture that supports simultaneously synchronised multiple views, as well as novel visualization, inspection and interaction mechanisms. The prototype integrates these visualization methods in an application able to capture, compile and analyze the information related to the structure, contents and usage patterns of a website. This work is meant mainly to help usability experts or content managers to organize the informational space of an institutional web site. However, this application is not supposed to directly provide solutions for the usability problems of the site but to offer the means to help its users take decisions based on the interpretation of the usability problems identified and highlighted during the analysis process

    Traffic management and control of automated guided vehicles using artificial neural networks

    Get PDF
    An industrial traffic management and control system based on Automated Guided Vehicles faces several combined problems. Decisions must be made concerning which vehicles will respond, or are allocated to each of the transport orders. Once a vehicle is allocated a transport order, a route has to be selected that allows it to reach its target location. In order for the vehicle to move efficiently along the selected route it must be provided with the means to recognise and adapt to the changing characteristics of the path it must follow. When several vehicles are involved these decisions are interrelated and must take into account the coordination of the movements of the vehicles in order to avoid collisions and maximise the performance of the transport system. This research concentrates on the problem of routing the vehicles that have already been assigned destinations associated with transport orders. In nearly all existing AGV systems this problem is simplified by considering there to be a fixed route between source and destination workstations. However if the system is to be used more efficiently, and particularly if it must support the requirements of modern manufacturing strategies, such as Justin- Time and Flexible Manufacturing Systems, of moving very small batches more frequently, then there is a need for a system capable of dealing with the increased complexity of the routing problem. The consideration of alternative paths between any two workstations together with the possibility of other vehicles blocking routes while waiting at a particular location, increases enormously the number of alternatives that must be considered in order to identify the routes for each vehicle leading to an optimum solution. Current methods used to solve this type of problem do not provide satisfactory solutions for all cases, which leaves scope for improvement. The approach proposed in this work takes advantage of the use of Backpropagation Artificial Neural Networks to develop a solution for the routing problem. A novel aspect of the approach implemented is the use of a solution derived for routing a single vehicle in a physical layout when some pieces of track are set as unavailable, as the basis for the solution when several vehicles are involved. Another original aspect is the method developed to deal with the problem of selecting a route between two locations based on an analysis of the conditions of the traffic system, when each movement decision has to be made. This lead to the implementation of a step-by-step search of the available routes for each vehicle. Two distinct phases can be identified in the approach proposed. First the design of a solution based on an ANN to solve the single vehicle case, and subsequently the development and testing of a solution for a multi-vehicle case. To test and implement these phases a specific layout was selected, and an algorithm was implemented to generate the data required for the design of the ANN solution. During the development of alternative solutions it was found that the addition of simple rules provided a useful means to overcome some of the limitations of the ANN solution, and a "hybrid" solution was originated. Numerous computer simulations were performed to test the solutions developed against alternatives based on the best published heuristic rules. The results showed that while it was not possible to generate a globally optimal solution, near optimal solutions could be obtained and the best hybrid solution was marginally better than the best of the currently available heuristic rules

    Modellus: Learning Physics with Mathematical Modelling

    Get PDF
    Tese de doutoramento em Ciências da Educação, área de Teoria Curricular e Ensino das CiênciasComputers are now a major tool in research and development in almost all scientific and technological fields. Despite recent developments, this is far from true for learning environments in schools and most undergraduate studies. This thesis proposes a framework for designing curricula where computers, and computer modelling in particular, are a major tool for learning. The framework, based on research on learning science and mathematics and on computer user interface, assumes that: 1) learning is an active process of creating meaning from representations; 2) learning takes place in a community of practice where students learn both from their own effort and from external guidance; 3) learning is a process of becoming familiar with concepts, with links between concepts, and with representations; 4) direct manipulation user interfaces allow students to explore concrete-abstract objects such as those of physics and can be used by students with minimal computer knowledge

    Transformation of Business Process Models: A Case Study

    Get PDF
    A arquitetura dirigida por modelos (MDA) é uma metodologia visionária no desenvolvimento de software. Esta abordagem é investigada por uma ampla comunidade de investigadores e empresas que cada vez mais consideram-na uma área potencialmente interessante. Na engenharia do software, o MDA provê grandes vantagens de forma a reduzir o esforço necessário na implementação de sistemas, reutilizar recursos predefinidos e, principalmente, apresentar uma forma intuitiva para abordar a complexidade que a definição de um sistema requer. No entanto, ainda existem desafios que condicionam a eficiência e o contexto da aplicabilidade do método. Num ambiente empresarial, aplicar práticas MDA são médios para alcançar qualidade e flexibilidade nas soluções que as organizações proporcionam aos seus clientes.A tendência de levar à prática as metodologias do MDA tem vindo a captar o interesse das organizações na industria da tecnologia da informação. A Sysnovare Innovation Solution SA é um exemplo concreto desta tendência, desta forma, a Sysnovare apresenta como caso de estudo um dos seus produtos inovadores na área de gestão de processos de negócio: a Business Process Management Suite, também conhecida como suite BPM. O desafio do projeto nasce com o propósito de definir um mecanismo de integração entre a suite BPM e uma ferramenta de modelação de processos. A integração entre estas ferramentas permitirá evoluir a interoperabilidade da suite contribuindo não só no desempenho das fases de modelação de um processo de negócio, se não também na fase de monitorização.Ambos os sistemas que integram a solução obedecem a uma determinada estrutura de dados. O esforço para transformar um modelo que é gerado pela suite, para um modelo que é gerado pela ferramenta gráfica será a base do desenvolvimento do projeto. Para estabelecer um mecanismo de comunicação foi fundamental especificar previamente a ferramenta de modelação e os dados que são partilhados na comunicação. O motor gráfico mxGraph é uma framework integrada na suite do BPM. Esta tecnologia permite implementar uma ferramenta de modelação flexível e adaptável às necessidades da suite. Uma versão adaptada da aplicação Draw.io, construída em base ao motor gráfico, será a ferramenta que modele os processos de negócio numa notação padrão adaptada. Relativamente à transformação de modelos, dois níveis de modelos definem o sistema. A camada de processamento de dados de entrada e saída será desenvolvida com a linguagem de transformação XSLT, a linguagem será utilizada para definir regras de transformação que poderão sofrer menos alterações na evolução da ferramenta. O QVT-R, pelo contrario, será utilizada no segundo nível de modelos com o objetivo de mapear os elementos básicos e modelar um processo de negócio. Finalmente, para construir a ferramenta de transformação de modelos são utilizadas ferramentas de modelação, desta forma, a abordagem aproveita as tecnologias como: Medini QVT e Eclipse Modeling ( EMF ) para testar a aplicabilidade da abordagem.Como resposta ao desafio da Sysnovare, as duas partes da investigação e analise são importantes para especificar a interoperabilidade externa da suite do BPM. Implementar as metodologias do MDA na suite do BPM contribui com a comunidade de investigação apresentando um caso de estudo da aplicação das práticas do MDA na transformação de modelos de negócio.Model-Driven Architecture (MDA) is a visionary approach in software development. This approach is investigated by a broad community of researchers and companies which increasingly consider it a potentially interesting area. In software engineering, MDA provides great advantages in order to reduce the effort required to implement systems, reuse predefined resources and mainly provide an intuitive way to address the complexity that the definition of a system requires. However, there are still challenges that affect the efficiency and the context of the applicability of the method. In a business environment, to apply MDA practices are means to achieve quality and flexibility in the solutions that organizations provide to their customers.The tendency to put into practice the methodologies of MDA has attracted the interest of organizations in the information technology industry. Sysnovare Solution Innovation SA is a concrete example of this trend; thus, Sysnovare presents a case study of its innovative products in the management of business processes e.g. the Business Process Management Suite, also known as BPM suite. The project challenge is born with the purpose of defining a mechanism of integration between BPM suite and a process modeling tool. The integration of these tools will permit the interoperability of the suite to evolve, contributing not only to the performance of the phases of modeling a business process, but also to the monitoring phase.Both systems incorporating the solution conform to a particular data structure. The effort to transform a model that is generated by the suite into a model that is generated by the graphical tool will be the basis for the development of the project. To establish a communication mechanism it was essential to specify in advance the modeling tool and data that are shared in communication. The graphics engine mxGraph is a framework integrated in the BPM suite. This technology allows implementing a flexible modeling tool, which is adaptable to the needs of the suite. An adapted version of Draw.io application, built on the basis of the graphics engine, will be the tool to model business processes in a suitable standard notation.With regard to transformation of models, two template levels define the system. The layer of input and output data processing is developed with the transformation language XSLT; the language will be used to define transformation rules that may undergo fewer changes in the evolution of the tool. QVT-R, on the contrary, will be used in the second level models with the goal of mapping the basic elements and modelling a business process. Finally, modeling tools are used to build the model transformation tool; thus, the approach leverages technologies such as Medini QVT and Eclipse Modeling (EMF) to test the applicability of the approach:In response to the challenge of Sysnovare, the two parts of the research and analysis are important to specify the external interoperability of BPM suite. Implementing MDA methodologies in BPM suite contributes to the research community by presenting a case study of the implementation of the practices of MDA in the transformation of business models

    Functional propotype of a performance management system for hospitality

    Get PDF
    Dissertação de mestrado, Direcção e Gestão Hoteleira, Escola Superior de Gestão, Hotelaria e Tursimo, Universidade do Algarve, 2014This project involved the creation and real-life evaluation in four hotels, of a functional prototype of a performance management system specific for the hospitality industry, with the objective of testing the viability to develop a commercial service. This system can be defined as a set of dashboards that enable the systematic monitoring of business information (goals, metrics and indicators - constructed from multiple data sources) that facilitate management decision-making. To assert its viability, a three point evaluation criteria was established: (1) that there were no technical obstacles that could limit the system’s scope or performance; (2) that users would identify the benefits of using the system; and (3) that quantifiable improvements could achieved. The system was designed based on distributing computing and agent architecture and its development followed the Design Science Research methodology, which also demonstrated its suitability for management research projects. With the prototype’s development and its use by four hotels, it was possible to confirm that no technical aspects would condition the commercial viability of the system. The same can be said about the users’ perception of the system’s benefits, as they identified a long list of benefits and situations where the system could be used with better results than traditional decision making routines. Although it was possible to verify that three of the participating hotels improved their operational indicators when compared to the previous year, due to calendar constraints and the inexistence of benchmarking data sets it was not possible to produce evidence that those performance improvements could be attributed to the use of the system. Globally, these results - complemented by the request of all the participating hotels to continue to use the prototype and their willingness to pay in the future for a commercial service that provided the same information as the prototype - confirmed it’s viability and commercial relevance
    corecore