Tired of split-phased interfaces? Tired of figuring out exactly which parameterized woozle you need to signal that async event? Perhaps you should try Mat�... Write simple scripts! Do away with the modern-day drudgery of modern day split-phase continuation management![1]

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

Reply via email to