ITS Transit Standards Professional Capacity Building Program
Module 9: Arterial Management and Transit Signal Priority: Specifying Requirements for Signal Control Priority (SCP) Based on NTCIP 1211 Standard, Part 2 of 2
HTML of the Course Transcript
(Note: This document has been converted from the transcript to 508-compliant HTML. The formatting has been adjusted for 508 compliance, but all the original text content is included.)
Mac Lister: ITS Standards can facilitate the deployment of interoperable ITS Systems, and make it easier to develop and deploy regionally integrated transportation systems. However, these benefits can only be realized if you know how to write them into your specifications and test them. This module is one in a series that covers practical applications for promoting multimodalism and interoperability in acquiring and testing standards-based ITS Transit Systems for public transportation providers.
I am Mac Lister, Program Manager Knowledge and Technology Transfer in the ITS Joint Program Office of the USDOT, and I want to welcome you to our newly redesigned ITS Transit Standards Training Program, of which this module is a part. We have worked closely with the Federal Transit Administration and the American Public Transportation Association to develop this material. We are also pleased to be working with our partner, the Institute of Transportation Engineers to deliver this new approach to training that combines web-based modules with instructor interaction to bring the latest in ITS learning to busy professionals like you.
This combined approach allows interested professionals to schedule training at your convenience, without the need to travel. After you complete this training, we hope that you will tell colleagues and customers about the latest ITS Standards and encourage them to take advantage of the archived version of these webinars.
ITS Standards Training Program is one of the offerings of our updated Professional Capacity Building, PCB, Training Program. Specific to Transits and Industry domain to promote the use of ITS Transit Standards, such as TCIP, Automated Fair Collection, and Transit Management to name a few. Through the PCB Program, we prepare professionals to adopt proven and emerging ITS technologies that will make surface public transportations system safer, smarter, and greener, which improves the livability for us all. The series of online courses based on ITS Transit Standards is in addition to a 35 module series available for free on ITS Standards for practitioners in the State and the local highway agencies, and transit agencies. You can find information on additional modules and training programs on the USDOT website at www.pcb.its.dot.gov.
Please help us to continue to make improvements to our training modules through the evaluation process. We look forward to hearing your comments. Thank you again for participating, and we hope you find this module helpful.
Jeffrey Spencer: ITS Transit Standards help simplify the complexities, overcome procurement challenges, and reduce costs of acquiring ITS Systems. I would like to use a simple example to explain how this approach to ITS Transit Standards is analogous to our day-to-day life. Imagine that when buying a computer, and you want to buy an upgrade, a printer, or anything else, that you must always buy that same brand at an exorbitant price. Of course, this is not the case, because standards have been successfully implemented to allow interoperability. Similarly, transit standards have been developed by transit professionals like you at a national level to encourage competition and limit costs within our industry. I am Jeffrey Spencer, ITS Team Leader in the Office of Research, Demonstration, and Innovation of FTA within the USDOT. And I would also like to welcome you to this ITS Transit Standards Training. FTA actively supports the development and implementation of transit standards, and we hope that you find this series of online courses a useful tool in promoting standardization. We look forward to your participation and input.
Patrick Chan: Welcome to ITS Transit Standards Professional Capacity Building Program. This is Module Number 9, Arterial Management and Transit Signal Priority Understanding, Requirements for Signal Control Priority, or SCP, based on an NTCIP 1211 Standard, and this is Part 2 of 2.
Throughout the presentation, this Activity slide will appear indicating there is a multiple choice pop quiz following this slide. You will use your computer mouse to select your answer. There is only one correct answer. Selecting the Submit button will record your answer and the Clear button will remove your answer if you wish to select another answer. You will receive instant feedback on your answer choice.
And I am your instructor for this module. My name is Patrick Chan. And I've been involved in the development of ITS Standards since the year 2000. I was the consultant that developed the current version, Version 2, of NTCIP 1211, Object Definitions for Signal Control Priority, which the majority of this module is based on. I've also been involved with other development of other ITS Standards, including NTCIP 1202, Project Definitions for Actuated Signal Controllers.
We'll first start off by reviewing the target audience for this course. So the participant can self-assess whether they should participate in the whole course. Transit planning, operations and maintenance staff, the users of this system, to better understand the capabilities of a signal control priority system. Includes the traffic management operation staff who manage the arterial systems; transit and traffic procurement staff and specification writers who are responsible for specifying and implementing signal control priority. The target audience also includes transit electronic maintenance staff who maintains the equipment, and who wish to better understand the function of each component in a Signal Control Priority System. Integrated corridor management project and operations team to better understand the capabilities of a Signal Control Priority System; and transit technology vendors, including device manufacturers responsible for providing the hardware and software systems that support arterial management strategies; and also transit ITS contractors and consultants.
Module 1, Introduction to ITS Transit Standards; Module 2, Transit Management Standards, Part 1; and Module 3, Transit Communications Interface Protocols, or TCIP, are recommended for all participants. Module 4 and 5 are also recommended for project managers and project engineers. It is assumed that all participants have a general knowledge or overview of transit functions, and a knowledge of basic concepts of transit management standards. Module 8, Arterial Management and Transit Signal Priority, Part 1, however, is a prerequisite for this module, because this module builds on the concepts that were taught in Part 1. That module introduced the purpose of Signal Control Priority; the components that make up a Signal Control Priority system; and the transit user needs that are adjusted by Transit Signal Priority, which is a subset of Signal Control Priority. Note that decision maker path does not need to take this module, unlike Module 8, which provided an overview of the capabilities of a signal control priority system, this module is much more technical in nature. To find any of these modules, please go to http://www.pcb.its.dot.gov.
So the graphic on this slide contains the same information as the table in the previous slide, but also shows the path and recommended sequence of modules for project managers before taking this specific module. Similarly, this graphic shows the recommended sequence of transit modules before project engineers, it actually ends up being the same path.
So let's go on to the learning objectives. Upon completing this course, the participant should be able to: 1) Describe requirements included in the NTCIP 1211 Standard, 2) Use a tool, called a Protocol Requirements List to specify requirements, 3) Show how to achieve interoperability and interchangeability using the Requirements Traceability Matrix, which can be found in the NTCIP 1211 Standard; explain the NTCIP 1211 SNMP interface and dialogs, 5) Explain how to incorporate requirements not covered by the NTCIP 1211 Standard, and 6) We're going to review a fictitious case study where we specify requirements for an SCP system. So Learning Objective 1, this module focuses on how to use NTCIP 1211 Standard to develop a procurement specification for transit signal priority system. We present the requirements that are supported by NTCIP 1211 Standard. This section of module introduces the standard, and demonstrates how a table or a tool in the standard called a Protocol Requirements List can be used to define the user needs and the requirements in a procurement specification for a Signal Control Priority System. Then the module presents the requirements that are supported by the standard.
Well, first, let's review what is Signal Control Priority? Signal control priority is an operational strategy that provides preferential treatment—priority—to facilitate the movement of fleet vehicles through signalized intersections. A fleet vehicle could be an emergency vehicle responding to incident; a transit vehicle that's behind schedule; and/or a commercial fleet vehicle, a freight, a truck filled with cargo near a port. Thus Transit Signal Priority is actually just a subset of signal control priority. Without Signal Control Priority, all vehicles are treated equally at a signalized intersection, without consideration to the type of vehicle or to perceived value of the vehicle, such as passengers or number of passengers on the transit vehicle, or the goods the vehicle is traveling or the emergency vehicle that's responding to an incident.
Next let's review the components of an SCP System. An SCP System consists of three primary components. There is something called a Priority Request Generator that sends a signal, a request for a signal priority to a Priority Request Server. And then in return receive the status of that priority request back from the Priority Request Server. The Priority Request Server receives the priority request from different Priority Request Generators, prioritizes the different priority requests received based on information in each priority request, and then sends a service request to the Coordinator. And then receives the status of the service request from the traffic signal controller and forwards the status of each priority request back to the Priority Request Generator. The Coordinator has primary responsibility for processing the service request received from the Priority Request Server and providing signal priority as appropriate. From the viewpoint of Standards, there's a fourth component that is the Management Station. The Management Station is the computing platform that manages the NTCIP field components, such as a Priority Request Server or Coordinator. The Management Station could be a traffic management center software, or maintenance laptop that a field technician may use to maintain the component. If you need to review these components more in detail, please go back to Module 8 again.
As we mentioned in the beginning, the module focuses on the NTCIP 1211 Standard. However, Part 1 of this module, Module 8, only focused on the user needs, the components, and the architecture of signal control priority system, but never fully introduced NTCIP and what it is. So we'll do that now. NTCIP is actually a family of standards for ITS, Intelligent Transportation Systems. It can be categorized into two types of standards. Information level standards that define the data to be exchanged; and the underlying standards that define how data is exchanged through lower-layer protocols. An analogy that we can use is the English language. There are information level standards in the English dictionary, which defines the words that can be used—that we use to communicate. The underlying standards, on the other hand, is the grammar, which defines the rules of communicating. How we form sentences and the media for communicating, such as it's a written language, spoken, or perhaps even sign language. What's shown in the figure is the NTCIP framework. The top level, the information level contains the functional area, the data dictionaries that can be defined into two categories: Center-to-Center data dictionaries which is for Center-to-Center communications, and the NTCIP data dictionaries which is for Center to field. So NTCIP 1211 is a Center-to-Field standard. And there are other different other standards of NTCIP family, but we're not going to focus on those. So when using a specified NTCIP 1211, the underlying standards also have to be specified. But again, we're focusing only on NTCIP 1211. If you want more information, there's something called NTCIP Guide, and that should be in the student supplement that'll explain more about the NTCIP family of standards.
So NTCIP 1211 for Communications Interface, Information Level Standard, it defines part of communications interface between two components. For NTCIP 1211, it can be part of communications interface between a management station, again, like a TMC software, or a laptop they connect to the field device, and a Priority Request Server. Between a Management Station and a Coordinator, which is normally the traffic signal controller. Between a Priority Request Generator and a Priority Request Server, and between a Priority Request Server and a Coordinator.
A little history on NTCIP 1211. It was—the first version was first published in May, 2008. Second version was published in September, 2014. The second version, Version 2, added systems engineering process content. In other words, it included user needs, requirements, and the design elements. It simplified a process of specifying the standard, because the standard is based on the needs of the procuring agency. So based on what you need, based on your requirements, this is how you would use the standard, what parts of the standard you needed. Based on those needs, such as ability to send a priority request, the standard defined the possible requirements supported by the standard that satisfied those user needs. Each of those requirements are then fulfilled by specific designs as defined by the standard. In addition to added systems engineering content, Version 2 also corrected a potential time reference problem, and several other errors and ambiguities that were discovered in NTCIP 1211 Version 1.
So this slide shows the table of contents for NTCIP 1211 Version 2, so the user can gain familiarity with the flow of the structure of the standard. So this is a similar outline that is used by all ITS Standards that has systems engineering content. So Section 1, essentially the introduction, defines a scope of standards, provides definitions and references. Section 2 is the Concept of Operations, which defines the user needs that are addressed by the standard. We reviewed those user needs in Module 8, Part 1 of this module. Section 3 takes those user needs and defines the requirements needed to satisfy those user needs. So the formal requirements definition are found in Section 3. Section 4 presents the standard sequence of data exchanges and events that have to occur across the communications interface to fulfill those requirements, and they're called dialogs. While Section 5 contains the data dictionary and data definitions, call objects, that are referenced by the Dialogs in Section 4. Continuing, Annex A contains something called the Requirements Traceability Matrix, so we'll review that later today in this module. Annex B is Object Tree. Each object has a unique global identifier which is called an object identifier. Annex C is a placeholder for test procedures that may be developed in the future version of the standard. Annex D identifies significant changes that have been made to the NTCIP 1211 Standard. In this case from Version 1 to Version 2. And Annex E identifies user needs and requirements that have been suggested for the standard but were not supported. And why they were not supported could be that it could just—the requirement could not be clearly stated, or there was just no consensus. Annex F is a short tutorial of how typical SCP, Signal Control Priority System may work. Well Annex G and Annex H contain some other references that we use to support the Standard.
So how would a traffic or transit agency specify NTCIP 1211? As I mentioned that one of the tables or tools in NTCIP 1211 Version 2 is the Protocol Requirements List, also called the PRL, which can be found in Section 3. It's a tool that can be used to specify the Standard, and helps define the communications interface by defining what user needs are to be supported by the transit agency's implementation, and then defining what requirements are to be fulfilled, or to be implemented. So the PRL is designed to be part of the agency's specifications. Once you complete it, you can include it as part of your specifications to indicate what is it, what are the user needs, and what are your requirements? The PRL can also be used as a checklist to confirm that all the user needs have been satisfied, and all the requirements have been fulfilled, reducing the risk of failure to oversight. It can also be used by user implementer as a detailed indication of the capabilities of an implementation. So for example, a vendor can provide a transit agency with a completed PRL to indicate the capabilities of their device or their system. Finally, a user can use the PRL as a basis for initially checking the potential interoperability of other implementations by comparing the PRLs from each different implementations.
So how can a PRL be used to fulfill these capabilities we just discussed? Well, this graphic is a snapshot of the PRL in NTCIP 1211. Over the next several slides, we'll review the contents of the PRL and how to complete the PRL. The first two columns of the PRL list all the user needs, or features that are supported by NTCIP 1211 Version 2. The first column contains the User Need Identifier. Each user need has its own unique identifier, while the second column contains the name of the user need or a title. This slide is an example of a User Need ID. And the User need text in NTCIP 1211. The user need in this case is the ability for a PRG to send a priority request to a Priority Request Server. The user need further describes what information is needed in priority request. So again, we reviewed these user needs back in Part 1 or Module 8. However, user needs only describe what features the device need to support and why. Requirements on the other hand refine those user needs into detailed and measurable specifications. The PRL presents the requirements that flow from each user need, indicates those requirements that must be fulfilled to fully satisfy the user need. The PRL provides a traceability between the user needs and the requirements. So each user need in the PRL is associated with requirements that will satisfy that user need. So the third column of the PRL contains the Identifier, while the fourth column of the PRL contains the title of those requirements as associated with each user need. These are the requirements that may need to be fulfilled to fully satisfy the user need. This is an example of a Functional Requirement ID and Functional Requirement title in the Standard. Notice that the formal definitions provide precise and measurable requirements without defining precisely how they will be achieved. In this example, a priority request is sent to a PRS, the priority request consists of several things, including an estimated time of service, and estimated time of departure, both of which shall be measured in seconds according to this requirement.
So we've reached our first activity. So again, the activities are just to review what we've presented and what we've learned in previous slides. So, "What can a PRL not be used for?" Your answer choices are: a) Specify the Standard, b) Map user needs to requirements, c) Identify the user needs supported by the Standard, and d) Identify the most qualified vendor. Again, what can the PRL not be used for? So we'll pause a second so you can select your answer. So, the correct answer for this first quiz is d) Identify the most qualified vendor. The PRL can identify user supports or user need, but not its qualifications. A PRL can be used to specify the standard for implementation by defining what user needs and what requirements the—input your implementation needs to support. The PRL does map or associate user needs to requirements, so you have a user need, these are the requirements associated with it. And c) the PRL does include all these needs that are supported by the standards.
So just a review of over the next several slides, we'll review the requirements supported by the standard. There are really three types of requirements supported by NTCIP 1211. They are architectural requirements that exchange an operational environment, the environmental requirements, and supplemental non-communications requirement. So we'll provide over the next couple of slides, we'll provide a more detailed look at each type of requirement and the requirements that are defined in the standard.
Before we review the requirements, though, let's review what a well formed requirement looks like. A well formed requirement follows the structure as follows, an actor, which identifies who or what does the action. The action identifies what's supposed to happen, and the target, which identifies who or what receives the action. We use this structure to minimize ambiguities. So the requirement is as clear as possible. So in this example requirement below, the actor is the PRG. So our PRG. The actions is to send a priority request, send a priority request message. And the target is to a PRS. Optionally, a requirement can include Constraint to Localization. So in this particular case, in this example, the localization is upon request.
The first type of requirement in NTCIP 1211 Version 2 are Architectural Requirements. Architectural Requirements define the required behavior of the system in exchanging data across our communications interface. So Architectural Requirements in NTCIP 1211 consist of providing data from one component to another, such as "Provide me what priority strategy is currently in effect." Receive data, allow the component to send something, such as, "Here's my estimated time of arrival at the intersection," or, "Here's the service request that the traffic signal controller should run." Explore data, on the other hand, allows the component to provide multiple instances of data with a single request. Such as, "Provide me with all the priority strategies that are available on the signal controller," or "Provide me with all the active priority requests that you have received."
Data exchange and operational environment requirements consist of data exchange and support functional requirements. So NTCIP 1211 supports four different communications interfaces, and the data exchange requirements are organized by those communications interface. So each of these diagrams, the next couple of slides, we're going to see diagrams. And the diagram represents a flow of data across the interface.
So the first communications interface we'll review is from the PRG and the PRS. These requirements are imported to the transit agency quickly defines what information is needed for a priority request. The first six requirements supported by the standard for this interface are related to the PRG sending priority requests to the Priority Request Server. Initiate a priority request is the first requirement. This requirement is an initial request for priority request. The requirement states that the request includes a priority request identification number, and an identification number of the vehicle making the request. NTCIP 1211 actually supports ten class types of vehicles. Vehicles defined as Class Type 1 have the highest priority. So they may be a heavy rail with firetrucks, or with firetrucks or emergency medical (EMS) ambulances being defined as Class Type 2. Transit service usually has a lower priority, but they could be different types of transit service. For example, light rail service, you may consider to just be a Class Type 6, and bus service can be Class Type 7. Each Class Type may within the Class Type may have ten class levels within them. So with Class 1, Level 1 being the highest priority within the Class Type. So for example, within Class Type 7, transit service, bus service, you may have a Class Type 1 for (BRT), bus rapid transit; a Class Level 3 for express service; and Class Level 5 for local service, with the BRT having the highest priority. The service strategy number that you requested defines how the priority request will be serviced. It defines the movement or direction of travel to be serviced and how much green time for that movement may be extended or reduced. It also may define that the movement should be scheduled to provide to service a desired movement. So a potential problem with the design of NTCIP 1211 Version 1 and 2 is that it assumes the Priority Request Generator knows what the Service Strategy Number which it is to support. That requires that the Priority Request Generator be able to store the different service strategies and select appropriate strategy. Depending on the system's architecture selected, this may or may not be a problem. Another consideration is that the vehicle agency requesting transit signal priority selects the strategy desired and not the traffic agency. The traffic agency ultimately selects the strategy to be implemented, so it may not be an issue, but we just wanted to point that out. The requirement also requires that the priority request include the time of service desired in seconds. So, "When am I going to arrive at the intersection?" And the estimated time of departure, again in seconds, "When am I expected leave the intersection?" And the absolute time reference used by the Priority Request Generator. "Am I using, for example, GPS time?"
The next requirements for the PRG to PRS interface are send a priority request update. So allows the Generator, the Priority Request Generator to update the request. Maybe because they got in the way, so it might arrive at a late time. To cancel a previously sent priority request, and to clear all the information that was previously sent in the priority request. As we know Version 1 of NTCIP 1211 had a potential issue, because Version 1 did not consider network latency, which is the time between when the data is first transmitted from the source, and the data is received by the destination. Latency can vary widely depending on the transmission media and network adjustment at the time. So for example, if you're using cellular phone communications between the PRG and PRS, that latency can be two to three seconds, but if it's a cellular data network, it should be like adjusted. It can be ten seconds. That means that the Priority Request Generator may request priority service for 30 seconds, but if the latency is ten seconds, the Priority Request Server is not going to receive that request until ten seconds later, so there's a time inconsistency there. So that's potentially a major problem. So we corrected this deficiency in Version 2. But to provide backwards compatibility with systems that are still using Version 1 of the standard, we added two requirements, initiate a priority request, Version 1; and send a priority request update, Version 1 to allow implementation support devices that use Version 1 of the standard. So in case you have a traffic management center software that if you upgrade it, you want it to be real support buses that have Version 1, and buses that have Version 2, that use Version 1 or Version 2.
And finally, the final requirement is to receive a priority request status. This requirement allows a Priority Request Generator to receive the status of a priority request that has been sent. So, "I sent a request, what's the status of that request?" The next communication interface supported by NTCIP 1211 is between the Priority Request Server and the Coordinator, or the CO. This interface is of interest to transit managers so they can understand what the Priority Request Server does with the priority request that it's receiving. Including what happens if they're conflicting priority requests at a signalized intersection. The requirements supported by NTCIP 1211 for this interface are Exchange Service Request. So this requirement allows the Priority Request Server to provide the Coordinator, the traffic signal controller, with the priority strategy that's been selected by the Priority Request Server, along with the time of service request and the time of estimated departure.
The next requirement is Exchange Service Request Status. So the Coordinator then provides the Priority Request Server with the status of the service request. The status tells the Priority Request Server if the request is active, is it being processed? Has it been canceled and overridden? Is it queued or maybe it's been closed because the service has been completed, or maybe there's an error such as the requested times, the estimated time of our arrival or departure just cannot be met. Or maybe an invalid strategy was requested. The next communication interface supported by an NTCIP 1211 is between the management station and the PRS. This is of interest to transit managers, because the requirements that define the constraints, the rules when priority requests are considered by a PRS or not. There are six requirements supported by NTCIP 1211 Version 2 for this interface. They are Set the Reservice Period. So the Reservice Period defines the minimum amount of time that shall pass before another priority request is serviced. This prevents the traffic signal from constantly servicing priority requests which can negatively impact overall traffic coordination on the network. Different Reservice Period can be defined for each vehicle class, so a different Reservice Period can be set for emergency vehicles or for transit vehicles.
The next one is Set Time to Live Period. The Time to Live Period defines the maximum amount of time a PRS will consider a priority request for servicing. So a transit vehicle, for example, cannot request priority too early, such as 15 minutes before its estimated time of arrival. The Set Time to Live Period is five minutes, it will only reconsider priority requests that are less than five minutes to the estimated time of arrival.
The next three requirements are retrieve Priority Request Server settings. So these requirements allow the Management Station to retrieve the Reservice Period in seconds for each vehicle class, and the Time to Live Period in seconds, which is the amount of time the priority request may exist in the Priority Request Server.
The final requirements for this interface is Monitor the Status of the Priority Request Server. This allows a management station to determine what priority strategy is currently being implemented by the Coordinator and when, based on the information received by the Priority Request Server from the Coordinator.
The last communication interface supported by NTCIP 1211 is between the Management Station and the Coordinator. This interface allows a traffic agency to configure the coordinator.
The first four requirements, excuse me, for this interface involves configuring the Coordinator. So Set Priority Strategy Configuration, defines the parameters of strategy supported by a Coordinator. This includes what phases are affected, meaning which direction of travel. The service going through provided? What phases can be omitted? So sometimes you may skip a phase, skip like a left turn to provide the real priority to a vehicle. And maximum extension and maximum reduction allowed. So how much green time can we reduce or added to provide the requested priority.
Set Default Coordination Pattern. This is the default timing pattern to be used when the signal controller is not coordinated. Define maximum priority strategy supported. So define the maximum number of priority strategies that are supported by a Coordinator. And define maximum service requests to consider. So this is the maximum number of service requests that the Coordinator considers when selecting a priority strategy to execute.
The next six requirements are related to how the Coordinator is configured to Service Priority Requests. They are Request Priority Strategy Settings. Retrieve the Phases to be Affected, what maximum extensions are allowed in seconds, and maximum reduction allowed. In fact, that's for each Priority Strategy. Retrieve Priority Strategies. So retrieves that priority strategy back from the signal controller. Retrieve Priority Splits. Retrieves the maximum extensions allowed in seconds, and a maximum reduction allowed for a specific priority strategy. Retrieve the Default Coordination Pattern. So what's the default signal timing pattern to be used if the traffic signal is not operating in a coordinated mode? Retrieve Maximum Priority Strategies supported. Retrieves the maximum number of priority strategies supported by a coordinator and the next is Retrieve Maximum Service Request supported by a Coordinator. And finally it's to monitor the status of the Coordinator. This requirement must determine what Priority Strategy is being implemented and when.
Finally, NTCIP 1211 Version 2 contains supplemental requirements. They do not directly involve communications across the communications interface but could define performance requirements. So the supplemental requirements in NTCIP 1211 Version 2 are Response Times for Request. This is a requirement for the amount of time between 1) The request message is received by one of the components and when it has to respond. So that allows the response time—so you can't send a priority request—and the component, the Priority Request Server says, "Ah, let's take a few seconds to respond." So that sets up that required response time. Support multiple priority requests. This allows this requirement for a PRS to accept priority requests for more than one Priority Request Generator. So it can receive priority requests from multiple PRGs at a time. Clear Expired Priority Requests. So there's a requirement for a Priority Request Server to automatically clear a priority request if the Service Time Request has been exceeded. So I ask the service at 12 o'clock. At 12:01, the Priority Request Server will say, "Oop, it's already past the time, so let me just clear." And this is the support multiple priority requests, NTCIP 1211 Version 1. So this again is for backwards compatibility for just so we can support Version 1 implementation of signal control priority. And Process Service Request. It's a requirement for the Coordinator to process the service request as defined by the Priority Strategy Settings and other parameters defined in the signal controller.
So this slide just summarizes what we've learned in Learning Objective number 1. NTCIP 1211 is a family of standards. And NTCIP 1211 is communications interface standard for a signal control priority systems. NTCIP 1211 Version 2 incorporated a systems engineering process. The PRL is a table that maps user needs to requirements. And besides general architectural requirements, NTCIP 1211 Version 2 organizes functional requirements based on the interface. While we've introduced the PRL, what it can be used for in the content of the first four columns of the PRL, we have not introduced yet how to use the PRL. So the next several slides will present the remaining columns of the PRL, and describe how to use the PRL to select user needs and requirements for project specification for your implementation. First the slides will show how to select the user needs and link to the requirements. Then will show how the performance criteria including limits and ranges for the requirements that can be specified within the PRL. We'll also determine which requirements are optional to conform to the standard and how to include the PRL in a project specification.
Returning to the PRL, the fifth column defines the conformance for the user need or requirement referenced by the row. "M" stands for Mandatory and means that that item, whether it's a user need or requirement, must be supported by implementation to claim conformance to the next hierarchical item. "O" stands for Optional, and means that the item does not have to be supported to claim conformance to the next hierarchical item. While "C"—oops, sorry—while "C" stands for the Conditional and means that this user need or requirement applies only if certain conditions are true. To complete the PRL, a user should first review each user need to determine if the user need is mandatory or optional. If a user need is mandatory, it means to conform to the standard, that user need must be supported so "yes" must be circled. The standard was structured so only the basic features and requirements are mandatory to conform to the standard. If the user need is optional, such as it is for User Need 22.214.171.124, Monitor PRS, the agency needs to decide if that feature is needed or not for the project. If the answer is "no", as we've selected here, that feature is not needed for an implementation. The specification would circle "no." If the user need is conditional, read the information under Additional Specification Column to determine the conditions. Both conditions are related to if the components are integral to the same device. So for example, in some implementations the PRG/PRS and the coordinator are all logical entities which may be physically in different devices, or different locations. However, if the PRG/PRS and/or the Coordinator are part of the same physical device, then that interface, then that communication interface is not needed. In which case, the support for that user need is not applicable.
So what does mandatory version optional mean at the requirement level? If the user need is not selected, then the associated requirements underneath are not required for implementation or specification, unless that requirement is required for another user need. In this graphic, User Need 126.96.36.199 is optional. If the agency has to decide if the implementation wants to support backwards compatibility with NTCIP 1211 Version 1. If the user need is not selected, indicated by the "no" by the selected "no" then the requirements 188.8.131.52.5, 184.108.40.206.6, and 220.127.116.11 are not selected, meaning the requirements are not required—meaning these requirements are not requirements for this specification for your implementation. Again, unless the requirement is required to support another user need. If the user need is selected by circling "yes" under the support column, then the specification writer needs to review each requirement under the user need, to determine if the requirement is mandatory, optional, or conditional. If the requirement is mandatory, it means to satisfy the user need, and thus conform to the standard, that requirement must be supported. So under the support column, "yes" should be circled, in this case, the only choice. The standard again was structured, so only the basic requirements are mandatory to conform to the standard. If the feature (user need) is supported.
So for this example, if User Need 18.104.22.168 is selected for the implementation, then Requirement 22.214.171.124 is mandatory to fulfill the user need and is circled "yes" under the support column. Requirements 126.96.36.199.5 and 188.8.131.52.6 are conditional on the other hand. These conditions are shown under additional specifications. Thus the specification writer has determined, after reading the conditions under additional specifications, if the requirement is to be supported or it is not applicable. In this example, the user need, the requirement selected "not applicable," one requirement, excuse me, is selected "not applicable," "yes" for support, as a requirement for the specification. If the requirement is optional, and we don't show that in this example, the agency has to decide whether that requirement is needed or not for the project by circling "yes" or "no."
An agency is cautioned against selecting all requirements, because it increases the cost of procuring the Transit Signal Priority System, and also testing. Completing a PRL is not just selection of user needs and requirements are nice to have but those, but should really be based exclusively and strictly on the project's concept of operations due to the cost implementation and complexity of each selected user need, as well as for interoperability reasons.
The last column in the PRL is Additional Specifications, and it is used to allow a user to indicate additional project specifications and/or other notes. The PRLs contain text in this column when the developers of the standard believe that an issue is important, but cannot necessarily be standardized across all projects. This is often the case with performance issues, as shown here. In this example table, there's a Performance Requirement, Function Requirement ID 3.6.1, Response Times for Request. Under Additional Specifications the implementer would indicate the response time for responding to a request. If a range is given from 25 to 500 milliseconds, if the implementer does not define the time, the default is 100 milliseconds. The default is not necessarily a recommendation, it's only intended to provide an ambiguous interpretation of the cost if the specification fails to specify a value. So the value select will be based on your implementation. If you've got a high speed communications between all the components, the response times could be lower. If on the other hand there may be issues, or it's not high-speed, then you may want to select a longer response time.
Another example of performance requirement is Functional Requirement ID 184.108.40.206, Support Multiple Priority Requests. Under the Additional Specifications column, the implementer would indicate how many concurrent priority requests the PRS should be able to support at the same time. Note that there is a minimum and a maximum. If the implementer does not define a minimum and a maximum, the default is ten requests. Note that the standard only supports up to ten requests. We did receive a question on why it was limited to ten. And ten was determined to be a reasonable number. Supporting more than ten requests would require additional memory and processing power for the system, resulting in higher costs.
The content of the additional specification column is not limited to standardized text, so any agency can add their own specifications in this column or elsewhere. However, this should be done very carefully to avoid creating a specification that is geared specifically to a vendor or requires a custom solution, which then has implications for interoperability. Any additional text should be designed to address potential concerns and issues, and can be supported, as based on actual user needs.
So Communication Specification contains many other details of the communications. What the transmission media is, application layer, subnet ware. So the PRL only makes up part of the overall Interface Specifications. In addition, implementation provided by a vendor can also provide more than what's required as specified in the PRL. So, if you have additional functionality that a vendor may provide as part of the standard system, they're allowed to do that. Often note that a complete specification may support multiple interfaces. So for example, a system may need Support Legacy Protocols to enable operations during migration to the Standard, or a Management Station may need to support multiple device types.
Also note that the Interface Specifications are not stand-alone items, but are an integral part of an overall specification. So for example, if the interface specification supports clock synchronization, there's an implicit specification that device also supports a clock. And the hardware and software specifications also should specify the parameters of this clock.
Finally, the PRL in NTCIP 1211 Version 2 is formatted so that the PRL can be copied and completed when writing your specification. When including the PRL in the Project Specification, the PRL should be properly introduced within its Specification, and a copyright disclaimer should appear within the PRL. A copy of the PRL can be found for NTCIP 1211 Version 2 can be found or requested on the NTCIP website, which is www.ntcip.org.
We've reached our next Activity. Which of the following elements is not a purpose of the PRL? Your answer choices are: associate user needs with requirements, specify the requirements for a specific project, determine which objects to use, and determine the minimum requirements for conformance. Again, which of the following elements is not a purpose of the PRL? So the correct answer is c) determine which objects to use. The PRL does not determine which objects to use for implementation. It does associate user needs and requirements. It does help you specify the requirements for a specific project by circling "yes," "no," or "not applicable" under the Support column. And it helps you define the minimum performance for conformance. And that can be found under the Additional Specifications column in the PRL.
So to summarize what we've learned during the last couple of slides, we used the PRL to specify requirements. The tool in the standards to select user needs and requirements for you project's implementation; to specify performance criteria ranges; and to determine the capabilities of an implementation.
Another tool provided in NTCIP 1211 is a table called the Requirements Traceability Matrix, which can be found in Annex A. The next several slides present the purpose of the Requirements Traceability Matrix, how it supports interoperability and interchangeability, and how it can be used to compare for interoperability.
Let's define first the difference between interoperability and interchangeability. An example of interoperability is Wi-Fi. Along with other standards, devices such as routers and laptops that support the Wi-Fi standard are able to send information wirelessly regardless of the vendor. So for example, doesn't matter if I have a Dell laptop, or a ThinkPad or where my router is, whether it's at Starbucks or at home, by using the different standards, we can still communicate and get information and we can connect to the Internet, and get our mail using FMTP, or get on the internet using HTTP. I mean, no matter what browsers we use, it just works seamlessly. So that's what interoperability is. So interoperability is a key objective for using the standards. Interoperability reduces risk, and by extension, cost. Interchangeability on the other hand, is the ability of one component to be used in place of, or replaced by another component. So how do we achieve interoperability? NTCIP 1211 Version 2, it uses interoperability by using a table called the Requirements Traceability Matrix. The Requirements Traceability Matrix describes the Standard design for filling each requirement supported by the Standard in the form of dialogs and data elements. A dialog is defined as a sequence of events that are to occur in accordance with the standard and will result in a known condition. It generates a sequence of messages that are exchanged between the components. To conform to the requirement, a Transit Signal Priority System must support the standardized dialogs and the objects specified in the NTCIP 1211 Version 2, with the expected results. By standardizing the design and the expected result, all implementation that conform to the Standard will be interoperable.
This and the next several slides present the Requirements Traceability Matrix and what's contained in it and how to use it to determine what is the standardized design to fulfill the requirement. This slide contains a snapshot of the Requirements Traceability Matrix from the Standard. The first column on the Requirement Traceability Matrix presents the requirement identified which is a section number within the standard where the requirement's formally defined. The second column indicates the name of the requirement that is being referenced.
The third column of the Requirement Traceability Matrix presents the section identified with the dialog to be used to fulfill the requirement can be found. Each requirement traces to one, and only one, dialog. In other words, there's only one standard design for any given requirement, and this is what provides interoperability and contributes to interchangeability.
The fourth and fifth column of the RTM identifies the section number and the names of the object data element that must be supported to fulfill this requirement by supporting it means the implementation must recognize the contents of the objects. All objects under that requirement must be supported. A single requirement will often trace to multiple objects and a single object may trace to only one requirement, but it also may trace to multiple requirements. The Additional Specification column of the RTM can be used to provide additional notes and requirements about the dialog or may be used by implementing to provide any additional details about the implementation.
So for the past several slides we can see that an RTM can be used to support interoperability for a specific requirement. However this does not mean that two devices are fully interoperable, that is, can exchange any information and can use that information—can use the information that has been exchanged. Both devices must support the same requirements for the devices to be interoperable. For example, if Device 1 supports requirements A, B, and C, but Device 2 only supports A, B, and D, they're not fully interoperable. One could support C. The other one can't, and the other can support D, but the other one can't. That is why comparing the PRL for two different devices can be used to quickly determine if they are interoperable. The PRL states what requirements, and by association, what dialogs and data objects are supported by the device. And it doesn't have to be for the same device. For example, a user can compare two PRLs, one for the field device, and one for the Management Station to determine that if they are interoperable.
So let's look at an example. Let's compare two NTCIP devices that interface with each other. With NTCIP one device is designated a Manager and the other an Agent. The Manager transmits requests to the Agent and the Agent responds back. This slide demonstrates the potential outcome if a user compares two PRLs, one for the Manager, and one for the Agent. So if both the Manager and the Agent support a requirement, then interoperability is provided for that requirement. If the Manager supports a requirement but the Agent doesn't, the Manager can still support the requirement—typically—and the Manager can still interoperate with other agents that support the requirement. If the Agent supports a requirement, but the Manager does not, then the Agent, the device, has a feature that can be used by future Management Stations. The feature can also be potentially used manually, meaning outside the standard.
So we've reached another Activity. Which of the following are not part of the RTM Requirements Traceability Matrix? So which of the following is not part of the Requirement Traceability Matrix? User needs supported by the standard, requirements supported by the standard, standardized dialogs to fulfill requirements, and data objects to fulfill requirements. So please select your answer. Which of the following are not part of the RTM? So the correct answer is a) User needs supported by the standards. So the Requirement Traceability Matrix does not contain user needs? It's not in one of the columns in the RTM. Requirements are, so each requirement supported by the standard is listed in the RTM. Each requirement points to a dialog. So each requirement has a standardized dialog to fulfill that requirement. And each requirement includes one or more data objects to fulfill the requirement.
So to summarize what we've learned, the Requirements Traceability Matrix maps each requirement to specific design, consisting of the dialog and data objects. With the RTM, which supports, which helps device support interoperability and supports interchangeability, while the PRL, the Protocol Requirements List, can be used as an easy check for interoperability.
We've now shown that NTCIP 1211 Version 2 supports only one design, consisting of dialogs and objects to fulfill requirements and standard. Over the next several slides, we'll review what some of those designs look like. Recall that our dialog is a sequence of events including data exchanges. NTCIP uses a protocol called Simple Network Management Protocol, or SNMP, for communications. It's a common protocol which we—it's still being—which is used, for example, to manage network routers. There are three common standardized dialogs supported by all NTCIP devices. They are GET, SET, and GET-NEXT. Again, there's a request to GET the value of an object or data element from the Agent. A SET is a request to set or configure the value of an object on the Agent. While a GET-NEXT will use the GET multiple instances of data, for example, to GET the estimated time of arrival for multiple priority requests. The dialog on the right is a GET dialog. It involves a Manager, such as a transit management center, sending a GET request to a device, known as the Agent. In response, the Agent will transmit a GET response message, typically with a value of the object requested. If there is a problem, on the other hand, the Agent will return an error. A SET dialog is similar with a SET object from the Manager to the agent. While a GET response, then a GET response message returning to value that was SET.
As mentioned earlier, all of the objects used are referenced by dialog to fulfill a requirement or listed in the RTM. In this example, a Dialog 220.127.116.11 references Objects 18.104.22.168, CO Strategy Plan Block; 22.214.171.124 CO Strategy Splits Block; and 126.96.36.199 Priority Strategy Default Cord Pattern, and a process called DB Transaction that is defined in a different NTCIP Standard, NTCIP 1201 Version 2, in Section 2.3.1.
Looking at Section 188.8.131.52, we see that the text describes the sequence of events and the expected results that the device must support to fulfill Requirement 184.108.40.206.1, SET Priority Strategy Configuration. If the device does not support this dialog with the expected result, it does not conform to NTCIP 1211 Version 2 and interoperability may be compromised. Sometimes NTCIP 1211 Version 2 also includes a diagram to show the sequence of events graphically that was described in the dialog text. So this diagram here shows only a part of the sequence for this dialog. As a note, if there're any inconsistences between the text and the graphic the text takes precedence. So again, this is the sequence of events for this dialog between a Management Station and a Coordinator, as shown graphically. Dialog 220.127.116.11 also references another section for consistency check. The graphic shown here is the text with that consistency text. So it's a double check just to make sure that the values were SET properly and that they're consistent. That way we don't break something.
We've reached another Activity. What does the following table mean? So this is a snapshot of the Requirement Traceability Matrix. So for Requirement 18.104.22.168.3, Retrieve Priority Splits, what does this table mean? To fulfill Requirement 22.214.171.124.3 use all the objects listened there? To fulfill Requirement 126.96.36.199.3, use one of the objects that's listed there. To fulfill the Requirement use Dialog G.1 and all the objects. Or to fulfill Requirement 188.8.131.52.3 use Dialog G.1 and just one of the objects? So what does the following table mean? So the correct answer is actually c) to fulfill the Requirement 184.108.40.206.3 you have to use Dialog G.1 and use support all of the objects. The first one was wrong because the objects must be supported, but you also have support the Dialog G.1. You can't just support one of the objects to fulfill the Requirement, you have to support all of the objects, and again, use the Dialog G.1. So these are incorrect also, because you can't just support one object, you must—implementation must support all the objects to fulfill the Requirement.
To summarize what we've learned, NTCIP 1211 Standard includes dialogs which are sequences of data exchanges and events that must be implemented to fulfill a Requirement. The RTM defines which dialogs and objects should be used to reference to fulfill the requirement. The most basic dialog is to GET, GET an object; SET, SET an object; or GET-NEXT, GET a series of objects. And some of the dialogs include consistency checks, which are checks to verify that the data was properly exchanged, and for other checks.
So despite the attempts of the Standard Working Group to address all the common user needs and requirements for Signal Control Priority or Transit Signal Priority, sometimes there's still some user needs or requirements that we just don't address that's not supported by the standard. There may be innovations to Transit Signal Priority that weren't considered at the time the standard was developed. So thus, NTCIP allows implementers to specify requirements not supported by Standards. So the next several slides we're going to demonstrate how to check for conformance to the standard, identify conditions and context for extending the standard, and show an example of how to extend the standard to support user needs or requirements that are not supported by the NTCIP 1211 Standard.
So, to claim Conformance to NTCIP 1211 Version 2, the vendor shall minimally satisfy all the mandatory user needs, and fulfill all the mandatory requirements as identified in the PRL. A conformant device fulfills mandatory requirements by using the dialogs, the sequences, and the reference objects as defined by the Standard in the Requirements Traceability Matrix. A conformant device may support optional features, user needs, or requirements, but must do so as defined by the 1211 Version 2 Standard. So this is the definition of a conformant device to NTCIP 1211.
How do we specify requirements not supported by NTCIP 1211 Version 2, which we call extensions? Well, first of all, extensions are discouraged by standards, because they break interoperability. However, we recognize that standard extensions may be necessary. So if extensions are needed, they should only be done with proper consideration of the cost involved. So for example, when user specific, or agency specific requirements are defined, those requirements become unique to the issuing agency. This will likely increase purchasing costs. The time required for testing, and possibly maintenance costs. Additionally, this will often lead to dependency on the vendor providing the system. However, there are benefits. Extensions allow agencies to still use the NTCIP 1211 family standards, so they can receive the benefits of using the standards while still satisfying their operational user needs. Extensions are acceptable from the point of view of NTCIP interface standards, however there are certain rules that must be followed. Extensions should only be considered when NTCIP 1211 features are inadequate to meet the need, and the benefits of the extension outweigh the additional cost. For user needs not supported by the standard it may result in user specific requirements and the procurers and agencies should specify the dialogs and objects to fulfill the user specific requirement. So you should—it's very important to document them. More importantly, dialogs and object definitions are not allowed to be redefined or replaced. A new dialog object definition must be created. So you can't take an existent object and just change it without changing the number. You can create a new object in place of it, but you can't reuse an existing object and change it. Equipment with user needs and requirements that conform to the standard will still be interoperable for those specific user needs and requirements. For the same equipment to be interoperable for extensions, the user needs and requirements should be documented. New dialogs and object definitions to fulfill the new requirements of the extensions should also be documented. Recall that new enumerations cannot be added to existing standard objects. That breaks conformance to the Standard. New objects should be created. The rules for NTCIP require that new objects should be properly registered with NEMA or NTCIP. It should also be recommended that the Agency own or have the right to use the data objects in the dialog so the Agency is not locked into the vendor. So if the Agency does decide we need a new object or a new dialog, make sure that the Agency owns it. That they can reuse it, so they're not locked into a vendor. And that should be specified in the specification.
For example, pretend that there was a user need for the PRG, Priority Request Generator, to share its time with the Priority Request Server. This figure depicts a user need identifier, UN-Extension 1, a user need title, need to share the current time with the PRG, and potential text for user need. The reason, the context for the user need should also be included. Often there may be more than one requirement that traced the user need. There may be a requirement to configure something. Another to control something. And a third to monitor something, but in this example we just have to have one requirement to monitor the time on the Priority Request Generator. So we just want to be able to check the time on the Priority Request Generator. For completeness and for clarity, the new user need and requirement should be added to the Traceability Tables, both in the PRL and the RTM. So we've added here, User Need Extension 1, here's the user need. And we show that traces to FR-Extension 1, the ID and the title. And we made it mandatory for your implementation. In the Requirements Traceability Matrix, we have the same ID and the title, and it's a simple dialog ID G.1, needs to GET, and this is the new object, identifier, and object name.
This slide shows what one of the custom objects with a custom user need might look like. The point of the slide is to emphasize as in the previous slides, is that even adding a simple custom feature requires time. It's a real amount of work, so it should really only be done if there is a real user need.
Another Activity. Which of the following is a valid reason to extend a standard? a) There is an unmet need that justifies the additional cost, b) the existing system already uses a non-standard design, c) to develop a specification to favor a specific vendor, or d) because the standardized solution is just too complex. So which of the following is a reason to extend the standards? The correct answer is a) There is an unmet need that justifies the additional cost. Sometimes you just have to accept additional cost to fulfill to satisfy a user need that you may have. b) is incorrect. You can't use a non-standard design because there's a prolonged, expensive, customized approach for another generation. You don't want to use your specification to favor a specific vendor, because it opens you up to a lawsuit, and traps you in a proprietary design. And d) the standardized solution is too complex. Even if a simple solution would work, the total cost, the life-cycle cost of implementing a non-standard solution could be significant.
So again, to summarize what we've learned the last couple of slides, extending the standard complicates interoperability and interchangeability, but we—it is allowed to support user needs and requirements not addressed by the standard. Extended equipment should be designed to appropriately integrate with NTCIP only deployment, so that, again, so that we get the benefits of using the standards. In this case, NTCIP. And extensions should be well-documented.
Let's go through a Case Study. This again, is fictitious. But we're going to continue building on the same example that we used in Part 1 of this module. So to summarize what was in Part 1, the Alphaville Transit Agency has been experiencing increasing travel times on one of its routes on a heavily-traveled corridor. A study indicated that increased travel times are due to recurring and non-recurring congestion. The transit agency determined that Transit Signal Priority will help improve travel time reliability. Their vehicles are already equipped with AVL system and there exists radio communications between the transit vehicles and the Dispatch Center. Transit stops are a combination of far-side and near-side stops. The transit agency discusses with the traffic agency who are planning to update their signal controllers along that corridor anyway. The traffic agency is concerned about maintaining flow on the arterial, but it's willing to provide signal priority. The transit agency and traffic agency are both on the city's fiber optic network and the traffic agency already has communications links with each controller. So the user needs for this project were selected in Part 1. So using the PRL, we'll first circle the "yes," circle "yes" for the user need selected. Next for those user needs selected, we'll select the requirements for the project. Some of the requirements are mandatory for that selected user need, so those requirements have been selected also. The first optional requirement we come across, though, is to determine system name. Alphaville Transit Agency with the traffic agency, elects not to select that requirement. Thus, neither the PRS nor the Management Station needs to support a system name. But if the products do support a system name, they must do so as defined by the standard. Continuing to the next page, we select the user needs 220.127.116.11 and 18.104.22.168 in Part 1, Module 8. So we select those user needs and the requirements, which are all mandatory below them. Next we see that the user need retrieve log data from the PRS was not selected in Part 1. So we'll circle "no" and none of the requirements are selected—excuse me—none of the requirements is required to be supported by the project implementation. Continuing on completing the PRL, the next user need is Configure Priority Strategies under the Management Station to CO interface. We selected that user need in Module 8, so we'll select the mandatory requirements also. There are two optional requirements to define, Change the Maximum Priority Strategy Supported, and Define the Maximum Service Request to Consider, which allows the traffic agency to change the number of priority strategies and service requests that the Coordinator has to support. Then the Agency decides that the requirement is not necessary, so "no" is selected. The next user need is Determine Priority Strategies, which were selected in Module 8, so we'll circle "yes" to the user need and the mandatory requirements. The Agency has decided that the maximum number of priority strategies and service requests may vary for different phases of an implementation, so there may be a Phase 1 and a Phase 2, so the requirement was selected. For this implementation, though, the Traffic Agency would like to require that the CO should support ten priority strategies and ten service requests. So that requirement was added to the PRL under Additional Specifications. All the remaining requirements of the PRL were mandatory based on the user need selected, so no other snapshots from the PRL are provided. So that ends our example use case.
Just to summarize what we've learned in this module the PRL can be used to trace user needs to requirements. The Additional Specifications column in the PRL can define performance criteria and limits our ranges for functional requirements. The RTM traces each requirement to a single design solution, thus providing for interoperability. The design solution consists of a single dialog and one or more objects. And developing custom features or extensions entails significant efforts and risk.
This is a listing of some of the resources that are available, in case you are interested in learning more about the standard. There's a more extensive list in the student supplement that can be found with this module.
Just as a note, there were some questions when we did a pilot about where NTCIP 1211 has been implemented. In Module, Part 1, Module 8, we did talk about TCIP, so Seattle, for example, does use the TCIP Standard for their implementation, or actually more specifically King County, for their implementation of Transit Signal Priority. NTCIP 1211 right now is not used extensively. It was tested, I think, in Hudson in the New Jersey area, Hudson/Bergen area back in the early 2000s. So, but that used the early version of NTCIP 1211. New York City Transit does use NTCIP 1211 Objects for their implementation, but they are not conformant. But right now we are seeing lots of different agencies start using NTCIP 1211, though there are no lessons learned that I am aware of from their implementations. But you can reach out to them. Chicago is starting to implement NTCIP 1211, and I believe around the Washington, DC/Baltimore area there are several implementations where they are using NTCIP 1211.
As a second note, connected vehicles is becoming a strong possibility. And the NTCIP 1211 is actually consistent with how Transit Signal Priority is being implemented in SAEJ-2735, which is the data dictionary that they use for connected vehicles. So again, while there are a lot of Transit Signal Priority systems out there, not many are using NTCIP 1211 right now, but we are pushing harder to try and get it implemented, so we get interoperability and get the benefits of the standard over the next several years.
Next Course Modules is for this ITS Standards Professional Capacity Building Program, Module 10 talks about Electronic Payment Systems, and Module 11 covers Transit and Connected Vehicle Environments.
So thank you for completing this module. Please click here to open the feedback form, or if you want to provide us with feedback there's a link that you can provide feedback on. The feedback we like to hear is if the module was helpful for you, and also recommendations for other transit modules that you may be interested in in the future. So again, thank you very much for joining us today. I hoped you learned a lot from this module, and this is the end of the module. Thank you.
#### End of Module9_Final.mp4 ####