On a more serious note, there's a prototype release of the Maté VM. The current version allows you to specify a VM in terms of execution events, a scripting language (currently only one is available), and a set of library functions. The Maté toolchain builds the necessary TinyOS program and a scripting environment. You can then write programs for the event handlers as high level scripts, which compile down to VM-specific opcodes. Maté uses an extension of the Trickle algorithm for scalable epidemic code propagation.
There is an updated tutorial and an updated manual. One of the goals of Maté is to allow nesC programmers to easily add new library functions and event handlers to the VM infrastructure. For example, for a tracking application, one could add a "TargetDetect" handler, which then calls the already provided "send" library function to report to the base station.
The currently supported language is TinyScript, which is a BASIC-like language. For example:
buffer b; private max; private current;
current = call light(); if (current > max) then max = current call bclear(b); ! Clear out the buffer b[] = max; call send(b); end if
This program compiles to nineteen bytes.
Maté is still in a prototype stage: David Gay and I are working on adding support for a more functional language. My goal in putting out this early version is to get feedback from the community -- especially non-expert TinyOS users -- on what sort of issues it faces.
The rpm can be found at
http://webs.cs.berkeley.edu/tos/dist-1.1.0/tinyos/linux/tinyos-vm- 1.1.1Mar2004cvs-1.noarch.rpm
In order to build the scripting environment, you must have TASK installed (it has parser/lexer jars that Maté needs for its compiler). If you have any questions or problems, feel free to email me.
Phil
-------
"We shall not cease from exploration And the end of all our exploring Will be to arrive where we started And know the place for the first time."
- T. S. Eliot, 'Little Gidding'
_______________________________________________ Tinyos-users mailing list [EMAIL PROTECTED] http://mail.Millennium.Berkeley.EDU/mailman/listinfo/tinyos-users