Mobile Software Bus API

1.0 References

[1] Software Architecture Document, Version 1.1 Revision 1.4, LiMo Foundation, 11 September 2007

2.0 Overview

This document describes the API interface of the MSB (Mobile Software Bus).
Many objects such as GUI applications, managers, and engines are constituted on a mobile phone. To operate these objects together, a communication system that interfaces them is required. MSB provides a communication system that easily cooperates with the system and objects constituted on mobile phones. Using MSB with objects provides the following advantages:
  • The communication system does not depend on the operating system or device models. Each object can easily operate as the server or client as required.
  • The debug function of MSB makes debugging in object linkage easier.
  • Communication interfaces such as RPCs (Remote Procedure Calls) make synchronous and asynchronous communications with other objects operate like a library call. MSB can be used together with the GUI Toolkit to facilitate application development. MSB provides a functionality that registers objects into the system, deletes objects from the system, and executes an event loop. The developer can easily register or delete a self-object into or from the system by writing this functionality into the program. MSB provides a functionality that transfers object-defined events between objects.

2.1 Synchronous and Asynchronous Communication

Objects can perform RPC communication by using the synchronous communication mode. Synchronous communication reduces an object's load when the status of a communication changes. To use synchronous communication, the developer must design the system carefully because the operation of the sending object is locked until the response of the event that was sent from the sending object to the target object is received.
In addition to the above synchronous communication mode, the asynchronous communication mode is supported so objects can communicate with each other asynchronously. In asynchronous communication, control returns to the sending object without waiting for the response of the event that was sent from the sending object to the target object. Therefore, asynchronous communication is appropriate for event sending without waiting for its response and is appropriate for asynchronous operation between objects.
Asynchronous communication must be selected if it takes a long time to process events in the target object.

2.2 Operation of MSB Objects

The figure below indicates the basic use procedure for the object-operation functions described in MSB API.

Figure_1.png

Message Sequence Diagram: MSB Object Creation and Execution

2.3 Macro Support

No macros or constants are supported for object communication, event callback processing, or name resolution. Macros are supported for exception processing as discussed below.

2.4 Exceptions

The call interface from the client must always terminate with the exception reason information and the pointer to the MsbEnvironment structure. This interface has a simple format in which only the information indicating the exception type (_major) is specified as the exception information member.

3.0 Industry Standard

None

4.0 External API Documents

None

5.0 Plug-in Extension Point Interface

None

6.0 Other Interfaces

None

7.0 Other Notes

None
Generated on Mon Mar 31 01:01:00 2008 by  doxygen 1.5.4