Software
The research activity of the laboratory is
coupled with an important software development activity spanning from the
Web (Ocsigen, CDuce, Xduce, Polipo) to parallel programming (CPC, Lwt,
OcamlP3L), from networks (AHCP, Babel, SFB) to the management of software packages (Edos,
Mancoosi) and proof assistants (Coq).
Here is a list of software developed by PPS members (alphabetical order):
- AHCP — the Ad-Hoc Configuration Protocol
AHCP is an autoconfiguration protocol for IPv6 and dual-stack IPv6/IPv4 networks designed to be used in place of router discovery and DHCP on networks where it is difficult or impossible to configure a server within every link-layer broadcast domain, for example mobile ad-hoc networks.
- Babel — a loop-free distance-vector routing protocol
Babel is a distance-vector routing protocol for IPv6 and IPv4 with fast convergence properties. It is based on the ideas in DSDV, AODV and Cisco's EIGRP, but uses a variant of ETX link cost estimation rather than a simple hop-count metric.
- CDuce — A Functional Programming Language for XML
CDuce is a modern XML-oriented functional language with innovative features. A compiler is available under the terms of an open-source license. CDuce is type-safe, efficient, and offer powerful constructions to work with XML documents.
- Ceve
A generalized open-source software package parser and translator.
Edos project - Main developer: Jaap Boender
- Cerco — A cost annotating compiler for C
- Coq
An interactive proof assistant.
- Continuation Passing C (CPC)
CPC is a programming language designed for writing concurrent systems. The CPC programmer manipulates cooperatively scheduled threads; the CPC program is then processed by the CPC translator, which produces highly efficient event-loop code. In the author's opinion, this approach gives the best of the two worlds: the convenience of programming with threads, and the low memory usage of event-loop code.
- Debcheck, rpmcheck
A tool to check for broken packages in an open-source software distribution (e.g. Linux, FreeBSD).
Edos project - Main developer: Jerôme Vouillon
- Dose2
A library for manipulating open-source software distributions.
Edos project - Main developers: Jaap Boender, Berke Durak
- DemoLinux
One of the first Linux Live-CD.
Main developers: Roberto Di Cosmo, Vincent Balat, Jean-Vincent Loddo
- Eliom
A framework for programming client/server Web applications in OCaml, with:
- Client/server application as a single OCaml program
- Continuation-based Web programming
- Static checking of XHTML (using OCaml or OCamlDuce)
- Automatic management of sessions
- Concise and modular programming
Ocsigen project - Main developer: Vincent Balat
- Hekate — a highly-concurrent BitTorrent seeder
- Js_of_ocaml
A compiler from OCaml bytecode to Javascript
Ocsigen project - Main developer: Jérôme Vouillon
- Juppix
Juppix est un « LiveCD » GNU/Linux basé sur Knoppix contenant les logiciels utilisés par les étudiants de premier cycle d'Informatique à l'Université de Paris 7 (« Jussieu »).
- KaSim
A stochastic simulator for the Kappa Calculus, a rule-based language for the modeling of protein-protein interaction networks.
- Laby
A teaching software : Learn how to program with ants and spider webs.
- Liquidsoap
A scripting language for generating audio Streams.
Main developers: David Baelde, Romain Beauxis, Samuel Mimram
- Lwt
A cooperative threads library for OCaml, writtent in monadic style.
Main developer: Jérôme Vouillon
- Menhir
A LR parser generator for OCaml.
Main developers: François Pottier, Yann Régis-Gianas
- O'Browser
An Ocaml virtual machine written in Javascript, to run Ocaml program in Web browsers.
Ocsigen project - Main developer: Benjamin Canou
- Ocsforge
A collaborative software development platform (forge). Based on Ocsigen and Ocsimore.
Ocsigen project - Collaboration with Ocamlcore.
- Ocsigen server
A Web server developed in OCaml, with the Lwt cooperative thread library. It has been designed in order too been extended easily by writing OCaml modules. Many extensions already exist (like a module for executing CGI script, a reverse proxy, access control, redirections, URL rewriting, page compression, user configuration files, etc.).
Ocsigen project - Main developers: Vincent Balat, Jérôme Vouillon, Boris Yakobowski, Stéphane Glondu, Gabriel Kerneis
- Ocsimore
A content mangement system written with Eliom, containing a Wiki, forum, blog, news, etc (under development).
Ocsimore is used on www.pps.jussieu.fr.
Ocsigen project - Main developers: Boris Yakobowski, Vincent Balat
- Pkglab
A domain-specific query language for open-source software distribution problems.
Main developers: Jaap Boender, Berke Durak
- Polipo — a caching web proxy
Polipo is a small and fast caching web proxy (a web cache, an HTTP proxy, a proxy server). While Polipo was designed to be used by one person or a small group of people, there is nothing that prevents it from being used by a larger group.
- Stochastic Fair Blue for the Linux kernel
Stochastic Fair Blue (SFB) is an active queue management algorithm for packet routers that attempts to simultaneously bound queue length (and hence latency), minimise packet drops, maximise link utilisation, be fair to reactive aggregates, reliably detect non-reactive aggregates (aggregates that don't respond to congestion control indications) and put them into a so-called penalty box.
- Tart
A tool to repartition an open-source software distribution over several media (CDs, DVDs).
Edos project - Main developers: Jaap Boender, Berke Durak