Kamaelia
From Wikipedia, the free encyclopedia
Kamaelia | |
---|---|
Developed by | BBC Research |
Latest release | 0.5.0 / September 28, 2006 |
OS | Cross-platform |
License | MPL, GPL and LGPL |
Website | kamaelia.sourceforge.net |
Kamaelia is a free software/open source Python-based systems-development tool and concurrency framework produced by BBC Research.
Kamaelia applications are produced by linking independent components together. These components communicate entirely through "inboxes" and "outboxes" (queues) largely removing the burdens of thread-safety and IPC from the developer. This also makes components reusable in different systems, allows easy unit testing and results in parallelism (between components) by default.
Components are generally implemented as generators - a method more light-weight than allocating a thread to each (though this is also supported). As a result, switching between the execution of components in Kamaelia systems is very fast.
Applications that have been produced using Kamaelia include a Freeview digital video recorder, a network-shared whiteboard, a 3D GUI, an HTTP Server, an audio mixer, a stream multicasting system and a simple BitTorrent client.
[edit] Google Summer of Code
Kamaelia participated in Google Summer of Code 2006 under the name BBC Research. It mentored four students, located throughout the world, between May and August of that year. Functionality developed as part of this programme include BitTorrent, OpenGL, 3D widgets, HTTP, speex codecs, encryption and authentication components. Kamaelia will also be participating in GSoC 2007. [1]
[edit] External links
- Kamaelia official website
- Documentation for BitTorrent and HTTP components (created during Google Summer of Code 2006)