Check out the new USENIX Web site. next up previous
Next: JavaTriveni Distribution and Future Up: A Telephone Switching System Previous: Testing of safety properties

Comparison with earlier work

Our earlier work involved writing an implementation of the Carrier Group Alarms software in the synchronous programming language ESTEREL [BG92]. Both the ESTEREL and JavaTriveni versions of the program are about 2500 lines of code.

ESTEREL elegantly models simultaneous events, and in this regard is superior to JavaTriveni's simulation of simultaneity. In our JavaTriveni code, we followed the ESTEREL design closely; however, most assumptions on event simultaneity could safely be eliminated, and data flags were used to simulate simultaneity in the few remaining cases.

ESTEREL only supports very rudimentary notions of autonomous behavior and asynchronous communication. Thus, in our earlier work the Timers Triveni process of the JavaTriveni implementation was realized outside the ESTEREL framework, via an operating system call, and the the communication of the CGA Collection Software and the CGA Data Software was implemented using C system calls. In contrast, JavaTriveni fully integrates autonomous and reactive behavior and supports asynchronous communication, and the entire summary request functionality of the CGA software was implemented in JavaTriveni.



1998-03-16