MTJ architecture

This section provides information on the general architecture of MTJ.

MTJ overview

MTJ implementation is modularized into different Eclipse plug-ins. These plug-ins are published by MTJ Core plug-in. Also, all the common MTJ classes are assembled inside the MTJ Core plug-in. An MTJ functionality implementation component (MTJ Extension) is therefore created as an Eclipse plug-in that extends one or more MTJ extension points, and is dependent on the Core plug-ins. The figure below illustrates MTJ implementation.

MTJ extension points can be divided by their functionality into three categories : MTJ Core’s defined extension points in layer categories and corresponding Java interfaces are:
MTJ Framework Plug-in Extension Points: Eclipse-dependent Plug-in Extension Points: Standalone Plug-in Extension Points: Dependencies between different extension implementations follow the three layers that come from the categorization.

For example, the Device Management extension, which belongs to Extendable Frameworks extension points layer, uses the Device Platform Provider and Device Description Provider extensions, which are Service Extension points layer’s implementation.
All the extension point definitions use MTJ’s common data structures. Implementation of them is based on Eclipse Modeling Framework (EMF).
 
MTJ Core Model and enumerations
MTJ common data model implementations are done with EMF. The detailed Rose model of the implementation can be found in Eclipse CVS. The figure below illustrates the locations of the model in the Eclipse CVS:

For general Eclipse CVS directions, go to http://wiki.eclipse.org/index.php/CVS_Howto.
 
Valid value-groups of different attribute types are defined as enumerations inside the corresponding Java class. Current definitions for MTJ UML/EMF enumerations are defined in the figure below.

Admin Gui Provider
MTJ Development IDE depends on MTJ Core Plug-in. It also publishes a new extension point, the Admin GUI Provider, that is used to add new functionalities to MTJ Development IDE. All MTJ extension point implementers, like the Device Platform Provider, that need Administration GUIs, must implement the Admin GUI Provider extension point.

Runtime management framework

Build process framework

Package creation framework

Security management framework
Signing framework

Deployment framework


Checking out MTJ code from CVS


APIs for runtime management network

APIs for build process framework

APIs for package creation framework

APIs for security management framework

APIs for signing framework

APIs for deployment framework