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.
- BotGridSimulator Multi-Robot Simulations in a 2D discrete world
- MetaTalk a mirror-based bootstrapped reflective language (Smalltalk-like).
- Ghost Library of proxies for any object including classes and methods.
- Ocean a clean, carefully designed (OO) library for networking built following TDD.
- Fuel general purpose Serializer
- Marea - Object swapper
- Clic - Component language symbiotic with Smalltalk
- BackTalk - Library for Constraint Satisfaction Problems
- Easy Morphic GUI - Famework for connecting graphically built morphic-based GUI with code
- WifiBotST - Framework for 2D simulations and control of Wifibot robots.
- MalevaST - Smalltalk implementation of the data flow-based component model Maleva.
- UbiquiTalk - P2P service-oriented middleware supporting automatic discovery and on-the-fly code deploymenent.
- rST - Object-based middleware for distributed applications in Smalltalk
- FracTalk - Smalltalk implementation of the hierarchical component model Fractal
- MetaclassTalk - Reflection, meta-programming and AOP with explicit Metaclasses
A reflective extension of Smalltalk. Provides support mainly for:
- Explicit metaclasses
- Aspect-Oriented Programming
- Mixin-based inheritance
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 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 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.
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.
- The first one is short and allows adding a method to a class without taking care of the category (the method appears in the browser 'as yet unclassified'). Example :
MyClass << #(myMethod "Body of myMethod" )
- The second message to add a method under some particular category. Example :
MyClass inCategory: #someCategory addMethod: #(myMethod "Body of myMethod" )