1 Introduction

The ever increasing urbanization has significantly aggravated the traffic situation in megacities. Currently around 75% of all citizens in the European Union are living in urban areas. New mobility solution approaches emerge to overcome these issues and to adapt to the new habits of especially the younger population. One example is the growing area of shared mobility, which is commonly offered in the form of car-, bike-, or ride-sharing services. While the increased variety of mobility options improves the efficiency of transportation in large cities, it also complicates the residents’ mobility planning. To address this complexity, multi-modal mobility solutions that integrate different travel modalities have started emerging on the market. Nevertheless, these approaches again employ isolated applications. Instead of alleviating the complexity in travel planning, they even aggravate it with new forms of unfamiliar services and information.

In an even wider context, the concept of a Smart City and the heavily linked topic of Internet of Things (IoT) [16] bring even more possibilities to a future travel system. Sensors can, for example, predict weather and congestions or create health maps for biking/walking. This means that a useful application should not only regard mobility service providers, but have the ability to utilize other information sources in novel and perhaps unusual ways.

The recently completed Intermodal Mobility Assistance (IMA) project [9] has aimed at providing an open and scalable platform that enables users to seamlessly integrate multiple service providers in their route planning. Service providers, on the other hand, can easily join the platform to provide mobility or information services. However, routes suggested by an application using this platform and all other available travel-related data are too much information for the traveler to have an overview. Services may provide basic information or operations that are individually neither useful nor comprehensible to a human, but may become very useful when used in an aggregated way. Hence, especially on such open platforms that combine various services, an assisting, consolidating entity is needed to keep the system manageable for users and to generate an added value. This calls for an automated and proactive personalized mobility assistant that helps before and during travel. To address this need, we propose a BDI-style [7] agent-based solution, the Interactive Routing Assistant (IRA).

A first version of IRA has been realized in the context of IMA project, with the goal of monitoring individual users traveling over inter-modal routes provided by the IMA platform. Implemented using JIAC V [12], many trade-offs had to be made due to the novelty and complexity of the platform that had to be realized within the project’s life span. While being coupled loosely to the BDI model, the components of the IRA agent as well as the platform’s domain ontology and service interfaces were predefined, fixed, and implemented with Java concepts.

With the experience gained from IMA, we argue that a more systematic and elaborate approach is needed, in which an independent assistant collects information from heterogeneous sources and chooses between different services to fulfill its goals, in order to face the challenges behind it, as discussed in Sect. 3. Our approach for the agent-based IRA is then provided in Sect. 4.

2 Related Work

While the number of approaches and products that deal with today’s problems in the personal transportation in urban areas and especially multi-modality is rising, most of these focus on calculating routes [10] or traffic control & congestion management [4]. The need for a mobile companion is often neglected.

Analyzing related research articles about virtual assistants in the transport domain, we realize that most approaches focus on humans with special needs [1] or implement simplistic [14] or particular  [15] use cases; the universal need for such assistants as we envision and as studies show [2] is not well addressed so far. An approach that targets a wider spectrum of users and contexts is shown in [6], where public transport infrastructures such as vehicles and stations are enriched with service units that can communicate with a mobile application to give the user additional contextual information. The presented approach again relies on a closed system architecture and provides only generic and reactive services.

The interactive mobility assistant proposed in this work focuses on the connection of BDI model with Smart Cities in the form of its constituent web services. A good introduction is given in [5] discussing what distinguishes agents from web services and what problems may arise when enabling BDI agents to utilize web services.

An approach that is similar to our concept is presented in [11]: An ontology-based BDI agent is introduced that is capable of using semantic web services in heterogeneous environments to create so-called workflows to fulfill its goals. The agent includes two types of ontologies, namely the operational ontologies that are domain-independent and responsible for the agent to be functional, and the application ontologies describing the domain. One of the application ontologies is the so-called domain workflow pattern ontology that contains predefined workflows for specified tasks within the domain. However, the authors do not address how the service discovery and matching is done; furthermore, a static web with well-defined workflows is assumed.

3 Research Challenges

