Magent for year 10 maths
I’ve been working with Mohammed Mastan on a team based software engineering project that involves designing and implementing an agent oriented game. The game is required to use techniques from agent oriented software engineering (AOSE). One of the goals of this project is to learn about AOSE techniques and applying some of them within a small software project. Another goal is to teach mathematics to Year 10 students within Victoria, Australia, although I doubt that others will seriously use it for that purpose.
Today, Mohammed and I delivered a presentation on an early prototype of our project. During the presentation, I used a set of notes and visuals to elucidate and elaborate on our ideas, and to give some sense of direction of where we’re going with the final version. Mohammed talked about the database aspect of our project. I’m not sure he has prepared presentation slides to distribute to anyone who’s interested in getting them, since he’s a very busy person. So far, working with Mohammed has been a positive experience. He has humbled me with his professional knowledge of database and database management.
There are various open source projects that concentrate on developing a set of libraries and APIs for building applications using agent oriented techniques. JADE and Jadex both use Java in developing their respective functionalities. Both of these packages are pretty functional at the moment, while it should be stressed that Jadex was originally (and still is) a research project.
Currently, we’re using Python to implement our game. I’m trying to integrate Brent Burley’s Python implementation of reversi into our game. Burley’s Python implementation is useful for what we’re doing, and its basic artificial intelligence for the computer player is sufficient for our small project. Being a database expert, Mohammed is concentrating on the database aspect of our project, in addition to doing many of the design work. He has looked into using Python’s interface to SQLite. From our discussion on this issue, it looks like we’re going ahead with using this library for our database engine. Before version 2.5, Python didn’t have support for SQLite. With the release of Python 2.5.x, and version 2.6.x, it’s now rather painless to get a Python program to communicate with a lightweight database engine.
Our project code name is “Magent”. The “agent” part serves to remind us that we should use agent oriented techniques. The capital letter “M” can stand for many things: multi-agent system, mathematics, magnificent 😉 , etc. Fingers crossed for our final version, everyone.