Deployment
Device
Device Management
Management
Implementation
Implementation
MTJ
MTJ Core
Core
Plug-in
Plug-in
Device
Device
Platform
Platform
1: getImplementations(Device Management)
return: DeviceManagement [ ]
2: getDevices(devicePlatformName)
3: getImplementations(Device Platform)
return: DevicePlatformProvider [ ]
4: getDevices()
return: Device [ ]
5: getImplementations(Device Description)
return: DeviceDescriptionProvider [ ]
6: getDeviceDescription( String vendor, String model)
return: DeviceDescription
return: Device [ ]
Device
Device
Description
Description Impl.
Impl.
Device Platform,
i/f
Device Platform
DevicePlatform
getName() : String
getDevices() : Device[]
getConfiguration() : PlatformConfiguration
setConfiguration(PlatformConfiguration config)
deploy(Deployment application, DeviceDeployment[] devices)
run(String application, String deviceName)
debug(String application, String deviceName, DebugConfiguration debugConfig)
isDebugEnabled() : boolean
isAccessable() : boolean
getTypeInfo() : DevicePlatformType
openPreferencesDialog()
isPreferencesDialogAvailable() : boolean
openUtilitesDialog()
isUtilitesDialogAvailable() : boolean
getRuntimePlatformDefinitions() : RuntimePlatform Definition[]
DevicePlatformType
type
Configuration
1..*
1..*
1..*
0..*
Device
ConfigurationError
name : String
description : String
errorType
description
ConfigurationItem
name
+item label
description
1 value
validValues : String[]
Device
Screen
width
height
isColor
bitDepth
isTouch
Device
+screen
name : String
description : String
1..*
1..*
DeviceCommunicationProtocol
+runtimes
1..*
Configuration
1..*
ConfigurationItem
0..*
name
+item label
description
1 v alue
v alidValues : String[]
ConfigurationError
errorTy pe
description
Runtime Platform
Device
1..*
name : String
description : String
+runtimes
ImplementationRef
1..*
supports
EmulatorDevice
fileRef : String
sourceRef : String
javadocRef : String
name
1..*
RealDevice
model
+apis
DeviceProfile
JVM Ref
name
profile name
profile versi on
fileRef : String
sourceRef : String
j avadocRef : String
1..*
Java API
name
version
defines
1..*
isExpanding
DeviceProfileAPI
OptionalServiceAPI
1
Device OS Application UI
JavaVirtualMachine
Specification
defines
(from mtj)
1..*
DeviceConfiguration
Specification
0..1
name
configuration name
configuration version
1..*
+specification
Device OS Application
0..*
implements
+javaRuntime
1..*
0..*
1
JavaVirtualMachine Implementation
(from mtj)
isUsing
Device OS
DeviceComfiguration Implementation
name
version
(from mtj)
1..*
0..*
Project
Java API
name
version
1..*
ImplementationRef
+apis
fileRef : String
sourceRef : String
javadocRef : String
DeviceConfiguration Specification
name
configuration name
configuration version
1
1..*
DeviceProfile
Project
1
+runtimes
1..*
0..*
1..*
Device
1..*
name : String
description : String
JVM Ref
fileRef : String
sourceRef : String
javadocRef : String
+javaRuntime
1
JavaVirtualMachine Implementation
1 name
profile name
profile version
Code Editor
Code Editor internal
architecture
8
tbd
Project
LEGEND:
APIs
APIs
Project
Project
DC
1..n
Library Jar
D
P
D
P
D
C
D
C
Library Jar
Device
DP
Projects defined
Device Profile
APIs
D
C
DP
Projects defined
Device Configuration
Devices Device
Configuration
Devices Device
Profile
APIs
Mobile Project development is targeted to devices that have certain Device Configuration and Device
Profile. Therefore MTJs Project has also Device Configuration and Device Profile defined.
Its 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 default device that matches to the Projects definitions. That default device also gives
the needed Jar libraries to the Project.
10