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
