We are happy to invite you to the official launch of the new research lab at the Computer Science Department: PLEIAD: Programming Languages and Environments for Intelligent, Adaptable and Distributed systems. This laboratory is founded by professors Éric Tanter and Johan Fabry, and their PhD and Master students.


The launch event takes place on the 30th of november in the DCC auditorium, starting at 15:30. The schedule of the event is as follows:

15:30-15:45 Welcome: Gonzalo Navarro (Director of DCC and CWR), Éric Tanter & Johan Fabry (PLEIAD)
15:45-16:30 Ron Goldman: “Introducing the Sun SPOT: Java on Wireless Sensor Networks”
16:30-17:00 Coffee Break
Research Topics of PLEIAD (Student Talks)
17:00-17:15 Rodolfo Toledo: “Multi-Language Aspect-Oriented Programming”
17:15-17:30 Carla Vairetti: “A Domain-Specific Aspect Language for Concurrency”
17:30-17:45 Victor Ramiro: “Flexible and Subjective Notions of Proximity in Pervasive Computing”
17:45-18:00 Paul Leger: “Evolutionary Adaptation in Pervasive Computing”
18:00-18:15 Guillaume Pothier: “Omniscient Debugging Made Practical”
18:15-19:00 Cocktail

Talk Abstracts

Talk of Ron Goldman

Introducing the Sun SPOT: Java on Wireless Sensor Networks
Project Sun SPOT (Small Programmable Object Technology) from Sun Labs aims to replicate Java technology's phenomenal success on mobile phones for a new class of even smaller and simpler devices such as toys, sensors, and actuators.

The Sun SPOT platform is a small, battery-powered wireless device with an application development environment based on the Java programming language. The Sun SPOT, smaller than a deck of cards, comes equipped with a 32-bit ARM processor and an IEEE 802.15.4 radio for wireless communication. Stackable boards include sensors and actuators such as accelerometers, light detectors, temperature sensors, LEDs, push buttons, and general I/O pins. The devices can be duty-cycled to run for months on a single charge of their rechargeable battery. The small-footprint Java virtual machine, called Squawk, can host multiple applications concurrently and requires no underlying operating system. The full platform includes tools for programming, deploying, configuring, monitoring, and debugging a Sun SPOT network.

The audience for Sun SPOTs ranges from researchers prototyping wireless sensor networks, to teachers developing classes that make use of Sun SPOTs to give students an innovative alternative to programming with a keyboard, mouse and screen, to hobbyists wanting a small, easily programmed platform to control whatever.

We remind you that Ron Goldman is giving a talk on open source at noon the same day

Student Talks

Multi-Language Aspect-Oriented Programming, Rodolfo Toledo
Multi-language AOP offers several advantages such as using the most appropriate language for a given task, specially in this case where the task represents a crosscutting concern.

Although, a key challenge must be faced to make this way of programming become a reality: until developers have a good way to define new AOP languages that can be used in conjunction with existing ones, multi-language AOP will remain too difficult to use in practice to be a suitable alternative.

In this short talk, we describe the general problem in outline, trying to discover unaddressed research topics or alternative points of view for existing problems where we would like to focus our future work on.

A Domain-Specific Aspect Language for Concurrency, Carla Vairetti
Coordination of parallel activities on a shared memory machine becomes complicated at the moment of implementing them. Unfortunately, the existing languages do not provide a clean separation of the coordination concern from application code. On the other hand, we have languages that they do not provide a scheduling method responsible for specifying how concurrent requests should be scheduled.

Parallel Object Monitor (POM), supporting expressive means for coordination of parallel activities over one or more objects, and have a expressive and reusable strategies for concurrency control, thanks to a full access to the queue of pending requests, parallel execution of dispatched requests together with after actions, and complete control over reentrancy.

Constructing a DSAL for configuration of existing schedulers we obtained greater abstraction at the syntaxis level than POM, at the moment to specify the synchronization of the objects and it is provided to adequately configure pre-packaged, off-the-shelf synchronizations.

Flexible and Subjective Notions of Proximity in Pervasive Computing, Victor Ramiro
We study a conceptual framework to plug proximity as a first-class concept in the AmbientTalk language. This means developers will be able to create and share different notions of proximity and evaluate them with the context information at the service discovery stage. The contribution of this work is to support a wide variety of proximity notions such that the device interactions can be scaled and tailored to the content of interest level.

Evolutionary Adaptation in Pervasive Computing, Paul Leger
Mobile and ambient devices (eg. notebook, mobile phone, home light bulbs, etc.) should meet the users' needs, by adapting to environmental changes. YABS is a simple and expressive language that abstracts the underlying complexity of dealing with the technology of pervasive computing environments and further facilitates the construction incremental solutions while providing a high level of construction in defining the conduct of the entities and their coordination. But in YABS the relations between contexts views and behaviors are statics, that is to say, YABS does not allow these relations to vary in time. The objective of our work is to extend YABS to support evolutionary adaptation with an artificial neural network (ANN).

Practical Omniscient Debugging, Guillaume Pothier
Debugging is one of the major tasks of the software development process. Unfortunately current debugging tools offer limited assistance to the programmer: breakpoint-based debuggers permit to thoroughly examine the state of the program at breakpoints, but loose all past activity, while log-based debugging pollutes the source code and requires a difficult manual analysis.

Omniscient debugging is a promising new approach to debugging that consists in automatically recording program activity and letting the programmer interactively navigate in the resulting execution trace. It makes it possible to immediately answer questions that would otherwise require significant effort, like “At what point was variable x assigned value y?” or “What was the sate of object O when it was passed as an argument to method foo?”.

In this presentation we will outline the challenges of implementing a practical omniscient debugger: performance, user interface, and field of application.