12 October 2005

I've managed to shrink my RPC server to 7kb! My last test case used a Java client to Java server using the full Argot/Colony software library. This test case uses the exact same Java client connected to a hand coded C server over TCP/IP. The server uses a static type map which defines the full set of data types, interfaces and objects on the server.

The original aim of this exercise was to target a ATMEL ATMEGA8 microprocessor with 8kb of memory. Compiling the same C code targeted to the ATMEL AVR produced a 3kb binary! This provides a single function on a single interface. I suspect with a normal set of functionality this would creep up to 5kb. However, even this still leaves plenty of room for actual functionality to be included in the processor.

This now shows that Argot/Colony combination can create a strongly bound data contract between client and server on even the smallest of devices. This includes both data and interfaces. This is the exact same protocol and software used in full size service oriented architecture(SOA) solutions using Argot/Colony.

All the C skeleton code was hand coded in this test. In time I will create an IDL to Dictionary converter and then a Dictionary to C skeleton code generator which will speed development time. The only part not hand coded was the static type map; this was generated with the interface dictionaries.

It looks like this excersize of seeing how small Argot can go is a great success. I will have to wait and see if I can get some interest to actually create a light switch and light hardware to show Argot/Colony being used to turn on a light!

For now it's time to jump languages and move back to C#. Having done Argot in Java and C, I figure it would be nice to also include a C# version. This will provide good coverage of the most popular languages for Argot. The C# version was started last year. Hopefully it won't take too long to complete.

In other news, the Open Vendor Public License continues to be slow progress. If you ever have the thought that it would be really useful to have another open source license in the world. Be prepared! The OVPL has taken nearly ten months so far. We shall see how much longer it will take!

Copyright 2005 © Live Media Pty Ltd
Legal Notice