JP2024502340A - ソフトウェアホストの構築方法、構築システム、並びにソフトウェアホスト及びシミュレーション装置 - Google Patents

ソフトウェアホストの構築方法、構築システム、並びにソフトウェアホスト及びシミュレーション装置 Download PDF

Info

Publication number
JP2024502340A
JP2024502340A JP2023540878A JP2023540878A JP2024502340A JP 2024502340 A JP2024502340 A JP 2024502340A JP 2023540878 A JP2023540878 A JP 2023540878A JP 2023540878 A JP2023540878 A JP 2023540878A JP 2024502340 A JP2024502340 A JP 2024502340A
Authority
JP
Japan
Prior art keywords
software
external
communication
platform
host
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2023540878A
Other languages
English (en)
Inventor
チュ リィゥ
ユェイン シェ
マン ムォ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Tosun Technology Ltd
Original Assignee
Shanghai Tosun Technology Ltd
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 Shanghai Tosun Technology Ltd filed Critical Shanghai Tosun Technology Ltd
Publication of JP2024502340A publication Critical patent/JP2024502340A/ja
Pending legal-status Critical Current

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

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

本発明は自動車技術分野に属し、具体的にはソフトウェアホストの構築方法、構築システム、並びにソフトウェアホスト及びシミュレーション装置に関する。ソフトウェアホストの構築方法は下記を含む。ソフトウェアプラットフォームは外部ソフトウェアの通信方法に基づいて外部ソフトウェアと通信する。ソフトウェアプラットフォームは外部ソフトウェアと通信した後に、外部ソフトウェアをソフトウェアプラットフォームの付属ソフトウェアとし、ソフトウェアホストを構成する。ソフトウェアホストによって多種の業界ソフトウェアを統一的に管理することを実現し、自動的に実行することができ、自動的に閉じ、自動的にこれらの業界ソフトウェアを配置し、自動的にこれらの業界ソフトウェアの間の通信を制御することができ、それによりこれらのソフトウェアに依存する連合シミュレーションなどの需要を効果的に満たすことを確保する。【選択図】図1

Description

