Shopping Cart

No products in the cart.

BS EN 15531-2:2015 – TC:2020 Edition

$280.87

Tracked Changes. Public transport. Service interface for real-time information relating to public transport operations – Communications

Published By Publication Date Number of Pages
BSI 2020 280
Guaranteed Safe Checkout
Categories: ,

If you have any questions, feel free to reach out to our online customer service team by clicking on the bottom right corner. We’re here to assist you 24/7.
Email:[email protected]

SIRI uses a consistent set of general communication protocols to exchange information between client and server. The same pattern of message exchange may be used to implement different specific functional interfaces as sets of concrete message content types. Two well-known specific patterns of client server interaction are used for data exchange in SIRI: Request/Response and Publish/Subscribe. — Request/Response allows for the ad hoc exchange of data on demand from the client. — Publish/Subscribe allows for the repeated asynchronous push of notifications and data to distribute events and Situations detected by a Real-time Service. The use of the Publish/Subscribe pattern of interaction follows that described in the Publish-Subscribe Notification for Web Services (WS-PubSub) specification, and as far as possible, SIRI uses the same separation of concerns and common terminology for publish/subscribe concepts and interfaces as used in WS-PubSub. WS-PubSub breaks down the server part of the Publish/Subscribe pattern into a number of separate named roles and interfaces (for example, Subscriber, Publisher, Notification Producer, and Notification Consumer): in an actual SIRI implementation, certain of these distinct interfaces may be combined and provided by a single entity. Although SIRI is not currently implemented as a full WS-PubSub web service, the use of a WS-PubSub architecture makes this straightforward to do in future. Publish/Subscribe will not normally be used to support large numbers of end user devices. For the delivery of data in responses (to both requests and subscriptions), SIRI supports two common patterns of message exchange, as realised in existent national systems: — A one step ‘ Direct Delivery’, as per the classic client-server paradigm, and normal WS-PubSub publish subscribe usage; and; — A two-step ‘ Fetched Delivery’ which elaborates the delivery of messages into a sequence of successive messages pairs to first notify the client, and then to send the data when the client is ready. Fetched Delivery is a stateful pattern in its own right. Each delivery pattern allows different trade-offs for implementation efficiency to be made as appropriate for different target environments. A SIRI implementation may support either or both delivery methods; in order to make the most efficient use of the available computational and communication resources. The delivery method may either be preconfigured and static for a given implementation, or each request or subscription may indicate the delivery method required by the client dynamically as part of the request policy, and the server may refuse a request if it does not support that method, giving an appropriate error code. The Interaction patterns and the Delivery patterns are independent aspects of the SIRI protocol and may be used in any combination in different implementations. For a given SIRI Functional Service type (Connection Monitoring, Stop Monitoring etc.), the message payload content is the same regardless of whether information is exchanged with a Request/Response or Publish/Subscribe pattern, or whether it is returned by Direct or Fetched Delivery. The SIRI Publish/Subscribe Protocol prescribes particular mediation behaviour for reducing the number of notifications and the amount of network traffic arising from subscriptions. The mediation groups the various subscriptions from a subscriber into one or more Subscriber Channels, and is able to manage notifications and updates for the aggregate. Only partial updates to the data set since the last delivery for the subscription need to be sent. The SIRI Communication protocols are designed to fail gracefully. Considerations for resilience and recovery are covered below.

PDF Catalog

