About the lab

The Pragmatics laboratory is a laboratory focused on computer science research and its applications. Concretely, we work on software development from programming languages and software engineering; in addition, we study real-world applications of computer science. If you are interested in knowing more about us, please visit research areas and publications Web pages.

Featured research (6)

Spain ranks second in the world for the number of international tourists. These tourists have different preferences, which influence their choice of tourist routes depending on the activities offered by provinces. There are currently no routes customised according to the preferences of a travel party, which makes the supply of tourist packages complex. We propose an agent-based model, named ABM RoutePlanner, which simulates the behaviour of travel parties through provinces of Spain. The model is developed as an application of the ODD protocol. This paper makes two contributions. First, we describe a model applicable to the identification of appropriate routes for different combinations of tourists’ preferences in some (hypothetical) environments. Second, we present the actual routes that will allow tour operators to define strategic plans that motivate tourists to visit the provinces included in the routes. The simulation model was calibrated with data extracted from TripAdvisor and Spanish tourist surveys.
JavaScript is one of the main programming languages to develop highly rich responsive and interactive Web applications. In these kinds of applications, the use of asynchronous operations that execute callbacks is crucial. However, the dependency among nested callbacks, known as callback hell, can make it difficult to understand and maintain them, which will eventually mix concerns. Unfortunately, current solutions for JavaScript do not fully address the aforementioned issue. This paper presents Sync/cc, a JavaScript package that works on modern browsers. This package is a proof-of-concept that uses continuations and aspects that allow developers to write event handlers that need nested callbacks in a synchronous style, preventing callback hell. Unlike current solutions, Sync/cc is modular, succinct, and customizable because it does not require ad-hoc and scattered constructs, code refactoring, or adding ad-hoc implementations such as state machines. In practice, our proposal uses a) continuations to only suspend the current handler execution until the asynchronous operation is resolved, and b) aspects to apply continuations in a non-intrusive way. We test Sync/cc with a management information system that administers courses at a university in Chile.
Developing robot control software systems is difficult because of a wide variety of requirements, including hardware systems and sensors, even though robots are demanding nowadays. Middleware systems, such as Robot Operating System (ROS), are being developed and widely used to tackle this difficulty. Streaming data Sharing Manager (SSM) is one of such middleware systems that allow developers to write and read sensor data with timestamps using a Personal Computer (PC). The timestamp feature is essential for the robot control system because it usually uses multiple sensors with their own measurement cycles, meaning that measured sensor values with different timestamps become useless for the robot control. Using SSM allows developers to use measured sensor values with the same timestamps; however, SSM assumes that only one PC is used. Thereby, if one process consumes CPU resources intensively, other processes cannot finish their assumed deadlines, leading to the unexpected behavior of a robot. This paper proposes an SSM middleware, named Distributed Streaming data Sharing Manager (DSSM), that enables distributing processes on SSM to different PCs. We have developed a prototype of DSSM and confirmed its behavior so far. In addition, we apply DSSM to an existing real SSM based robot control system that autonomously controls an unmanned vehicle robot. We then reveal its advantages and disadvantages via several experiments by measuring resource usages.
Using robots is demanding for supporting our lives and/or covering works that are not suitable for human beings. The robot software implementation requires a variety of knowledge and experiences. Thereby developing cost for such software systems is now increasing. Middleware systems such as Robot Operating System (ROS) are being developed to decrease such cost and widely used. Streaming data Sharing Manager (SSM) is one of such middleware systems that allow developers to write and read sensor data with timestamps using a common PC. This feature enables developers to control a robot by taking account of measured time. This control is important because using multiple sensor data with different timestamp cannot allow developers to control a robot correctly. SSM assumes that only one PC is used to control a robot, therefore if it exists a process that consumes much CPU resource, other processes cannot finish their assumed deadlines, leading to the unexpected behavior of a robot. This paper proposes an architecture called Distributed Streaming data Sharing Manager (DSSM) that enables to distributing each process on existing SSM to different PCs. We investigate the current architecture and behavior of SSM, then propose a new architecture that can achieve our goal. Finally, we apply DSSM to an existing SSM based robot control system that autonomously controls an unmanned vehicle, then confirms the effectiveness of DSSM by measuring the resource usages.
Social network sites such as Twitter have madeeasier the exchange of information about products amongconsumers that are users of these networks. Thereby, marketersare using word of mouth marketing campaigns to engage users ofthese social networks in spreading the word about their products.The choice of consumers who participate in these campaigns is keyin their success. However, it is not clear which type of consumersand its combination are the most effective in reaching this aim.Unfortunately, the difficulty in getting useful data due to its noiseor non-public availability do not allow researchers toappropriately apply traditional methodologies like statistics.Hence, this paper proposes an agent-based model to simulate theinformation diffusion through Twitter when some types ofconsumers participate in word of mouth marketing campaigns.This model was implemented in Java and its results show that,although hubs (users with many contacts) are better connectedthan opinion leaders, the latter ones reach higher informationdiffusion because of its influence; in addition, the use of both typesof consumers in the same campaign achieves as diffusion as usingjust opinion leaders. Apart from results, this paper gives to futureresearchers a guideline to develop ABMs that simulate differentbehaviors of Twitter’s users.

Lab head

Paul Leger
  • Department of Civil Engineering
About Paul Leger
  • http://pleger.cl I am a Ph.D. in Computer Science at the University of Chile. I currently work as an associate professor at Universidad Católica del Norte. My interests are: Programming languages. Modularity, abstractions, different programming approaches (from the functional programming to aspect-oriented programming), and the language support for advanced features like program matching execution traces. Software Engineering. The design and development of software — from the design of a piece of code on a particular programming language to module interactions. PS: Soy chileno, así que hablo español también :).

Members (4)

Hiroaki Fukuda
  • Shibaura Institute of Technology
Carmen Hidalgo-Alcázar
  • Universidad Miguel Hernández de Elche
Cecilia Camacho
  • Institución Universitaria Colegio Mayor del Cauca