本発明は自動車技術分野に属し、具体的にはソフトウェアホストの構築方法、構築システム、並びにソフトウェアホスト及びシミュレーション装置に関する。
自動車業界において開発又はテスト問題を解決するために多くの業界ソフトウェア連合シミュレーションを用いる必要がある。連合シミュレーションの前に、ユーザーは一つずつ各ソフトウェアを開く必要があり、各ソフトウェアにおいてシミュレーション関連配置を完了する。連合シミュレーション過程において、ユーザーは常に各ソフトウェアの間に切り替える必要があり、シミュレーション状態及びデータ記録情報を確認し、又はこれらのソフトウェアに対して動的配置を行う。連合シミュレーションが終了した後、ユーザーは一つずつソフトウェアを閉じる必要がある。
従来の連合シミュレーション方法の前期、実行期間及び終了期間において、ユーザーは時間を消費して連合シミュレーションに関連するソフトウェアを一つずつ実行し、配置し及び閉じる必要があり、これは人工手動実行効率が低いという問題をもたらす。手動操作の時刻の不確定性により、あるソフトウェアの開きが遅すぎ又は閉じが早すぎ、又は実行期間中の動的配置時刻の不確定性を引き起こし、シミュレーションの精度ひいてはシミュレーションの正確性に影響を与える。
従って、上記技術的問題に基づいて新たなソフトウェアホストの構築方法、構築システム、並びにソフトウェアホスト及びシミュレーション装置を設計する必要がある。
本発明の目的は、ソフトウェアホストの構築方法、構築システム、並びにソフトウェアホスト及びシミュレーション装置を提供することである。
上記技術的問題を解決するために、本発明はソフトウェアホストの構築方法を提供し、以下を含む:
ソフトウェアプラットフォームは外部ソフトウェアの通信方法に基づいて外部ソフトウェアと通信する、及び、
上記ソフトウェアプラットフォームは上記外部ソフトウェアと通信した後に、上記外部ソフトウェアを上記ソフトウェアプラットフォームの付属ソフトウェアとし、ソフトウェアホストを構成する。
さらに、上記ソフトウェアプラットフォームが上記外部ソフトウェアの通信方法に基づいて上記外部ソフトウェアと通信する方法は以下を含む:
上記ソフトウェアプラットフォームの通信カーネルは、ウィンドウメッセージ通信方法を含み、すなわち、
上記ソフトウェアプラットフォームの上記通信カーネルによって通信を開始し、上記ソフトウェアプラットフォームはまず上記外部ソフトウェアに関連するウィンドウハンドルを探し、且つ該ウィンドウハンドルによって上記外部ソフトウェアのウィンドウ位置、ウィンドウのサイズ、ウィンドウ内のテキスト入力、ウィンドウ内のボタンクリックイベント呼び出しを制御し、上記ソフトウェアプラットフォームによって上記外部ソフトウェアへの表示、隠蔽、位置設定及び自動制御を実現する。
さらに、上記ソフトウェアプラットフォームが上記外部ソフトウェアの通信方法に基づいて上記外部ソフトウェアと通信する方法は以下を含む:
上記ソフトウェアプラットフォームの上記通信カーネルはパイプライン通信方法を含み、すなわち、
上記ソフトウェアプラットフォームの上記通信カーネルによって通信を開始し、上記ソフトウェアプラットフォームはまず上記外部ソフトウェアの映像アドレスに基づいてソフトウェアを起動し、上記通信パイプラインを確立し、且つ確立されたパ上記イプラインによって上記外部ソフトウェアのデータを読み書きし、上記ソフトウェアプラットフォームによって上記外部ソフトウェアへの自動起動、自動シャットダウン及びデータ通信を実現する。
さらに、上記ソフトウェアプラットフォームが上記外部ソフトウェアの通信方法に基づいて上記外部ソフトウェアと通信する方法は以下を含む:
上記ソフトウェアプラットフォームの通信カーネルはTCP及び/又はUDP通信方法を含み、すなわち、
ソフトウェアプラットフォームの上記通信カーネルによってローカル通信を開始し、上記ソフトウェアプラットフォームはコンピュータのローカルにTCPサーバとUDPサーバを確立し、起動された上記外部ソフトウェアはローカルループバックアドレスによって上記ソフトウェアホストと通信する。
さらに、上記ソフトウェアプラットフォームが上記外部ソフトウェアの通信方法に基づいて上記外部ソフトウェアと通信する方法は以下を含む:
上記ソフトウェアプラットフォームの上記通信カーネルはCOM通信方法を含み、すなわち、
上記ソフトウェアプラットフォームをCOMクライアントとし、プロセス内又はプロセス外の方式により本機に配置された外部ソフトウェアCOMサーバにアクセスし、ソフトウェアプラットフォームにより上記外部ソフトウェアへの自動起動、自動シャットダウン、コマンド制御及びデータ通信を実現する。
さらに、上記ソフトウェアプラットフォームが上記外部ソフトウェアの通信方法に基づいて上記外部ソフトウェアと通信する方法は以下を含む:
上記ソフトウェアプラットフォームの上記通信カーネルはファイルマッピング通信方法を含み、すなわち、
上記ソフトウェアプラットフォームの上記通信カーネルによって開始し、メモリマッピングファイルの方式によって上記外部ソフトウェアとデータ交換を行い、上記ソフトウェアプラットフォームによって上記外部ソフトウェアに対するデータ通信を実現する。
さらに、上記ソフトウェアプラットフォームが上記外部ソフトウェアと通信した後に上記外部ソフトウェアを上記ソフトウェアプラットフォームの付属ソフトウェアとし、上記ソフトウェアホストを構成する方法は以下を含む:
上記ソフトウェアプラットフォームは上記外部ソフトウェアと通信した後、上記ソフトウェアプラットフォームは全ての上記外部ソフトウェアのアプリケーションプログラムインタフェースをインターフェースフレームの各サブウィンドウ位置領域に表示する。上記外部ソフトウェアのメインインタフェースは上記ソフトウェアプラットフォームにおける一つのサブウィンドウとなり、それにより上記ソフトウェアプラットフォームは上記ソフトウェアホストとなり、上記ソフトウェアプラットフォームに埋め込まれた外部ソフトウェアは上記付属ソフトウェアとなる。
第二態様では、本発明はさらにソフトウェアホストの構築システムを提供し、以下を含む:
通信モジュールであって、ソフトウェアプラットフォームは外部ソフトウェアの通信方法に基づいて外部ソフトウェアと通信する、及び、
組み込みモジュールであって、ソフトウェアプラットフォームは外部ソフトウェアと通信した後に外部ソフトウェアをソフトウェアプラットフォームの付属ソフトウェアとし、ソフトウェアホストを構成する。
第三態様では、本発明はさらにソフトウェアホストを提供し、
インターフェースフレーム及び通信カーネルを含み、
上記通信カーネルは外部ソフトウェアと通信することに適する。
上記インターフェースフレームは、通信カーネルと通信する外部ソフトウェアのアプリケーションプログラムインターフェースを表示するように適合される。
第四態様では、本発明はさらにシミュレーション装置を提供し、
ソフトウェアホストと制御モジュールを含み、
上記制御モジュールは上記ソフトウェアホストを制御して連合シミュレーションを行うことに適する。
本発明の効果は以下の通りである。本発明は、ソフトウェアプラットフォームにより外部ソフトウェアの通信方法に基づいて外部ソフトウェアと通信し、ソフトウェアプラットフォームは外部ソフトウェアと通信した後に外部ソフトウェアをソフトウェアプラットフォームの付属ソフトウェアとし、それによりソフトウェアホストを構成し、ソフトウェアホストによって多種の業界ソフトウェアを統一的に管理することを実現する。自動的に実行することができ、自動的に閉じ、自動的にこれらの業界ソフトウェアを配置し、自動的にこれらの業界ソフトウェアの間の通信を制御することができ、それによりこれらのソフトウェアに依存する連合シミュレーションなどの需要を効果的に満たすことを確保する。
本発明の他の特徴および利点は、後の明細書で説明され、部分的に明細書から明らかになるか、または本発明を実施することによって理解される。本発明の目的および他の利点は、本明細書および添付図面において特に指摘された構成によって達成され、得られる。
本発明の上述の目的、特徴、および利点をより明確にわかりやすくするために、以下に、より良い実施例を特定し、添付の図面とともに以下のように詳細に説明する。
本発明の具体的な実施形態又は従来技術における技術的解決手段をより明らかに説明するために、以下は具体的な実施形態又は従来技術の説明に用いる必要がある図面を簡単に紹介し、明らかに、以下の説明における図面は本発明のいくつかの実施形態であり、当業者にとって、創造的な労働をしない前提で、これらの図面に基づいて他の図面をさらに取得することができる。
図1は本発明のソフトウェアホストの構築方法のフローチャートである。 図2は本発明のソフトウェアホストの通信カーネルが採用するソフトウェアプロセス間の通信方法の概略図である。 図3は本発明のソフトウェアホストのインターフェースフレームの概略図である。 図4は本発明のソフトウェアホストに基づく複数業界のソフトウェア連合シミュレーション方法の概略図である。
本発明の実施例の目的、技術的解決手段及び利点をより明確にするために、以下は図面を参照して本発明の技術的解決手段を明瞭、完全に説明する。明らかに、記載された実施例は本発明の一部の実施例であり、全ての実施例ではない。本発明における実施例に基づき、当業者は創造的な労働をしない前提で得られた全ての他の実施例は、いずれも本発明の保護範囲に属する。
図1に示すように、本実施例はソフトウェアホストの構築方法を提供し、以下を含む:ソフトウェアプラットフォームは外部ソフトウェアの通信方法に基づいて外部ソフトウェアと通信し、ソフトウェアプラットフォームは外部ソフトウェアと通信した後に外部ソフトウェアをソフトウェアプラットフォームの付属ソフトウェアとし、それによりソフトウェアホストを構成し、ソフトウェアホストによって多種の業界ソフトウェアを統一的に管理することを実現する。自動的に実行することができ、自動的に閉じ、自動的にこれらの業界ソフトウェアを配置し、自動的にこれらの業界ソフトウェアの間の通信を制御することができ、それによりこれらのソフトウェアに依存する連合シミュレーションなどの需要を効果的に満たすことを確保する。
図2に示すように、本実施例において、上記ソフトウェアプラットフォームが外部ソフトウェアの通信方法に基づいて外部ソフトウェアと通信する方法は以下を含む。上記ソフトウェアプラットフォームの通信カーネルは少なくとも五種類のプロセス間通信の方法を含み、それらは、ウィンドウメッセージ、パイプライン通信、TCP及び/又はUDP通信、COM通信及びファイルマッピングである。上記ソフトウェアプラットフォームの通信カーネルはウィンドウメッセージ通信方法を含み、すなわち、ソフトウェアプラットフォームの通信カーネルによって通信を開始し、ソフトウェアプラットフォームはまず外部ソフトウェアに関連するウィンドウハンドルを探し、且つ該ハンドルによって外部ソフトウェアのウィンドウ位置、ウィンドウのサイズ、ウィンドウ内のテキスト入力、ウィンドウ内のボタンクリックイベント呼び出しを制御し、ソフトウェアプラットフォーム(ソフトウェアホスト)によって外部ソフトウェアへの表示、隠蔽、位置設定及び自動制御を実現する。
本実施例において、上記ソフトウェアプラットフォームが外部ソフトウェアの通信方法に基づいて外部ソフトウェアと通信する方法は以下を含む。上記ソフトウェアプラットフォームの通信カーネルは、パイプライン通信方法を含み、すなわちソフトウェアプラットフォームの通信カーネルによって通信を開始し、ソフトウェアプラットフォームはまず外部ソフトウェアの映像アドレスに基づいてソフトウェアを起動し、通信パイプラインを確立し、且つ確立されたパイプラインによって外部ソフトウェアのデータを読み書きし、ソフトウェアプラットフォームによって外部ソフトウェアへの自動起動、自動シャットダウン及びデータ通信を実現する。
本実施例において、上記ソフトウェアプラットフォームが外部ソフトウェアの通信方法に基づいて外部ソフトウェアと通信する方法は以下を含む。上記ソフトウェアプラットフォームの通信カーネルはTCP及び/又はUDP通信方法を含み、すなわち、ソフトウェアプラットフォームの通信カーネルによってローカル通信を開始し、ソフトウェアプラットフォームはコンピュータのローカルにTCPサーバとUDPサーバを確立し、起動された外部ソフトウェアはローカルループバックアドレスによってソフトウェアホストと通信する。
本実施例において、上記ソフトウェアプラットフォームが外部ソフトウェアの通信方法に基づいて外部ソフトウェアと通信する方法は以下を含む。上記ソフトウェアプラットフォームの通信カーネルはCOM通信方法を含み、すなわち、ソフトウェアプラットフォームをCOMクライアントとし、プロセス内又はプロセス外の方式により本機に配置された外部ソフトウェアCOMサーバにアクセスし、ソフトウェアプラットフォームにより外部ソフトウェアへの自動起動、自動シャットダウン、コマンド制御及びデータ通信を実現する。
本実施例において、上記ソフトウェアプラットフォームが外部ソフトウェアの通信方法に基づいて外部ソフトウェアと通信する方法は以下を含む。上記ソフトウェアプラットフォームの通信カーネルはファイルマッピング通信方法を含み、すなわち、ソフトウェアプラットフォームの通信カーネルによって開始し、メモリマッピングファイルの方式によって外部ソフトウェアとデータ交換を行い、ソフトウェアプラットフォームによって外部ソフトウェアに対するデータ通信を実現する。図3に示すように、本実施例において、上記ソフトウェアプラットフォームが外部ソフトウェアと通信した後に外部ソフトウェアをソフトウェアプラットフォームの付属ソフトウェアとし、ソフトウェアホストを構成する方法は以下を含む:ソフトウェアプラットフォームが外部ソフトウェアと通信した後、ソフトウェアプラットフォームは全ての外部ソフトウェアのアプリケーションプログラムインタフェースをインターフェースフレームの各サブウィンドウ位置領域に表示させる。外部ソフトウェアのメインインタフェースはソフトウェアプラットフォームにおける一つのサブウィンドウとなり、それによりソフトウェアプラットフォームはソフトウェアホストとなり、ソフトウェアプラットフォームに埋め込まれた外部ソフトウェアは付属ソフトウェアとなる。ソフトウェアホストは、ソフトウェアホストインタフェースフレーム及びソフトウェアホスト通信カーネルの二つの部分を含む。上記ソフトウェアホストインターフェースフレームは複数のサブウィンドウ位置領域を含む。これらの位置領域の数およびサイズは、ソフトウェアプラットフォームのインターフェースにおいてユーザーが自ら設定することができる。上記サブウィンドウ位置領域はソフトウェアプラットフォーム自体のサブウィンドウを表示することができ、任意の外部ソフトウェアのアプリケーションプログラムインタフェースを表示することもできる。外部ソフトウェアのアプリケーションプログラムインタフェースを表示すると、外部ソフトウェアのメインインタフェースはソフトウェアプラットフォームにおける一つのサブウィンドウになる。これにより、ソフトウェアプラットフォームがソフトウェアホストとなり、ソフトウェアプラットフォームに埋め込まれた外部ソフトウェアが付属ソフトウェアとなる。上記サブウィンドウ位置領域は1つ又は複数であってもよく、これによりソフトウェアプラットフォームに関連する全ての外部ソフトウェアは、サブウィンドウとして同時にソフトウェアプラットフォームに表示することができる。上記ソフトウェアホストはユーザーが配置したサブウィンドウ位置領域を保存することができ、且つ次回起動時に配置を自動的にロードし、ユーザー配置の持続化を保証する。ソフトウェアホストを導入する方法によって複数の業界ソフトウェアの間のデータ協調を効果的に管理し、それによりこれらのソフトウェアが同時に実行することに依存するユーザーは各ソフトウェアに対して起動、ロード、配置及び閉じる操作を行う必要がない。それによりユーザーの効率を向上させ、エラーのリスクを低減させる。ユーザーが複数の業界ソフトウェアを同時に使用する過程において起動、停止、複数のソフトウェアインターフェースを繰り返し配置することによる効率低下及びエラーリスク上昇という問題を解決し、ユーザーはソフトウェアホストのインターフェースで操作するだけで、全ての関連ソフトウェアインターフェースを同時に閲覧することができ、同時にこれらのソフトウェアが配置され、それによりユーザーの巨大な効率向上をもたらす。
具体的には図4に示すように、本実施例はソフトウェアホストに基づく複数の業界ソフトウェアの連合シミュレーション方法を提供し、自動車業界のHILテストが依存する三つの業界ソフトウェアCarSim、Matlab及びCarlaを統合し、一つのソフトウェアプラットフォームで、この三つのソフトウェアの間のデータ通信を自動的に制御することを実現し、それにより連合シミュレーションを実現する。ソフトウェアホストのメインインタフェースは同時に四つのウィンドウを表示するためのインターフェースフレームを提供し、そのうち左上隅にCarSimソフトウェアを表示し、右上隅にMatlabソフトウェアを表示し、左下隅にソフトウェアホスト自身のシステムメッセージウィンドウを表示し、右下隅にCarlaソフトウェアを表示する。上記CarSimソフトウェアは車両動力学モデルの計算を担当し、それはCOM呼び出しをサポートするため、ソフトウェアホストはCOM通信方式によってCarSimソフトウェアの自動起動、自動配置及び自動シャットダウンを実現することができる。上記Matlabソフトウェアはコントローラアルゴリズムの論理実行を担当し、それはCOM呼び出しをサポートするため、ソフトウェアホストはCOM通信方式によってMatlabソフトウェアの自動起動、自動配置及び自動シャットダウンを実現することができる。上記Carlaソフトウェアはシーンの表示を担当し、それはTCP通信をサポートするため、ソフトウェアホストはTCP通信方式によってCarlaソフトウェアに対するリアルタイム制御を実現することができる。同時にパイプライン通信方式によってCarlaソフトウェアに対する自動起動及び自動シャットダウンを実現することができる。上記ソフトウェアホストは連合シミュレーションを起動する時、それぞれ上記通信方式により、この四つのウィンドウのインターフェースフレームは同時に三つのソフトウェア及びソフトウェアホスト自身のシステムメッセージウィンドウを表示することができる。連合シミュレーションを停止する時に、この四つのウィンドウのインターフェースフレームはこの三つのソフトウェアを自動的に閉じることができ、且つソフトウェアホスト自身のシステムメッセージウィンドウを自動的に閉じる。
本実施例はさらにソフトウェアホストの構築システムを提供し、通信モジュールと組み込みモジュールを含む。通信モジュールであって、ソフトウェアプラットフォームは外部ソフトウェアの通信方法に基づいて外部ソフトウェアと通信する。組み込みモジュールであって、ソフトウェアプラットフォームは外部ソフトウェアと通信した後に外部ソフトウェアをソフトウェアプラットフォームの付属ソフトウェアとし、ソフトウェアホストを構成する。各モジュールの機能は、ソフトウェアホストの構築方法で詳細に説明されている。
本実施例はさらにソフトウェアホストを提供し、インタフェースフレームワーク(ソフトウェアホストインタフェースフレームワーク)と通信カーネル(ソフトウェアホスト通信カーネル)を含む。上記通信カーネルは外部ソフトウェアと通信するように適合される。上記インターフェースフレームは、通信カーネルと通信する外部ソフトウェアのアプリケーションプログラムインターフェースを表示するように適合される。上記インターフェースフレーム及び通信カーネルの具体的な機能はソフトウェアホストの構築方法において詳細に説明されている。
本実施例は、さらにシミュレーション装置を提供し、ソフトウェアホストと制御モジュールを含む。上記制御モジュールは上記ソフトウェアホストを制御して連合シミュレーションを行うことに適する。当該ソフトウェアホストは即ち上記ソフトウェアホストであり、ソフトウェアホストを導入する方法によって複数の業界ソフトウェアの間のデータ協調を効果的に管理し、それによりこれらのソフトウェアが同時に実行することに依存するユーザーは各ソフトウェアに対して起動、ロード、配置及び閉じる操作を行う必要がない。それによりユーザーの効率を向上させ、エラーのリスクを低減させる。ユーザーが複数の業界ソフトウェアを同時に使用する過程において起動、停止、複数のソフトウェアインターフェースを繰り返し配置することによる効率低下及びエラーリスク上昇という問題を解決した。ユーザーはソフトウェアホストのインターフェースで操作するだけで、全ての関連ソフトウェアインターフェースを同時に閲覧することができ、同時にこれらのソフトウェアを配置し、それによりユーザーに巨大な効率向上をもたらす。
以上をまとめると、本発明は、ソフトウェアプラットフォームにより外部ソフトウェアの通信方法に基づいて外部ソフトウェアと通信し、ソフトウェアプラットフォームは外部ソフトウェアと通信した後に外部ソフトウェアをソフトウェアプラットフォームの付属ソフトウェアとし、それによりソフトウェアホストを構成する。ソフトウェアホストによって多種の業界ソフトウェアを統一的に管理することを実現し、自動的に実行することができ、自動的に閉じ、自動的にこれらの業界ソフトウェアを配置し、自動的にこれらの業界ソフトウェアの間の通信を制御することができ、それによりこれらのソフトウェアに依存する連合シミュレーションなどの需要を効果的に満たすことを確保する。ソフトウェアホストを導入する方法によって複数の業界ソフトウェアの間のデータ協調を効果的に管理し、それによりこれらのソフトウェアが同時に実行することに依存するユーザーは各ソフトウェアに対して起動、ロード、配置及び閉じる操作を行う必要がない。それによりユーザーの効率を向上させ、エラーのリスクを低減させる。ユーザーが複数の業界ソフトウェアを同時に使用する過程において起動、停止、複数のソフトウェアインターフェースを繰り返し配置することによる効率低下及びエラーリスク上昇という問題を解決する。ユーザーはソフトウェアホストのインターフェースで操作するだけで、全ての関連ソフトウェアインターフェースを同時に閲覧することができ、同時にこれらのソフトウェアが配置され、それによりユーザーに巨大な効率向上をもたらす。
本願の提供するいくつかの実施例において、当然のことながら、開示された装置及び方法は、他の方式によって実現することもできる。上記で説明した装置の実施例は単なる例示であり、例えば、図面におけるフローチャート及びブロック図は本発明の複数の実施例による装置、方法及びコンピュータプログラム製品の実現可能なアーキテクチャ、機能及び操作を示す。この点に関して、フローチャート又はブロック図における各ブロックは、所定の論理機能を実行するための一つ以上の実行可能命令を含むモジュール、プログラムセグメント、又はコードの一部を表すことができる。なお、いくつかの代替的な実現方式において、ブロックに表記された機能は図面に表記された順序と異なる順序で発生してもよい。例えば、二つの連続するブロックは、実際には実質的に並行して実行することができ、関連する機能に応じて、時には逆の順序で実行することもできる。また、ブロック図及び/又はフローチャートの各ブロック、並びにブロック図及び/又はフローチャートのブロックの組み合わせは、所定の機能又は動作を実行する専用のハードウェアベースのシステムで実現されてもよく、又は専用のハードウェアとコンピュータ命令との組み合わせで実現されてもよいことに留意されたい。
また、本発明の各実施例における各機能モジュールは一体に集積して一つの独立した部分を形成してもよく、各モジュールが単独で存在してもよく、二つ又は二つ以上のモジュールを集積して一つの独立した部分を形成してもよい。
上記機能はソフトウェア機能モジュールの形式で実現し且つ独立した製品として販売又は使用する場合、一つのコンピュータの読み取り可能な記憶媒体に記憶することができる。このような理解に基づき、本発明の技術的解決手段は本質的に又は従来技術に寄与する部分又は当該技術的解決手段の部分はソフトウェア製品の形式で表すことができる。当該コンピュータソフトウェア製品は記憶媒体に記憶され、複数のコマンドを含んで一つのコンピュータ装置(パーソナルコンピュータ、サーバ、又はネットワーク装置等であってもよい)に本発明の各実施例に記載の方法の全部又は一部のステップを実行させる。前述の記憶媒体は以下を含む:Uディスク、リムーバブルディスク、リードオンリーメモリ(ROM,Read-Only Memory)、ランダムアクセスメモリ(RAM,Random Access Memory)、磁気ディスク又は光ディスク等の各種のプログラムコードを記憶できる媒体。
上述した本発明による好ましい実施例を啓発して、上述した説明内容から、当業者は本発明の技術的思想を逸脱しない範囲内で多様な変更及び修正を行うことができる。本発明の技術的範囲は明細書の内容に限定されず、特許請求の範囲に基づいてその技術的範囲を確定しなければならない。

