ToolTalk User's Guide
  Search only this book
Download this book in PDF

............................Table of Contents


1. Introducing the ToolTalk Service
1
..ToolTalk Scenarios 2
....Using the ToolTalk Desktop Services Message Set 2
....Using the ToolTalk Document and Media Exchange Message
.......Set 4
....Using the CASE Interoperability Message Sets 6
..How Applications Use ToolTalk Messages 8
....Sending ToolTalk Messages 8
....Message Patterns 8
....Receiving ToolTalk Messages 9
..ToolTalk Message Distribution 10
....Process-Oriented Messages 10
....Object-Oriented Messages 10
....Determining Message Delivery 10
..Modifying Applications to Use the ToolTalk Service 12

2. An Overview of the ToolTalk Service
13
..ToolTalk Architecture 13
..Starting a ToolTalk Session 15
....Background and Batch Sessions 17
....X Window System 17
....Locating ttsession 17
..Maintaining ToolTalk Files and Databases 18
..Demonstration Programs 18

3. Message Patterns
19
..Message Pattern Attributes 20
..Scope Attributes 22
....Scoping to a Session Only 22
....Scoping to a File Only 23
....Scoping to a File in a Session 24
....Scoping to a File and/or a Session 25
....Adding Files to Scoped Patterns 26
..Context Attributes 27
..Disposition Attributes 28

4. Setting Up and Maintaining the ToolTalk Processes
29
..Location of the ToolTalk Service Files 29
..Version 31
..Requirements 31
..Environment Variables 31
....ToolTalk Environment Variables 31
....Other Environment Variables 33
....Environment Variables Required to Start Programs on Remote
.......Hosts 33
....Using Context Slots to Create Environment Variables 35
..Installing the ToolTalk Database Server 35
....When the ToolTalk Service is Installed Elsewhere on the
.......System 36
..Running the New ToolTalk Database Server 37
..Redirecting the ToolTalk Database Server 37
....Redirecting the Host Machine 37
....Redirecting the File System Partition 38

5. Maintaining Application Information
41
..Installing Application Types 41
..Examining ToolTalk Type Information 43
..Removing ToolTalk Type Information 43
..Updating the ToolTalk Service 44
..Process Type Errors 44
..Using ttsnoop to Debug Messages and Patterns 45
....Composing and Sending Messages 48
....Composing and Registering Patterns 50
....Displaying Message Components 52
....Sending Pre-Created Messages 53
....Receiving Messages 54
....Stop Receiving Messages 54

6. Maintaining Files and Objects Referenced in ToolTalk Messages
..55
..ToolTalk-Enhanced Shell Commands 56
..Maintaining and Updating ToolTalk Databases 57
..Displaying, Checking, and Repairing Databases 57

7. Participating in ToolTalk Sessions
59
..Including the ToolTalk API Header File 59
..Registering with the ToolTalk Service 60
....Registering in the Initial Session 61
....Registering in a Specified Session 62
....Registering in Multiple Sessions 63
..Setting Up to Receive Messages 63
..Sending and Receiving Messages in the Same Process 64
..Sending and Receiving Messages in a Networked Environment 65
..Unregistering from the ToolTalk Service 65

8. Sending Messages
67
..How the ToolTalk Service Routes Messages 67
....Sending Notices 67
....Sending Requests 68
....Changes in State of Sent Message 69
..Message Attributes 69
....Address Attribute 70
....Scope Attributes 70
....Serialization of Structured Data 74
..ToolTalk Message Delivery Algorithm 74
....Process-Oriented Message Delivery 74
.....Object-Oriented Message Delivery 77
.....Otype Addressing 80
..Modifying Applications to Send ToolTalk Messages 80
.....Creating Messages 80
.....Adding Message Callbacks 87
.....Sending a Message 90
..Examples 91

9. Dynamic Message Patterns
93
..Defining Dynamic Messages 93
.....Creating a Message Pattern 95
.....Adding a Message Pattern Callback 95
.....Registering a Message Pattern 96
.....Deleting and Unregistering a Message Pattern 96
..Updating Message Patterns with the Current Session or File . 97
.....Joining the Default Session 97
.....Joining Multiple Sessions 98
.....Joining Files of Interest 99

