Mini-Axon

Build your own Kamaelia Core

IntroductionStandingWalkingInterludeTalkingConversingInterludeSummary

Introduction

When using any system, library, or framework, you're likely to have a better understanding of the system and how to better use it if you really understand how it works. That is you've written the system rather than someone else. Our preferred approach to date so far for teaching a novice how to use to Kamaelia has been to get them to write a version of the core concurrency system. This is framed as a series of exercises. After having built it, they realise that the system is really just a simple skein over simple programs.

Furthermore, this set of exercises has normally been done within less than 2 weeks of the novice learning python. If you're a new programmer, and you've learnt a certain core of python, you should be able to do and follow these exercises. It might look daunting, but it should be fine. If you get stuck, please feel free to come chat on IRC or on the mailing lists!

Python pre-requisitives:

  • classes, methods, functions, if/elif/else, while, try..except, for..in.., generators (yield), lists, dictionaries, tuples.

What's in this tutorial?

  1. Write a basic microprocess
  2. Build a simple scheduler to run the microprocesses
  3. Interlude, discussing progress so far and what you can do with microprocesses and schedulers, putting the next two exercises in context
  4. Turn a microprocess into a simple component
  5. Create a postman to deliver data between microprocesses
  6. A second interlude where you see how to use your framework to build a simple multicast server that can serve a file over multicast. The resulting components can be used with the main Axon system as they can with your mini-axon system.
  7. Summary
IntroductionStandingWalkingInterludeTalkingConversingInterludeSummary

Feedback, Questions ?

Please leave feedback here! Hope you found this tutorial interesting, useful and doable!


Kamaelia is an open source project originated from and guided by BBC Research. For more information browse the site or get in contact.

This is an ongoing community based development site. As a result the contents of this page is the opinions of the contributors of the pages involved not the organisations involved. Specificially, this page may contain personal views which are not the views of the BBC. (the site is powered by a wiki engine)

(C) Copyright 2008 Kamaelia Contributors, including the British Broadcasting Corporation, All Rights Reserved.

This web site is powered by the same code created for the bicker manor project. For more details, contact Michael Sparks at BBC Research directly (cf contact)