Claims (10)

  1. ソフトウェアプラットフォームが、外部ソフトウェアの通信方法に基づいて、外部ソフトウェアと通信し、
    前記ソフトウェアプラットフォームは、前記外部ソフトウェアと通信した後に、前記外部ソフトウェアを前記ソフトウェアプラットフォームの付属ソフトウェアとし、ソフトウェアホストを構成することを、
    特徴とするソフトウェアホストの構築方法。
  2. 前記ソフトウェアプラットフォームが、前記外部ソフトウェアの通信方法に基づいて、前記外部ソフトウェアと通信する方法は、
    前記ソフトウェアプラットフォームの通信カーネルは、ウィンドウメッセージ通信方法を含み、すなわち、
    前記ソフトウェアプラットフォームの前記通信カーネルによって通信を開始し、前記ソフトウェアプラットフォームはまず前記外部ソフトウェアに関連するウィンドウハンドルを探し、且つ当該ウィンドウハンドルによって前記外部ソフトウェアのウィンドウ位置、ウィンドウのサイズ、ウィンドウ内のテキスト入力、ウィンドウ内のボタンクリックイベント呼び出しを制御し、前記ソフトウェアプラットフォームによって前記外部ソフトウェアへの表示、隠蔽、位置設定及び自動制御を実現することを、
    特徴とする請求項1に記載のソフトウェアホストの構築方法。
  3. 前記ソフトウェアプラットフォームが、前記外部ソフトウェアの通信方法に基づいて、前記外部ソフトウェアと通信する方法は、
    前記ソフトウェアプラットフォームの前記通信カーネルは、パイプライン通信方法を含み、すなわち、
    前記ソフトウェアプラットフォームの前記通信カーネルによって通信を開始し、前記ソフトウェアプラットフォームはまず前記外部ソフトウェアの映像アドレスに基づいてソフトウェアを起動し、前記通信パイプラインを確立し、且つ確立された前記パイプラインによって前記外部ソフトウェアのデータを読み書きし、前記ソフトウェアプラットフォームによって前記外部ソフトウェアへの自動起動、自動シャットダウン及びデータ通信を実現することを、
    特徴とする請求項1に記載のソフトウェアホストの構築方法。
  4. 前記ソフトウェアプラットフォームが、前記外部ソフトウェアの通信方法に基づいて、前記外部ソフトウェアと通信する方法は、
    前記ソフトウェアプラットフォームの前記通信カーネルは、TCP及び/又はUDP通信方法を含み、すなわち、
    前記ソフトウェアプラットフォームの前記通信カーネルによってローカル通信を開始し、前記ソフトウェアプラットフォームはコンピュータのローカルにTCPサーバとUDPサーバを確立し、起動された前記外部ソフトウェアがローカルループバックアドレスによって前記ソフトウェアホストと通信することを、
    特徴とする請求項1に記載のソフトウェアホストの構築方法。
  5. 前記ソフトウェアプラットフォームが、前記外部ソフトウェアの通信方法に基づいて、前記外部ソフトウェアと通信する方法は、
    前記ソフトウェアプラットフォームの前記通信カーネルは、COM通信方法を含み、すなわち、
    前記ソフトウェアプラットフォームをCOMクライアントとし、プロセス内又はプロセス外の方式により本機に配置された外部ソフトウェアCOMサーバにアクセスし、前記ソフトウェアプラットフォームにより前記外部ソフトウェアへの自動起動、自動シャットダウン、コマンド制御及びデータ通信を実現することを、
    特徴とする請求項1に記載のソフトウェアホストの構築方法。
  6. 前記ソフトウェアプラットフォームが、前記外部ソフトウェアの通信方法に基づいて、前記外部ソフトウェアと通信する方法は、
    前記ソフトウェアプラットフォームの前記通信カーネルは、ファイルマッピング通信方法を含み、すなわち、
    前記ソフトウェアプラットフォームの前記通信カーネルによって開始し、メモリマッピングファイルの方式によって前記外部ソフトウェアとデータ交換を行い、前記ソフトウェアプラットフォームによって前記外部ソフトウェアに対するデータ通信を実現することを、
    特徴とする請求項1に記載のソフトウェアホストの構築方法。
  7. 前記ソフトウェアプラットフォームが前記外部ソフトウェアと通信した後に前記外部ソフトウェアを前記ソフトウェアプラットフォームの付属ソフトウェアとし、前記ソフトウェアホストを構成する方法は、
    前記ソフトウェアプラットフォームが前記外部ソフトウェアと通信した後、前記ソフトウェアプラットフォームが全ての前記外部ソフトウェアのアプリケーションプログラムインタフェースをインターフェースフレームの各サブウィンドウ位置領域に表示させ、前記外部ソフトウェアのメインインタフェースは前記ソフトウェアプラットフォームにおける一つのサブウィンドウとなり、それにより前記ソフトウェアプラットフォームは前記ソフトウェアホストとなり、前記ソフトウェアプラットフォームに埋め込まれた外部ソフトウェアは前記付属ソフトウェアとなることを、
    特徴とする請求項1に記載のソフトウェアホストの構築方法。
  8. 通信モジュールと組み込みモジュールを含み、
    通信モジュールであって、ソフトウェアプラットフォームが外部ソフトウェアの通信方法に基づいて外部ソフトウェアと通信し、
    組み込みモジュールであって、ソフトウェアプラットフォームが外部ソフトウェアと通信した後に外部ソフトウェアをソフトウェアプラットフォームの付属ソフトウェアとし、ソフトウェアホストを構成することを、
    特徴とするソフトウェアホストの構築システム。
  9. インターフェースフレーム及び通信カーネルを含み、
    前記通信カーネルは、外部ソフトウェアと通信することに適し、
    前記インターフェースフレームは、通信カーネルと通信する外部ソフトウェアのアプリケーションプログラムインターフェースを表示するように適合されることを、
    特徴とするソフトウェアホスト。
  10. ソフトウェアホストと制御モジュールを含み、
    前記制御モジュールは、前記ソフトウェアホストを制御して連合シミュレーションを行うことに適することを、
    特徴とするシミュレーション装置。
