View this PageEdit this PageAttachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide

Software by Douai's team

You'll find here some software prototypes and pieces of code made for research purpose. For more information, please contact us. The list is provided starting with the latest projects first.


A reflective extension of Smalltalk. Provides support mainly for:


A Smalltalk implementation of the Fractal component model. It is used for various experiments including Aspect-Oriented Programming. For this aim an extension named Fractal-AOP is being developed.


A Smalltalk implementation of the Maleva component model. It is used for various experiments and especially build software agents.


an open P2P platform that supports automatic peer discovery without requiring any infrastructure. Hence, UbiquiTalk can be used either within a network infrastructure or an adhoc network (e.g. Wifi).

rST (Remote Smalltalk)

rST is a framework for supporting distributed Squeak objects. The main goal of the project is transparency, so you don't need to change your objects to become remote. rST has been
originally designed and implemented by Diego Gomez. We're currently maintaining it.


Easy Morphic GUI

Easy Morphic GUI is a framework that allows building Morphic-based GUIs without actually coding. Developers mainly use halos to parametrize morphs to fit the application needs. E-toys can also be used to make the GUI even more attractive.


As part of the VerySmallTalk project, we investigate control architectures for robots. One of our main application domain is robotic Urban Search And Rescue (USAR). Our goal is to have a fleet of mobile robots that will collaborate in order to autonomously explore some area. Currently, we experiment using a fleet of wifibots. We implemented in Squeak / Smalltalk a framework that allows to both drive robots and build simulations.

Ocean: Object-oriented, Cross-platform, and Effective Api for Networking

Ocean is a clean XP (Test Driven Developement, Pair programming, ...) based library for networking.
It does support both TCP and UDP in a clean design.
Based on the bridge design pattern, it does decouple the concepts of sockets from networking.
Thus, multiple implementations are possible, which paves the way to smaller VMs. One could have an implementation relying on an external library (e.g. Posix), so we can get rid of the networking plugin of the VM.
Here are a few links:


Multiple Repositories Support for Monticello (By MichaŽl Piel)

Small add-on which adds one button SaveToAll to the Monticello Browser to automatically save a package to all repositories available for that package simultaneously.
Available on SqueakSource as Monticello package


Extends Monticello package manager (in Squeak) to support package renaming.
See SqueakSource


A simple tool for backups using Squeak. Available through SqueakMap.
You can also visit the corresonding page on SqueakMap web


Automatically opens a transcript whenever you enter a project.

Nice Do It

Evaluates an expression in a low priority process. Opens a window to supervise the process.
Available as a SqueakMap package

Tagged Method Template

Inserts the developper initials and timestamp in the mehtod template displayed by the browser.

New File In/File Out Format

This project aims at allowing editing a full class or some classes methods in a single file with any text editor. The text format is simply a sequence of valid Smalltalk expressions (e.g. class creation message). Method definitions are possible using, two messages.
MyClass << #(myMethod "Body of myMethod" )

MyClass inCategory: #someCategory addMethod: #(myMethod "Body of myMethod" )