The human respiratory system as a feedback structure, from Scale and Design for Peer-to-Peer and Cloud (see Research Report RR2011-01)
This page presents the activities of the PLDC Research Group in the ICTEAM Institute (formerly Department of Computing Science and Engineering (INGI)) at the Université catholique de Louvain (UCL) in Louvain-la-Neuve, Belgium. These activities have as general theme to increase the expressiveness of programming languages, with a special focus on support for distributed computing. Our research is a combination of theory and practice: new concepts are suggested by development needs, which leads both to theoretical results and system building.
A well-known result of our work is the classic textbook Concepts, Techniques, and Models of Computer Programming, which we use for teaching at UCL and for which we provide a huge amount of educational material. Our research vehicle is often the Mozart Programming System, a full-featured development platform based on the Oz multiparadigm programming language.
Education, Audiovisual and Culture Executive Agency (EACEA), European Union.
Partners: Universitat Politècnica de Catalunya (UPC), Kungliga Tekniska Högskolan (KTH), Instituto Superior Técnico (IST), Université catholique de Louvain (UCL).
Fellowship applications for 2013 are now open from Oct. 9, 2012 until Jan. 23, 2013. See the EMJD-DC Web site for instructions how to apply. The perfect way to join the PLDC research group!
European Union 7FP, IST Software and Services.
Partners: Université Paris Diderot, Edge-IT, Studi dell'Aquila, INESC-ID, Caixa Magica, Université Nice Sophia Antipolis, Tel Aviv University, ILOG, Université catholique de Louvain.
The SELFMAN project is coordinated by P. Van Roy and started in June 2006.
European Union 6FP, IST Priority 2, Software and Services.
Partners: UCL, KTH, INRIA, France Telecom R&D, ZIB, NUS, Peerialism AB.
European Union 6FP, IST Priority, Grid-based Systems for Complex Problem Solving.
This is a Network of Excellence with 42 partners. UCL is a partner in the workpackage WP4 on system architecture.
European Union 6FP, IST Priority, Proactive Initiative "Complex Systems Research"
This is an Integrated Project with 28 partners. UCL is a partner in subproject 3, whose goal is the investigation of scalable self-organizing decentralized systems, and in subproject 2, whose goal is the construction of a large distributed computing infrastructure and its use for the project. UCL is building an architecture for developing decentralized applications based on distributed components, using a structured overlay network as communications infrastructure.
European Union 5FP, FET Global Computing IST-2001-33234
This project investigates all aspects of peer-to-peer computation, which is characterized by decentralization, scalability, dynamic topologies, and approximate consistency. We consider peer-to-peer as a general approach for building highly dynamic, robust, collaborative distributed applications. See the project Website for more information.
Methods for Engineering Secure Software
Walloon Region of Belgium, Convention 114856
Partners: Axel van Lamsweerde, Peter Van Roy, Jean-Jacques Quisquater.
This project investigates how to build secure applications "vertically", starting from requirements and leading to architecture and implementation. As case studies we will use distributed secure applications on the Internet. The project's approach complements the usual horizontal approach to security, which investigates only a thin slice of the application development cycle.
This work is confidential.
Generic Tools for Distributed Application Development
FSR (Fonds Speciaux de Recherche) project, UCL
Methods and Tools for Dependable Transparent Distributed Programming
Walloon Region of Belgium, Convention 9713540
One-day workshop with nine invited talks covering the broad domain of large-scale and cloud computing. Held on Nov. 20, 2012 at the ICTEAM Institute of UCL. Full slides of all talks and related papers are available here:
The relationship between computing technology and society is transitioning rapidly toward a new form of intimate interaction based on intelligent applications built with a combination of large-scale distributed computing and large-scale machine learning. Computing systems will learn to interact with us at a level much closer to human senses and abilities. For example, real-time audio language translation (using learning to map between phoneme sequences in different languages) and creative problem solving (brute force search tamed by domain knowledge and learning algorithms) are coming soon, in addition to many other abilities not yet clearly imagined. The Transreal Initiative aims to catalyze this transition by building bridges between the different stakeholders: large-scale distributed computing (especially clouds and peer-to-peer), large-scale machine learning, and many areas of domain knowledge.
The Mozart system is a development platform for intelligent, distributed applications. It is based on the Oz language. We make regular releases approximately once per year. Version 1.4.0 was released on July 3, 2008 and features a complete redesign of the network-transparent distribution layer that improves flexibility, supports asynchronous failure handling, and simplifies the programmer interface (see Raphaël Collet's Ph.D. dissertation). Version 2.0 with a completely redesigned and reimplemented emulator will be released in 2012. The new emulator is designed for 64-bit architectures and to be easily maintainable and extensible. Here are four different overview talks about Mozart:
The purpose of this project is to make Oz into a secure language based on the principle of least authority, supported by a cryptographically secure version of Mozart (see the report on secure distribution in Mozart). With such a language, many important security problems become much easier to solve. Examples of such problems are protection against computer viruses and the so-called trade-off between security and usability. This project is inspired by and collaborates with the E Project.
This research focuses on a comprehensive concepts-based approach to teach programming that is both broad and deep. The approach has been used at several dozen universities worldwide since 2001, in second-year through graduate courses. A detailed presentation and assessment of the approach after six years of teaching second-year engineering students at UCL is given in the paper The CTM Approach for Teaching and Learning Programming.
The approach is supported by a textbook, Concepts, Techniques, and Models of Computer Programming (also known as CTM, published by MIT Press in March 2004), and a French translation, Programmation: Concepts, techniques et modèles (published by Dunod Éditeur in Sep. 2007). The latter is accompanied by the Labo interactif, an exploration and learning tool published by ScienceActive. We make available course material for both textbooks in English and in French. A Polish translation was published by Helion in 2005 and a Japanese translation was published by Shoeisha in 2007. A Spanish translation is on the way.
First-year programming based on multiagent microworlds: We have just completed a first-year course based on a progression of multiagent microworlds. This allows the students to learn concepts in a first-year course that would typically only be seen in much more advanced courses. The course uses a programming environment, LogOz, written in Mozart. The course material and software are available here (in French).
Teaching formal methods with MPVS: Isabelle Dony has built a practical tool, MPVS, to help students understand how to reason about imperative programs using specifications, loop invariants, and problem decomposition. MPVS does symbolic calculations using constraint programming to check verification conditions. MPVS is written in Mozart and is documented in Dony's dissertation Design, Implementation, and Evaluation of MPVS: A Tool to Support the Teaching of a Programming Method. It is available with full source code at SourceForce.net under the GNU GPL free software license. This work was done under the supervision of Baudouin Le Charlier.
MOZ 2004 brought together researchers, developers, educators, and users interested in the Oz language and the Mozart development platform. As the participants can confirm, it was an intense and exciting event with much animated discussion. An extended version of the proceedings was published in March 2005 as Springer-Verlag Lecture Notes in Computer Science volume 3389 with a foreword written by Peter Norvig of Google.
This research focuses on the high-level creation of user interfaces based on symbolic data structures. This allows the concise definition of context-sensitive, dynamic interfaces. The research vehicle is QTk, a user interface building tool that is part of the Mozart system. The abilities of QTk are illustrated by FlexClock (paper), a simple clock utility.
This research focuses on how to clearly separate the concerns of application functionality, distribution structure, fault tolerance, openness, and security. We take language design into account and build real systems to test our hypotheses. This talk explains our vision in more detail.
The above publications give a flavor of what we do. For more, see the Mozart publication page, Van Roy's publication page, the SELFMAN project page, and the PEPITO project page.