Programming Embedded Microsystems
Projects
Following is a brief description of possible projects. Please
contact us for detail discussion and information about following
projects.
Porting TakaTuka on Lego-NXT or SUN-SPOTS |
|
TakaTuka currently runs on MSP430 and AVR-Atmega processors.
In contrast, Lego-NXT uses ARM processor and has different hardware
specification (e.g. Bluetooth instead of a packet radio). The goal of
this project will be to port TakaTuka on Lego-NXT and compare the
performance of the ported TakaTaka with Lejos JVM. Similary, SUN-SPOT
are motes with ARM processors and one may port TakaTuka on them too. |
|
|
|
Writing a Java debugger for motes |
|
Java has a very powerful debugger. However, this debugger will
not work when a program is using mote hardware (e.g. radio or ADC). The
goal is to make work Java debugger on the TakaTuka core when it is
running on the mote. (please contact us for more information). |
|
|
|
Implement an existing routing or transport layer protocol in Java using TakaTuka |
|
Currently TakaTuka supports DYMO and CTP routing protocols.
These protocols are written in Java and run using TakaTuka on different
mote platforms. The goal of this project is to implement another
routing or transport layer protocol and test it on real hardware.
(Bonus points for someone improving an existing protocol). |
|
|
|
Improve TakaTuka Core: Enhance TakaTuka's performance or reduce RAM/storage requirements |
|
There are many things still can be done for improving TakaTuka
performance or reducing its RAM and storage requirements. The project
starts by measuring TakaTuka performance or RAM/storage requirements on
many application. The developer(s) of the project later on change
TakaTuka core following some well thought strategies. In the final
stage results should be produced for any performance gain or reduction
in RAM/storage requirements. |
|
|
|
Implement
a garbage collection algorithm |
|
Currently we have implemented mark-and-sweep garbage collection (GC) algorithm. Furthermore, research work is in progress for implementing a novel "position based offline garbage collection algorithm" PBO-GC. The goal of this project is to implement another garbage collection algorithm from the existing literature so that a good comparison results can be produce by comparing PBO-GC with two existing GC algorithms.
|
|
|
|
Implement file management Java library for TakaTuka |
|
TakaTuka support almost complete CLDC but file management part
of it. The goal of this project is to implement CLDC file management
part of library for TakaTuka. |
|
|
|
Reducing UTF8-strings storage requirements for TakaTuka |
|
String are expensive to store as each character takes 2 bytes.
The goal of this project is to develop a new approach in which each
character takes on average less than 1 byte. |
|
Implement Class and method inlining |
|
The aim of this project is to reduce the Java binary size and increase speed by inlining selected Java Class files and methods. For example, if a super-class has only when sub-class then the super-class could be made part of sub-class. This will reduce sizes, as one less class and increase speed as less method lookups will be required. Skill required: Java programming |
|
Write Math library for MPS340 |
|
The current Math library is not Java compatible and is too big. The aim of this project is to write Java compatible Math library for MSP430 processors with reduction in library size if possible. Skill required: C programming and GCC |
|
Testing the TakaTuka JVM using Mauve |
|
Currently, we have our own test cases. These test cases test only Java bytecode instructions and does not test details of Java library. The aim of this project is to test TakaTuka thoroughly using existing test suits e.g. Mauver. Skills required: C/Java programming and Apache-Ant scripting. |
We might add more projects later on.