JP2023540878A 2021-11-23 2022-09-05 ソフトウェアホストの構築方法、構築システム、並びにソフトウェアホスト及びシミュレーション装置 Pending JP2024502340A (ja)

Applications Claiming Priority (3)

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

Publications (1)

Publication Number Publication Date
JP2024502340A true JP2024502340A (ja) 2024-01-18

Family

ID=80275426

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023540878A Pending JP2024502340A (ja) 2021-11-23 2022-09-05 ソフトウェアホストの構築方法、構築システム、並びにソフトウェアホスト及びシミュレーション装置

Country Status (8)

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

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 上海同星智能科技有限公司 软件宿主构建方法、构建系统、软件宿主及仿真设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008250788A (ja) * 2007-03-30 2008-10-16 Fujitsu Ltd 連携シミュレーションシステム
CN101782848B (zh) * 2009-01-19 2013-12-04 西北工业大学 仿真软件界面集成方法
CN107479867B (zh) * 2017-06-12 2020-12-18 百度在线网络技术(北京)有限公司 应用软件插件化运行方法及装置
CN108196917A (zh) * 2017-12-27 2018-06-22 北京交通大学 重载列车动力学仿真软件的数据接口适配方法
CN114064322A (zh) * 2021-11-23 2022-02-18 上海同星智能科技有限公司 软件宿主构建方法、构建系统、软件宿主及仿真设备

