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