Simulation apparatus and simulation method

The integration of actually-operated web services in simulation apparatuses through event-processing correspondence addresses the challenge of reproducing real-world services, enabling realistic simulations.

JP7848711B2Active Publication Date: 2026-04-21TOYOTA JIDOSHA KK
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
TOYOTA JIDOSHA KK
Filing Date
2023-02-07
Publication Date
2026-04-21

AI Technical Summary

Technical Problem

Conventional simulation techniques fail to faithfully reproduce real-world services in simulations, leading to inappropriate results due to the lack of integration with actually-operated web services.

Method used

A simulation apparatus that integrates actually-operated web services by defining a correspondence between simulation events and web service processing, using a conversion table and a cooperation unit to coordinate with external web services.

Benefits of technology

Enables realistic simulations by linking internal simulation units with external web services, allowing for the faithful reproduction of real-world services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007848711000001
    Figure 0007848711000001
  • Figure 0007848711000002
    Figure 0007848711000002
  • Figure 0007848711000003
    Figure 0007848711000003
Patent Text Reader

Abstract

To provide a simulation technology that uses web services in actual operation as part of a simulator.SOLUTION: A simulation device that uses a web service in actual operation as part of a simulator includes: one or more simulation units that simulate the behavior of mobile nodes; a storage unit that stores a conversion table representing the correspondence between events generated by the simulation units and processing using the web service; and a linkage unit that performs processing using the web service in response to events generated by the simulation unit by referring to the conversion table, and notifies the simulation unit of events corresponding to the results of the processing.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a simulation apparatus and a simulation method.

Background Art

[0002] Patent Document 1 discloses a simulator including an action simulator unit that simulates the actions of a plurality of mobile nodes according to a user-definable action model, and a network simulator unit that simulates communication on a network including the plurality of mobile nodes.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] One aspect of the present disclosure aims to provide a simulation technique that uses an actually-operated Web service as part of a simulator.

Means for Solving the Problems

[0005] One aspect of the present disclosure is a simulation apparatus that uses an actually-operated Web service as part of a simulator, including one or more simulation units that simulate the actions of mobile nodes, a storage unit that stores a conversion table representing the correspondence between events generated in the simulation unit and processing using the Web service, and a cooperation unit that performs processing using the Web service by referring to the conversion table in response to an event generated from the simulation unit and notifies the simulation unit of an event corresponding to the result of the processing.

Effects of the Invention

[0006] According to the manner of this disclosure, it becomes possible to use a web service that is actually in operation as part of the simulator for simulation. [Brief explanation of the drawing]

[0007] [Figure 1] This figure shows the configuration of a simulation system according to one embodiment. [Figure 2] This figure illustrates the data held by a simulation system in one embodiment. [Figure 3] This figure illustrates the overall processing of a simulation method in one embodiment. [Figure 4] This diagram illustrates event processing in one embodiment. [Figure 5] This diagram illustrates API processing in one embodiment. [Figure 6] This diagram illustrates a process using an external web service in one embodiment of the invention. [Modes for carrying out the invention]

[0008] Computer simulations of traffic and pedestrian flow are widely used. Conventional techniques typically involve either modeling the behavior of services used in the real world for simulation purposes or substituting it with simplified data representations. This substitution leads to the problem that real-world services are not faithfully reproduced in simulations, and appropriate results are not always obtained.

[0009] The following are possible reasons why the above problems occurred: Firstly, since many simulations only require results in an abstract state, there was little need to conduct simulations that considered actual services. Secondly, many of the proposed simulations were for research purposes, and there was little interest in applying them to actual services.

[0010] To conduct realistic simulations, it is necessary to faithfully reproduce external services that are actually in operation. However, simply connecting real services to a simulator does not enable coordination with the internal simulator. Therefore, this disclosure aims to provide a simulation technology that utilizes web services that are actually in operation as part of the simulator.

[0011] This disclosure defines the correspondence between events occurring in the simulation unit and processing using external web services, and utilizes web services in response to events. This enables the simulation unit to work in conjunction with web services.

[0012] More specifically, a simulation device according to one embodiment of the present disclosure comprises a plurality of simulation units, a storage unit, and a cooperation unit. The simulation units simulate the actions of mobile nodes. Mobile nodes are, for example, mobile objects and users (individuals). The storage unit stores a conversion table that represents the correspondence between events occurring in the simulation units and processing using a Web service. The conversion table typically includes Web service API call processing and notification processing of events occurring in response to the API call processing results to the simulation units. The cooperation unit, in response to events occurring from the simulation units, refers to the conversion table, performs processing using the Web service, and notifies the simulation units of events corresponding to the results of said processing.

