SITH: Sending Messages to Objects

Introduction

SITH is able to process messages. Messages are handled by Object Code routines found inside the DBOS. Many of these Object Code functions currently call AtomicInstructions to do the work. This dependency will eventually dissapear as the DBOS moves from being a piece of middleware to an actual OS.

This tutorial starts with the Class Table.

You may have noticed by now that the right-click menu has many more options than what has been discussed so far. These are the message types. The second block of options are messages that can be sent directly to the object highlighted, the third set of options are messages that can be sent to it's class.

I have filtered the table so I can see the Object Class:

Right click on the row button for Object Class and select "Print". Print was one of the first Object Code function to be built. Many messages need parameters filled in. A form pops up that allows the parameter values to be assigned. The Print message needs no parameters.

Once the parameters are filled, select Message in the menu bar and Transmit. The output of print goes to the Java Consol; here is the output:

Depending on the version, and wether the JIT compiler needs new class files you may get a few messages inserted into the output. They would look similar message to the following:

If the version is old, then the following fields will also belong to the Object Class. These were for a time when DBC classes mappeed to Java classes. They are not used in any existing version anymore.

Let us send a message that has parameters. This time we will locate the Class Class. In this version the Class Class just happens to be at the top of the class table. You may have to add a row filter to find it though.

Right click on the Class Class row button, and select "ListenToObject".

This message is meant to tell the object to listen to some other object for any broadcasts that may come from it. You can see that the message window is much like the object window, except it lacks the 1-Many tables, and there are no tabs. In this example there is a drop down box so that the listenee can be chosen.

When a choice has been made you can select Message and Transmit from the menu bar.

Conclusion

Sending messages to objects is quite simple. First, the list of messages responded to are listed in the context menu for easy indentification. Second, since a message is just an object, the SITH message window closely resembles the object window; simplifying the learning curve.