229 convergence in device software
DESCRIPTION
EclipseCon session 229, Tuesday 1:30 PM, Room 207TRANSCRIPT
Convergence in Device SoftwareUse the TmL project to create tools
for mobile Linux developers
Eric CloningerProject LeadMotorola, Inc
Fabio RigoContributor
Eldorado Institute
Mauren BrennerCommitter
Eldorado Institute
About this Talk• Target Audience
– Developers creating Eclipse-based development products
• Embedded Linux• Desktop Linux• Non-Linux OS running IP-based services
– Developers needing tools to support their workflow– End-users who need VNC features in their workspace
• Scope– High-level overview– No code– Juggling and trivia games at the end
Agenda• Convergence• What is the TmL project• TmL technologies• TmL in a commercial product• Demonstrations• The Future of TmL• Working with the TmL project team• The Strength of Community• Q&A
con·ver·gence
kuh n-vur-juh ns - noun1. the occurrence of two or more things coming
together2. the approach of an infinite series to a finite limit3. a representation of common ground between
theories or phenomena4. the act of converging (coming closer)
WordNet® 3.0. Princeton University
“CALL 2009 THE YEAR of convergence”
http://tinyurl.com/amb4zr
Eclipse DSDP• A top-level project of Eclipse.org operating according to
its charter, conducting regular meetings, and operating transparently
• Sub-projects focused on the needs of device software, led by prominent companies in mobile and embedded– Motorola (Tools for Mobile Linux, Mobile Tools for Java)– Wind River (Device Debugging*, Target Management)– Texas Instruments (Real Time Software Components)– IBM (eRCP*)– Fujitsu (Native Application Builder)– Genuitec (the project formerly known as Firefly)
• Project leads committed to working within Eclipse Foundation policies and collaborating on joint efforts in the spirit of open source
* Moved to other top-level projects
DSDP/TmL
• Incubated in December 2006, driven largely by Motorola, with contributions from Montavista and Nokia
• Two releases to date (Oct 2008, Jan 2009)• Release 0.3 on Galileo train• Commercial-quality code being used in
products available today
TmL
Development Environment
Application
Mobile LinuxDevices
Tools
Tools
Frameworks
The objective of the Tools for Mobile Linux project is to help create a development environment that allow developers to easily create applications for mobile Linux devices.
TmL - The Big Idea™
More Than Mobile
While TmL is focused on enabling mobile developers targeting Linux, the tools and frameworks can be used by all developers and end users
TmL Technology
• Device framework• VNC Viewer plugin• Protocol framework• /proc Tools• Device Proxy
Device Framework
• A framework for defining the types of devices that can be simulated and/or communicated
• A mechanism for defining the states of execution and the transitions between those states
Device Framework
VNC Viewer Plug-in
• An implementation of the VNC protocol as a View inside Eclipse
• Any OS that implements the Remote Frame Buffer protocol over TCP/IP can be targeted
VNC Viewer Plug-in
Protocol Framework
• A framework that takes the definition of a client-server communication protocol from a number of extensions
• Executes the handshaking and sends and receives messages according to protocol specification
Protocol Framework
/proc tools
• Tools for accessing diagnostic information available in the /proc pseudo filesystem
Device Proxy
• A framework for exchanging data between external sources and simulated devices, where external sources can be represented by Eclipse Views
• Reference implementation of GPS• Early in the development phase
Device Proxy Architecture
Commercial Adoption of TmL
• Current– MOTODEV Studio for Linux (2008)– MOTODEV Studio for WebUI (2008, 2009)– Future MOTODEV Studio products
• Future– Montavista– Nokia– You?
Demonstrations
• VNC Viewer plugin in Eclipse Galileo showing Puppy Linux– QEMU (ARM Emulator)
• MOTODEV Studio for WebUI 1.0– Ganymede SR1– Motorola Linux (aka MOTOMAGX) on
VMware™
Courtesy of Michael Scharf @ Wind River
The future of TmL• Continue development of frameworks, protocols and
reference implementations• Continue on coordinated releases (trains)• Support the Android development community• Recruit contributors and committers from companies that
have interest in mobile & embedded Linux• Move some technologies out of TmL that have better fit
in other projects• Working with other Eclipse projects on common tools
needs for all Linux targets• Eventual goal of reaching maturity (v 1.0)
Working with the TmL TeamProject web site:http://www.eclipse.org/dsdp/tml
Project wiki:http://wiki.eclipse.org/DSDP/TML
Regular phone meetings:http://wiki.eclipse.org/DSDP/TML/TmLOpenPhoneMeetings
Developer mailing list:https://dev.eclipse.org/mailman/listinfo/[email protected]
TmL demo:http://wiki.eclipse.org/DSDP/TML/How_to_configure_TmL_demo
Contributions, Bug Reports, Suggestions using Bugzillahttps://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&classification=DSDP&
product=TmL
TmL Committers and Contributors
Christian KurzkeArchitect
Eric CloningerProject Lead
Eugene Melekhov
Contibutor
Yufen Kuo Contibutor
Mauren Brenner
Committer
Petr Baranov Contibutor
Fabio Fantato
Committer
Daniel Franco
Committer
Otavio Ferranti
Committer
Fabio RigoContibutor
Related Sessions
• DSDP Sub-Project Updates for Galileo – TmL New & Noteworthy (Tuesday, 2:30 PM)
• Embedded and Mobile Linux BOF– Tuesday 8:45 PM
Q&A