Cookies Policy
The website need some cookies and similar means to function. If you permit us, we will use those means to collect data on your visits for aggregated statistics to improve our service. Find out More
Accept Reject
  • Menu
Publications

Publications by CRACS

2014

JSON on mobile: Is there an efficient parser?

Authors
Queiros, R;

Publication
OpenAccess Series in Informatics

Abstract
The two largest causes for battery consumption on mobile devices are related with the display and network operations. Since most application need to share data and communicate with remote servers, communications should be as lightweight and efficient as possible. In network communication, serialization plays a central role as the process of converting an object into a stream of bytes. One of the most popular data-interchange format is JSON (JavaScript Object Notation). This paper presents a survey on JSON parsers in mobile scenarios. The aim of the survey is to find the most efficient JSON parser in mobile communications characterised by high transfer rate of small amounts of data. In the performance benchmark we compare the time required to read and write data with several popular JSON parser implementations such as Gson, Jackson, org.json and others. The results of this survey are important for others that need to select an efficient parser for mobile communication. © Ricardo Queirós.

2014

Design a computer programming learning environment for massive open online courses

Authors
Queirós, R;

Publication
Innovative Teaching Strategies and New Learning Paradigms in Computer Programming

Abstract
Teaching and learning computer programming is as challenging as it is difficult. Assessing the work of students and providing individualised feedback is time-consuming and error prone for teachers and frequently involves a time delay. The existent tools prove to be insufficient in domains where there is a greater need to practice. At the same time, Massive Open Online Courses (MOOC) are appearing, revealing a new way of learning. However, this paradigm raises serious questions regarding the monitoring of student progress and its timely feedback. This chapter provides a conceptual design model for a computer programming learning environment. It uses the portal interface design model, gathering information from a network of services such as repositories, program evaluators, and learning management systems, a central piece in the MOOC realm. This model is not limited to the domain of computer programming and can be adapted to any area that requires evaluation with immediate feedback. © 2015, IGI Global.

2014

Desenvolvimento de aplicações profissionais em Android

Authors
Queirós, Ricardo;

Publication

Abstract

2014

Linearity: A Roadmap

Authors
Alves, S; Fernandez, M; Florido, M; Mackie, I;

Publication
JOURNAL OF LOGIC AND COMPUTATION

Abstract
In this article we discuss three different notions of linearity: syntactical, operational and denotational. We briefly define each notion of linearity, pointing out some of the main results in the area, and describe applications of linear languages and type systems.

2014

Cooperari: a tool for cooperative testing of multithreaded Java programs

Authors
Marques, ERB; Martins, F; Simões, M;

Publication
2014 International Conference on Principles and Practices of Programming on the Java Platform Virtual Machines, Languages and Tools, PPPJ '14, Cracow, Poland, September 23-26, 2014

Abstract
Bugs in multithreaded application can be elusive. They are often hard to trace and replicate, given the usual non-determinism and irreproducibility of scheduling decisions at runtime. We present Cooperari, a tool for deterministic testing of multithreaded Java code based on cooperative execution. In a cooperative execution, threads voluntarily suspend (yield) at interference points (e.g., lock acquisition), and code between two consecutive yield points of each thread always executes serially as a transaction. A cooperative scheduler takes over control at yield points and deterministically selects the next thread to run. An application test runs multiple times, until it either fails or the state-space of schedules is deemed as covered by a configurable policy that is responsible for the scheduling decisions. Beyond failed assertions in software tests, deadlocks and races are also detected as soon as they are exposed in the cooperative execution. Cooperari effectively finds, characterizes, and deterministically reproduces bugs that are not detected under unconstrained preemptive semantics, as illustrated by standard benchmark examples.

2014

RPL Modifications to Improve the End-to-End Delay Estimation in WSN

Authors
Pinto, P; Pinto, A; Ricardo, M;

Publication
2014 11TH INTERNATIONAL SYMPOSIUM ON WIRELESS COMMUNICATIONS SYSTEMS (ISWCS)

Abstract
Real-time monitoring applications deployed in Low-power and Lossy Networks may generate flows sensitive to delay, where the information is useful for the destination only if it is received within a strict delay boundary. Data packets that will likely miss the application deadline could be discarded during their routing through the network or even be not transmitted at all, thus contributing for a better usage of the network resources. This paper presents RA-EEDEM, a set of modifications made to RPL that improve the End-to-End Delay (EED) estimation accuracy. The RA-EEDEM modifications include changes to the RPL metrics and to its Objective Function (OF). The results show that RA-EEDEM improves the accuracy of EED estimation while minimizing its impact on the average EED and Packet Reception Ratio (PRR).

  • 119
  • 202