[0013] By defining the correspondence between events and web service processing in this way, it becomes possible to link the internal simulation unit with external web services, and to utilize external web services in the simulation.

[0014] In this embodiment, the storage unit may further store a state table representing the internal state that is changed by processing using the Web service. The internal state of the Web service may be, for example, the internal state of the simulation that changes as a result of using the Web service, but may be a state that cannot be managed by the Web service or is managed as a different state by the Web service. The collaboration unit may perform processing using the Web service by referring to the state table in addition to the conversion table, and may manage or update the internal state used for the Web service according to the result of the processing. For example, when performing processing using the Web service, the collaboration unit may refer to the state table and convert the internal state of the simulation to the state of the Web service (for example, the real state). Also, when processing using the Web service is completed, the collaboration unit may update the internal state of the simulator according to the result and reflect it in the state table.

[0015] With this configuration, even if a web service has an internal state different from that of the simulator, it becomes possible to modify the web service and link it with the simulator's internal state.

[0016] In this embodiment, one or more simulation units may include first and second simulation units that simulate public transport and user behavior, respectively. The Web service may also provide services related to the use of on-demand transport. Such a simulation device may simulate real-world on-demand transport. This makes it possible to perform the operation.

[0017] In other embodiments, one or more simulation units may include first and second simulation units that simulate on-demand transportation and user behavior, respectively. The Web service may also provide services related to the use of public transportation. Such a simulation device allows for simulations of adding or modifying on-demand transportation in a situation where existing public transportation exists.

[0018] The simulation device according to this embodiment may further include a proposal unit that is machine-learned to propose a conversion table corresponding to a new Web service based on the conversion tables corresponding to different Web services. The machine learning may be performed using, as learning data, events generated in the simulation unit and conversion tables related to existing Web services. By adopting such a proposal unit, it is possible to save the labor of creating a conversion table for a new Web service from scratch.

[0019] Another embodiment of the present disclosure is a simulation method performed by the above-described simulation device. Further, another embodiment of the present disclosure can be regarded as a computer program for causing a computer (information processing device) to function as the above-described simulation device, or a computer program for causing a computer to execute the above-described simulation method.

[0020] Hereinafter, embodiments of the present disclosure will be described based on the drawings. The configurations of the following embodiments are examples, and the present disclosure is not limited to the configurations of the embodiments.

[0021] (System Configuration) FIG. 1(A) is a diagram showing the configuration of a simulation system (simulation device) 1 according to an embodiment. The simulation device 1 includes a simulation manager 100, a plurality of simulators 200, and an external Web service 300. The simulation manager 100 cooperates with the plurality of simulators 200 and the external Web service 300 to perform a simulation using these. The plurality of simulators 200 each simulate the behavior of a mobile node. The external Web service 300 is a service that is actually in operation.

[0022] Figure 1(B) shows the hardware configuration of the simulation system 1 according to this embodiment. The system according to this embodiment includes an information processing device (computer) 10 that executes the functions of a simulation manager, an information processing device 20 that executes the functions of multiple simulators 200, and an information processing device 30 that executes the functions of an external Web service 300. The information processing device 10 and the information processing device 30 are connected via the Internet NET, and the information processing device 20 is connected via an intranet. Note that the configuration in Figure 1(B) is merely an example, and one functional unit shown in Figure 1(A) may be divided and executed by multiple information processing devices, or multiple functional units may be executed by one information processing device. For example, the simulation manager 100 and all of the multiple simulators 200 may be executed by one information processing device, or the simulation manager 100 and one simulator 200 may each be executed by multiple information processing devices.

[0023] Figure 1(C) shows the hardware configuration of the information processing devices 10, 20, and 30. The information processing devices 10, 20, and 30 include a CPU (arithmetic unit) 41, memory 42, and communication device 43, and the functions shown in Figure 1(A) are provided by the CPU 41 executing programs stored in memory 42. Some or all of the functions shown in Figure 1(A) may be executed by dedicated hardware circuits or arithmetic units.

[0024] The simulation manager 100 includes a simulation management unit 110, a service adapter 120, an event-API master 130, a state manager 140, an internal state table 150, and a proposal unit 160. The simulation management unit 110 is a functional unit that performs overall control to execute a comprehensive simulation that links multiple simulators 200 and external web services 300. The simulation management unit 110 stores events resulting from processing using the simulators 200 and external web services 300 in an event queue, and performs simulations using the simulators 200 and external web services 300 according to the events in the queue. The service adapter 120 is a linking unit that links the external web services 300 with the simulators 200. The event-API master 130 is a table that stores the correspondence between events occurring in the simulators 200 and processing using the external web services 300. The event-API master 130 can be considered a conversion table that represents the correspondence between events occurring in the simulators 200 and processing using the external web services 300. The state manager 140 is a function that stores the internal state of the external web service 300 in the internal state table 150. The event-API master 130 and the internal state table 150 are stored in memory (storage unit) 42.

