Next: Learning SALSA by Example
Up: main
Previous: System Properties
Debugging Tips
- Make sure you really understand the actor model, its message passing semantics, and
the concurrency coordination abstractions built in SALSA.
- Message passing and remote procedure
calls are totally different. A named token variable does not have the
result immediately. It has the result only after the message gets
executed.
- Objects in messages have pass-by-value semantics. This means that object arguments are
cloned and then sent. A latter modification on these object arguments does not change
the objects which were originally sent.
- Since the SALSA compiler does not support type checking in this version,
you may need to go through the Java source code. The code related to your
program is on the bottom of the generated Java source code. Do not try
to modify other parts irrelevant to your SALSA source code.
- Please note that a typo in a message sending statement does not
generate Java or SALSA compile-time errors. You have to be very careful with that.
A run-time error will be generated instead.
- Most people confuse self with this. this means "this actor",
while self "the actor reference" pointing to itself. self can only be used
as a target of messages, or an argument to be passed around. this can be used for
object method invocation. To send your references to other actors,
use self. Using this is wrong.
Next: Learning SALSA by Example
Up: main
Previous: System Properties
Wei-Jen Wang
2007-11-28