WO2023093196A1 - 软件宿主构建方法、构建系统、软件宿主及仿真设备 - Google Patents

软件宿主构建方法、构建系统、软件宿主及仿真设备 Download PDF

Info

Publication number
WO2023093196A1
WO2023093196A1 PCT/CN2022/116931 CN2022116931W WO2023093196A1 WO 2023093196 A1 WO2023093196 A1 WO 2023093196A1 CN 2022116931 W CN2022116931 W CN 2022116931W WO 2023093196 A1 WO2023093196 A1 WO 2023093196A1
Authority
WO
WIPO (PCT)
Prior art keywords
software
external
communication
platform
host
Prior art date
Application number
PCT/CN2022/116931
Other languages
English (en)
French (fr)
Inventor
刘矗
谢乐寅
莫莽
Original Assignee
上海同星智能科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 上海同星智能科技有限公司 filed Critical 上海同星智能科技有限公司
Priority to US18/267,125 priority Critical patent/US20240118918A1/en
Priority to KR1020237011064A priority patent/KR20230079077A/ko
Priority to MX2023010689A priority patent/MX2023010689A/es
Priority to JP2023540878A priority patent/JP2024502340A/ja
Priority to EP22897287.3A priority patent/EP4339779A1/en
Priority to CA3206547A priority patent/CA3206547A1/en
Publication of WO2023093196A1 publication Critical patent/WO2023093196A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1515Non-blocking multistage, e.g. Clos
    • H04L49/1546Non-blocking multistage, e.g. Clos using pipelined operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Definitions

  • the invention belongs to the technical field of automobiles, and in particular relates to a software host construction method, a construction system, a software host and simulation equipment.
  • the object of the present invention is to provide a software host construction method, a construction system, a software host and a simulation device.
  • the present invention provides a software host construction method, comprising:
  • the software platform communicates with the external software according to the communication method of the external software
  • the external software is used as the subsidiary software of the software platform to form the software host.
  • the method for the software platform to communicate with the external software according to the communication method of the external software includes:
  • the communication kernel of described software platform comprises: window message communication method, namely
  • the communication is initiated by the communication core of the software platform, and the software platform first looks for the window handle related to the external software, and controls the window position, window size, text input in the window, and button key event call in the window through the handle to pass the software platform Realize the display, hide, position setting and automatic control of external software.
  • the method for the software platform to communicate with the external software according to the communication method of the external software includes:
  • the communication kernel of described software platform comprises: pipeline communication method, namely
  • Communication is initiated by the communication core of the software platform.
  • the software platform first starts the software according to the image address of the external software, establishes a communication channel, and reads and writes the data of the external software through the established channel, so as to realize the automatic startup of the external software through the software platform. , automatic shutdown and data communication.
  • the method for the software platform to communicate with the external software according to the communication method of the external software includes:
  • the communication kernel of described software platform comprises: TCPPUDP communication method, namely
  • the communication core of the software platform initiates local communication, and the software platform establishes a TCP server and a UDP server locally on the computer, and the activated external software communicates with the software host through the local loopback address.
  • the method for the software platform to communicate with the external software according to the communication method of the external software includes:
  • the communication kernel of described software platform comprises: COM communication method, namely
  • the software platform is used as a COM client to access the external software COM server deployed on the machine through in-process or out-of-process methods, so as to realize automatic startup, automatic shutdown, command control and data communication of external software through the software platform.
  • the method for the software platform to communicate with the external software according to the communication method of the external software includes:
  • the communication kernel of described software platform comprises: file mapping communication method, namely
  • the communication core of the software platform Initiated by the communication core of the software platform, it performs data interaction with external software through memory mapping files, so as to realize data communication with external software through the software platform.
  • the external software is used as the subsidiary software of the software platform to form the software host method including:
  • the software platform After the software platform communicates with the external software, the software platform displays the application program interfaces of all external software in the sub-window position areas of the interface frame, and the main interface of the external software becomes a sub-window in the software platform, so that the software platform becomes The software host, while the external software embedded in the software platform becomes the subsidiary software.
  • the present invention also provides a software host construction system, including:
  • the software platform communicates with the external software according to the communication method of the external software
  • the external software is used as the subsidiary software of the software platform to form the software host.
  • the present invention also provides a software host, including:
  • the communication core is adapted to communicate with external software
  • the interface framework is adapted to display an application program interface of external software communicating with the communication core.
  • the present invention also provides a simulation device, including:
  • the control module is adapted to control the software host to perform co-simulation.
  • the beneficial effects of the present invention are that the present invention communicates with the external software through the software platform according to the communication method of the external software;
  • the software host manages a variety of industry software in a unified manner. It can automatically run, automatically close, and automatically configure these industry software, and can automatically control the communication between these industry software, thus ensuring that the co-simulation requirements that rely on these software are effectively met.
  • Fig. 1 is the flowchart of the software host construction method of the present invention
  • Fig. 2 is a schematic diagram of the software inter-process communication method adopted by the software host communication kernel of the present invention
  • Fig. 3 is a schematic diagram of the software host interface framework of the present invention.
  • Fig. 4 is a schematic diagram of the multi-industry software co-simulation method based on the software host of the present invention.
  • the present embodiment provides a software host construction method, including: the software platform communicates with the external software according to the communication method of the external software; Software, to form a software host, realizes the unified management of various industry software through the software host, which can automatically run, automatically close, and automatically configure these industry software, and can automatically control the communication between these industry software, thus ensuring that those who rely on these software Co-simulation and other requirements are effectively met.
  • the method for the software platform to communicate with the external software according to the communication method of the external software includes: the communication kernel of the software platform includes at least five methods for inter-process communication, which Yes: window message, pipe communication, TCPPUDP communication, COM communication and file mapping.
  • the communication kernel of described software platform comprises: window message communication method, promptly initiates communication by the communication kernel of software platform, and software platform at first looks for the relevant window handle of external software, and controls the window position, window size, window of external software by this handle. Text input in the window, button event call in the window, so as to realize the display, hiding, position setting and automatic control of the external software through the software platform (software host).
  • the method for the software platform to communicate with the external software according to the communication method of the external software includes: the communication kernel of the software platform includes: a pipeline communication method, that is, the communication is initiated by the communication kernel of the software platform, and the software platform First, start the software according to the image address of the external software, establish a communication channel, and read and write the data of the external software through the established channel, so as to realize the functions of automatic startup, automatic shutdown and data communication of the external software through the software platform.
  • the method for the software platform to communicate with external software according to the communication method of the external software includes: the communication kernel of the software platform includes: TCPPUDP communication method, that is, the communication kernel of the software platform initiates local communication, and the software The platform establishes a TCP server and a UDP server locally on the computer, and the started external software communicates with the software host through the local loopback address.
  • the communication kernel of the software platform includes: TCPPUDP communication method, that is, the communication kernel of the software platform initiates local communication
  • the software The platform establishes a TCP server and a UDP server locally on the computer, and the started external software communicates with the software host through the local loopback address.
  • the method for the software platform to communicate with the external software according to the communication method of the external software includes: the communication kernel of the software platform includes: COM communication method, that is, the software platform is used as a COM client, through the process Or access the external software COM server deployed on this machine in an out-of-process way, so as to realize functions such as automatic startup, automatic shutdown, command control and data communication of external software through the software platform.
  • the communication kernel of the software platform includes: COM communication method, that is, the software platform is used as a COM client, through the process Or access the external software COM server deployed on this machine in an out-of-process way, so as to realize functions such as automatic startup, automatic shutdown, command control and data communication of external software through the software platform.
  • the method for the software platform to communicate with the external software according to the communication method of the external software includes: the communication kernel of the software platform includes: a file mapping communication method, that is, initiated by the communication kernel of the software platform, through memory mapping Data interaction with external software in the form of files, so as to realize the data communication function with external software through the software platform.
  • the external software is used as the subsidiary software of the software platform to form the software host.
  • the method includes: after the software platform communicates with the external software, the software platform The application program interface of all external software is displayed in each sub-window position area of the interface frame, and the main interface of the external software becomes a sub-window in the software platform, so that the software platform becomes the software host, and the external software embedded in the software platform Became an accessory software.
  • the software host includes two parts: a software host interface frame and a software host communication core; the software host interface frame includes many sub-window location areas. The number and size of these location areas can be set by the user in the software platform interface.
  • the sub-window position area can display the sub-window of the software platform itself, and can also display the application program interface of any external software. If the application program interface of the external software is displayed, the main interface of the external software will become a sub-window in the software platform . This makes the software platform become the software host, and the external software embedded in the software platform becomes the subsidiary software. There may be one or more sub-window position areas, which enables all external software associated with the software platform to be simultaneously displayed on the software platform as sub-windows.
  • the software host can save the sub-window position area configured by the user, and automatically load the configuration at the next startup, ensuring the persistence of the user configuration.
  • this embodiment provides a software host-based multi-industry software co-simulation method, which integrates three industry softwares that the automotive industry HIL test relies on: CarSim , Matlab and Carla , implemented in one Under the software platform, the data communication among the three softwares is automatically controlled, so as to realize the co-simulation.
  • the main interface of the software host provides an interface frame for displaying four windows at the same time.
  • the upper left corner displays the CarSim software
  • the upper right corner displays the Matlab software
  • the lower left corner displays the system message window that comes with the software host
  • the lower right corner displays the Carla software.
  • the CarSim software is responsible for the calculation of the vehicle dynamics model.
  • the software host can realize the automatic startup, automatic configuration and automatic shutdown of the CarSim software through COM communication.
  • the Matlab software is responsible for the logical execution of the controller algorithm. Because it supports COM calls, the software host can realize the automatic startup, automatic configuration and automatic shutdown of the Matlab software through the COM communication mode.
  • the Carla software is responsible for the display of the scene. Because it supports TCP communication, the software host can realize the real-time control of the Carla software through the TCP communication mode; at the same time, the automatic start and automatic shutdown of the Carla software can be realized through the pipeline communication mode.
  • the interface frames of the four windows will be able to simultaneously display the three software and the system message window that comes with the software host through the aforementioned communication methods.
  • the interface framework of these four windows can automatically close these three softwares, and automatically close the system message window that comes with the software host.
  • This embodiment also provides a software host construction system, including: a communication module, the software platform communicates with the external software according to the communication method of the external software; Software to form the software host; the functions of each module have been described in detail in the construction method of the software host.
  • This embodiment also provides a software host, including: an interface framework (software host interface framework) and a communication kernel (software host communication kernel); the communication kernel is suitable for communicating with external software; the interface framework is suitable for display and communication The application program interface of external software for kernel communication; the specific functions of the interface framework and communication kernel have been described in detail in the software host construction method.
  • an interface framework software host interface framework
  • a communication kernel software host communication kernel
  • This embodiment also provides a simulation device, including: a software host and a control module; the control module is suitable for controlling the software host to perform joint simulation; the software host is the above-mentioned software host, and the method of introducing the software host is effectively It manages the data synergy between multiple industry software, so that users who rely on these software to run at the same time do not have to start, load, configure and close each software. In this way, the user's efficiency is improved, the risk of error is reduced, and the problem of reduced efficiency and increased risk of error caused by the need to start, stop, and repeatedly configure multiple software interfaces when users use multiple industry software at the same time is solved. Users only need to operate on the software host interface to view all relevant software interfaces at the same time, and configure these software at the same time, thus bringing about a huge improvement in user efficiency.
  • the present invention communicates with the external software through the software platform according to the communication method of the external software; Unified management of various industry software, automatic operation, automatic shutdown, automatic configuration of these industry software, automatic control of communication between these industry software, thus ensuring that the requirements of co-simulation relying on these software are effectively met.
  • Unified management of various industry software, automatic operation, automatic shutdown, automatic configuration of these industry software, automatic control of communication between these industry software thus ensuring that the requirements of co-simulation relying on these software are effectively met.
  • the method of software host it effectively manages the data collaboration between multiple industry software, so that users who rely on these software to run at the same time do not have to start, load, configure and close each software. In this way, the user's efficiency is improved, the risk of error is reduced, and the problem of reduced efficiency and increased risk of error caused by the need to start, stop, and repeatedly configure multiple software interfaces when users use multiple industry software at the same time is solved. Users only need to operate on the software host interface to view all relevant software interfaces at the
  • each block in a flowchart or block diagram may represent a module, program segment, or part of code that includes one or more Executable instructions.
  • the functions noted in the block may occur out of the order noted in the figures. For example, two blocks in succession may, in fact, be executed substantially concurrently, or they may sometimes be executed in the reverse order, depending upon the functionality involved.
  • each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations can be implemented by a dedicated hardware-based system that performs the specified function or action , or may be implemented by a combination of dedicated hardware and computer instructions.
  • each functional module in each embodiment of the present invention can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.
  • the functions are implemented in the form of software function modules and sold or used as independent products, they can be stored in a computer-readable storage medium.
  • the essence of the technical solution of the present invention or the part that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including Several instructions are used to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in various embodiments of the present invention.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM , Read - OnlyMemory ), random access memory (RAM , RandomAccessMemory ), magnetic disk or optical disk, and other media that can store program codes.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明属于汽车技术领域,具体涉及一种软件宿主构建方法、构建系统、软件宿主及仿真设备,其中软件宿主构建方法包括:软件平台根据外部软件的通信方法与外部软件进行通信;以及软件平台与外部软件通信后将外部软件作为软件平台的附属软件,以构成软件宿主,实现了通过软件宿主统一管理多种行业软件,可自动运行、自动关闭、自动配置这些行业软件,可自动控制这些行业软件之间的通信,从而确保了依赖这些软件的联合仿真等需求得到有效的满足。

