Publications

Campos JC, Silva JL, Abade T, Gomes T.  2014.  Design and Evaluation of a Smart Library using the APEX Framework. Distributed, Ambient, and Pervasive Interactions. 8530 Abstract2014-hcii-dapi.pdf

User experience is a key point for successful ubiquitous computing (ubicomp) environments. The envisaged design should be explored as soon as possible to anticipate potential user problems, thus reducing re-design costs. The development of ubicomp environments’ prototypes might help, providing feedback on the users’ reaction to the environments. This paper describes the design and evaluation of ubicomp environments using APEX, a rapid prototyping framework providing user experience via a 3D application server and connected physical devices. APEX prototypes allow users to explore and experience many characteristics of a proposed design, in a virtual world. The paper focus in particular the design and evaluation of a smart library in the APEX framework.

Campos JC, AI S.  2014.  Towards a Framework for Adaptive Web Applications. HCI International 2014 - Posters' Extended Abstracts. 434 Abstract2014-hcii-as.pdf

We have developed a framework to support adaptive elements in Web pages. In particular we focus on adaptive menus. Developers are able to define rules for menu adaptation according to the features of the device and browser in use. This paper briefly describes the selected adaptation patterns and their implementation.

Campos JC, Abade T, Gomes T, Harrison M, Silva JL.  2014.  Rapid Development of First Person Serious Games using the APEX Platform: The Asthma Game. Proceedings of ACM SAC 2014 . 1 Abstract2014-sac.pdf

Serious games combine a ludic component with instructive and formative goals. They aim to educate and train through play. This paper explores the use of a development framework for dynamic virtual environments to develop serious games. The framework (APEX) was originally developed to prototype ubiquitous computing environments. Here it is used to develop a first person serious game: the Asthma Game. This game aims to teach children with asthma how to act to prevent attacks by drawing attention to asthma triggers in the home, and by providing information about how to avoid them. Besides the description of the game, results about the viability and utility of the approach are also discussed.

Campos JC.  2014.  High assurance interactive computing systems. HCI Engineering: Charting the Way towards Methods and Tools for Advanced Interactive Systems. Abstractcampos.pdf

If interactive computing systems development is to be considered an engineering discipline, we need methods and tools to help us reason about and predict the quality of systems, from early in the design process. This paper provides a brief overview of work we have been carrying out in the general area of evaluating and ensuring the quality of interactive computing systems. Some of the work currently being carried out is also discussed. Discussed approaches range from the formal verification of user interface models through model checking, to the reverse engineering and model based testing of implemented interactive computing systems.

Campos JC, Silva JC, Silva JL, Saraiva JA.  2014.  An approach for graphical user interface external bad smells detection. Advances in Intelligent Systems and Computing. 276 Abstract

In the context of an effort to develop methodologies to support the evaluation of interactive system, this paper investigates an approach to detect graphical user interface external bad smells. Our approach consists in detecting user interface external bad smells through model-based reverse engineering from source code. Models are used to define which widgets are present in the interface, when can particular graphical user interface (GUI) events occur, under which conditions, which system actions are executed, and which GUI state is generated next. From these models we obtain metrics that can later be used to identify the smells.

Gomes T, Abade T, Silva JL, Campos JC.  2013.  Desenvolvimento de Jogos Educativos na plataforma APEX: O Jogo da Asma. Atas da Conferência Interação. :90-97. Abstractgomesasc2013-interacao.pdf

A plataforma APEX foi desenvolvida para a prototipagem de ambientes de computação ubíqua. Neste artigo exploramos a sua aplicabilidade ao desenvolvimento de jogos sérios, ou seja, jogos que para além de uma componente lúdica, possuem uma componente instrutiva e formativa. Em concreto, descrevemos o Jogo da Asma. Um jogo que pretende chamar a atenção das crianças para os factores causadores de ataques de asma, bem como transmitir conhecimento sobre como os evitar. Para além de descrever o jogo, descrevem-se os resultados de um estudo em que se procurou avaliar quer a viabilidade da utilização da plataforma na criação de jogos sérios, quer a usabilidade do próprio jogo.

Abade T, Gomes T, Silva JL, Campos JC.  2013.  Avaliação de Ambientes Ubíquos na Plataforma APEX. Atas da Conferência Interação 2013. :177-178. Abstractabadegsc2013-interacao.pdf

Este artigo descreve a avaliação de um ambiente ubíquo utilizando a APEX, uma plataforma de prototipagem rápida de ambientes ubíquos que permite que os utilizadores naveguem num mundo virtual, podendo experimentar muitas das funcionalidades da solução e do design proposto.

Cruz P, Campos JC.  2013.  Ambiente de geração, mutação e execução de casos de teste para aplicações Web. Atas da Conferência Interação 2013. :45-52. Abstractcruzc2013-interacao.pdf

Cada vez mais as interfaces gráficas são um ponto-chave entre a comunicação dos utilizadores e o sistema. Para garantir que estas executam devidamente uma adequada fases de testes é essencial. No entanto, a execução de testes numa interface é um processo dispendioso e moroso, sendo estes tipicamente executados de forma manual. Neste artigo é explorada a automatização do processo de teste de interfaces para aplicações Web. Adopta-se uma abordagem de testes baseados em modelos. Os casos de teste são gerados recorrendo a modelos de tarefas e o comportamento da interface comparado com o que está prescrito no modelos de tarefas. Uma ferramenta que suporta a abordagem está em desenvolvimento.