10. Static Message Patterns
101
..Defining Static Messages 101
..Defining Process Types 101
.....Signatures 102
.....Creating a Ptype File 103
.....Automatically Starting a Tool 106
..Defining Object Types 107
.....Signatures 108
.....Creating Otype Files 109
..Installing Type Information 112
..Checking for Existing Process Types 112
..Declaring Process Type 113
..Undeclaring Process Types 115

11. Receiving Messages
117
..Retrieving Messages 117
.....Identifying and Processing Messages Easily 119
.....Recognizing and Handling Replies Easily 120
..Checking Message Status 120
..Examining Messages 120
..Callback Routines 123
.....Callbacks for Messages Addressed to Handlers 124
.....Attaching Callbacks to Static Patterns 125
..Handling Requests 125
.....Replying to Requests 125
.....Rejecting or Failing a Request 126
..Destroying Messages 127

12. Objects
129
..Object-Oriented Messaging 129
..Creating Object Specs 131
.....Assigning Otypes 131
.....Determining Object Specification Properties 132
.....Storing Spec Properties 132
.....Adding Values to Properties 132
..Writing Object Specs 132
..Updating Object Specs 132
..Maintaining Object Specs 133
.....Examining Spec Information 134
.....Comparing Object Specs 134
.....Querying for Specific Specs in a File 134
.....Moving Object Specs 136
..Destroying Object Specs 137
..Managing Object and File Information 137
.....Managing Files that Contain Object Data 137
.....Managing Files that Contain ToolTalk Information 138
..An Example of Object-Oriented Messaging 139

13. Managing Information Storage
143
..Information Provided to the ToolTalk Service 143
..Information Provided by the ToolTalk Service 143
..Calls Provided to Manage the Storage of Information 144
.....Marking and Releasing Information 144
.....Allocating and Freeing Storage Space 145
..Special Case: Callback and Filter Routines 146
.....Callback Routines 146
.....Filter Routines 147

14. Handling Errors
149
..Retrieving ToolTalk Error Status 150
..Checking ToolTalk Error Status 150
..Returned Value Status 150
..Returned Pointer Status 151
..Returned Integer Status 152
..Broken Connections 153
..Error Propagation 154

A. Migrating from the Classing Engine Database to the ToolTalk
..Types Database 155
..The ttce2xdr Script 155
..Converting the User Database 155
..Converting the System Database 156
..Converting the Network Database 157

B. A Simple Demonstration of How the ToolTalk Service Works
159
..Inter-Application Communication Made Easy 159
..Adding Inter-Operability Functionality 160
.....Modifying the Xedit Application 160
.....Modifying the Xfontsel Application 161
..We Have Tool Communication! 163
..Adding ToolTalk Code to the Demonstration Applications 166
.....Adding ToolTalk Code to the Xedit Files 166
.....Adding ToolTalk Code to the Xfontsel Files 174

C. The ToolTalk Standard Message Sets
181
..The ToolTalk Desktop Services Message Set 181
.....Why the ToolTalk Desktop Services Message Set was
........Developed 182
.....Key Benefits of the ToolTalk Desktop Services Message Set 182
..The ToolTalk Document and Media Exchange Message Set 182
.....Why the ToolTalk Document and Media Exchange Message Set
........was Developed 183
.....Key Benefits of the ToolTalk Document and Media Exchange
........Message Set 183
..General ToolTalk Message Definitions and Conventions 184
..Errors 187
..General ToolTalk Development Guidelines and Conventions . 188
.....Always Make Anonymous Requests 189
.....Let Tools Be Started as Needed 189
.....Reply When Operation has been Completed 190
.....Avoid Statefulness Whenever Possible 190
.....Declare One Process Type per Role 190
..Developing ToolTalk Applications 191
..Messaging Alliances 193

D. Frequently Asked Questions
195