ITS Transit Standards Professional Capacity Building Program

Module 4: Transit Communications Interface Profiles (TCIP), Part 2 of 2: Structure and Elements of TCIP - Accessing TCIP via TIRCE and TCIP Tools

HTML of the Student Supplement

(Note: This document has been converted from the Student Supplement to 508-compliant HTML. The formatting has been adjusted for 508 compliance, but all the original text content is included, plus additional text descriptions for the images, photos and/or diagrams have been provided below.)

Module 4: Transit Communications Interface Profiles (TCIP), Part 2 of 2: Structure and Elements of TCIP—Accessing TCIP via TIRCE and TCIP Tools

Table of Contents

Introduction/Purpose - 2

Examples - 3

Case Study - 7

TCIP Resources - 9

Glossary - 10

References - 13

Study Questions - 13

Module Description

This course is the second of a two-module set on Transit Communications Interface Profiles (TCIP). It introduces transit agency staff and vendors to the suite of tools needed to access and efficiently use the TCIP standard to create data exchange interfaces among various transit business systems. These tools are available as free downloads from the American Public Transportation Association (APTA). Information in this module will allow transit agency staff and vendors to apply a standards-based framework for procurement and deployment of Intelligent Transportation Systems (ITS) to better manage transit agency operations and assets, and to better serve customers.

This course describes the suite of tools that are provided to make the TCIP standard accessible to users. The module focuses on how to access TCIP using TCIP Implementation, Requirements and Capabilities Editor (TIRCE), and uses case studies to illustrate how TCIP and the suite of tools can be used in procuring ITS for a transit agency.

1. Introduction/Purpose

Transit Communications Interface Profiles (TCIP) was developed to be the ITS standard for transit management communications. This module introduces TCIP as a standard framework for exchanging data among various modules and systems used by transit agencies, which may be supplied by different vendors. TCIP capabilities include providing a library of data elements, data frames, messages, and dialogs that can be implemented using Extensible Markup Language (XML).

Although the TCIP standard can be read and used as a stand-alone document, APTA has developed a suite of tools to access and use TCIP in procuring and testing TCIP-compliant transit business systems. TIRCE is an application that allows a user to access TCIP documentation, and create and document TCIP-compliant XML interfaces between systems using a library of TCIP data elements, data frames, and messages. TIRCE allows a user to create a Profile Requirements List (PRL), which is a statement that specifies selected data and message components, defines the interface, and tailors the interface to the specific application needed. The PRL can be used by a transit agency to specify TCIP requirements in a systems procurement. TIRCE also allows a user to create a Profile Implementation Conformance Statement (PICS), which will test an interface to determine how well a particular product conforms to the requirements stated in the PRL. APTA also developed a series of tools for users to build and test TCIP encoded messages. The tools include a TCIP Message Builder and a Test Console that can simulate TCIP-compliant data exchanges between devices. The test console contains an Interrogator that simulates a device requesting TCIP encoded data and a Responder that simulates a device providing TCIP encoded data in response to a request.

2. Examples

Figure 1 shows the various layers of the "communications stack" for machine-to-machine communication. Each layer adds information needed to facilitate the exchange of data. TCIP is used in the top layer (Layer 7: Application). XML is used in the next layer (Layer 6: Presentation).

Figure 1. Open Systems Interconnection (OSI) Model

Open Systems Interconnection (OSI) Model. Please see the Extended Text Description below.