[0025] (Simulation Overview) As an example, the simulation system 1 according to this embodiment can perform a simulation to evaluate the impact of adding a new mode of transportation in a situation where existing transportation already exists. Examples of existing transportation include trains, buses, and car-sharing services, while an on-demand bus is an example of a new mode of transportation. Multiple simulators 200 simulate travel by train, bus, car-sharing service, and on-demand bus. Specifically, the simulator 200 calculates the vehicle's travel route and availability each time a user request occurs, within a given number of vehicles and area, and also manages changes in the number of vehicles and users over time. The simulator 200 also simulates user travel. Specifically, the user simulator generates travel demand (origin, destination, time) and reproduces the decision-making process of selecting from multiple modes of transportation. The external web service 300 is a service that outputs itinerary candidates using existing transportation from the origin and destination. The external web service 300 may be an actually operating service.

[0026] (Retained data) Figure 2(A) shows an example of events used in the simulation system 1 according to this embodiment. Here, the events "Reservation," "Reservation Complete," "Mobility Departure," "Mobility Arrival," "User Departure," and "User Arrival" are shown as examples. The overview of each event and the attributes of each event are as shown in the figure.

[0027] Figure 2(B) is an example showing the correspondence between events and processes stored in the Event-API Master 130, and shows the process corresponding to the "Reservation" event. Figure 2(B) describes the target of the process to be executed and the attributes to be given to that process. In this example, when the "Reservation" event occurs, the "ondemand.sample / route" API of the external Web service 300 is called to perform a route search. The attributes given in this API call are the "Departure Date and Time," "Departure Point," and "Arrival Point" included in the "Reservation" event. Next, the "ondemand.sample / availability" API of the external Web service 300 is called to inquire whether mobility (representing specific or abstract means of transportation in this specification) is available for reservation. The attributes given in this API call are the "Departure Date and Time," "Departure Point," "Arrival Point," and "Target Vehicle" that are assigned in the processing result of the route search process (the symbol "$" in the figure indicates that it is an attribute of the API call return value). These attributes are selected from the route search processing result according to predetermined criteria. This corresponds to the most desirable route (for example, the one with the shortest travel time). Next, the information is sent to the state manager 140 to check the number of available seats. In this process, mobility information for the above route is provided as an attribute, and the internal state "Number of available seats" is updated. In this example, the number of available seats is decreased by "1". Finally, a "Reservation Complete" event is issued. Note that the processing shown here is just one example, and you may perform any processing you deem appropriate.

[0028] The event-API master 130 is predefined and stored in the memory unit, for example by an administrator, according to the events that occur within the simulation unit 200 and the specifications of the external web service 300. If event-API masters 130 corresponding to multiple external web services have already been defined, the predefined event-API masters 130 may be used to generate or assist in the generation of an event-API master 130 for a new external web service 300. Specifically, the proposal unit 160 is trained using machine learning to generate an event-API master 130 for a new external web service 300, using events and predefined event-API masters 130 as training data. The administrator can then refer to the event-API master 130 output by the proposal unit 160 to generate an event-API master 130 for the new external web service 300.

[0029] Figure 2(C) shows an example of the internal state stored in the internal state table 150. Here, the number of available reservations for vehicles X, Y, and Z used in a specific mobility service, categorized by departure date and time, is stored. When a "reservation" event occurs in the simulator and a reservation for a specific vehicle is successful, the number of available reservations for that vehicle is updated by subtracting a value.

[0030] (process) Figures 3 to 5 are flowcharts showing the processing flow performed in the simulation system 1 according to this embodiment.

[0031] Referring to Figure 3, the overall process will be explained. In step S11, the simulation management unit 110 initializes the entire system. Specifically, the simulation management unit 110 initializes each simulator 200, the state manager 140, and the event queue. In step S12, each simulator 200 adds events it plans to issue to the event queue. In step S13, the simulation management unit 110 processes the event at the top of the queue. In step S14, the simulation management unit 110 notifies all simulators 200 and the state manager 140 of the event processing results. In step S15, the simulation management unit 110 determines if the event queue is empty. If there are unprocessed events in the event queue, it proceeds to step S13; if the event queue is empty, it terminates the process.

