© 2008 by wind river; made available under the epl v1.0 | 19-nov-2008 tcf the target communication...
DESCRIPTION
3TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008 Cross Development Communication with “target”: Download (of executables) Start/Stop Execution Debugging Tracing Monitoring …TRANSCRIPT
![Page 1: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/1.jpg)
© 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008
TCFThe Target Communication Framework
Michael Scharf, Wind Riverwiki.eclipse.org/DSDP/TM/TCF_FAQ
![Page 2: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/2.jpg)
2 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Credits
• Idea: Felix Burton (Wind River), Eugene Tarassov (Wind River)
• Original implementation Eugene Tarassov
![Page 3: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/3.jpg)
3 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Cross Development
• Communication with “target”:• Download (of executables)• Start/Stop Execution• Debugging• Tracing• Monitoring• …
![Page 4: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/4.jpg)
4 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Today: Incompatible Agent Solutions
UI
Target
Tool A Tool B Tool C Tool D
Agent A Agent B Agent C
Value Add B
Value Add CHost P1
P3
P2
![Page 5: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/5.jpg)
5 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Bad for the User
UI
Target
Tool A Tool B Tool C Tool D
Agent A Agent B Agent C
Value Add B
Value Add CHost P1
P3
P2
? ? ?
![Page 6: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/6.jpg)
6 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Bad Design!
UI
Target
Tool A Tool B Tool C Tool D
Agent A Agent B Agent C
Value Add B
Value Add CHost
![Page 7: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/7.jpg)
7 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Limited eco system
• Too many different tools agents and protocols
![Page 8: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/8.jpg)
8 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Design Goals of TCF
• Framework provides common infrastructure communication protocol Agent: “Service container” Proxying
• Tools can use services in uniform way• Service implementers can focus on functionality
![Page 9: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/9.jpg)
9 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
TCF - Core Design Ideas
• Service knows best how to represent the system get information from there and data-drive layers above If not possible, put the knowledge in the lowest possible layer
and data drive the layers above
• Use the same protocol end-to-end allow value-adding servers to intercept select services
• Services as building blocks E.g. target agent, OCD, simulator Avoid tools specific agents
• Support high latency communication links
![Page 10: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/10.jpg)
10 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Service 4
Service 5
TCF: Common agent and protocol
Tool A Tool B Tool C Tool D
TCF Agent
Value Add
UI
Target
Host
Service 1 Service 2 Service 3
![Page 11: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/11.jpg)
11 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Peer is a Communication endpoint
Service 4
Service 5
Tool A Tool B Tool C Tool D
Value Add
UI
Target
Host
Service 1 Service 2 Service 3
TCF Agent
![Page 12: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/12.jpg)
12 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Service
Service 4
Service 5
Tool A Tool B Tool C Tool D
TCF Agent
Value Add
UI
Target
Host
Service 1 Service 2 Service 3
![Page 13: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/13.jpg)
13 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Message Channel
Service 4
Service 5
Tool A Tool B Tool C Tool D
TCF Agent
Value Add
UI
Target
Host
Service 1 Service 2 Service 3
TCF Channel
TCF Channel
![Page 14: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/14.jpg)
14 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Channels and Messages
• Communication between peers use channels• Channels abstract/hide the transport layer
Currently TCP Possible: RS232, JTAG, USB etc
• Channels transmit Messages
![Page 15: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/15.jpg)
15 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
TCF Communication Protocol
• Message A packet of data Transmitted over communication channel
• Multiple channels per peer
• Proxying/Tunneling Message forwarding “Decorator” can intercept communication “Value-add” services (e.g. debug info) No protocol conversion needed
![Page 16: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/16.jpg)
16 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
The TCF Message Types
• Command (send) Request some action on remote peer
• Progress Long running commands may send “progress ticks”
• Result (reply) Remote peer sends one result for each command!
• Event Notify a change
• Flow control prevent congestion
![Page 17: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/17.jpg)
17 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Command
• Command is a message • Sent to remote peer• Remote peer must send one Result for each Command!
![Page 18: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/18.jpg)
18 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Result
• Result is a message Data, Errors
• Sent as a response to a command• Remote peer sends one Result per Command!
![Page 19: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/19.jpg)
19 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Commands are Asynchronous
• Sender of a command returns immediately Fast on high latency connections
• Sender receives results asynchronously
![Page 20: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/20.jpg)
20 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Event
• Event is a message • Notification about state changes
![Page 21: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/21.jpg)
21 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Message order guaranteed on channel
• Keep state of remote peer• Without message ordering no consistent state• Ordering per channel and direction
Command X=1Result
X=1Event
X=2Command X=3
Event X=4
Result X=3
Event X=5
![Page 22: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/22.jpg)
22 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Flow Control
• Prevent congestion
![Page 23: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/23.jpg)
23 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Service 4
Service 5
TCF: Layered View
Tool A Tool B Tool C Tool D
TCF Agent
Value Add
UI
Target
Host
Service 1 Service 2 Service 3
![Page 24: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/24.jpg)
24 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Communication Layers
Channel
Messages
Services
Transport Layer (e.g. TCP/IP)
![Page 25: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/25.jpg)
25 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Transport Layer: Byte Stream
Channel
Messages
?????????????????????????????????????????????
Services
Transport Layer (e.g. TCP/IP)
![Page 26: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/26.jpg)
26 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Channel: Message Stream
Messages
??????????????????????????????????????????Channel
Services
??????????????????????????????????????????????Transport Layer (e.g. TCP/IP)
![Page 27: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/27.jpg)
27 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Messages: Command Result Event Flow
Messages
??????????????????????????????????????????
C 17 SysMonitor getChildren ??????
??????????????????????????????????????????????
Channel
Transport Layer (e.g. TCP/IP)
Services
![Page 28: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/28.jpg)
28 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Message Type
Messages C 17 SysMonitor getChildren ??????
Message Type
??????????????????????????????????????????
??????????????????????????????????????????????
Channel
Transport Layer (e.g. TCP/IP)
Services
![Page 29: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/29.jpg)
29 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Token
Messages C 17 SysMonitor getChildren ??????
Token: Channel Unique
To identify Result
??????????????????????????????????????????
??????????????????????????????????????????????
Channel
Transport Layer (e.g. TCP/IP)
Services
![Page 30: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/30.jpg)
30 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Service Id
Messages C 17 SysMonitor getChildren ??????
Service id
??????????????????????????????????????????
??????????????????????????????????????????????
Channel
Transport Layer (e.g. TCP/IP)
Services
![Page 31: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/31.jpg)
31 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Command Name
Messages C 17 SysMonitor getChildren ??????
Command name
??????????????????????????????????????????
??????????????????????????????????????????????
Channel
Transport Layer (e.g. TCP/IP)
Services
![Page 32: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/32.jpg)
32 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Arguments (byte array)
Messages C 17 SysMonitor getChildren ??????
Arguments (byte array)
??????????????????????????????????????????
??????????????????????????????????????????????
Channel
Transport Layer (e.g. TCP/IP)
Services
![Page 33: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/33.jpg)
33 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Argument Representation: e.g. JSON
Messages
C 17 SysMonitor getChildren [“p123”]
C 17 SysMonitor getChildren ??????
??????????????????????????????????????????
??????????????????????????????????????????????
Channel
Transport Layer (e.g. TCP/IP)
Services
Marshalling: JSON
![Page 34: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/34.jpg)
34 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
getChildren in JavaC 17 SysMonitor getChildren [“p123”]
R 17 [“p124”, “p125”]
![Page 35: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/35.jpg)
35 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
The 5 TCF Messages
Command C • <token> • <service> • <command> • <arguments>
Progress P • <token> • <progress_data>Result R • <token> • <result_data>Event E • <service> • <event> • <event_data> Flow F • <traffic_congestion_level> •
![Page 36: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/36.jpg)
36 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Value-add
Service 4
Service 5
Tool A Tool B Tool C Tool D
TCF Agent
Value Add
UI
Target
Host
Service 1 Service 2 Service 3
![Page 37: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/37.jpg)
37 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Required service: Locator
• Used to discover peers• Peer lifecycle events• When connected peers can list its services
![Page 38: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/38.jpg)
38 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Auto Discovery
• Discovers Peers and Services
• Simplifies setup Client UI can easily find peers and discover services
• TCF comes with a simple UDP auto discovery Other mechanisms possible and optional
![Page 39: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/39.jpg)
39 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Prototype implementation
• Lightweight C-based agent Minimal agent has < 4000 lines of C code Minimal impact on the target
• Eclipse plug-ins Java TCF implementation to access service
![Page 40: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/40.jpg)
40 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
TCF Services
• Run Control Service• Breakpoints Service• Memory Service• Registers Service
• Processes Service• Stack Trace Service• System Monitor Service • File System Service
![Page 41: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/41.jpg)
41 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Use Case: SimpleJtagDevice
• ProtocolTCP/IP
• ServicesService Manager (returns fixed list of services)Debug (run-control, breakpoint, memory access)Possibly Others (flash programming, download,
etc)• No Dynamic Addition or Removal of Services• No Multiplexing (single client)• No Forwarding• No Dynamic Discovery
41
![Page 42: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/42.jpg)
42 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Use Case: TestExceutionAgent
• ProtocolDepends on OS configuration and board
• ServicesService Manager (returns fixed list of services)Process launch and killStandard I/O redirectionFile system access
• No Dynamic Addition or Removal of Services• No Multiplexing (multiple clients)• No Forwarding• No Dynamic Discovery
42
![Page 43: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/43.jpg)
43 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Use Case: LinuxUserModeAgent
• Protocol Typically TCP/IP, but depends on OS configuration and
hardware• Services
Service Manager Debug (run-control, breakpoint, memory access) OS Awareness (process/thread list, CPU utilization, etc) Process launch and kill Standard I/O redirection File system access
• Possibly Dynamic Addition or Removal of Services• Possibly Multiplexing (multiple clients)• Possibly Forwarding• Possibly Dynamic Discovery
43
![Page 44: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/44.jpg)
44 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
RSE sample
• Process service• File service
![Page 45: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/45.jpg)
45 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
TCF Debugging example
![Page 46: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/46.jpg)
46 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Specification Status
• Review of current and specification of additional services in power.org and Eclipse
![Page 47: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/47.jpg)
47 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Links
• TCF source repository http://www.eclipse.org/dsdp/tm/development/tcf-anonymous.psf svn://dev.eclipse.org/svnroot/dsdp/org.eclipse.tm.tcf/trunk http://dev.eclipse.org/viewsvn/index.cgi/org.eclipse.tm.tcf
/?root=DSDP_SVN• FAQ
http://wiki.eclipse.org/DSDP/TM/TCF_FAQ Has links to all Documentation:
Getting Started (less than what we did) Protocol Specification (messages, events, JSON) Services description Agent description
47
![Page 48: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/48.jpg)
48 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
?
![Page 49: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/49.jpg)
49 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
![Page 50: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/50.jpg)
50 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
TCF vs. ECF
• TCF is a Protocol independent of API
• ECF is an API independent of Protocol
![Page 51: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/51.jpg)
51 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
TCF and the OSI Layers
7 Application Layer
6 Presentation Layer
5 Session Layer
4 Transport Layer
3 Network Layer
2 Data Link Layer
1 Physical Layer
Channel + Messages
JSON
Services
![Page 52: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/52.jpg)
52 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
TCF as Layer 3 and 4
7 Application Layer
6 Presentation Layer
5 Session Layer
4 Transport Layer
3 Network Layer
2 Data Link Layer
1 Physical Layer
JSON
Services
Channel + Messages
![Page 53: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/53.jpg)
53 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
![Page 54: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/54.jpg)
54 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Use Case: SimpleJtagDevice
• Debug (run-control, breakpoint, memory register)• Possibly Others (flash programming, download, etc)
![Page 55: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/55.jpg)
55 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Use Case: TestExceutionAgent
• Process launch and kill• Standard I/O redirection• File system access
![Page 56: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/56.jpg)
56 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008
Use Case: LinuxUserModeAgent
• Debug (run-control, breakpoint, memory, register)• OS Awareness (process/thread list, CPU utilization,
etc potentially with value-add)• Process launch and kill• Standard I/O redirection• File system access• Monitoring (event-config, event-log)
![Page 57: © 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5a4d1b437f8b9ab0599a218d/html5/thumbnails/57.jpg)
57 TCF: The Target Communication Framework | © 2008 Wind River; made available under the EPL v1.0 | Eclipse Summit Europe | Nov 2008