(Extended Text Description: The figure contains the following text:

Open Systems Interconnection (OSI) Model
7. Application Layer - Message Format - TCIP is used in this layer
6. Presentation Layer - Encryption/decryption - XML is used in this layer
5. Session Layer - Manages connection between computers
4. Transport Layer - Creates segments or "packets" of data
3. Network Layer -Addressing and routing
2. Data Link Layer - Access to physical layer, error detection
1. Physical Layer - Electrical properties of connection

This illustration of TCIP Building Blocks shows the distinction between "what" information is exchanged and "how" the information is exchanged.

Figure 2. Illustration of TCIP Building Blocks

TCIP Building Blocks. Please see the Extended Text Description below.

(Extended Text Description: Figure 2 Illustration of TCIP Building Blocks. Author’s relevant notes: TCIP Building Blocks. This figure shows a series of boxes arranged in a hierarchy below a line. The hierarchy starts with a box at the bottom representing data elements. This box is linked to boxes above it with arrows representing the buildup of higher levels of structure for data. These levels represent data frames and messages. These boxes represent what data is being transferred. The message box just below the line represents "messages" the highest level of the "what" that is being transferred. Above the line are boxes that represent how data is transferred. Messages are linked by arrows crossing the line to a box representing file based transfers and to a box representing dialogs. A box representing dialog patterns feeds into the dialog box. The dialog box in turn feeds a box representing dialog-based transfers.)

A Data Element is an atomic piece of information related to a person, place, thing, or concept. Examples of data elements include:

A Data Frame is a grouping of data elements and other data frames to describe more complex concepts. The groupings help organize information to describe or identify objects or concepts in the real world.

Examples of data frames include:

An example of a TCIP Message is the CptStoppointList message. The CptStoppointList message contains all or part of an agency’s bus stop inventory. Individual message instances are included in files and used as the basis of TCIP file transfers. The message is shown below as it appears in TCIP Volume II.

Figure 3. TCIP Message Example

TCIP Message Example. Please see the Extended Text Description below.

(Extended Text Description: The figure contains the follow text:

C.319 Message SchTimepointList {Sch 2007}

Use:

Provide a specified version of timepoint information

Remarks:

A timepoint may be used in more than one pattern.

An agency may decide to include all timepoints for the agency within a timepoint version, or to limit a version to the timepoints included on a route or group of routes, however all timepoints referenced in a pattern list (SchPattemList message) must be included in the version of the timepoints referenced by that pattern list. The update-thru field that the information provided reflects all updates thru the indicated date/time. This message can be used to convey changes to a timepoint list version since a specified time. In such a case, the update-since field indicates the date/time from which updates are provided. The deleted-timepoints field indicate timepoints deleted from the list since update-begin.

ASN1:

SchTimepointList ::= SEQUENCE {

subscriptionlnfo CPTSubscriptionHeader,

languages CPTLanguageList OPTIONAL,

update-since CPT-DateTime OPTIONAL,

timepointVersion SCH-TiinetableVersionID OPTIONAL,

effective CPT-DateTime,

expires CPT-DateTime OPTIONAL,

timepoints SEQUENCE (SIZE(1..10000)) OF SCHTimepointlnfo OPTIONAL,

deleted-timepoints SEQUENCE (SIZE(1..25000)) OF SCHTimepointlden OPTIONAL

}|

The following dialogs use this message:

Publish Timepoint List

A TCIP Dialog is the highest level of TCIP. A dialog specifies an operational purpose, the dialog pattern to be used, the messages to be used with the specified dialog pattern, and any special conditions or constraints associated with the implementation of the specific dialog. A dialog may also specify relationships with other dialogs, such as an assumption that another dialog was previously executed.

Figure 4. TCIP Dialog Example

TCIP Dialog Example. Please see the Extended Text Description below.

(Extended Text Description: The figure contains the following text:

D.147 Dialog Publish Timepoint List

Use:

Allows a subscriber to obtain timepoint information by effective date/time or version number. The subscriber can determine the required timepoint effective date/version number using the Publish Master Schedule Version dialog.

Remarks:

The dialog may be used to re quest updates to a timepoint list since a specified date/time if the subscriber has previously obtained the complete timepoint list with the specified effective date or version number.

Dialog Contents

Message Role File Transfer
SchTimepointListSub Request No
SchTimepointList Response Yes
CptSubErrorNotice ErrorResponse No

Dialog Row Updates

Message Field Data Frame
SenTimepointList timepoints SCHTimepointInfo

Figure 4 shows how a typical dialog is described in the TCIP Standard. The text describes how the dialog is used and the sequence of messages in the exchange. In this example, the initial message is from the subscribing component to the publishing component. The publishing component then sends a message with the requested data, or sends an error message.

A TCIP Dialog Pattern is a description of a message exchange between two or more entities, including the rules associated with the exchange. Generally, the same pattern can be used to convey more than one type of information. For example, a Publication could convey schedules or alarm information.

Publish-Subscribe dialogs are among the most common. Figure 5 illustrates several dialog patterns for subscribe-publish dialogs. Dialog variations accommodate single exchanges or repeated exchanges. If a subscription period was initially specified by the subscriber, the publisher will keep track and after the specified number of exchanges, the subscription will be cancelled by the publisher. The subscribing component can cancel the subscription at any time. The top two figures show the dialog exchange if the publisher is unable to fulfill the subscriber’s request and issues an error message. Figure 5 shows the dialog exchange if the publisher can provide the data the subscriber is requesting.

Figure 5. Diagram Illustrating Publish-Subscribe Dialog Pattern

Diagram Illustrating Publish-Subscribe Dialog Pattern. Please see the Extended Text Description below.

(Extended Text Description: Figure 5 Diagram Illustrating Publish Subscribe Dialog Pattern. Author’s relevant notes: Periodic Dialog Patterns. The graphic shows the systems exchanging data as rectangles on each side. The system on the left is a subscriber. The system on the right is a Scheduling System, which is a publisher. Arrows between the rectangles, like tilted rungs on a ladder, illustrate the message flows in the dialog in time sequence starting at the top. Dialog patterns define a sequence of actions in a generic format that can be reused. This example shows the operation of the Publish Subscribe Dialog Pattern. The subscriber requests information using a Query Message In a normal execution, the publisher responds with the requested. Depending on the content of the query, there may be a single answer or an ongoing set of answers. An ongoing set of answers is appropriate when the requested information changes on an ongoing basis (e.g., vehicle location). In an abnormal execution, the subscriber requests the information and if the publisher determines the information is unavailable, then the subscriber is not authorized. As a result, the publisher returns an error message.)

3. Case Study - How TIRCE Is Used

TCIP Implementation, Requirements and Capabilities Editor (TIRCE) - The TIRCE tool provides a step-by-step process to navigate and tailor an agency’s requirements when procuring a TCIP-compliant system. It simplifies the process of selecting the appropriate information exchanges needed for systems to communicate with each other by customizing a subsystem’s interfaces.

As shown in Figure 6, five tabs are used to create a Profile Requirements List (PRL) document or a Profile Implementation Conformance Statement (PICS) document. TIRCE will prompt the user for information at each of the five tabs.

Figure 6. Graphic Depiction of the Five Tabs of TIRCE

Graphic Depiction of the Five Tabs of TIRCE. Please see the Extended Text Description below.

(Extended Text Description: Figure 6 Graphic Depiction of the Five Tabs of TIRCE. Author’s relevant notes: This slide shows a laptop computer on the left with arrows pointing to five boxes each labeled with one of the five tabs of TIRCE. Starting at the top with Tab 1, Profile Information, arrows lead to the next box below, Tab 2 Component Selection, and then to succeeding boxes for each tab. There are five tabs to create a Profile Requirements List (PRL) document or Profile Implementation Conformance Statement (PICS) document. TIRCE will prompt the user for information at each of the five tabs. Tab 1 Profile Information includes overall information such as agency name and project name. Tab 2 Component Selection allows the user to select specific components between which data will be exchanged and for which an interface must be specified. Tab 3 Interface Definition allows the user to select the TCIP dialogs and file transfers that each interface will use. These services describe the message traffic that will occur between Project Component and its External Component. Tab 4 Interface Tailoring walks the user through a series of questions designed to help them specify the details of the information that will be exchanged across the interfaces. This step helps the user populate individual message fields within the communications selected for their project. Tab 5 Document Creation – at any point in the process, the user can select the Document Creation tab to see a version of the document created up to that point. Once all interfaces have been identified and tailored, the user is given the opportunity to check their newly created document for errors and export it in MS-Word format.)

Tab 1 Profile Information includes overall information such as agency name and project name.

Tab 2 Component Selection allows the user to select specific components between which data will be exchanged and for which an interface must be specified.

Tab 3 Interface Definition allows the user to select the TCIP dialogs and file transfers that each interface will use. These services describe the message traffic that will occur between the Project Component and its External Component.

Tab 4 Interface Tailoring walks the user through a series of questions designed to help specify the details of the information that will be exchanged across the interfaces. This step helps the user populate individual message fields within the communications selected for their project.

Tab 5 Document Creation allows the user at any point in the process to see a version of the document created up to that point. Once all interfaces have been identified and tailored, the user is given the opportunity to check the newly created document for errors and export it in MS Word format.

TCIP Tool Suite

Figure 7 illustrates the sequence of tool use and explains the output after each stage, starting with defining interfaces and comparing vendor responses with procurement documents using TIRCE, developing the TCIP messages and dialogs using the message builder, interrogator, and responder, and finally verifying compliance with the standard. The TCIP Interrogator and the TCIP Responder together are referred to as the "TCIP Test Console."

Figure 7. Typical Sequence for Using TCIP Tools

Typical Sequence for Using TCIP Tools. Please see the Extended Text Description below.

(Extended Text Description: Figure 7 Typical Sequence for Using TCIP Tools. Author’s relevant notes: This graphic shows items in three columns which illustrate the typical sequence in which TCIP tools are used and the purpose of each. Column one shows stages in the process. Column two show boxes labeled with the TCIP tools that are used. Column three shows the capability provided by each tool in the sequence. Starting at the top: "Interface Definition" is accomplished using the tool "TIRCE" which produces "Requirements Definition," Interface Specification, "and TCIP Compliant Documentation." The second stage, "Procurement," is accomplished using the tool "TIRCE," which produces an "Automated Comparison of Vendor Responses to RFP Requirements." The third stage, "Development" uses three TCIP tools, "TCIP Message Builder," TCIP Interrogator," and "TCIP Responder." These tools provide "Simulation Capability," TCIP Message Generation," and Data Logging/Viewing" The fourth stage, "Verification" uses the tool "TCIP Interrogator," which produces an "Automated TCIP Compliance Verification.")

4. TCIP Resources

Downloads:

Where do I get them?

Download FREE from:

Training:

National Transit Institute Course - Integrating Transit Applications: Defining Data Interfaces Using TCIP

NTI has a two-day course that covers the material presented in both TCIP modules. The course provides hands-on practice in using TIRCE.

You can register for any NTI course by going to www.ntionline.com and clicking the "Courses" link, selecting the course you are interested in, and then selecting the nearest offering. If there are no offerings available, you can always contact the program coordinator listed on the course description page for more information.

5. Glossary

Term Definition
Agency ITS Architecture The repository for capturing and documenting the agency’s legacy and planned business systems, legacy interfaces, and the TCIP interfaces. The agency ITS architecture may specify a series of development phases for the agency ITS.
Agency Specification A document prepared by an agency to define requirements for a subject item or process when procured by the agency.
APTA American Public Transportation Association. Serves and leads its diverse membership through advocacy, innovation, and information sharing to strengthen and expand public transportation.
Compliance A condition that exists when an item meets all of the requirements of an agency specification.
Concept of Operations A document that describes the purpose of a system project, including a description of the current and proposed system, as well as key user needs that the new system is required to address.
Conformance A condition that exists when an item meets all of the mandatory requirements as defined by a standard. It can be measured on the standard as a whole, which means that it meets all mandatory (and applicable conditional) requirements of the standard, or on a feature level (i.e., it conforms to feature X as defined in section X.X.X), which means that it meets all mandatory (and applicable conditional) requirements of the feature.
Data Element An atomic piece of information related to a person, place, thing, or concept. For example, CPT-PersonFirstName and CPT-Footnote are data elements.
Data Frame A grouping of data elements primarily for the purpose of referring to a group with a single name, and thereby efficiently reusing groups of data elements that commonly appear together (as an ASN.1 Sequence, Sequence Of , or Choice) in a TCIP message. This data concept type may also be used to specify groups of data elements for other purposes. A data frame may contain other data frames as well as data elements.
Data Repository A business system in a transportation organization whose primary function is to accept and store agency data, which may include the output of other business systems, and to make the data available to authorized business systems on demand. Some repositories may combine data from different business systems and provide the results on request, or may process the data and provide the processed result to authorized business systems.
Dialog An ordered sequence of message exchanges between two or more entities. The rules of the exchange are defined by a dialog pattern. Messages specific to the type of exchange are specified by the dialog.
Dialog Pattern A description of a message exchange between two or more entities, including the rules associated with the exchange. Generally, the same pattern can be used to convey more than one type of information. For example, a Publication could convey schedules or alarm information.
File Transfer An information transfer effected between two computers by having one computer write information to a file, moving the file to the other computer, and having the second computer read the file. In the case of a TCIP file transfer, the file is an XML document consisting of a single TCIP message.
Interface The point of interaction between a business system, subsystem, or component and any other entity.
LRMS Location Referencing Message Specification. SAE Standard J2266. Standardizes location referencing for ITS applications that require the communication of spatial data references between databases or computer applications.
Message A grouping of data elements and/or data frames intended to be transmitted as a complete package of information in one direction.
Model Architecture A generic representation to illustrate the range of intelligent transportation systems and interfaces within a transit agency as well as the interfaces between the agency and other agencies and/or private entities.
National ITS Architecture Provides a common framework for planning, defining, and integrating intelligent transportation systems.
Profile A specification that formally captures an information technology need of an organization.
Profile Implementation Conformance Statement (PICS) A document used to specify the TCIP interface(s) associated with an implementation. The PICS lists the TCIP dialogs, TCIP message file transfers, and options supported by the implementation along with other detailed information about the interface.
Profile Requirements List (PRL) A document used to specify an agency’s requirements for the TCIP interface(s) associated with a new or upgraded system. The PRL lists the TCIP dialogs, TCIP message file transfers, and options required for the interface along with other detailed interface information.
Regional ITS Architecture A common framework for planning, defining, and integrating intelligent transportation systems within a metropolitan region.
Scheduling System A business system that creates transit schedules and organizes planned trips within that schedule into operator and vehicle assignments.
Timepoint A point along a public transit vehicle’s route where the vehicle’s scheduled time to traverse that point is identified in the schedule. Timepoints may be defined and not used in the schedule, or may be used in more than one route.
Transit Business System A fixed computer application within the Model Architecture that performs a particular business function or group of related functions.
TCIP Implementation, Requirements and Capabilities Editor (TIRCE) A software application to document agency requirements and specifications for TCIP interfaces, vendor product capabilities, and allow the capabilities to be compared with the requirements.
Transit Signal Priority (TSP) A TCIP business area related to obtaining preferential treatment for public transit vehicles at signalized intersections.

6. References

"Concept of operations" - Wikipedia, the free encyclopedia Accessed July 12, 2014

"Integrating Transit Applications: Defining Data Interface Requirements Using TCIP - Participant Workbook" Accessed September 23, 2014

ITS PCB T3 Webinars on ITS Transit Standards t3 archives.aspx

J. Fayos, draft "NTI Instructor Materials: Integrating Transit Applications: Defining Data Interfaces Using TCIP," NTI, August, 2013

"NTI Instructor Materials: Integrating Transit Applications: Defining Data Interfaces Using TCIP," Power Point Presentation, NTI, February, 2012

7. Study Questions

1. Which of the following is defined in a TCIP dialog?

  1. How data are stored and translated
  2. How data are formatted
  3. How systems present data to human users
  4. How messages are sequenced

2. Which statement best characterizes a Profile Requirements List (PRL)?

  1. A PRL includes a Diff function
  2. A PRL is developed by the vendor
  3. A PRL specifies the size of the files in the data exchange
  4. A PRL is developed by the agency

3. Which of the following statements about data elements is correct?

  1. A data element can include a data frame
  2. A data element can only include integers
  3. A data element cannot be used to identify a person
  4. A data element can be used to represent a concept

4. Which statement best characterizes a TCIP identifier?

  1. Uses a shorthand code to represent an item
  2. Identifier identifies a TCIP-generated message
  3. Identifies a unique data frame
  4. Always includes a string designator to identify an item

5. Which of the following is not included in the preparation of a Profile Requirements List (PRL)?

  1. Profile information
  2. Component selection
  3. Vendor conformance
  4. Interface tailoring

6. Which of the following statements about the underlined TCIP tool function is FALSE?

  1. Interrogator simulates a client component requesting data
  2. Responder simulates a server providing data
  3. Test console corrects errors in XML schema
  4. TIRCE (Diff function) compares a PICS with a PRL

7. Which one of the following lists includes only normative elements of TCIP?

  1. Dialogs, TIRCE, model architecture
  2. TIRCE, dialogs, XML schema
  3. Dialogs, XML schema, data elements
  4. Model architecture, dialogs, XML schema