Implementing an intelligent assistant that helps travelers to overcome the tremendous amount of information brings up different but entangled challenges to be solved, which we want to address in this section, gathered by the study of the aforementioned relevant literature as well as our own experience from the past projects.

  1. (1)

    Understanding of (web) services: To build an intelligent system that is capable of automatically understanding the meaning of the exchanged information and using services, complex ontology representations and rules that allow detailed reasoning are needed.

  2. (2)

    Aggregation of services: To create novel value-added utilizations of available information from services according to the own domain and intentions, the intelligent system needs a computation model that is able to break down goals into subsets that can be mapped onto the found services.

  3. (3)

    Highly dynamic environment: Smart Cities are highly dynamic; services join and leave, meaning that plans made by aggregated services can fail eventually or new and better alternatives become available. Even new types of information can lead to new assumptions and rules for the system.

  4. (4)

    Heterogeneous environment: Contrary to past distributed systems, very diverse set of devices and services, along with their own data models and interface protocols, can be found in Smart Cities and IoT. Therefore, intelligent systems must have the ability to abstract from these and unify the knowledge [8].

  5. (5)

    Conflicting beliefs: Since the system utilizes different information sources, it can happen that conflicting beliefs occur, e.g., the position of the traveler indicates the usage of a bus near a railway track, while the mobile device sensors indicate the usage of a train. Strategies to resolve such conflicts are needed.

4 Research Approach

To tackle the challenges mentioned above we propose an ontology-based BDI agent architecture that uses semantic web services to retrieve relevant information and perform actions. The approach both addresses the agent model as well as the agent’s environment.

4.1 The Agent Model

The agent is based on the well-known BDI model and uses the core components of Belief, Desire and Intention to model its internal state. In addition, it has sensors and actuators to perceive and influence its environment. In our approach the beliefs are retrieved from external services as well as from the mobile device the assistant is executed on. The agent’s intentions (selected plans from the plan database) are also located in the external services and the mobile device. The details of the external environment are discussed in Sect. 4.2. The goals (desires) are encoded in the saved travel routes: IRA wants to ensure that the user arrives at their destination in time. As travel routes can be divided into sub-routes, the corresponding goal can be divided into sub goals, leading to a goal hierarchy. To enable the agent to process new types of information and aggregate them to form new knowledge (Sect. 3–(2)), the BDI model within the agent is implemented using ontologies. To enable the agent to handle semantic web services it needs a corresponding ontology incorporated into the BDI ontology and links both beliefs and intentions with their web service representation. The belief base is monitored using observers; changes in the beliefs trigger rules that either lead to new beliefs or the selection or discarding of intentions. As already mentioned in Sect. 3–(5) the belief base can store beliefs that contradict each other, so they are extended by the notion of certainty; the value can be determined regarding the belief-delivering service and by internal deduction rules (e.g., stable knowledge becomes more certain over time). Lastly, since a travel route is heavily influenced by the user’s preferences and habits, a user ontology is used to model beliefs about the user, which can then weight and modify selected plans. An overview of the agent can be seen in Fig. 1.

Fig. 1.
figure 1

Structure of the agent

4.2 The Agent Environment

The agent uses external semantic web services to perceive information about its environment and to perform chosen plans. Furthermore, the user’s mobile device that runs the mobility assistant is also employed for both perceiving and interacting (see Fig. 1). The route planner is an external service that can be requested for specific routes. In our approach, coming from the IMA platform, the route planner is based on a multi-modal approach, in which different service providers can be included in a request; this way IRA can focus on the on-route management of the traveler. Our approach of course allows multiple route planners to be accessible; IRA would then choose the most appropriate one according to its plans. Alongside with the route planner different types of services are present in the agent’s environment. They can be divided into transportation-providing services, like public transport, car-sharing, bike-sharing, etc., and information-providing services that do not necessarily have to be located in the transportation domain, such as parking space availability, traffic congestion, weather prediction, air pollution, tourist features, etc.

All these services have a semantic description based on OWLS-S [3] that can be parsed by the agent (Sect. 3–(1))[13]. In this work we assume the ontology to be fixed to the transport domain, therefore we do not have to handle the possible ontology merging problem (Sect. 3–(4)). Still, we have to make some assumptions about the service description format: Since we model an assistant that is responsible for a real-world traveler with changing world states, services should provide information regarding how to react to failed plans, e.g., compensation actions (In a car-sharing scenario: cancel the booked car).

5 Conclusion and Future Work

With the adoption of smart city technologies, there is strong potential for proactive smart entities for urban mobility systems, such as our proposed multi-modal mobility assistant. While the benefits of such applications are already recognized by the research community, there are still many issues to be resolved. We have argued that our approach is able to face the challenges of future developments. The next steps are to further work out the developed concepts and implement them into our existing framework. We plan to further generalize the service request mechanism and develop the proposed ontologies for a more abstract agent that complies even better with the BDI approach.