[0032] Referring to Figure 4, the event processing in step S15 will be explained. In step S21, the simulation management unit 110 instructs the simulator 200 that needs to process the current event to process the event. In step S22, the simulation management unit 110 determines whether the current event requires the use of the external Web service 300. Whether or not the use of the external Web service 300 is required can be defined in advance for each event or for each combination of event and simulator. For example, in response to the "Reservation" event in Figure 2(A), mobility is searched according to the user's travel route and the optimal mobility is reserved, so the "Reservation" event is an event that requires the use of the external Web service 300 for route searching. If the determination result in step S22 is positive, the process proceeds to step S23; if it is negative, the process proceeds to step S27.

[0033] If the event requires the use of external web service 300 (S22-YES) In step S23, the simulator 200 requests processing from the service adapter 120. For example, when a "reservation" event occurs as shown in Figure 6(A), the use of an external web service 300 is required to calculate the travel route, so the simulator 200 requests the service adapter 120 to calculate the travel route via the simulation management unit 110.

[0034] In step S24, the service adapter 120 refers to the event-API master 130 and executes the processing corresponding to the current event. The details of step S24 will be explained with reference to Figure 5.

[0035] The service adapter 120 refers to the event-API master 130 and converts the processing for the current event into a series of processes including API call processing. For example, if the event to be processed is the "Reservation" event shown in Figure 6(A), the service adapter 120 refers to the event-API master 130 and converts the event into the series of processes shown in Figure 6(B). In step S32, it is determined whether the processing of all APIs has been completed. If there is any processing remaining, the process proceeds to step S33; if all processing has been completed, the process proceeds to step S36.

[0036] In step S33, the service adapter 120 executes processing such as an API call according to the converted processing. In step S34, the service adapter 120 provides the return value of the API call to the state manager 140. In step S35, the state manager 140 updates the internal state value of the internal state table 150 according to the provided value.

[0037] Once all processing is complete (S32-NO), the service adapter 120 creates the processing result of API processing S24 based on the internal state value of the state manager 140.

[0038] Returning to the explanation of Figure 4, in step S25, the service adapter 120 sends the processing result of API processing S24 back to the simulator 200 via the simulation management unit 110. In step S26, the simulator 200 processes the event according to the notified processing result.

[0039] On the other hand, if the event does not require the use of the external web service 300 (S22-NO), the simulator 200 will perform the processing internally.

[0040] In step S28, the simulator 200 notifies the simulation management unit 110 of the event processing result.

[0041] The event processing S15 will be explained in detail below using the "Reservation" event in Figure 6(A) as an example. As mentioned above, the "Reservation" event is an event that requires route calculation and therefore requires the use of the external Web service 300 (S22-YES). The service adapter 120 refers to the event-API master 130 and obtains a series of processes corresponding to the "Reservation" event (S31). Here, a processing list consisting of four processes as shown in Figure 6(B) is obtained.

[0042] The first step is an API call for route searching. The service adapter 120 makes the API call, providing the departure date and time (2025 / 05 / 09 10:30:42), departure point (Marunouchi), and arrival point (Nihonbashi) as attributes included in the "Reservation" event (S33). As a result of this API call, the shortest travel route is determined to be vehicle X of on-demand bus service A with a departure date and time of 2025 / 05 / 10 15:50:00. Let's assume we have obtained a route from Tokyo Station to Nihonbashi Station.

[0043] The second process involves making an API call to the external web service 300 to inquire whether the mobility (vehicle X) related to the above travel route is available for reservation. When making this query, the service adapter 120 provides the processing result obtained in the initial route search process as an attribute when making the API call (S33). Note that if the number of people who can reserve vehicle X is less than the required number of reservations, the service adapter 120 may proceed with the process without making an API call, assuming that the result is that the vehicle is not available for reservation.

[0044] The third process is to notify the state manager 140 of the results of the above process and update the number of available reservations. If the service adapter 120 receives the result that a reservation is possible as process 2, it notifies that one reservation has been made for vehicle X of on-demand bus A at the departure date and time 2025 / 05 / 10 15:50:00 (S34). Upon receiving this notification, Manager 140 updates the values ​​in the internal state table 150. Specifically, as shown in Figure 6(C), the State Manager 140 updates the internal state table 150 to reduce the number of available reservations by one for the departure date and time of vehicle X, 2025 / 05 / 10 15:50:00, in accordance with the notification from Service Adapter 120 (S35).

[0045] The final step is for the service adapter 120 to generate a processing result based on the state manager's values. Specifically, the service adapter 120 issues either a "Reservation Complete" or "Reservation Not Possible" event depending on the processing result of the "Reservation" event (S36).

