Runtime management framework

This section provides information on the MTJ device and mobile runtime platforms and on MTJ device and project interfaces.

DEVICE PLATFORM AND RUNTIME PLATFORM
Device Platform contains of one or more Device instances. MTJ plug-in does not know whether the Devices are device emulators or real devices, because the plug-in extension point API hides all implementation details. Device Platform also consists of the Device Platform Configuration. These values are installation –specific and can and must be set by the Device Platform’s user (i.e. emulator’s installation directory). The figure below illustrates the UML for the device platform.

Device contains of Device Description and Device Configuration. Device Description is described in Device Description Provider –section. Configuration represents those values that are installation –specific. Device has also a Runtime Platform Definition that describes the environment that the device is capable to run on. Runtime Platform consists of Device Configuration, Device Profile, Service APIs and JVM Implementation.
 
Device Configuration defines used configuration (e.g. CDC or CLDC) and its version. Device Profile defines used profile (e.g. MIDP) and its version. Service APIs are either APIs that are defined in Device Profile, or APIs of optional Services that the Device’s OS is supporting. Runtime Platform Definition is always based on defined JVM Implementation. Service API object contains the standardized service name and it’s version, for example WMA 1.1, MMAPI 1.1 or Location API 1.0. Service API has also reference to the JAR Library that implements the API. Also, Device Configuration has a reference to the JAR Library that implements the functions. Also, the JVM Impl object contains the JVM name and its version. The figure below illustrates the UML for the Runtime Platform.

Import sequence for the device platform
In the MTJ IDE environment, the Runtime Platform Definition creates and collects the entire target Mobile Device Configuration, Mobile JVM, and its libraries and Device Profile related service APIs and their libraries.
The MTJ IDE enables the Runtime Platform Definition to be tailored for the developer needs, for example allowing you to select which service APIs are enabled and which are disabled.. Also, you can enable the Device Configuration and Profile selection, if the target mobile SDK enables that.
The figure below illustrates the device platform import sequence.

Currently, there are two separate DevicePlatform import providers, one Generic UEI for, for example, the SUN WTK and the other for Nokia based mobile SDK device platforms. Both use UEI for accessing the mobile SDK emulator.exe and for getting the SDK's information to the Device Platform. The architecture allows adding new DevicePlatform providers that, for example, do not use UEI for accessing the SDK emulator.

Device Platform provider interface
Target environments are seen as Device Platforms by the MTJ environment. Device Platform’s type can be an emulator platform or a real device platform. The Device Platform implements the following functionalities: The interface for the Device Platform provider is illustrated in the figure below.

Device definition

Device Definition shows basic capabilities of devices. Every Device Description instance represents one real device and is identified by vendor name and device model. Capabilities could be device configuration, device profiles or services API that are supported by the device. Capabilities could also be, for example,  color depth, screen size, canvas size, camera resolution, supported data exchange protocol, heap size, max jar size, operating system, supported video format or supported sound format.

Device Groups represent a group of devices that have similar capabilities. The groups capabilities are same as the Device Descriptions’. Device Group also has a name and a description that helps to realize the group's devices' capabilities.

 

MTJ Project

Mobile Project development is targeted to devices that have certain Device Configuration and Device Profile. Therefore MTJ’s Project has also Device Configuration and Device Profile defined. It’s possible to select a set of Service APIs to the Project. Based on the selected set of APIs corresponding Jar libraries are added to the project. Project always has the default device, that matches to the Project's definitions. That default device also gives the needed Jar libraries to the Project.

 


MTJ architecture


MTJ development examples


APIs for runtime management network