Also Published As

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

Similar Documents

Publication Publication Date Title
CN112364897B (zh) 分布式训练方法及装置、存储介质及电子设备
CN107370622A (zh) 一种虚拟机复用宿主机mac和ip的方法及系统
JP2024502340A (ja) ソフトウェアホストの構築方法、構築システム、並びにソフトウェアホスト及びシミュレーション装置
WO2017124799A1 (zh) 固件管理方法和装置
CN109857466B (zh) Bios配置方法、装置、服务器及计算机可读存储介质
JP2014529808A (ja) ディスプレイ上でのユーザインターフェイスの生成
CN114237676A (zh) 一种fpga逻辑更新方法、装置、设备及可读存储介质
CN107077376A (zh) 帧缓存实现方法、装置、电子设备和计算机程序产品
CN116301596A (zh) 一种软件raid构建方法、装置、设备及存储介质
CN113779913A (zh) 一种面向ai多芯片系统的验证平台结构和测试方法
JP2013196708A (ja) 制御装置プログラムの開発装置と作成方法
CN108198582B (zh) 一种NAND Flash控制方法、装置及SSD
CN103677792A (zh) 一种基于龙芯平台Linux操作系统下rdesktop的优化方法
CN110209468A (zh) 用于启动虚拟机的方法、装置、设备和介质
US20230315038A1 (en) Method and system for providing engineering of an industrial device in a cloud computing environment
CN111858037B (zh) 一种物理机的服务编排方法、装置、设备及存储介质
JP2024508129A (ja) オリジナルシステムに基づく派生ソフトウェアの構築方法、システム及び装置
CN113268252A (zh) 基于虚拟化工控设备的镜像制作方法、系统及存储介质
CN112835680A (zh) 一种Windows操作系统虚拟机自动设置密码的方法
CN110327626A (zh) 虚拟服务器创建方法及装置
CN108235757A (zh) 一种操作系统屏幕锁定的方法、装置及电子设备
CN109074275A (zh) 硬件控制方法、装置、电子设备及计算机可读介质
CN104660455A (zh) 服务器系统与节点检测方法
CN109144527A (zh) 在openstack平台中安装操作系统的方法和装置
CN115509590B (zh) 持续部署方法及计算机设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230704