PDF Pages PDF Title
1 compares BS EN 15531-2:2015
2 TRACKED CHANGES
Text example 1 — indicates added text (in green)
150 Contents Page
152 European foreword
153 Introduction
154 1 Scope
155 2 Normative references
3 Terms and definitions
4 Symbols and abbreviations
5 Common communication aspects
5.1 Data Exchange Patterns of Interaction
5.1.1 Introduction
5.1.2 Request/Response Pattern
156 Figure 1 — Request / Response Interaction
5.1.3 Publish/Subscribe Pattern
157 Figure 2 — Simple Publish/Subscribe Interaction
5.1.4 Publish/Subscribe with Broker Pattern
158 Figure 3 — Brokered Publish/Subscribe Interaction
5.1.5 Request/Response – Compound Requests
Figure 4 — Request/Response: Compound Requests
159 5.1.6 Publish/Subscribe – Compound Subscriptions
Figure 5 — Publish/Subscribe: Compound Subscriptions
5.2 Delivery Patterns
5.2.1 Introduction
5.2.2 Direct Delivery
Figure 6 — One Step Direct Delivery
160 5.2.3 Fetched Delivery
Figure 7 — Fetched Delivery
161 Figure 8 — Fetched Delivery for Publish/Subscribe
5.2.4 Data Horizon for Fetched Delivery
162 Figure 9 — Fetched Delivery for Request/Response
5.2.5 Get Current Message
5.2.6 Multipart Despatch of a Delivery
163 Figure 10 — Multipart Delivery
5.2.7 Multipart Despatch of a Fetched Delivery – MoreData
Figure 11 — Fetched Multipart Delivery
164 5.3 Mediation Behaviour
5.3.1 Introduction
5.3.2 Mediation Behaviour – Maintaining Subscription Last Updated State
165 Figure 12 — Mediation: Update Tracking and sensitivity threshold for Direct Delivery
166 Figure 13 — Mediation: Handling Fetched Delivery Latencies
5.3.3 Mediation Behaviour – Subscription Filters
168 Figure 14 — Mediation: Subscription Filter
5.4 Recovery Considerations for Publish Subscribe
5.4.1 Introduction
169 5.4.2 Check Status – Polling
Figure 15 — Check Status — UML Sequence
5.4.3 Heartbeat – Pinging
Figure 16 — Heartbeat Message — UML Sequence
5.4.4 Degrees of Failure
170 5.4.5 Detecting a Failure of the Producer
5.4.5.1 Detecting a Failure Using Check Status
Figure 17 — Check Status with Recovery & Re-subscribe — UML Sequence
5.4.5.2 Detecting a Failure Using Heartbeat
171 Figure 18 — Heartbeat Monitoring – Loss of Service — UML Sequence
Figure 19 — Heartbeat Monitoring – Interruption of Service — UML Sequence
5.4.6 Detecting a Failure of the Consumer
172 5.5 Recovery Considerations for Direct Delivery
Figure 20 — Robust Direct Delivery — UML Sequence
5.6 Request Parameters and Interactions
173 Table 1 — SIRI Request and Subscription Parameters
174 Table 2 — Topics and Policies for SIRI Functional Service Types
175 5.7 Error Conditions for Requests
Table 3 — System and Application Error Conditions
176 Table 4 — Application Error Conditions Related to Request Parameters
177 5.8 Versioning
5.8.1 Introduction
5.8.2 The Overall SIRI Framework Version Level
5.8.3 The SIRI Functional Service Type Version Level
5.9 Access Controls: Security and Authentication
5.9.1 Introduction
5.9.2 System Mechanisms External to SIRI Messages
5.9.2.1 General
178 5.9.2.2 Authentication Key (+SIRI v2.0)
5.9.2.3 Application Level Authentication
5.9.2.4 The Access Permission Matrix
5.9.2.5 Request Authentication
5.10 Service Discovery
5.10.1 Introduction
5.10.2 Discovery of Servers that Support SIRI Services
179 5.10.3 Discovery of the Capabilities of a SIRI Server
5.10.4 Discovery of the Coverage of a Given SIRI Functional Service
Table 5 — SIRI Discovery Service Matrix
180 5.11 Capability Matrix
5.11.1 Introduction
5.11.2 SIRI General Capabilities
Table 6 — SIRI General Capabilities
181 6 Request/Response
6.1 Making a Direct Request
6.1.1 Introduction
Table 7 — SIRI Request Delivery Types
182 6.1.2 ServiceRequest Message — Element
Table 8 — ServiceRequest — Attributes
183 6.1.3 The ServiceRequestContext — Element
6.1.3.1 General
184 Table 9 — ServiceRequestContext Parameters
185 6.1.3.2 DeliveryMethod — Allowed values
Table 10 — DeliveryMethod —Allowed Values (SIRI 2.0)
6.1.3.3 AllowedPredictors — Allowed values
Table 11 — AllowedPredictors —Allowed Values (SIRI 2.0)
6.1.4 Common Properties of ServiceRequest Messages — Element
186 Table 12 — SIRI Functional Service Common Request — Attributes
6.1.5 ServiceRequest — Example
6.1.6 Access Controls on a Request
187 6.2 Receiving a Data Delivery
6.2.1 Introduction
188 Table 13 — Delivery Content Elements
6.2.2 ServiceDelivery
6.2.2.1 ServiceDelivery— Element
189 Table 14 — ServiceDelivery— Attributes
190 6.2.2.2 Common Properties of SIRI Functional Service Delivery Messages
Table 15 — SIRI Function Service xxxDelivery— Attributes
191 6.2.2.3 ServiceDelivery — Example
192 7 Subscriptions
7.1 Setting up Subscriptions
7.1.1 Introduction
193 Table 16 — SIRI Request and Delivery Types
194 7.1.2 SubscriptionRequest
7.1.2.1 SubscriptionRequest — Element
Table 17 — SubscriptionRequest — Attributes
195 7.1.2.2 SubscriptionRequestContext — Element
Table 18 — SubscriptionContext — Attributes
196 7.1.2.3 The Common Properties of SIRI Functional Service Subscription Requests
Table 19 — SIRI Functional Service Common Subscription — Attributes
7.1.2.4 SubscriptionRequest — Example
7.1.3 SubscriptionResponse
7.1.3.1 SubscriptionResponse — Element
197 Table 20 — SubscriptionResponse — Attributes
198 Table 21 — ResponseStatus — Attributes
7.1.3.2 SubscriptionResponse — Example
199 7.2 Subscription Validity
7.3 Terminating Subscriptions
7.3.1 Introduction
7.3.2 The TerminateSubscriptionRequest
7.3.2.1 TerminateSubscriptionRequest — Element
200 Table 22 — TerminateSubscriptionRequest — Attributes
7.3.2.2 TerminateSubscriptionRequest — Example
7.3.3 The TerminateSubscriptionResponse
7.3.3.1 TerminateSubscriptionResponse — Element
201 Table 23 — TerminateSubscriptionResponse — Attributes
7.3.3.2 TerminateSubscriptionResponse — Example
202 7.3.4 The SubscriptionTerminatedNotification (SIRI 2.0)
7.3.4.1 SubscriptionTerminatedNotification — Element
Table 24 — SubscriptionTerminatedNotification — Attributes
203 7.3.4.2 SubscriptionTerminatedNotification — Example
8 Delivering data
8.1 Direct Delivery
8.1.1 Introduction
204 8.1.2 Acknowledging Receipt of Data (DataReceivedAcknowledgement)
8.1.2.1 DataReceivedAcknowledgement — Element
Table 25 — DataReceivedAcknowledgement — Attributes
8.1.2.2 DataReceivedAcknowledgement — Example
8.2 Fetched Delivery
8.2.1 Introduction
205 8.2.2 Signalling Data Availability (DataReadyNotification / DataReadyResponse)
8.2.2.1 Procedure
8.2.2.2 DataReadyNotification— Element
Table 26 — DataReadyNotification — Attributes
8.2.2.3 DataReadyNotification — Example
206 8.2.2.4 DataReadyAcknowledgement— Element
Table 27 — DataReadyAcknowledgement — Attributes
8.2.2.5 DataReadyAcknowledgement — Example
207 8.2.3 Polling Data (DataSupplyRequest/ServiceDelivery)
8.2.3.1 Procedure
8.2.3.2 DataSupplyRequest Message — Element
Table 28 — DataSupplyRequest — Attributes
208 8.2.3.3 DataSupplyRequest — Example
8.2.3.4 ServiceDelivery Message
8.3 Delegated Delivery +SIRI 2.0
9 Recovery from system failure
9.1 Introduction
9.2 Recovery after Client Failure
209 9.3 Recovery after Server Failure
9.4 Reset after Interruption of Communication
Table 29 — Error Statuses and Actions in Communication Failure Conditions
210 9.5 Alive Handling
9.5.1 Introduction
9.5.2 CheckStatusRequest
9.5.2.1 CheckStatusRequest Message — Element
Table 30 — CheckStatusRequest — Attributes
211 9.5.2.2 CheckStatusRequest — Example
9.5.3 CheckStatusResponse
9.5.3.1 CheckStatusResponse Message — Element
Table 31 — CheckStatusResponse — Attributes
212 9.5.3.2 CheckStatusResponse — Example
213 9.5.4 HeartbeatNotification
9.5.4.1 Heartbeat Message — Element
Table 32 — HeartbeatNotification — Attributes
9.5.4.2 HeartbeatNotification — Example
214 9.6 Additional Failure modes for delegated delivery (+SIRI v2.0)
10 Transport of SIRI messages
10.1 Separation of Addressing from Transport Protocol
10.2 Logical Endpoint Addresses
10.2.1 Endpoint Addresses
215 Table 33 — Server Logical Endpoints
Table 34 — Client Logical Endpoints
10.2.2 Endpoint Address — Examples
216 Table 35 — Client Logical Endpoints
10.3 Parallelism and Endpoint Addresses
217 10.4 Encoding of XML messages
10.4.1 Principles
10.4.2 Encoding of Errors in XML
10.4.3 Character Set
10.4.4 Schema Packages
218 Figure 21 — SIRI Schema Packages
10.4.5 Siri.XSD – Use of XML Choice
219 Figure 22 — Example for XML choice
220 10.4.6 SiriSG.XSD – Use of XML Substitution groups
Figure 23 — Example: XML Substitution groups
221 10.5 Use of SIRI with SOAP / WSDL
10.5.1 Introduction
10.5.2 Web Services
10.5.2.1 General
10.5.2.2 SOAP (Simple Object Access Protocol)
222 10.5.2.3 WSDL (Web Services Definition Language)
223 Figure 24 — WSDL 1.1 and 2.0 main concepts (source http://en.wikipedia.org/wiki/File:WSDL_11vs20.png)
10.5.3 Use of SOAP
10.5.4 SIRI WSDL
10.5.4.1 SIRI WSDL Definition
10.5.4.2 WSDL 1.1 encoding styles
224 10.5.5 SIRI WSDL structure
Table 36 — SIRI Producer functional services
225 Table 37 — SIRI Producer communication management and utility services
Table 38 — SIRI Consumer notification
226 Figure 25 — SIRI SOAP Producer Document/Literal WSDL
Figure 26 — SIRI SOAP Consumer RPC/Literal WSDL
10.5.6 SIRI RPC WSDL
10.5.6.1 General
227 10.5.6.2 WSDL RPC Example: StopTimetable Service
Figure 27 — SIRI SOAP WSDL GetStopTimetable detail
10.5.6.3 SOAP Example: Monitoring Service
Table 39 — SOAP Example: GetStopMonitoring request
228 Table 40 — SOAP Example Message: GetStopMonitoring Answer
231 10.5.7 SIRI Document WSDL (+SIRI v2.0)
Table 41 — SOAP Message Structures; XSD files
10.5.8 SIRI WSDL 2.0 (+SIRI v2.0)
10.5.9 SIRI WSDL Status
11 Capability Discovery Requests
11.1 General
11.2 Capability Request
232 Table 42 — CapabilityDiscoveryRequest
233 11.3 Service Capability Discovery
11.3.1 Service Capability Discovery Request — Element
Table 43 — SIRI Service CapabilityDiscoveryRequest — Attributes
11.3.2 Service Capability Discovery Response — Element
234 Table 44 — CapabilityDiscoveryResponse — Attributes
11.3.3 Functional Service Capability Discovery Response — Element
11.3.3.1 General
235 Table 45 — SIRI Common Capability Responses
11.3.3.2 CommunicationsTransportMethod — Allowed values
236 Table 46 — CommunicationsTransportMethod — Allowed Values (SIRI 2.0)
11.3.3.3 CompressionMethod — Allowed values
Table 47 — CompressionMethod — Allowed Values (SIRI 2.0)
237 11.3.4 Service Capability Response — Example
238 11.4 Functional Service Capability Permission Matrix
11.4.1 Introduction
239 Table 48 — SIRI Functional Service Common Permission — Attributes
11.4.2 OperatorPermissions — Element
Table 49 — OperatorPermissions — Attributes
240 11.4.3 LinePermissions — Element
Table 50 — LinePermissions — Attributes
11.4.4 ConnectionLinkPermissions — Element
Table 51 — ConnectionLinkPermissions — Attributes
11.4.5 StopMonitorPermissions — Element
241 Table 52 — StopMonitorPermissions — Attributes
11.4.6 VehicleMonitorPermissions — Element
Table 53 — VehicleMonitorPermissions — Attributes
11.4.7 InfoChannelPermissions — Element
Table 54 — InfoChannelPermissions — Attributes
242 12 SIRI for Simple Web Services – SIRI Lite (+SIRI v2.0)
12.1 Introduction
12.1.1 General
243 12.1.2 Existing Implementations
12.1.3 Using SIRI-LITE services in combination
12.1.3.1 General
12.1.3.2 Providing real-time Stop Arrivals & Departures – Use Case for SIRI LITE
12.1.3.3 Vehicle positions – Use Case for SIRI LITE
244 12.1.4 Alternative Response Encoding
Table 55 – Alternative Response Encodings for SIRI Simple Web Services
12.1.5 Lossless transforms
12.1.6 Simple transforms
12.2 Encoding of URL Requests
12.2.1 Complete Request Encoding in HTTP URL’s
245 12.2.2 General format of SIRI Lite request URL
12.2.3 Endpoints and Service Identification
12.2.4 Encoding of Service Parameters on http request
246 12.2.5 Naming of Request Parameters with Hierarchy
12.2.6 Naming of Parameters with Plural Cardinality
12.2.7 Handling of invalid request combinations
12.2.8 Specifying the encoding of the Response
12.3 Examples
12.3.1 General
247 12.3.2 SIRI-SM Simple Stop Monitoring request to fetch stop departures – SIRI LITE Examples
12.3.2.1 General
12.3.2.2 Simple Stop Monitoring request to fetch stop departures – XML Example
12.3.2.3 Simple Stop Monitoring request to return stop departures – JSON Example
12.3.2.4 Simple Stop Monitoring response to return stop departures – XML Example
248 12.3.2.5 Simple Stop Monitoring response to return stop departures – JSON Example
250 12.3.3 SIRI-VM Simple Vehicle Monitoring request to fetch vehicle positions – SIRI Lite Examples
12.3.3.1 General
12.3.3.2 Simple Vehicle Monitoring request to fetch vehicle positions – XML Example
251 12.3.3.3 Simple Vehicle Monitoring request to fetch vehicle positions – JSON Example
12.3.3.4 Simple Vehicle Monitoring response to return vehicle positions – XML Example
252 12.3.3.5 Simple Vehicle Monitoring response to return vehicle positions – JSON Example
253 12.3.4 SIRI-VM Complex Vehicle Monitoring to obtain journeys – SIRI Lite Examples
12.3.4.1 General
12.3.4.2 Complex Vehicle Monitoring request to fetch monitored journeys – XML Example
12.3.4.3 Complex Vehicle Monitoring request to fetch monitored journeys – RESTful Example
12.3.4.4 Complex Vehicle Monitoring response to return monitored journeys – XML Example
256 12.3.4.5 Complex Vehicle Monitoring response to return monitored journeys – JSON Example
259 12.3.5 SIRI-SM Stop Monitoring failed request with Exception – SIRI LITE Examples
12.3.5.1 General
12.3.5.2 Simple Stop Monitoring response to return exceptions – XML Example
260 12.3.5.3 Simple Stop Monitoring response to return exceptions – JSON Example
12.4 Mapping of SIRI XML to Alternative encodings
12.4.1 Use of syntactic features of alternative rendering formats
12.4.2 Mapping of SIRI data types to alternative encodings
261 12.5 Recommendations for the use of SIRI Simple Web Services
12.5.1 General
12.5.2 Services useful for device Passenger Information Services
12.5.3 Response filtering
12.5.4 Incorporation of reference data in responses
12.5.5 Multiple functional service deliveries in the same response
262 12.5.6 Support a choice of response encodings
12.5.7 Provide reporting identifiers
13 Common SIRI elements & Data Types
13.1 General
Table 56 SIRI – NETEX equivalents
263 13.2 Introduction
13.3 Base Data Types
13.3.1 W3C Simple Types
Table 57 — W3C XML simple data types used in SIR
264 13.3.2 SIRI Simple Types
Table 58 — SIRI simple data types used in SIRI
13.3.3 NationalLanguageStringStructure — Element
13.4 Shared Elements & Structures
13.4.1 FramedVehicleJourneyRef — Element
265 Table 59 — FramedVehicleJourneyRef
13.4.2 Location — Element
Table 60 — Location
13.4.3 Error — Element
13.4.3.1 General
Table 61 — Error Code
266 13.4.3.2 Error Conditions — Elements
Table 62 — Error Conditions
13.5 Shared groups of elements
13.5.1 ServiceInfoGroup — Group
267 Table 63 — ServiceInfoGroup — Elements
13.5.2 JourneyInfoGroup — Group
Table 64 — JourneyInfoGroup — Elements
13.5.3 VehicleJourneyInfoGroup — Group
13.5.3.1 General
268 Table 65 — VehicleJourneyInfoGroup — Elements
269 13.5.3.2 FirstOrLastJourney — Allowed values
Table 66 — FirstOrLastJourney —Allowed Values (SIRI 2.0)
13.5.4 JourneyPatternInfoGroup — Group
13.5.4.1 General
Table 67 — JourneyPatternInfoGroup — Elements
270 13.5.4.2 VehicleMode — Allowed values
Table 68 — VehicleMode — Allowed Values (SIRI 2.0)
13.5.5 DisruptionGroup — Group
13.5.5.1 General
Table 69 — DisruptionGroup — Elements
13.5.5.2 FacilityChangeElement — Element
271 Table 70 — FacilityChangeElement — Elements
272 13.5.5.3 EquipmentStatus — Allowed values
Table 71 — EquipmentStatus —Allowed Values
13.5.5.4 MobilityFacility — Allowed values
Table 72 — MobilityFacility —Allowed Values
13.5.6 JourneyProgressGroup — Group
13.5.6.1 General
273 Table 73 — JourneyProgressGroup — Elements
13.5.6.2 MonitoringError — Allowed values
Table 74 — MonitoringError —Allowed Values
274 13.5.6.3 ConfidenceLevel — Allowed values
Table 75 — ConfidenceLevel —Allowed Values
13.5.6.4 ProgressRate — Allowed values
Table 76 — ProgressRate —Allowed Values
13.5.6.5 Occupancy — Allowed values
Table 77 — Occupancy —Allowed Values
275 13.5.6.6 CallStatus — Allowed values
Table 78 — CallStatus —Allowed Values
13.5.6.7 VehicleStatus — Allowed values
Table 79 — VehicleStatus —Allowed Values
276 13.6 OperationalBlockGroup — Group
Table 80 — OperationalBlockGroup — Elements
13.7 OperationalInfoGroup — Group
Table 81 — OperationalInfoGroup — Elements
277 Bibliography
BS EN 15531-2:2015 - TC
$280.87