Gomes T, Abade T, Harrison M, Silva JL, Campos JC.  2013.  Developing Serious Games With The APEX Framework. Proceedings of the Workshop on Ubiquitous games and gamification for promoting behavior change and wellbeing. :37-40. Abstractdeveloping-games-apex-final.pdf

APEX was developed as a framework for the prototyping of ubiquitous computing (ubicomp) environments. In this paper we explore its role as a platform for developing serious games. In particular we describe the Asthma game, a game aimed at raising awareness of asthma triggers among children, thus stimulating a healthier life-style in what concerns asthma and respiratory problems.

Silva CE, Campos JC.  2013.  Combining Static and Dynamic Analysis for the Reverse Engineering of Web Applications. Proceedings of the 5th Symposium on Engineering Interactive Computing Systems - EICS. :107-112. Abstracteics13.pdf

Software has become so complex that it is increasingly hard to have a complete understanding of how a particular system will behave. Web applications, their user interfaces in particular, are built with a wide variety of technologies making them particularly hard to debug and maintain. Reverse engineering techniques, either through static analysis of the code or dynamic analysis of the running application, can be used to help gain this understanding. Each type of technique has its limitations. With static analysis it is difficult to have good coverage of highly dynamic applications, while dynamic analysis faces problems with guaranteeing that generated models fully capture the behavior of the system. This paper proposes a new hybrid approach for the reverse engineering of web applications' user interfaces. The approach combines dynamic analyzes of the application at runtime, with static analyzes of the source code of the event handlers found during interaction. Information derived from the source code is both directly added to the generated models, and used to guide the dynamic analysis.

Silva JC, Silva JL, Campos JC, Saraiva JA.  2013.  Uma Abordagem para a Geração de Casos de Teste Baseada em Modelos. Sistemas e Tecnologias de Informação. 2:142-146. Abstractid-265-jcsilva.pdf

The analytical methods based on evaluation models of interactive systems were proposed as an alternative to user testing in the last stages of the software development due to its costs. However, the use of isolated behavioral models of the system limits the results of the analytical methods. An example of these limitations relates to the fact that they are unable to identify implementation issues that will impact on usability. With the introduction of model-based testing we are enable to test if the implemented software meets the specified model. This paper presents an model-based approach for test cases generation from the static analysis of source code.

Moreira S, José R, Campos JC.  2013.  An empirical study on immersive prototyping dimensions. Human-Computer Interaction: Human-Centred Design Approaches, Methods, Tools and Environments - HCI. 8004:421-430. Abstractmoreirajc13-hcii2013.pdf

Many aspects of the human experience of ubiquitous computing in built environments must be explored in the context of the target environment. However, delaying evaluation until a version of the system can be deployed can make redesign too costly. Prototypes have the potential to solve this problem by enabling evaluation before actual deployment. This paper presents a study of the design space of immersive prototyping for ubiquitous computing. It provides a framework to guide the alignment between speci c evaluation goals and speci c prototype properties. The goal is to understand the potential added-value of 3D simulation as a prototyping tool in the development process of ubiquitous computing environments.

Machado J, Campos JC.  2013.  Development of Dependable Controllers in the Context of Machines Design. Proceedings of International Conference of Machine Design Departments. Abstracticmd_paper

Abstract In the domain of machines' design, one of the most important issues to solve is related with the controller's design, mainly, guaranteeing that the machine will behave as expected. In order to achieve a dependable controller, some steps can be considered, such as the formalization of its specification - before being translated to the program that will be inserted in the controller device - and the respective analysis and verification. Nowadays, some formal analysis techniques, such as formal verification, are used to achieve this purpose. The dependability of a controller, however, is impacted by its execution context. This paper proposes an approach for the formal verification of the specification of mechatronic system's controllers, which considers, on the formal verification tasks, the behavior of the plant and the behavior of the Human Machine Interface of the Mechatronic system. Some conclusions are extrapolated for other systems of the same kind.

Oliveira L, Ribeiro AN, Campos JC.  2013.  The Mobile Context Framework: providing context to mobile applications. The 27th International British Computer Society Human Computer Interaction Conference: The Internet of things - HCI. 8028 Abstractoliveirarc13-hcii2013.pdf

The spread of mobile devices in modern societies has forced the industry to create software paradigms to meet the new challenges it faces. Some of these challenges are the huge heterogeneity of devices or the quick changes of users’ context. In this scenario, context becomes a key element, enabling mobile applications to be user centric and adapt to user requirements. The Mobile Context Framework, proposed in this paper, is a contribution to solve some of these challenges. Using Web servers running on the devices, context data can be provided to web applications. Besides the framework’s architecture, a prototype is presented as proof of concept of the platform’s potential.

Campos JC, Abreu R.  2013.  Encoding Test Requirements as Constraints for Test Suite Minimization. Tenth International Conference on Information Technology: New Generations - ITNG. :317–322. Abstractjosecampos-itng-2013.pdf

Software (regression) testing is performed not only to detect errors as early as possible but also to guarantee that changes did not affect the system negatively. As test suites tend to grow over time, e.g., new test cases are added to test new features, (re-)executing the entire suite becomes prohibitive. We propose an approach, RZOLTAR, addressing this issue: it encodes the relation between a test case and its testing requirements (code statements in this paper) in a so-called coverage matrix; maps this matrix into a set of constraints; and computes a set of optimal solutions (main taining the same coverage as the original suite) by leveraging a fast constraint solver. We show that RZOLTAR efficiently (0.68 seconds on average) finds a collection of test suites that significantly reduce the size of the original suite (61.12%), while greedy only finds one solution with a reduction of 56.58% in 6.92 seconds on average.