Archive

Archive for the ‘packedobjects’ Category

Packedobjects for Guile

January 2nd, 2009

I have created a sourceforge project for the new Guile version of packedobjects:

http://packedobjects.sourceforge.net/

This is an early version without documentation. The API has changed from the Chicken version so I will document this soon. Eventually I will push back the improvements to the Chicken version.

So far it builds as a Guile module. I also need to look at how to embed this version into a C application.

packedobjects ,

Groking Guile’s FFI

November 9th, 2008

I have lately been very busy with work, life and the universe and subsequently have done little hacking. I have recently been examining Guile. Guile has been part of OpenEmbedded for a while so should be easy to get running on numerous embedded devices. Chicken was very recently added to OpenEmbedded, however, lacks support for building eggs in this environment. One thing I really love about Chicken is its very easy to use foreign function interface (FFI). After spending the odd hour over various weekends I have finally begun to grok Guile’s FFI. I plan to build packedobjects for Guile and possibility extend its features.

I really like the idea of extension languages ever since I did some work with Tcl a number of years ago. A great example application was Eggdrop the IRC bot. Lots of kids at the time would program their eggdrop bots using the simple Tcl interface. I think a lot can be said about this approach in terms of learning/teaching programming. I hope to explore this further with my education hat on.

General, packedobjects , , ,

Introduction to packedobjects

June 19th, 2007

A formal description of packedobjects is as follows:

packedobjects is a data encoding tool based on the telecommunications standard Packed Encoding Rules (PER). An abstract syntax language is used to define a protocol specification. packedobjects uses the Scheme programming language to represent the protocol specification within a symbolic expression (s-expression).

Moore, J. “PACKEDOBJECTS”, Proceedings of WINSYS 2006, International Conference on Wireless Information Networks and Systems, August 2006, pp. 310-314

Less formally, packedobjects is a “bit stuffing” tool driven by a high level syntax. Rather than use ASN.1, packedobjects uses s-expressions as the high level syntax to represent a protocol description. The advantage of s-expressions is they are native to languages such as Scheme. At the time the project was conceived there were no open source solutions supporting unaligned PER. packeobjects was designed for projects that would benefit from a tool that was positioned in between hand encoding and formal telecommunications standards.

The software is available as an extension to Chicken Scheme.

packedobjects