## 4 Description of the System
### Incorporation of New Components
#### 4.2.1 On-Board Computer (OBC)  
This component is a computer with reduced dimensions of 11.5 \(\times\) 10.1 \(\times\) 2.7 cm and a weight of 330 grams and a 2 GHz, low-power central processing unit (CPU), 2 GB of double data rate (DDR2) memory, a 64-GB solid-state drive (SSD) drive, four Universal Serial Bus (USB) ports, and a Wi-Fi interface (refer to Figure 2). This computer operates with an electrical power source that can vary between 8 V and 14 V, a maximum consumption of 10 W, and a range of temperatures from 0 \({}^{\circ}\)C to 70 \({}^{\circ}\)C. In this computer, the processes that provide the data required by the assistants executed on user mobile devices are executed. To provide these data, the on-board computer (OBC) is connected to the vehicle infrastructure and employs the communications system in the vehicle, namely, the Wi-Fi infrastructure. The OBC runs a lightweight Linux operating system in which the kernel has been adapted to the hardware features of the OBC and required functionalities. The functionalities of the OBC are achieved via a multi-thread system that is composed of the following items:  
* The main thread (MTH) that initiates with system start-up and is executed in an uninterrupted manner. This thread creates the remainder of the threads that are executed in the system and the required communication channels. * Vehicle infrastructure communication thread (CTH). This thread is the first thread created by MTH and executed in an uninterrupted manner. The mission of this thread is to communicate with the vehicle infrastructure to obtain the data required by the services that are provided en route. These data are stored in an area of shared memory to ensure access by the remainder of the threads. * Service threads (STH). These threads provide various services en route and obtain the data required by the various services; when necessary, they will transmit the data to the mobile devices of travelers. Communication between threads is performed via shared variables. These variables are created by MTH and are inherited by each of its daughter threads. The vehicle operation data are communicated by the vehicle infrastructure, and CTH receives and stores them in these variables. Figure 3 illustrates the different components that operate in the context of the vehicle. The general structure of the utilized data packet is shown in Table 2.  
The general operation of a service is explained below. Users board the vehicle at stops, at which point they connect to the services deployed in the vehicle, such as a route assistant or payment service. To do this, they use client applications (ACli applications) installed on their mobile device, _i.e._, smartphone. Using a service discovery system this application connects to the required service, provided by a service thread (STH) that is run on the on-board computer. Once connection has been established via the communication protocol and the vehicle Wi-Fi infrastructure, all required service data during the traveler's journey are sent to the ACli application to be processed and displayed to the user. We explain below in more detail how the service threads and the ACli applications function. The on-board computer (OBC) is the system's core component, in which every STH thread, providing the various services, is executed. These STH threads read all required data from a set of  
Figure 2: On-board computer and external devices. shared variables that are updated by the CTH thread; this thread is responsible for communicating with the infrastructure element that is responsible for supplying the required data. We explain below in more detail how this communication is conducted via the communication system, and the protocol used. The main element executed on the OBC is the main thread (MTH) which is executed during startup of the OBC operating system. The OBC is connected to the infrastructure via an RS-485 port, and this port is controlled by the CTH thread. The OBC is connected to the mobile user devices via a Wi-Fi interface.