Using and Extending the DSDP Target Management Framework













































![CDT Launch Integration - API § Fill the Combo: § IHost[] hosts = System. CDT Launch Integration - API § Fill the Combo: § IHost[] hosts = System.](https://slidetodoc.com/presentation_image_h2/14f3e6727a10c05f2393f1641c8f177b/image-46.jpg)









- Slides: 55
Using and Extending the DSDP Target Management Framework Martin Oberhuber, Wind River Systems martin. oberhuber@windriver. com David Dykstal, IBM Web. Sphere david_dykstal@us. ibm. com DSDP/TM Project © 2006 by IBM and Wind River Systems; made available under the EPL v 1. 0 | 22 -March-2006
So what is Target Management all about? Remote Computer Systems… § Targets (Locally connected, shared, fielded) § Hosts (Grids, farms, nodes) … and developing software on them § Build, connect, get status § Download, run, debug, test § Upload An Eclipse Project under DSDP since June 2005. 2 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
The Ugly Truth: Reality Now § Type in IP addresses and config options § Again and again in each distinct tool § Manually configure JTAG scan chains § Hassle with Register settings and reset options § ftp, telnet, rsh, ssh § Work in two separate environments § With insufficient tooling on the remote system § No tool integrations from different vendors 3 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
The Vision You’ve got that new board from Yoyodyne ACME Plug it in… … and it just works like your local desktop computer 4 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
The Mission To become the standard tool environment for interacting with remote systems for software development 5 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
How do we get there? § Create a Framework for interoperability § Focus on tools for remote (potentially embedded) systems § Data models: standardized hardware descriptions, e. g. multi-core configurations, JTAG scan chain setup, memory layout § Configure and Manage: e. g. target groups, board labs, access restrictions, connection configurations shared in a team § Connection plug-ins: TCP/IP, Tunneling, Serial, JTAG connections – pluggable with fine granularity § Pluggable Actions and Services (Download, Launch, Query status, Autodetect services, Reboot, Flash utility, Remote console, …) § http: //www. eclipse. org/dsdp/tm/ § Overview, Scope and Use-Cases Document 6 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
And who are we, by the way? § CDT and Derivatives: Launches for remote systems § Want to share common target properties between Launches § Bugzilla 65471: Remote System Framework (RSF) code and presentation from Eclipse. Con 2005 § Commercial Debuggers migrating to Eclipse § Want a Target Manager again § Hardware Vendors § Want minimal open plug-ins for their hardware § Eclipse-based commercial Target Managers § Want open interfaces for interoperability § And a Community to grow Logos and trademarks are copyright by their respective owners. 7 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
Remote System Explorer § A component that has been shipping for several years in various IBM products § Used for accessing IBM server systems § RSE “ 8. 0” submitted to Eclipse in January 2006 § Will become RSE 1. 0 after EMO approval § Will form the base of the first DSDP/TM Release in September 8 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
Remote Systems Perspective 9 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
Pluggable Target System Types 10 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
Target System Instances 11 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
Subsystems manage resources of a particular kind 12 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
Filters select resources dynamically 13 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
Resources exposed by the filter 14 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
Properties of the selected resource 15 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
Table provides alternative view 16 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
File Resources can be directly edited 17 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
Remote File Systems can be searched 18 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
What’s in the box? § Resource Access § Remote files § “dstore” based or FTP § Remote search & archive support § Processes § “dstore” only § Commands & results § “dstore” based or Telnet § Access to Linux, Unix, and Local systems § All within a consistent, extendible framework 19 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
20 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
Structure - dstore 21 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
Extending RSE § Add New System Types § IBM has extended for their systems § Connection properties, wizards, connection schemes, character set conversions, … § Add New Subsystems § For accessing new types of remote resource (loads, memory regions, …) § Add New Actions and Properties for existing remote objects § By system type and/or file type 22 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
A New System Type – What’s Involved § Extension points § System Type § Subsystem implementations are assigned to System Types § These can be reused across System Types § System Types are just collections of services supplied by subsystems Example: Using only some of the existing services for a target 23 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
<extension point="org. eclipse. rse. ui. systemtype"> <type description="An XYZ System" icon="icons/system-xyz. gif" iconlive="icons/system-xyz-live. gif" id="org. eclipse. rse. examples. xyz" name="XYZ"/> </extension> 24 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
Causes a new system type to appear Which, in turn, allows it to be instantiated later 25 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
<extension point="org. eclipse. rse. ui. subsystem. Configuration"> <configuration systemtypes="XYZ" name="Files (FTP)" description="Manager for XYZ file system resources. " icon="icons/system-files. gif" iconlive="icons/system-files-live. gif" category="files" class="org. eclipse. rse. subsystems. files. ftp. FTPFile. Sub. System. Configuration" vendor="XYZ Mega. Corp" This class exists, just reuse id="ftp. files"> </configuration> </extension> 26 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
Causes this to appear for XYZ systems 27 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
This Linux target system shows up with 3 subsystems – using both dstore and FTP Our new XYZ target system shows up with 1 subsystem – using FTP 28 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
Subsystems – access to resources § Have a new kind of resource? Add a subsystem! § Extension Point – The subsystem configuration § Subsystems access resources through a service layer § Not required, but a suggested implementation § Useful if you have resources accessible by multiple protocols § Lifecycle § Connecting § Applying filters to resources § Definition persistence and sharing § Subsystem Properties, Filter Definitions, Saved Commands § Done through the System. Registry § Pluggable Persistence Managers 29 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
The Service “Layer” § Do you have an alternative way to access a resource (like a file) that already has a subsystem? § Just plug in a new service (well, sort of) § No Extension Point for services, instead… § Define a new subsystem configuration to act as a factory for the standard subsystem but connects that subsystem to the new service. § The new subsystem configuration contributed in the usual way § Standard subsystem defines the subsystem/service API § File, Shell, and Process subsystems defined in this manner 30 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
Current Packaging 31 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
A new implementation – FTP – What did we add? § Plugins § a service § a subsystem § Extension Points § a subsystem. Configuration § Resources and Adapters § A File Resource for FTP Files § An Adapter for this resource § Protocol § Wraps the FTP client library 32 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
<extension point="org. eclipse. rse. ui. subsystem. Configuration"> <configuration systemtypes="Linux; Unix; AIX" name="%Files" description="%Files. Description" iconlive="icons/full/obj 16/systemfileslive_obj. gif" icon="icons/full/obj 16/systemfiles_obj. gif" category="files" class="org. eclipse. rse. subsystems. files. ftp. FTPFile. Sub. System. Configuration" vendor="IBM Corporation" id="ftp. files"> We reused this before, this time we wrote it </configuration> </extension> 33 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
The protocol wrapper 34 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
These are the methods that FTPService defines. It implements the IFile. Service API. This is the largest class of the implementation and wraps the FTP library client to deliver FTPHost. File objects. 35 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
The new “factory” for FTP Subsystems 36 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
Connects the File. Service. Sub. System to a particular instance of an FTPService 37 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
Adapts FTPHost. File to have appropriate UI properties for the RSE Views 38 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
Speaking of Adapters…You can reuse RSE Adapters 39 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
Directly… 40 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
Or Indirectly 41 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
RSE for the Device world – what’s different? § Different Resource Types, e. g. Kernel Modules, Semaphores, Message Queues Register a new Subsystem! § Different communication protocols, e. g. minimal debug agents, hardware debuggers, standard protocols like ssh Register a new Service for existing Subsystems! § Slow connections RSE model objects can use Jobs for delayed updates. Each node has control over its update policy! The RSE Model is extremely flexible thanks to Adapters. RSE APIs will be evolved as we go along. 42 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
So what’s still missing? § Have a Framework for interoperability § Focus on tools for remote (potentially embedded) systems § Data models: basic Property. Set. Containers now, need more structured models, standardized hardware descriptions § Configure and Manage: connection configurations shared in a team, target groups, board labs, access restrictions § Connection plug-ins: TCP/IP, Tunneling, Serial, JTAG connections – pluggable with fine granularity § Pluggable Actions and Services (Download, Query status, Launch, Auto-detect services, Reboot, Flash utility, Remote console, …) 43 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
Next Steps § Add an RSE Service layer for the ssh protocol § Files Subsystem and Command subsystem will work immediately § Eclipse Committers can access dev. eclipse. org directly from within Eclipse (File Transfer, Remote Shell) § Provides a nice example for how to add more protocol support § Add a CDT Launch Integration § Polish the APIs 44 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
CDT Launch Integration § Will be provided as an RSE Example § Sample will use gdbserver; vendors will need to adapt to their specific debugger communication properties 45 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
CDT Launch Integration - API § Fill the Combo: § IHost[] hosts = System. Plugin. get. The. System. Registry(). get. Hosts(); § Filter by System type or connected status: § hosts[i]. get. System. Type(); § hosts[i]. is. Offline(); § Get or Set Properties: § Every RSE Model Object is a Property. Set. Container § hosts[i]. get. Property. Set(“gdbserver”). get. Property(“port”); § Create a new connection (lauches the Wizard) § new System. New. Connection. Action(shell, false, my. Combo). run() 46 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
CDT Launch Integration – Attach Action 47 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
Future: Component-Based Launching (CBL) § A Launch is really a sequence of Actions § Connect, Download, Reset, Run Script § The “Build before Launch” can also be seen as an Action § Allow to contribute actions and compose a Launching “script” § Launch “Scripts” can operate on one or multiple targets § Pre-configured Launches with an UI as we know § Flexible Launches configurable by the user 48 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
An FAQ: Where is the border between Target Management and Debugging? § TM provides a framework and “broker” for services to be registered. § Especially on Hardware Debug Connections, a debugger may register services as TM extension (TM on top of debugger) § Or, TM may provide communication channels for debuggers to use (debugger on top of TM; inter-debugger communications) § TM shows the entire target (e. g. all processes), debugger focuses on items of interest § TM does everything before a debug context is available: § Select proper target, check resource availability, reset, download, launch agent, … 49 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
Flexible Target Connection Adaptors (Connectors) Tool A Tool B Supply an interface to communicate with the target system Users are Eclipse IDE Connector plug-in Connection Device Target System • the debug model • an utility application like FLASH programmer • tool to view OS events • … Link to Processor 1 / Core X using connector channel 1 Link to Processor 1 / Core Y using connector channel 2 Link to Processor 2 using connector channel 3 50 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
TM Initiatives § Already started § Component-Based Launching § Standardized Hardware Descriptions - SPIRIT § Flexible Connector Chains (Target Connection Adapters) § Middle-term goals § Associations between Connection – Project – Build § Auto-detect protocols and services on remote systems § Inter-Debugger Communications § Connection Groups § Shared Board Labs and pluggable access control For Details, see http: //wiki. eclipse. org/DSDP/TM/ 51 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0 Logos and trademarks are copyright by their respective owners.
Target Management Base Architecture Services Actions (Download, Reset, Debug, Flash, …) Remote File system Predefined Elements Connectivity Launch Sequencer (CBL) Remote Process List Filters Views Remote Shell Reusable Widgets Predefined connection types (connector chains) Connection Configuration (Plumbing) Property Pages Wizards Autodetect Target Connection Adaptors (aka Connectors) Data Models Target Definitions Persistency Legend: 52 Existing components in RSE, Connection Groups Profiles Design TBD, Analysis TBD, Access Control Team Sharing Extension Point, Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0 Fixed implementation
TM and other Eclipse Projects § Eclipse Communication Framework (ECF) § Investigating for plugging in new protocols § Discovery / Autodetect § We will provide an RSE Example for ECF-based file sharing § Projects that do some sort of connection lists § Test and Performance Tools Platform (TPTP) § Web Tools Platform (WTP) § Platform Team Extras (FTP, Web. DAV) § … 53 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
Summary: Plans and Timings First Release (September 2006, on Eclipse 3. 2) § RSE – Release 1. 0 (Milestones available earlier) § CDT Remote Launch Integration – Release 1. 0 § Target Definition & Selection, “Remote Debug” Launch configuration Milestones 2006 -2007 § Standards based target connections (FTP, Telnet, ssh, ECF) § Component-Based Launching (CBL) § “Download” and “Run” Launch actions based on above services § Open Connectors for HW Debuggers (Preconfigured Connection Types) § Connection Model for HW Debugging (complex connector setup) Future § Connector plumbing algorithm § Framework for autodetect § Adapters for Target access control (shared board labs) § SSH tunneling connector 54 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0
Getting Involved § RSE is very flexible, with good basic abstractions § An option for your Project? § RSE is a well established product § Still, a lot of community feedback will be needed as we are freezing public APIs (Milestone 3: June 30 – API freeze) § Join the dsdp-tm-dev mailing list - http: //www. eclipse. org/dsdp/tm § Q & A – Join the DSDP BOF session 55 Using and Extending the DSDP Target Management Framework | © 2006 by IBM and Wind River Systems all content except logos and trademarks is made available under the EPL v 1. 0