Description

软件宿主构建方法、构建系统、软件宿主及仿真设备 技术领域
本发明属于汽车技术领域,具体涉及一种软件宿主构建方法、构建系统、软件宿主及仿真设备。
背景技术
汽车行业中为了解决研发或测试问题往往需要用到多行业软件联合仿真。在联合仿真前,用户需要逐个打开每一个软件,在每一个软件中完成仿真相关配置;在联合仿真过程中,用户往往需要在各个软件之间来回切换,以查看仿真状态和数据记录信息,或对这些软件进行动态配置;在联合仿真结束后,用户需要逐个关闭软件。
在现有的联合仿真方案的前期,运行期和结束期间,用户需要消耗时间对联合仿真相关的软件逐个运行、配置和关闭,这带来人工手动执行效率低下的问题。由于人工操作的时刻的不确定性,造成某些软件打开过晚或者关闭过早,或是运行期间动态配置时刻的不确定性,都会影响到仿真的精度甚至仿真的正确性。
因此,基于上述技术问题需要设计一种新的软件宿主构建方法、构建系统、软件宿主及仿真设备。
技术问题
本发明的目的是提供一种软件宿主构建方法、构建系统、软件宿主及仿真设备。
技术解决方案
为了解决上述技术问题,本发明提供了一种软件宿主构建方法,包括:
软件平台根据外部软件的通信方法与外部软件进行通信;以及
软件平台与外部软件通信后将外部软件作为软件平台的附属软件,以构成软件宿主。
进一步,所述软件平台根据外部软件的通信方法与外部软件进行通信的方法包括:
所述软件平台的通信内核包括:窗口消息通信方法,即
由软件平台的通信内核发起通信,软件平台首先寻找外部软件相关的窗口句柄,并通过该句柄控制外部软件的窗口位置、窗口大小、窗口内文本输入、窗口内按钮按键事件调用,以通过软件平台实现对外部软件的显示、隐藏、位置设定和自动控制。
进一步,所述软件平台根据外部软件的通信方法与外部软件进行通信的方法包括:
所述软件平台的通信内核包括:管道通信方法,即
由软件平台的通信内核发起通信,软件平台首先根据外部软件的映像地址启动软件,建立通信管道,并通过建立的管道对外部软件的数据进行读写,以通过软件平台实现对外部软件的自动启动、自动关闭和数据通信。
进一步,所述软件平台根据外部软件的通信方法与外部软件进行通信的方法包括:
所述软件平台的通信内核包括: TCPUDP通信方法,即
由软件平台的通信内核发起本地通信,软件平台在计算机本地建立 TCP服务器和 UDP服务器,被启动的外部软件通过本地回环地址与软件宿主进行通信。
进一步,所述软件平台根据外部软件的通信方法与外部软件进行通信的方法包括:
所述软件平台的通信内核包括: COM通信方法,即
由软件平台作为 COM客户端,通过进程内或进程外方式访问部署在本机的外部软件 COM服务器,以通过软件平台实现对外部软件的自动启动、自动关闭、命令控制和数据通信。
进一步,所述软件平台根据外部软件的通信方法与外部软件进行通信的方法包括:
所述软件平台的通信内核包括:文件映射通信方法,即
由软件平台通信内核发起,通过内存映射文件的方式与外部软件进行数据交互,以通过软件平台实现对外部软件的数据通信。
进一步,所述软件平台与外部软件通信后将外部软件作为软件平台的附属软件,以构成软件宿主的方法包括:
在软件平台与外部软件通信后,软件平台将所有外部软件的应用程序界面显示在界面框架的各子窗口位置区域中,外部软件的主界面成为软件平台中的一个子窗口,以使软件平台成为软件宿主,而嵌入到软件平台的外部软件成为了附属软件。
第二方面,本发明还提供一种软件宿主构建系统,包括:
通信模块,软件平台根据外部软件的通信方法与外部软件进行通信;以及
嵌入模块,软件平台与外部软件通信后将外部软件作为软件平台的附属软件,以构成软件宿主。
第三方面,本发明还提供一种软件宿主,包括:
界面框架和通信内核;
所述通信内核适于与外部软件通信;
所述界面框架适于显示与通信内核通信的外部软件的应用程序界面。
第四方面,本发明还提供一种仿真设备,包括:
软件宿主和控制模块;
所述控制模块适于控制所述软件宿主进行联合仿真。
有益效果
本发明的有益效果是,本发明通过软件平台根据外部软件的通信方法与外部软件进行通信;以及软件平台与外部软件通信后将外部软件作为软件平台的附属软件,以构成软件宿主,实现了通过软件宿主统一管理多种行业软件,可自动运行、自动关闭、自动配置这些行业软件,可自动控制这些行业软件之间的通信,从而确保了依赖这些软件的联合仿真等需求得到有效的满足。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的软件宿主构建方法的流程图;
图2是本发明的软件宿主通信内核所采用的软件进程间通信方法示意图;
图3是本发明的软件宿主界面框架示意图;
图4是本发明的基于软件宿主的多行业软件联合仿真方法示意图。
本发明的实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本实施例提供了一种软件宿主构建方法,包括:软件平台根据外部软件的通信方法与外部软件进行通信;以及软件平台与外部软件通信后将外部软件作为软件平台的附属软件,以构成软件宿主,实现了通过软件宿主统一管理多种行业软件,可自动运行、自动关闭、自动配置这些行业软件,可自动控制这些行业软件之间的通信,从而确保了依赖这些软件的联合仿真等需求得到有效的满足。
如图2所示,在本实施例中,所述软件平台根据外部软件的通信方法与外部软件进行通信的方法包括:所述的软件平台通信内核包含了至少五种进程间通信的方法,它们是:窗口消息、管道通信、 TCPUDP通信、 COM通信和文件映射。所述软件平台的通信内核包括:窗口消息通信方法,即由软件平台的通信内核发起通信,软件平台首先寻找外部软件相关的窗口句柄,并通过该句柄控制外部软件的窗口位置、窗口大小、窗口内文本输入、窗口内按钮按键事件调用,以通过软件平台(软件宿主)实现对外部软件的显示、隐藏、位置设定和自动控制等功能。
在本实施例中,所述软件平台根据外部软件的通信方法与外部软件进行通信的方法包括:所述软件平台的通信内核包括:管道通信方法,即由软件平台的通信内核发起通信,软件平台首先根据外部软件的映像地址启动软件,建立通信管道,并通过建立的管道对外部软件的数据进行读写,以通过软件平台实现对外部软件的自动启动、自动关闭和数据通信等功能。
在本实施例中,所述软件平台根据外部软件的通信方法与外部软件进行通信的方法包括:所述软件平台的通信内核包括: TCPUDP通信方法,即由软件平台的通信内核发起本地通信,软件平台在计算机本地建立 TCP服务器和 UDP服务器,被启动的外部软件通过本地回环地址与软件宿主进行通信。
在本实施例中,所述软件平台根据外部软件的通信方法与外部软件进行通信的方法包括:所述软件平台的通信内核包括: COM通信方法,即由软件平台作为 COM客户端,通过进程内或进程外方式访问部署在本机的外部软件 COM服务器,以通过软件平台实现对外部软件的自动启动、自动关闭、命令控制和数据通信等功能。
在本实施例中,所述软件平台根据外部软件的通信方法与外部软件进行通信的方法包括:所述软件平台的通信内核包括:文件映射通信方法,即由软件平台通信内核发起,通过内存映射文件的方式与外部软件进行数据交互,以通过软件平台实现对外部软件的数据通信功能。
如图3所示,在本实施例中,所述软件平台与外部软件通信后将外部软件作为软件平台的附属软件,以构成软件宿主的方法包括:在软件平台与外部软件通信后,软件平台将所有外部软件的应用程序界面显示在界面框架的各子窗口位置区域中,外部软件的主界面成为软件平台中的一个子窗口,以使软件平台成为软件宿主,而嵌入到软件平台的外部软件成为了附属软件。软件宿主包括:软件宿主界面框架和软件宿主通信内核两部分;所述软件宿主界面框架包含众多子窗口位置区域。这些位置区域的数量和尺寸可在软件平台界面中由用户自行设定。所述子窗口位置区域可显示软件平台自身的子窗口,也可显示任意外部软件的应用程序界面,若显示外部软件的应用程序界面,则外部软件的主界面将成为软件平台中的一个子窗口。这使得软件平台成为了软件宿主,而嵌入到软件平台的外部软件成为了附属软件。所述子窗口位置区域可以有1个或多个,这使得和软件平台相关联的所有外部软件都能作为子窗口同时在软件平台中显示。所述软件宿主可保存用户配置的子窗口位置区域,并在下一次启动时自动加载配置,保证了用户配置的持久化。通过引入软件宿主的方法有效地管理了多个行业软件之间的数据协同,使得依赖这些软件同时运行的用户不必针对每个软件进行启动、加载、配置和关闭的操作。从而提升了用户的效率,降低了出错的风险。解决了用户同时使用多种行业软件的过程中需要启动、停止、反复配置多个软件界面带来的效率降低和出错风险升高的问题,使得用户只需要在软件宿主界面上进行操作,即可同时查看所有相关软件界面,同时对这些软件进行配置,从而带来了用户巨大的效率提升。
具体的如图4所示,,本实施例提供了一个基于软件宿主的多行业软件联合仿真方法,它整合了汽车行业 HIL测试所依赖的三款行业软件: CarSimMatlabCarla,实现在一个软件平台下,自动控制这三款软件之间的数据通信,从而实现联合仿真。软件宿主的主界面提供了用于同时显示四个窗口的界面框架,其中左上角显示 CarSim软件、右上角显示 Matlab软件、左下角显示软件宿主自带的系统消息窗口、右下角显示 Carla软件。所述的 CarSim软件负责车辆动力学模型的计算,由于它支持 COM调用,软件宿主通过 COM通信方式可实现 CarSim软件的自动启动、自动配置和自动关闭。所述的 Matlab软件负责控制器算法的逻辑执行,由于它支持 COM调用,软件宿主通过 COM通信方式可实现 Matlab软件的自动启动、自动配置和自动关闭。所述的 Carla软件负责场景的显示,由于它支持 TCP通信,软件宿主通过 TCP通信方式可实现对 Carla软件的实时控制;同时通过管道通信方式可实现对 Carla软件的自动启动和自动关闭。所述的软件宿主启动联合仿真时,分别通过前述的通信方式,使得这四个窗口的界面框架将能同时显示三款软件和软件宿主自带的系统消息窗口。在停止联合仿真时,这四个窗口的界面框架能自动关闭这三款软件,并自动关闭软件宿主自带的系统消息窗口。
本实施例还提供一种软件宿主构建系统,包括:通信模块,软件平台根据外部软件的通信方法与外部软件进行通信;以及嵌入模块,软件平台与外部软件通信后将外部软件作为软件平台的附属软件,以构成软件宿主;各模块的功能在软件宿主构建方法已经详细描述。
本实施例还提供一种软件宿主,包括:界面框架(软件宿主界面框架)和通信内核(软件宿主通信内核);所述通信内核适于与外部软件通信;所述界面框架适于显示与通信内核通信的外部软件的应用程序界面;所述界面框架和通信内核的具体功能在软件宿主构建方法已经详细描述。
本实施例还提供一种仿真设备,包括:软件宿主和控制模块;所述控制模块适于控制所述软件宿主进行联合仿真;该软件宿主即为上述软件宿主,通过引入软件宿主的方法有效地管理了多个行业软件之间的数据协同,使得依赖这些软件同时运行的用户不必针对每个软件进行启动、加载、配置和关闭的操作。从而提升了用户的效率,降低了出错的风险,并且解决了用户同时使用多种行业软件的过程中需要启动、停止、反复配置多个软件界面带来的效率降低和出错风险升高的问题,使得用户只需要在软件宿主界面上进行操作,即可同时查看所有相关软件界面,同时对这些软件进行配置,从而带来了用户巨大的效率提升。
综上所述,本发明通过软件平台根据外部软件的通信方法与外部软件进行通信;以及软件平台与外部软件通信后将外部软件作为软件平台的附属软件,以构成软件宿主,实现了通过软件宿主统一管理多种行业软件,可自动运行、自动关闭、自动配置这些行业软件,可自动控制这些行业软件之间的通信,从而确保了依赖这些软件的联合仿真等需求得到有效的满足。通过引入软件宿主的方法有效地管理了多个行业软件之间的数据协同,使得依赖这些软件同时运行的用户不必针对每个软件进行启动、加载、配置和关闭的操作。从而提升了用户的效率,降低了出错的风险,并且解决了用户同时使用多种行业软件的过程中需要启动、停止、反复配置多个软件界面带来的效率降低和出错风险升高的问题,使得用户只需要在软件宿主界面上进行操作,即可同时查看所有相关软件界面,同时对这些软件进行配置,从而带来了用户巨大的效率提升。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,也可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括: U盘、移动硬盘、只读存储器( ROMRead- OnlyMemory)、随机存取存储器( RAMRandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。

Claims (10)

  1. 一种软件宿主构建方法,其特征在于,包括:
    软件平台根据外部软件的通信方法与外部软件进行通信;以及
    软件平台与外部软件通信后将外部软件作为软件平台的附属软件,以构成软件宿主。
  2. 如权利要求1所述的软件宿主构建方法,其特征在于,
    所述软件平台根据外部软件的通信方法与外部软件进行通信的方法包括:
    所述软件平台的通信内核包括:窗口消息通信方法,即
    由软件平台的通信内核发起通信,软件平台首先寻找外部软件相关的窗口句柄,并通过该句柄控制外部软件的窗口位置、窗口大小、窗口内文本输入、窗口内按钮按键事件调用,以通过软件平台实现对外部软件的显示、隐藏、位置设定和自动控制。
  3. 如权利要求1所述的软件宿主构建方法,其特征在于,
    所述软件平台根据外部软件的通信方法与外部软件进行通信的方法包括:
    所述软件平台的通信内核包括:管道通信方法,即
    由软件平台的通信内核发起通信,软件平台首先根据外部软件的映像地址启动软件,建立通信管道,并通过建立的管道对外部软件的数据进行读写,以通过软件平台实现对外部软件的自动启动、自动关闭和数据通信。
  4. 如权利要求1所述的软件宿主构建方法,其特征在于,
    所述软件平台根据外部软件的通信方法与外部软件进行通信的方法包括:
    所述软件平台的通信内核包括: TCPUDP通信方法,即
    由软件平台的通信内核发起本地通信,软件平台在计算机本地建立 TCP服务器和 UDP服务器,被启动的外部软件通过本地回环地址与软件宿主进行通信。
  5. 如权利要求1所述的软件宿主构建方法,其特征在于,
    所述软件平台根据外部软件的通信方法与外部软件进行通信的方法包括:
    所述软件平台的通信内核包括: COM通信方法,即
    由软件平台作为 COM客户端,通过进程内或进程外方式访问部署在本机的外部软件 COM服务器,以通过软件平台实现对外部软件的自动启动、自动关闭、命令控制和数据通信。
  6. 如权利要求1所述的软件宿主构建方法,其特征在于,
    所述软件平台根据外部软件的通信方法与外部软件进行通信的方法包括:
    所述软件平台的通信内核包括:文件映射通信方法,即
    由软件平台通信内核发起,通过内存映射文件的方式与外部软件进行数据交互,以通过软件平台实现对外部软件的数据通信。
  7. 如权利要求1所述的软件宿主构建方法,其特征在于,
    所述软件平台与外部软件通信后将外部软件作为软件平台的附属软件,以构成软件宿主的方法包括:
    在软件平台与外部软件通信后,软件平台将所有外部软件的应用程序界面显示在界面框架的各子窗口位置区域中,外部软件的主界面成为软件平台中的一个子窗口,以使软件平台成为软件宿主,而嵌入到软件平台的外部软件成为了附属软件。
  8. 一种软件宿主构建系统,其特征在于,包括:
    通信模块,软件平台根据外部软件的通信方法与外部软件进行通信;以及
    嵌入模块,软件平台与外部软件通信后将外部软件作为软件平台的附属软件,以构成软件宿主。
  9. 一种软件宿主,其特征在于,包括:
    界面框架和通信内核;
    所述通信内核适于与外部软件通信;
    所述界面框架适于显示与通信内核通信的外部软件的应用程序界面。
  10. 一种仿真设备,其特征在于,包括:
    软件宿主和控制模块;
    所述控制模块适于控制所述软件宿主进行联合仿真。
PCT/CN2022/116931 2021-11-23 2022-09-05 软件宿主构建方法、构建系统、软件宿主及仿真设备 WO2023093196A1 (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
US18/267,125 US20240118918A1 (en) 2021-11-23 2022-09-05 Software host construction method, software host construction system, software host, and simulation device
KR1020237011064A KR20230079077A (ko) 2021-11-23 2022-09-05 소프트웨어 호스트 구성 방법, 구성 시스템, 소프트웨어 호스트 및 시뮬레이션 장치
MX2023010689A MX2023010689A (es) 2021-11-23 2022-09-05 Metodo de construccion de host de software, sistema de construccion de host de software, host de software y dispositivo de simulacion.
JP2023540878A JP2024502340A (ja) 2021-11-23 2022-09-05 ソフトウェアホストの構築方法、構築システム、並びにソフトウェアホスト及びシミュレーション装置
EP22897287.3A EP4339779A1 (en) 2021-11-23 2022-09-05 Software host construction method and construction system, and software host and simulation device
CA3206547A CA3206547A1 (en) 2021-11-23 2022-09-05 Software host construction method, software host construction system, software host, and simulation device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111395571.6A CN114064322A (zh) 2021-11-23 2021-11-23 软件宿主构建方法、构建系统、软件宿主及仿真设备
CN202111395571.6 2021-11-23

Publications (1)

Publication Number Publication Date
WO2023093196A1 true WO2023093196A1 (zh) 2023-06-01

Family

ID=80275426

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/116931 WO2023093196A1 (zh) 2021-11-23 2022-09-05 软件宿主构建方法、构建系统、软件宿主及仿真设备

Country Status (8)

Country Link
US (1) US20240118918A1 (zh)
EP (1) EP4339779A1 (zh)
JP (1) JP2024502340A (zh)
KR (1) KR20230079077A (zh)
CN (1) CN114064322A (zh)
CA (1) CA3206547A1 (zh)
MX (1) MX2023010689A (zh)
WO (1) WO2023093196A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114064322A (zh) * 2021-11-23 2022-02-18 上海同星智能科技有限公司 软件宿主构建方法、构建系统、软件宿主及仿真设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080306717A1 (en) * 2007-03-30 2008-12-11 Fujitsu Limited Cooperative simulation system
CN101782848A (zh) * 2009-01-19 2010-07-21 西安奕盛信息技术有限责任公司 仿真软件界面集成方法
CN107479867A (zh) * 2017-06-12 2017-12-15 百度在线网络技术(北京)有限公司 应用软件插件化运行方法及装置
CN108196917A (zh) * 2017-12-27 2018-06-22 北京交通大学 重载列车动力学仿真软件的数据接口适配方法
CN114064322A (zh) * 2021-11-23 2022-02-18 上海同星智能科技有限公司 软件宿主构建方法、构建系统、软件宿主及仿真设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080306717A1 (en) * 2007-03-30 2008-12-11 Fujitsu Limited Cooperative simulation system
CN101782848A (zh) * 2009-01-19 2010-07-21 西安奕盛信息技术有限责任公司 仿真软件界面集成方法
CN107479867A (zh) * 2017-06-12 2017-12-15 百度在线网络技术(北京)有限公司 应用软件插件化运行方法及装置
CN108196917A (zh) * 2017-12-27 2018-06-22 北京交通大学 重载列车动力学仿真软件的数据接口适配方法
CN114064322A (zh) * 2021-11-23 2022-02-18 上海同星智能科技有限公司 软件宿主构建方法、构建系统、软件宿主及仿真设备

Also Published As

Publication number Publication date
US20240118918A1 (en) 2024-04-11
MX2023010689A (es) 2023-09-22
CN114064322A (zh) 2022-02-18
JP2024502340A (ja) 2024-01-18
KR20230079077A (ko) 2023-06-05
EP4339779A1 (en) 2024-03-20
CA3206547A1 (en) 2023-06-01

Similar Documents

Publication Publication Date Title
WO2023093196A1 (zh) 软件宿主构建方法、构建系统、软件宿主及仿真设备
CN107003875A (zh) 用于多操作系统的显示方法、装置和电子设备
RU2433462C2 (ru) Альтернативный графический конвейер
WO2023103491A1 (zh) 基于原生系统的派生软件构建方法、系统及设备
CN114217900A (zh) 一种远程控制方法、装置、系统、计算设备及存储介质
JP2001034411A (ja) 複数マウス制御方式
CN116048515A (zh) 一种虚拟场景编辑方法、装置、设备和可读存储介质
CN114937118A (zh) 模型转换方法、装置、设备及介质
CN115269048A (zh) 应用程序的并发控制方法、电子设备和可读存储介质
JPH0728616A (ja) 仮想ウインドウによる仮想端末方式
WO2019119438A1 (zh) 一种操作系统屏幕锁定的方法、装置及电子设备
CN109074275A (zh) 硬件控制方法、装置、电子设备及计算机可读介质
CN117971058A (zh) 数位板调用方法、装置、电子设备及存储介质
CN116483301A (zh) 一种多屏显示方法、装置、设备及存储介质
CN115343942A (zh) 气泵控制系统以及pid参数整定方法、装置以及介质
CN116204166A (zh) 一种程序配置文件的切换方法和装置、电子设备
JPH04199093A (ja) ウインドウシステムおよびこれに用いる表示装置
CN118400419A (zh) 基于iros的云服务提供方法、装置、设备、介质和程序
CN115988235A (zh) 一种基于三层结构的互动视频剪辑系统及读取设备
CN115857849A (zh) 投屏方法、装置及电子设备
JPH03194622A (ja) Lispインタプリタの支援システム
CN116679686A (zh) 一种整车控制功能验证方法、装置以及介质
JPH02260049A (ja) プログラム起動チエツク方法
JPS60254228A (ja) マルチジヨブ環境下における画面表示制御方式
JPH0399316A (ja) 計算機システム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 18267125

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2023540878

Country of ref document: JP

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22897287

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 3206547

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: MX/A/2023/010689

Country of ref document: MX

WWE Wipo information: entry into national phase

Ref document number: 202317065062

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 2022897287

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2022897287

Country of ref document: EP

Effective date: 20231103