[0046] The processing result is sent back from the service adapter 120 to the simulator 200 (S25), and the simulator 200 processes the event according to the processing result (S26).

[0047] (Advantageous effects of this embodiment) According to this embodiment, a model independent of the simulator 200 can be utilized within the same framework as the simulator. Furthermore, for real services that have a different state from the internal state of the simulator 200, it is possible to link those real services with the internal state of the simulator 200 without modifying the real services themselves. For these reasons, it becomes possible to simulate a travel itinerary search service that is actually in operation as an external web service 300 in conjunction with other simulators.

[0048] (Other embodiments) The embodiments described above are merely examples, and this disclosure may be modified as appropriate without departing from its essence.

[0049] The examples of simulators and external web services described above are merely specific examples, and the simulators and external web services that can be adopted are not limited to those mentioned above. In this embodiment, the simulation system can be combined with any simulator and external web service, as long as it performs a simulation that links a simulator of a means of transport (mobility node) or a user with an external web service that is actually in operation. Another example of an adoptable simulation is a simulation to evaluate the effectiveness of the dispatch logic of on-demand services in a hypothetical MaaS (Mobility as a Service). In this example, simulator 200 is a simulator that simulates the movement of means of transport other than on-demand services that constitute MaaS, such as buses and trains, and a simulator that simulates the movement of a user. The external web service 300 is a dispatch optimization service, and when a combination of receipts for one day is input, it outputs the vehicle's travel route, the order and location of picking up passengers, etc. for that day. In this simulation, the ride-hailing optimization service of the actual service is treated as an on-demand service, and it is possible to evaluate whether the ride-hailing logic of the ride-hailing optimization service meets KPIs such as the demand fulfillment rate in the combination of mobility assumed as a MaaS configuration.

[0050] The present disclosure can also be realized by supplying a computer program implementing the functions described in the embodiments above to a computer, and having one or more processors in the computer read and execute the program. Such a computer program may be provided to the computer by a non-temporary computer-readable storage medium that can be connected to the computer's system bus, or it may be provided to the computer via a network. Non-temporary computer-readable storage mediums include, for example, any type of disk such as magnetic disks (floppy disks, hard disk drives (HDDs), etc.), optical disks (CD-ROMs, DVDs, Blu-ray discs, etc.), read-only memory (ROM), random access memory (RAM), EPROM, EEPROM, magnetic cards, flash memory, optical cards, and any type of medium suitable for storing electronic instructions. [Explanation of symbols]

[0051] 1: Simulation device 100: Simulation manager 200: Simulator 300: External Web Service 110: Simulation Management Department 120: Service Adapter 130: Event API Master 140: State Manager 150: Internal state table 160: Proposal department

Claims

1. A simulation device that utilizes a currently operating web service as part of the simulator, One or more simulation units that simulate the behavior of moving nodes, A storage unit that stores a conversion table representing the correspondence between events occurring in the simulation unit and processing using the Web service, A cooperation unit that, in response to an event generated by the simulation unit, refers to the conversion table, performs processing using the Web service, and notifies the simulation unit of an event corresponding to the result of said processing. Equipped with, A simulation device further comprising a suggestion unit trained by machine learning to propose a new conversion table corresponding to a new web service based on the conversion table corresponding to a different web service.

2. The storage unit further stores a state table representing the internal state that is changed by processing using the Web service, The aforementioned linkage unit also refers to the status table and performs processing using the Web service, and updates the status table according to the result of the processing. The simulation apparatus according to feature 1.

3. The one or more simulation units include a first simulation unit that simulates public transport and a second simulation unit that simulates users using at least one of the public transport and on-demand transport. The aforementioned Web service provides services related to the use of the aforementioned on-demand transportation. The simulation apparatus according to feature 1.

4. A simulation method that utilizes a web service in actual operation as part of the simulator, One or more computer simulation units simulate the behavior of the moving node, The aforementioned computer coordination unit interacts with the events that occur in the simulation unit. The steps include: referring to a conversion table that shows the correspondence with the processing using the aforementioned Web service, and performing processing using the Web service in response to an event generated from the simulation unit; Includes, A simulation method comprising a computer further comprising a suggestion unit trained by machine learning to suggest a new conversion table corresponding to a new web service based on the conversion table corresponding to a different web service.

Citation Information

Patent Citations

  • Trip reservation support system

    JP2002312437A

  • Inventory management system and method

    JP2014174706A

  • Method and device for guiding transportation route candidate, and computer program

    JP2022106538A

  • Mobile node simulator and program to implement it

    JP4534047B2

  • Mobile node simulator and program for mounting the same

    WO2006025392A1