integrating mobile devices and emulators onto the eclipse ide with tml
TRANSCRIPT
![Page 1: Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL](https://reader035.vdocument.in/reader035/viewer/2022071602/613d6460736caf36b75cc95e/html5/thumbnails/1.jpg)
© 2008 by Motorola, Inc.; made available under the EPL v1.0 | 18 March 2008 | Long Talk
IntegratingMobile Devices and Emulatorsonto the Eclipse IDE with TmL
Christian Kurzke
TmL Team Lead
Fábio FantatoMauren Brenner Daniel Franco
![Page 2: Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL](https://reader035.vdocument.in/reader035/viewer/2022071602/613d6460736caf36b75cc95e/html5/thumbnails/2.jpg)
Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL | © 2008 by Motorola, Inc.; made available under the EPL v1.0
Tools for mobile Linux (TmL)
• History
� December 2006: creation review
� March 2007: short talk at EclipseCon 2007
� Source code available in CVS repository
• Objective
� Provide support for development of mobile applications on the Eclipse IDE
• Related projects
� CDT, all other DSDP subprojects (MTJ, NAB etc.)
![Page 3: Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL](https://reader035.vdocument.in/reader035/viewer/2022071602/613d6460736caf36b75cc95e/html5/thumbnails/3.jpg)
Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL | © 2008 by Motorola, Inc.; made available under the EPL v1.0
Project Scope
• Current scope
� Device Framework supporting devices and emulators
� VNC Viewer for display visualization
• Future scope
� Simulated end-to-end environment
![Page 4: Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL](https://reader035.vdocument.in/reader035/viewer/2022071602/613d6460736caf36b75cc95e/html5/thumbnails/4.jpg)
Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL | © 2008 by Motorola, Inc.; made available under the EPL v1.0
TmL and TM (future)
• TM: Target Management, another DSDP subproject
� RSE: Remote Systems Explorer
� Adapters
![Page 5: Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL](https://reader035.vdocument.in/reader035/viewer/2022071602/613d6460736caf36b75cc95e/html5/thumbnails/5.jpg)
Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL | © 2008 by Motorola, Inc.; made available under the EPL v1.0
TmL Components
� Integration of devices and emulators to Eclipse IDE
� Supports real, physical devices
� Supports device emulators
� Graphic display visualization capabilities
� SWT component
� VNC client (VNC protocol, also known as RFB)
• Device Framework
• VNC Viewer
![Page 6: Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL](https://reader035.vdocument.in/reader035/viewer/2022071602/613d6460736caf36b75cc95e/html5/thumbnails/6.jpg)
Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL | © 2008 by Motorola, Inc.; made available under the EPL v1.0
Device Framework
• Generic framework� Extension point mechanism
� Generic classes and interfaces
• Target users� Device vendors
� Emulator developers
� SDK developers, where SDKs often include emulators
• Sample implementations
http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.tml.device/?root=DSDP_Project
![Page 7: Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL](https://reader035.vdocument.in/reader035/viewer/2022071602/613d6460736caf36b75cc95e/html5/thumbnails/7.jpg)
Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL | © 2008 by Motorola, Inc.; made available under the EPL v1.0
Definition of “Device”
• A device means a piece of hardware with a certain purpose or functionality, e.g. a mobile phone, a set-top box, a single board computer etc
• Abstract description of a device or emulator� Real, physical device
� Emulator
• Device plug-in • Device or emulator properties• Provides a wizard to create instances
• Contains components used by all instances
�Scripts
�Binaries
![Page 8: Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL](https://reader035.vdocument.in/reader035/viewer/2022071602/613d6460736caf36b75cc95e/html5/thumbnails/8.jpg)
Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL | © 2008 by Motorola, Inc.; made available under the EPL v1.0
Definition of “Service”
• A service is the implementation of functionalities or capabilities offered by each device
• Framework can provide common services
• Device services: start, stop, reset, halt, flash
• Emulator services: start, stop, restart, deploy
• Service plug-in
� Contains service-specific components
� Scripts
� Wizards
![Page 9: Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL](https://reader035.vdocument.in/reader035/viewer/2022071602/613d6460736caf36b75cc95e/html5/thumbnails/9.jpg)
Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL | © 2008 by Motorola, Inc.; made available under the EPL v1.0
Device Framework Architecture
Eclipse Platform
VNC ViewerDevice Framework
Device A
Emulator A
Simulator A
Start
Stop
Reset
Halt
Viewer
Tools for mobile Linux - TmL
TmL Services
TmL Devices
![Page 10: Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL](https://reader035.vdocument.in/reader035/viewer/2022071602/613d6460736caf36b75cc95e/html5/thumbnails/10.jpg)
Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL | © 2008 by Motorola, Inc.; made available under the EPL v1.0
Extension Points
org.eclipse.tml.device
org.eclipse.tml.service
org.eclipse.tml.serviceDefinition
org.eclipse.tml.state
![Page 11: Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL](https://reader035.vdocument.in/reader035/viewer/2022071602/613d6460736caf36b75cc95e/html5/thumbnails/11.jpg)
Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL | © 2008 by Motorola, Inc.; made available under the EPL v1.0
Device Extension Point
org.eclipse.tml.device
![Page 12: Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL](https://reader035.vdocument.in/reader035/viewer/2022071602/613d6460736caf36b75cc95e/html5/thumbnails/12.jpg)
Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL | © 2008 by Motorola, Inc.; made available under the EPL v1.0
Service Extension Point
org.eclipse.tml.service
![Page 13: Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL](https://reader035.vdocument.in/reader035/viewer/2022071602/613d6460736caf36b75cc95e/html5/thumbnails/13.jpg)
Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL | © 2008 by Motorola, Inc.; made available under the EPL v1.0
Device and Service Plug-ins
![Page 14: Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL](https://reader035.vdocument.in/reader035/viewer/2022071602/613d6460736caf36b75cc95e/html5/thumbnails/14.jpg)
Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL | © 2008 by Motorola, Inc.; made available under the EPL v1.0
Service Definition Extension Point
org.eclipse.tml.serviceDefinition
serviceDefinition
service
state
![Page 15: Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL](https://reader035.vdocument.in/reader035/viewer/2022071602/613d6460736caf36b75cc95e/html5/thumbnails/15.jpg)
Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL | © 2008 by Motorola, Inc.; made available under the EPL v1.0
State Extension Point
org.eclipse.tml.state
OffIdle
Connected
StartConnect
Disconnect
Stop
Stop
• Example states
� Off
� Idle
� Connected
• State extensions
� Each developer can create
one’s own set of states
DemoDeviceStartServiceStopServiceConnectServiceDisconnectService
example services
![Page 16: Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL](https://reader035.vdocument.in/reader035/viewer/2022071602/613d6460736caf36b75cc95e/html5/thumbnails/16.jpg)
Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL | © 2008 by Motorola, Inc.; made available under the EPL v1.0
State Transitions
org.eclipse.tml.serviceDefinition
OffIdle
Connected
Start Connect
Disconnect
Stop
Stop
DemoDeviceStartServiceStopServiceConnectServiceDisconnectService
• There is a set of state transitions for each device and service
![Page 17: Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL](https://reader035.vdocument.in/reader035/viewer/2022071602/613d6460736caf36b75cc95e/html5/thumbnails/17.jpg)
Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL | © 2008 by Motorola, Inc.; made available under the EPL v1.0
An Example Device Plug-in
Developer workbench
User workbench
![Page 18: Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL](https://reader035.vdocument.in/reader035/viewer/2022071602/613d6460736caf36b75cc95e/html5/thumbnails/18.jpg)
Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL | © 2008 by Motorola, Inc.; made available under the EPL v1.0
Creating Instances of a Device Plug-in
Instance creation wizards
Instance properties page
Instance view
![Page 19: Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL](https://reader035.vdocument.in/reader035/viewer/2022071602/613d6460736caf36b75cc95e/html5/thumbnails/19.jpg)
Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL | © 2008 by Motorola, Inc.; made available under the EPL v1.0
Device Properties and Instance Properties
Properties.config
<instance>
<host>127.0.0.1</host>
<port>5900</port>
</instance>
<emulator>
<parameters>
<param id=”1" name=”-L” value=”.” />
<param id=”1" name=”-m” value=”256” />
<param id=”1" name=”-vnc” host=”y” />
</parameters>
<location read-only=”y”>
<path>/qemu/bin</path>
<bin>run.bat</bin>
</location>
</emulator>
Instance properties
Device Properties
• Editable using Preferences page
• A set of properties per device plug-in
• Rules according to XML definition
• Rules according to XML definition
• Editable using Properties page
• Saved as metadata in workspace
![Page 20: Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL](https://reader035.vdocument.in/reader035/viewer/2022071602/613d6460736caf36b75cc95e/html5/thumbnails/20.jpg)
Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL | © 2008 by Motorola, Inc.; made available under the EPL v1.0
VNC Viewerhttp://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.tml.vnc/?root=DSDP_Project
![Page 21: Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL](https://reader035.vdocument.in/reader035/viewer/2022071602/613d6460736caf36b75cc95e/html5/thumbnails/21.jpg)
Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL | © 2008 by Motorola, Inc.; made available under the EPL v1.0
VNC Viewer Architecture
• SWT component
� Graphical display viewer
� Can be used standalone or within an Eclipse view
• VNC client
� VNC protocol (or RFB, Remote Frame Buffer)
� “Feeds” the SWT component
VNC Framework
Generic
Protocol
Definition
Remote Display
Definition
Protocol Graphical ToolKit
VNC Component
![Page 22: Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL](https://reader035.vdocument.in/reader035/viewer/2022071602/613d6460736caf36b75cc95e/html5/thumbnails/22.jpg)
Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL | © 2008 by Motorola, Inc.; made available under the EPL v1.0
VNC Viewer: Ideas for the Future
• Configurable skins
• Multiple displays
• Keyboard maps
• Extensible protocol
![Page 23: Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL](https://reader035.vdocument.in/reader035/viewer/2022071602/613d6460736caf36b75cc95e/html5/thumbnails/23.jpg)
Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL | © 2008 by Motorola, Inc.; made available under the EPL v1.0
Demohttp://wiki.eclipse.org/DSDP/TML/How_to_configure_TmL_demo
![Page 24: Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL](https://reader035.vdocument.in/reader035/viewer/2022071602/613d6460736caf36b75cc95e/html5/thumbnails/24.jpg)
Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL | © 2008 by Motorola, Inc.; made available under the EPL v1.0
Simulated End-to-End Environment (future)
• Complete network infrastructure
• Connection among mobile devices as well as back-end servers
• Network nodes are devices and emulators implemented by means of the Device Framework
• Suitable environment to test mobile enterprise applications
• A potential testbed for innovative applications
![Page 25: Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL](https://reader035.vdocument.in/reader035/viewer/2022071602/613d6460736caf36b75cc95e/html5/thumbnails/25.jpg)
Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL | © 2008 by Motorola, Inc.; made available under the EPL v1.0
Where Could TmL Be Useful?
![Page 26: Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL](https://reader035.vdocument.in/reader035/viewer/2022071602/613d6460736caf36b75cc95e/html5/thumbnails/26.jpg)
Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL | © 2008 by Motorola, Inc.; made available under the EPL v1.0
TmL Project Resources
Project web site:
http://www.eclipse.org/dsdp/tml
Project wiki:
http://wiki.eclipse.org/DSDP/TML
Users newsgroup:
eclipse.dsdp.tml
Developer mailing list:
CVS repositories:
http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.tml.device/?root=DSDP_Projecthttp://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.tml.vnc/?root=DSDP_Project
TmL demo:http://wiki.eclipse.org/DSDP/TML/How_to_configure_TmL_demo
Suggestions and contributions are welcome! ☺
![Page 27: Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL](https://reader035.vdocument.in/reader035/viewer/2022071602/613d6460736caf36b75cc95e/html5/thumbnails/27.jpg)
Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL | © 2008 by Motorola, Inc.; made available under the EPL v1.0
Questions & Answers