IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 杭州海康机器人技術有限公司の特許一覧

特表2024-506044視覚ソフトウェア開発システム、方法、装置及びコンピュータ記憶媒体
<>
  • 特表-視覚ソフトウェア開発システム、方法、装置及びコンピュータ記憶媒体 図1
  • 特表-視覚ソフトウェア開発システム、方法、装置及びコンピュータ記憶媒体 図2
  • 特表-視覚ソフトウェア開発システム、方法、装置及びコンピュータ記憶媒体 図3
  • 特表-視覚ソフトウェア開発システム、方法、装置及びコンピュータ記憶媒体 図4
  • 特表-視覚ソフトウェア開発システム、方法、装置及びコンピュータ記憶媒体 図5
  • 特表-視覚ソフトウェア開発システム、方法、装置及びコンピュータ記憶媒体 図6
  • 特表-視覚ソフトウェア開発システム、方法、装置及びコンピュータ記憶媒体 図7
  • 特表-視覚ソフトウェア開発システム、方法、装置及びコンピュータ記憶媒体 図8
  • 特表-視覚ソフトウェア開発システム、方法、装置及びコンピュータ記憶媒体 図9
  • 特表-視覚ソフトウェア開発システム、方法、装置及びコンピュータ記憶媒体 図10
  • 特表-視覚ソフトウェア開発システム、方法、装置及びコンピュータ記憶媒体 図11
  • 特表-視覚ソフトウェア開発システム、方法、装置及びコンピュータ記憶媒体 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-08
(54)【発明の名称】視覚ソフトウェア開発システム、方法、装置及びコンピュータ記憶媒体
(51)【国際特許分類】
   G06F 8/34 20180101AFI20240201BHJP
【FI】
G06F8/34
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023547704
(86)(22)【出願日】2022-03-08
(85)【翻訳文提出日】2023-08-07
(86)【国際出願番号】 CN2022079753
(87)【国際公開番号】W WO2022188780
(87)【国際公開日】2022-09-15
(31)【優先権主張番号】202110251760.X
(32)【優先日】2021-03-08
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】519059292
【氏名又は名称】杭州海康机器人股▲ふん▼有限公司
【氏名又は名称原語表記】Hangzhou Hikrobot Co., Ltd.
【住所又は居所原語表記】Room 304, Unit B, Building 2, 399 Dangfeng Road, Binjiang District, Hangzhou, Zhejiang 310051, China
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】呼 志剛
(72)【発明者】
【氏名】胡 景翔
(72)【発明者】
【氏名】張 文聡
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376BB08
5B376BC08
5B376BC14
5B376BC21
5B376BC43
5B376BC49
5B376FA19
(57)【要約】
視覚ソフトウェア開発システム、方法、装置及コンピュータ記憶媒体は、機械視覚技術分野に属する。当該視覚ソフトウェア開発システムにおけるアプリケーションインターフェース層は、モジュール追加コントロールを表示することに用いられ、当該モジュール追加コントロールは、データ処理層に第三者モジュールのモジュールデータを導入することに用いられる。このように、アプリケーションインターフェース層に表示されたN個のモジュール表示コントロールに対応するモジュールは、第三者モジュールを含んでよい。これから分かるように、本願の実施例に提供される視覚ソフトウェア開発システムは、汎用的なオープン式視覚ソフトウェア開発システムであって、当該視覚ソフトウェア開発システムは、ユーザーが異なる業務ニーズに応じて異なる第三者モジュールを開発し、開発された第三者モジュールを本願の実施例に提供されるソフトウェア開発システムにマウントすることを許可する。これにより、後続に開発された視覚ソフトウェアが異なる業務の個性化ニーズにさらに適応できる。
【選択図】図11


【特許請求の範囲】
【請求項1】
アプリケーションインターフェース層とデータ処理層とを含む視覚ソフトウェア開発システムであって、
前記アプリケーションインターフェース層は、N個のモジュール表示コントロールを表示することに用いられ、前記N個のモジュール表示コントロールがそれぞれN個のモジュールに対応し、前記N個のモジュールのそれぞれのモジュールデータが前記データ処理層に記憶され、前記モジュールデータは対応するモジュールの実行ロジックを含み、前記アプリケーションインターフェース層は、モジュール追加コントロールを表示することにさらに用いられ、前記モジュール追加コントロールは、前記データ処理層に第三者モジュールの前記モジュールデータを導入することに用いられ、前記N個のモジュールは前記第三者モジュールを含み、前記Nが1以上の正の整数であり、
前記アプリケーションインターフェース層は、前記N個のモジュール表示コントロールのうちの1つ又は複数のモジュール表示コントロールに対するユーザーの第1操作に応答して、フローチャートを表示することにさらに用いられ、前記フローチャートは、前記1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールの間の実行順序を指示するものであり、
前記データ処理層は、前記アプリケーションインターフェース層に表示された前記フローチャートに応答して、前記1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールの前記モジュールデータを呼び出して実行し、前記フローチャートのデータ処理結果を取得し、前記アプリケーションインターフェース層に前記データ処理結果を返信することに用いられる、
視覚ソフトウェア開発システム。
【請求項2】
前記アプリケーションインターフェース層は、前記モジュール追加コントロールに対する第2操作に応答して、前記ユーザーが前記モジュール追加コントロールによって導入した前記第三者モジュールの前記モジュールデータを取得し、導入された前記第三者モジュールの前記モジュールデータを前記データ処理層に送信することに用いられ、
前記データ処理層は、前記導入された前記第三者モジュールの前記モジュールデータが参照ルールを満たすと判定した場合、前記導入された前記第三者モジュールの前記モジュールデータを記憶し、前記アプリケーションインターフェース層にモジュールロード成功メッセージを返信することに用いられ、前記モジュールロード成功メッセージは前記第三者モジュールのロードが成功したことを指示するものである、
請求項1に記載のシステム。
【請求項3】
前記参照ルールは、前記第三者モジュールの入出力ポートの設計方式及び/又は前記第三者モジュールの前記モジュールデータのパッケージ方式を含み、
前記第三者モジュールの入出力ポートの設計方式は、前記第三者モジュールの入力データ及び/又は出力データのフォーマットを含み、前記第三者モジュールの前記モジュールデータのパッケージ方式は、前記第三者モジュールの前記モジュールデータの前記データ処理層における格納フォーマットを指示し、前記格納フォーマットは、ダイナミックリンクライブラリ、スタティックリンクライブラリ、及び実行可能なexeファイルのうちのいずれかを含む、
請求項2に記載のシステム。
【請求項4】
前記アプリケーションインターフェース層は、前記モジュール追加コントロールに対する第3操作に応答して、モジュール構成ファイルを表示することに用いられ、前記モジュール構成ファイルは前記参照ルールを指示するものである、
請求項2又は3に記載のシステム。
【請求項5】
前記アプリケーションインターフェース層は、前記N個のモジュール表示コントロールにおける第1モジュール表示コントロールに対する前記ユーザーの第4操作に応答して、前記第1モジュール表示コントロールに対応する第1モジュールのモジュール構成インターフェースを表示することにさらに用いられ、前記モジュール構成インターフェースに複数のモジュール構成コントロールを含み、前記複数のモジュール構成コントロールのうちのいずれかのモジュール構成コントロールは、前記ユーザーに、前記第1モジュールの実行過程におけるパラメータを編集することを指示するものであり、
前記アプリケーションインターフェース層は、前記いずれかのモジュール構成コントロールに対する第5操作に応答して、前記ユーザーが前記いずれかのモジュール構成コントロールによって編集したパラメータを取得し、編集されたパラメータを前記データ処理層に送信することにさらに用いられ、
前記データ処理層は、前記編集されたパラメータに基づいて前記第1モジュールの前記モジュールデータを更新することにさらに用いられ、
前記フローチャートが前記第1モジュールを含む場合、前記データ処理層は、更新された前記第1モジュールの前記モジュールデータに基づいて前記フローチャートの前記データ処理結果を更新し、更新された前記データ処理結果を前記アプリケーションインターフェース層に返信することにさらに用いられる、
請求項1に記載のシステム。
【請求項6】
前記第1モジュールが前記第三者モジュールである場合、前記ユーザーが前記モジュール追加コントロールによって導入した前記第1モジュールの前記モジュールデータに、モジュール構成インターフェースファイルをさらに含み、前記モジュール構成インターフェースファイルは、前記第1モジュールの前記モジュール構成インターフェースのプログラムコードを指示するものであり、
前記アプリケーションインターフェース層に表示された前記第1モジュールの前記モジュール構成インターフェースは、前記第1モジュールの前記モジュールデータにおける前記モジュール構成インターフェースファイルに従って表示される、
請求項5に記載のシステム。
【請求項7】
前記データ処理層は、前記フローチャートに基づいて第1コードパッケージを生成することにさらに用いられ、前記第1コードパッケージは、前記フローチャートに含まれる各モジュールの実行ロジック及び含まれる各モジュールの間の実行順序を指示するものであり、
前記データ処理層は、前記第1コードパッケージに対応する第1コードコントロールを表示するように、前記アプリケーションインターフェース層を制御することにさらに用いられ、前記第1コードコントロールは、前記ユーザーに、前記第1コードパッケージをダウンロードすることを指示することに用いられ、前記第1コードパッケージは、第三者システムに導入することをサポートし、前記第三者システムで実行された後、前記フローチャートを表示する、
請求項1に記載のシステム。
【請求項8】
前記アプリケーションインターフェース層は、実行インターフェース表示コントロールを表示することにさらに用いられ、前記実行インターフェース表示コントロールは、前記フローチャートに対する実行インターフェースを表示することを指示するものであり、前記実行インターフェースは、前記フローチャートの実行情報を表示することに用いられ、前記フローチャートの実行情報は、前記フローチャートの実行過程における中間データを指示するものであり、
前記アプリケーションインターフェース層は、前記実行インターフェース表示コントロールに対する第6操作に応答して、前記ユーザーが前記実行インターフェースに基づいて前記フローチャートの実行過程における中間データを見ることができるように、前記実行インターフェースを表示することにさらに用いられる、
請求項1に記載のシステム。
【請求項9】
前記アプリケーションインターフェース層は、実行インターフェース構成コントロールを表示することにさらに用いられ、前記実行インターフェース構成コントロールは、実行インターフェース構成インターフェースを表示することを指示するものであり、前記実行インターフェース構成インターフェースは、前記実行インターフェースに表示されたコンテンツを構成することに用いられ、
前記アプリケーションインターフェース層は、前記実行インターフェース構成コントロールに対する第7操作に応答して、前記実行インターフェース構成インターフェースを表示することにさらに用いられ、前記実行インターフェース構成インターフェースは、複数の実行インターフェース構成サブコントロールを含み、前記複数の実行インターフェース構成サブコントロールのうちのいずれかの実行インターフェース構成サブコントロールは、起動オプションを有し、
前記アプリケーションインターフェース層は、前記複数の実行インターフェース構成サブコントロールにおける第1実行インターフェース構成サブコントロールの起動オプションに対する第8操作に応答して、コンテンツソースオプションを表示し、前記コンテンツソースオプションに対する第9操作に応答して、前記第1実行インターフェース構成サブコントロールと前記フローチャートにおける1つのモジュールとをバインドすることにさらに用いられ、
前記実行インターフェースに表示された実行情報は、前記第1実行インターフェース構成サブコントロールとバインドしたモジュールのデータを含む、
請求項8に記載のシステム。
【請求項10】
前記データ処理層は、前記実行インターフェースのプログラムコードを第2コードパッケージとして導出することにさらに用いられ、
前記データ処理層は、前記第2コードパッケージに対応する第2コードコントロールを表示するように前記アプリケーションインターフェース層を制御することにさらに用いられ、前記第2コードコントロールは、前記ユーザーに、前記第2コードパッケージをダウンロードすることを指示するためのものであり、前記第2コードパッケージは、第三者システムに導入することをサポートし、前記第三者システムで実行された後、前記実行インターフェースを表示する、
請求項8に記載のシステム。
【請求項11】
前記データ処理層は、データスケジューリング層と機能モジュール層とを含み、
前記機能モジュール層には前記N個のモジュールの前記モジュールデータが記憶されており、
前記データスケジューリング層は、前記フローチャートにおける前記1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールの間の実行順序に従って、前記機能モジュール層から前記1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールの前記モジュールデータを順次に呼び出して実行し、前記データ処理結果を取得することにさらに用いられる、
請求項1から10のいずれか1項に記載のシステム。
【請求項12】
前記データ処理層は、M個のモジュールの前記モジュールデータを記憶することに用いられ、前記Mが前記N以上の正の整数であり、
前記アプリケーションインターフェース層は、モジュール登録コントロールを表示することにさらに用いられ、前記アプリケーションインターフェース層は、前記ユーザーが前記モジュール登録コントロールによって前記M個のモジュールから選択した前記N個のモジュールに応答して、前記N個のモジュール表示コントロールを表示することにさらに用いられる、
請求項1に記載のシステム。
【請求項13】
前記N個のモジュールは前記データ処理層が検証して合法とするモジュールであり、前記検証して合法とするモジュールとは前記ユーザーが利用権限を持っている対応するモジュールである、
請求項12に記載のシステム。
【請求項14】
前記アプリケーションインターフェース層は、いずれかのモジュール表示コントロールに対する呼び出しコントロールを表示することにさらに用いられ、前記呼び出しコントロールは、ユーザーが第三者システムに前記いずれかのモジュール表示コントロールに対応するモジュールを呼び出すことを許可することを指示し、
前記アプリケーションインターフェース層は、前記呼び出しコントロールに対する第10操作に応答して、前記いずれかのモジュール表示コントロールに対応するモジュールの前記モジュールデータのポートリンクを表示することにさらに用いられ、
前記アプリケーションインターフェース層は、前記第三者システムから送信された前記ポートリンクに対するデータ呼び出し要求を検出した時に、前記ポートリンクに基づいて前記データ処理層から前記いずれかのモジュール表示コントロールに対応するモジュールの前記モジュールデータを取得し、取得された前記モジュールデータを前記第三者システムに送信することにさらに用いられる、
請求項1に記載のシステム。
【請求項15】
アプリケーションインターフェース層とデータ処理層とを含む視覚ソフトウェア開発システムに適用される、視覚ソフトウェア開発方法であって、前記方法は、
前記アプリケーションインターフェース層は、N個のモジュール表示コントロールを表示し、前記N個のモジュール表示コントロールがそれぞれN個のモジュールに対応し、前記N個のモジュールのそれぞれのモジュールデータが前記データ処理層に記憶され、前記モジュールデータは対応するモジュールの実行ロジックを含み、前記アプリケーションインターフェース層は、モジュール追加コントロールをさらに表示し、前記モジュール追加コントロールは、前記データ処理層に第三者モジュールの前記モジュールデータを導入することに用いられ、前記N個のモジュールは前記第三者モジュールを含み、前記Nが1以上の正の整数であることと、
前記アプリケーションインターフェース層は、前記N個のモジュール表示コントロールのうちの1つ又は複数のモジュール表示コントロールに対するユーザーの第1操作に応答して、フローチャートを表示し、前記フローチャートは、前記1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールの間の実行順序を指示し、
前記データ処理層は、前記アプリケーションインターフェース層に表示された前記フローチャートに応答して、前記1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールの前記モジュールデータを呼び出して実行し、前記フローチャートのデータ処理結果を取得し、前記アプリケーションインターフェース層に前記データ処理結果を返信することと、を含む、
視覚ソフトウェア開発方法。
【請求項16】
前記方法は、
前記アプリケーションインターフェース層は、前記モジュール追加コントロールに対する第2操作に応答して、前記ユーザーが前記モジュール追加コントロールによって導入した前記第三者モジュールの前記モジュールデータを取得し、導入された前記第三者モジュールの前記モジュールデータを前記データ処理層に送信することと、
前記データ処理層は、前記導入された前記第三者モジュールの前記モジュールデータが参照ルールを満たすと判定した場合、前記導入された前記第三者モジュールの前記モジュールデータを記憶し、前記アプリケーションインターフェース層にモジュールロード成功メッセージを返信し、前記モジュールロード成功メッセージは前記第三者モジュールのロードが成功したことを指示することと、をさらに含む、
請求項15に記載の方法。
【請求項17】
前記参照ルールは、前記第三者モジュールの入出力ポートの設計方式及び/又は前記第三者モジュールの前記モジュールデータのパッケージ方式を含み、
前記第三者モジュールの入出力ポートの設計方式は、前記第三者モジュールの入力データ及び/又は出力データのフォーマットを含み、前記第三者モジュールの前記モジュールデータのパッケージ方式は、前記第三者モジュールの前記モジュールデータの前記データ処理層における格納フォーマットを指示し、前記格納フォーマットは、ダイナミックリンクライブラリ、スタティックリンクライブラリ、及び実行可能なexeファイルのうちのいずれかを含む、
請求項16に記載の方法。
【請求項18】
前記方法は、
前記アプリケーションインターフェース層は、前記モジュール追加コントロールに対する第3操作に応答して、モジュール構成ファイルを表示し、前記モジュール構成ファイルは前記参照ルールを指示することをさらに含む、
請求項16又は17に記載の方法。
【請求項19】
前記方法は、
前記アプリケーションインターフェース層は、前記N個のモジュール表示コントロールにおける第1モジュール表示コントロールに対する前記ユーザーの第4操作に応答して、前記第1モジュール表示コントロールに対応する第1モジュールのモジュール構成インターフェースを表示し、前記モジュール構成インターフェースに複数のモジュール構成コントロールを含み、前記複数のモジュール構成コントロールのうちのいずれかのモジュール構成コントロールは、前記ユーザーに、前記第1モジュールの実行過程におけるパラメータを編集することを指示することと、
前記アプリケーションインターフェース層は、前記いずれかのモジュール構成コントロールに対する第5操作に応答して、前記ユーザーが前記いずれかのモジュール構成コントロールによって編集したパラメータを取得し、編集されたパラメータを前記データ処理層に送信することと、
前記データ処理層は、前記編集されたパラメータに基づいて前記第1モジュールの前記モジュールデータを更新することと、をさらに含み、
前記フローチャートが前記第1モジュールを含む場合、前記データ処理層は、更新された前記第1モジュールの前記モジュールデータに基づいて前記フローチャートの前記データ処理結果を更新し、更新された前記データ処理結果を前記アプリケーションインターフェース層に返信する、
請求項15に記載の方法。
【請求項20】
前記第1モジュールが前記第三者モジュールである場合、前記ユーザーが前記モジュール追加コントロールによって導入した前記第1モジュールの前記モジュールデータに、モジュール構成インターフェースファイルをさらに含み、前記モジュール構成インターフェースファイルは、前記第1モジュールの前記モジュール構成インターフェースのプログラムコードを指示し、
前記アプリケーションインターフェース層に表示された前記第1モジュールの前記モジュール構成インターフェースは、前記第1モジュールの前記モジュールデータにおける前記モジュール構成インターフェースファイルに従って表示される、
請求項19に記載の方法。
【請求項21】
前記方法は、
前記データ処理層は、前記フローチャートに基づいて第1コードパッケージを生成し、前記第1コードパッケージは、前記フローチャートに含まれる各モジュールの実行ロジック及び含まれる各モジュールの間の実行順序を指示することと、
前記データ処理層は、前記アプリケーションインターフェース層が前記第1コードパッケージに対応する第1コードコントロールを表示するように、前記アプリケーションインターフェース層を制御し、前記第1コードコントロールは、前記ユーザーに、前記第1コードパッケージをダウンロードすることを指示することに用いられ、前記第1コードパッケージは、第三者システムに導入することをサポートし、前記第三者システムで実行された後、前記フローチャートを表示することと、をさらに含む、
請求項15に記載の方法。
【請求項22】
前記方法は、
前記アプリケーションインターフェース層は、実行インターフェース表示コントロールを表示し、前記実行インターフェース表示コントロールは、前記フローチャートに対する実行インターフェースを表示することを指示し、前記実行インターフェースは、前記フローチャートの実行情報を表示することに用いられ、前記フローチャートの実行情報は、前記フローチャートの実行過程における中間データを指示することと、
前記アプリケーションインターフェース層は、前記実行インターフェース表示コントロールに対する第6操作に応答して、前記ユーザーが前記実行インターフェースに基づいて前記フローチャートの実行過程における中間データを見るように、前記実行インターフェースを表示することと、をさらに含む、
請求項15に記載の方法。
【請求項23】
前記方法は、
前記アプリケーションインターフェース層は、実行インターフェース構成コントロールを表示し、前記実行インターフェース構成コントロールは、実行インターフェース構成インターフェースを表示することを指示し、前記実行インターフェース構成インターフェースは、前記実行インターフェースに表示されたコンテンツを構成することに用いられることと、
前記アプリケーションインターフェース層は、前記実行インターフェース構成コントロールに対する第7操作に応答して、前記実行インターフェース構成インターフェースを表示し、前記実行インターフェース構成インターフェースは、複数の実行インターフェース構成サブコントロールを含み、前記複数の実行インターフェース構成サブコントロールのうちのいずれかの実行インターフェース構成サブコントロールは、起動オプションを有することと、
前記アプリケーションインターフェース層は、前記複数の実行インターフェース構成サブコントロールにおける第1実行インターフェース構成サブコントロールの起動オプションに対する第8操作に応答して、コンテンツソースオプションを表示し、前記コンテンツソースオプションに対する第9操作に応答して、前記第1実行インターフェース構成サブコントロールと前記フローチャートにおける1つのモジュールとをバインドすることと、をさらに含み、
前記実行インターフェースに表示された実行情報は、前記第1実行インターフェース構成サブコントロールとバインドしたモジュールのデータを含む、
請求項22に記載の方法。
【請求項24】
前記方法は、
前記データ処理層は、前記実行インターフェースのプログラムコードを第2コードパッケージとして導出することと、
前記データ処理層は、前記アプリケーションインターフェース層が前記第2コードパッケージに対応する第2コードコントロールを表示するように、前記アプリケーションインターフェース層を制御し、前記第2コードコントロールは、前記ユーザーに、前記第2コードパッケージをダウンロードすることを指示することに用いられ、前記第2コードパッケージは、第三者システムに導入することをサポートし、前記第三者システムで実行された後、前記実行インターフェースを表示することと、をさらに含む、
請求項22に記載の方法。
【請求項25】
前記データ処理層は、データスケジューリング層と機能モジュール層とを含み、
前記機能モジュール層には前記N個のモジュールの前記モジュールデータが記憶されており、
前記データ処理層は、前記アプリケーションインターフェース層に表示された前記フローチャートに応答して、前記1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールの前記モジュールデータを呼び出して実行し、前記フローチャートの前記データ処理結果を取得することは、
前記データスケジューリング層は、前記フローチャートにおける前記1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールの間の実行順序に従って、前記機能モジュール層から前記1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールの前記モジュールデータを順次に呼び出して実行し、前記データ処理結果を取得することを含む、
請求項15から24のいずれか1項に記載の方法。
【請求項26】
前記方法は、
前記アプリケーションインターフェース層は、モジュール登録コントロールを表示し、前記アプリケーションインターフェース層は、前記ユーザーが前記モジュール登録コントロールによってM個のモジュールから選択した前記N個のモジュールに応答して、前記N個のモジュール表示コントロールを表示し、前記データ処理層に前記M個のモジュールの前記モジュールデータが記憶され、前記Mが前記N以上の正の整数であることをさらに含む、
請求項15に記載の方法。
【請求項27】
前記N個のモジュールは前記データ処理層が検証して合法とするモジュールであり、前記検証して合法とするモジュールとは前記ユーザーが利用権限を持っている対応するモジュールである、
請求項26に記載の方法。
【請求項28】
前記方法は、
前記アプリケーションインターフェース層は、いずれかのモジュール表示コントロールに対する呼び出しコントロールを表示し、前記呼び出しコントロールは、ユーザーが第三者システムに前記いずれかのモジュール表示コントロールに対応するモジュールを呼び出すことを許可することを指示することと、
前記アプリケーションインターフェース層は、前記呼び出しコントロールに対する第10操作に応答して、前記いずれかのモジュール表示コントロールに対応するモジュールの前記モジュールデータのポートリンクを表示することにさらに用いられ、
前記アプリケーションインターフェース層は、前記第三者システムから送信された前記ポートリンクに対するデータ呼び出し要求を検出した時に、前記ポートリンクに基づいて前記データ処理層から前記いずれかのモジュール表示コントロールに対応するモジュールの前記モジュールデータを取得し、取得された前記モジュールデータを前記第三者システムに送信することと、をさらに含む、
請求項15に記載の方法。
【請求項29】
アプリケーションインターフェース層とデータ処理層とを含む視覚ソフトウェア開発システムに構成される、視覚ソフトウェア開発装置であって、
前記装置は、表示モジュールと実行モジュールとを含み、
前記表示モジュールは、N個のモジュール表示コントロールを表示するように前記アプリケーションインターフェース層を制御することに用いられ、前記N個のモジュール表示コントロールがそれぞれN個のモジュールに対応し、前記N個のモジュールのそれぞれのモジュールデータが前記データ処理層に記憶され、前記モジュールデータは対応するモジュールの実行ロジックを含み、前記アプリケーションインターフェース層は、モジュール追加コントロールをさらに表示し、前記モジュール追加コントロールは、前記データ処理層に第三者モジュールの前記モジュールデータを導入することに用いられ、前記N個のモジュールは前記第三者モジュールを含み、前記Nが1以上の正の整数であり、
前記表示モジュールは、前記N個のモジュール表示コントロールのうちの1つ又は複数のモジュール表示コントロールに対するユーザーの第1操作に応答して、フローチャートを表示するように、前記アプリケーションインターフェース層を制御することにさらに用いられ、前記フローチャートは前記1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールの間の実行順序を指示し、
前記実行モジュールは、前記アプリケーションインターフェース層に表示された前記フローチャートに応答して、前記1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールの前記モジュールデータを呼び出して実行し、前記フローチャートのデータ処理結果を取得し、前記アプリケーションインターフェース層に前記データ処理結果を返信するように、前記データ処理層を制御することに用いられる、
視覚ソフトウェア開発装置。
【請求項30】
前記装置は、取得モジュールと判定モジュールとをさらに含み、
前記取得モジュールは、前記モジュール追加コントロールに対する第2操作に応答して、前記ユーザーが前記モジュール追加コントロールによって導入した前記第三者モジュールの前記モジュールデータを取得し、導入された前記第三者モジュールの前記モジュールデータを前記データ処理層に送信するように、前記アプリケーションインターフェース層を制御することに用いられ、
前記判定モジュールは、前記導入された前記第三者モジュールの前記モジュールデータが参照ルールを満たすと判定した場合、前記導入された前記第三者モジュールの前記モジュールデータを記憶し、前記アプリケーションインターフェース層にモジュールロード成功メッセージを返信するように、前記データ処理層を制御することに用いられ、前記モジュールロード成功メッセージは前記第三者モジュールのロードが成功したことを指示する、
請求項29に記載の装置。
【請求項31】
前記参照ルールは、前記第三者モジュールの入出力ポートの設計方式及び/又は前記第三者モジュールの前記モジュールデータのパッケージ方式を含み、
前記第三者モジュールの入出力ポートの設計方式は、前記第三者モジュールの入力データ及び/又は出力データのフォーマットを含み、前記第三者モジュールの前記モジュールデータのパッケージ方式は、前記第三者モジュールの前記モジュールデータの前記データ処理層における格納フォーマットを指示し、前記格納フォーマットは、ダイナミックリンクライブラリ、スタティックリンクライブラリ、及び実行可能なexeファイルのうちのいずれかを含む、
請求項30に記載の装置。
【請求項32】
前記表示モジュールは、前記モジュール追加コントロールに対する第3操作に応答して、モジュール構成ファイルを表示するように、前記アプリケーションインターフェース層を制御することにさらに用いられ、前記モジュール構成ファイルは前記参照ルールを指示する、
請求項30又は31に記載の装置。
【請求項33】
前記表示モジュールは、前記N個のモジュール表示コントロールにおける第1モジュール表示コントロールに対する前記ユーザーの第4操作に応答して、前記第1モジュール表示コントロールに対応する第1モジュールのモジュール構成インターフェースを表示するように、前記アプリケーションインターフェース層を制御することにさらに用いられ、前記モジュール構成インターフェースに複数のモジュール構成コントロールを含み、前記複数のモジュール構成コントロールのうちのいずれかのモジュール構成コントロールは、前記ユーザーに、前記第1モジュールの実行過程におけるパラメータを編集することを指示することに用いられ、
当該装置は、取得モジュールと更新モジュールとをさらに含み、
前記取得モジュールは、前記いずれかのモジュール構成コントロールに対する第5操作に応答して、前記ユーザーが前記いずれかのモジュール構成コントロールによって編集したパラメータを取得し、編集されたパラメータを前記データ処理層に送信するように、前記アプリケーションインターフェース層を制御することに用いられ、
前記更新モジュールは、前記編集されたパラメータに基づいて前記第1モジュールの前記モジュールデータを更新するように、前記データ処理層を制御することに用いられ、
前記フローチャートが前記第1モジュールを含む場合、前記データ処理層は、更新された前記第1モジュールの前記モジュールデータに基づいて前記フローチャートの前記データ処理結果を更新し、更新された前記データ処理結果を前記アプリケーションインターフェース層に返信する、
請求項29に記載の装置。
【請求項34】
前記第1モジュールが前記第三者モジュールである場合、前記ユーザーが前記モジュール追加コントロールによって導入した前記第1モジュールの前記モジュールデータに、モジュール構成インターフェースファイルをさらに含み、前記モジュール構成インターフェースファイルは、前記第1モジュールの前記モジュール構成インターフェースのプログラムコードを指示し、前記アプリケーションインターフェース層に表示された前記第1モジュールの前記モジュール構成インターフェースは、前記第1モジュールの前記モジュールデータにおける前記モジュール構成インターフェースファイルに従って表示される、
請求項33に記載の装置。
【請求項35】
前記装置は、生成モジュールをさらに含み、
前記生成モジュールは、前記フローチャートに基づいて第1コードパッケージを生成するように、前記データ処理層を制御することに用いられ、前記第1コードパッケージは、前記フローチャートに含まれる各モジュールの実行ロジック及び含まれる各モジュールの間の実行順序を指示し、
前記表示モジュールは、前記データ処理層を制御することにさらに用いられ、前記データ処理層は、前記第1コードパッケージに対応する第1コードコントロールを表示するように、前記アプリケーションインターフェース層を制御することにさらに用いられ、前記第1コードコントロールは、前記ユーザーに、前記第1コードパッケージをダウンロードすることを指示することに用いられ、前記第1コードパッケージは、第三者システムに導入することをサポートし、前記第三者システムで実行された後、前記フローチャートを表示する、
請求項29に記載の装置。
【請求項36】
前記表示モジュールは、実行インターフェース表示コントロールを表示するように、前記アプリケーションインターフェース層を制御することにさらに用いられ、前記実行インターフェース表示コントロールは、前記フローチャートに対する実行インターフェースを表示することを指示し、前記実行インターフェースは、前記フローチャートの実行情報を表示することに用いられ、前記フローチャートの実行情報は、前記フローチャートの実行過程における中間データを指示し、
前記表示モジュールは、前記実行インターフェース表示コントロールに対する第6操作に応答して、前記ユーザーが前記実行インターフェースに基づいて前記フローチャートの実行過程における中間データを見るように前記実行インターフェースを表示するように、前記アプリケーションインターフェース層を制御することにさらに用いられる、
請求項29に記載の装置。
【請求項37】
前記表示モジュールは、実行インターフェース構成コントロールを表示するように、前記アプリケーションインターフェース層を制御することにさらに用いられ、前記実行インターフェース構成コントロールは、実行インターフェース構成インターフェースを表示することを指示し、前記実行インターフェース構成インターフェースは、前記実行インターフェースに表示されたコンテンツを構成することに用いられ、
前記表示モジュールは、前記実行インターフェース構成コントロールに対する第7操作に応答して、前記実行インターフェース構成インターフェースを表示するように、前記アプリケーションインターフェース層を制御することにさらに用いられ、前記実行インターフェース構成インターフェースは、複数の実行インターフェース構成サブコントロールを含み、前記複数の実行インターフェース構成サブコントロールのうちのいずれかの実行インターフェース構成サブコントロールは、起動オプションを有し、
前記表示モジュールは、前記複数の実行インターフェース構成サブコントロールにおける第1実行インターフェース構成サブコントロールの起動オプションに対する第8操作に応答して、コンテンツソースオプションを表示し、前記コンテンツソースオプションに対する第9操作に応答して、前記第1実行インターフェース構成サブコントロールと前記フローチャートにおける1つのモジュールをバインドするように、前記アプリケーションインターフェース層を制御することにさらに用いられ、
前記実行インターフェースに表示された実行情報は、前記第1実行インターフェース構成サブコントロールとバインドしたモジュールのデータを含む、
請求項36に記載の装置。
【請求項38】
前記装置は導出モジュールをさらに含み、
前記導出モジュールは、前記実行インターフェースのプログラムコードを第2コードパッケージとして導出するように、前記データ処理層を制御することに用いられ、
前記表示モジュールは、前記データ処理層を制御することにさらに用いられ、前記データ処理層は、前記第2コードパッケージに対応する第2コードコントロールを表示するように、前記アプリケーションインターフェース層を制御することにさらに用いられ、前記第2コードコントロールは、前記ユーザーに、前記第2コードパッケージをダウンロードすることを指示することに用いられ、前記第2コードパッケージは、第三者システムに導入することをサポートし、前記第三者システムで実行された後、前記実行インターフェースを表示する、
請求項36に記載の装置。
【請求項39】
前記データ処理層は、データスケジューリング層と機能モジュール層とを含み、
前記機能モジュール層には前記N個のモジュールの前記モジュールデータが記憶されており、
前記実行モジュールは、前記フローチャートにおける前記1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールの間の実行順序に従って、前記機能モジュール層から前記1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールの前記モジュールデータを順次に呼び出して実行し、前記データ処理結果を取得するように、前記データスケジューリング層を制御することに用いられる、
請求項29から38のいずれか1項に記載の装置。
【請求項40】
前記表示モジュールは、モジュール登録コントロールを表示するように、前記アプリケーションインターフェース層を制御することにさらに用いられ、前記アプリケーションインターフェース層は、前記ユーザーが前記モジュール登録コントロールによってM個のモジュールから選択した前記N個のモジュールに応答して、前記N個のモジュール表示コントロールを表示し、前記データ処理層には、前記M個のモジュールの前記モジュールデータが記憶され、前記Mが前記N以上の正の整数である、
請求項29に記載の装置。
【請求項41】
前記N個のモジュールは前記データ処理層が検証して合法とするモジュールであり、前記検証して合法とするモジュールとは前記ユーザーが利用権限を持っている対応するモジュールである、
請求項40に記載の装置。
【請求項42】
前記表示モジュールは、いずれかのモジュール表示コントロールに対する呼び出しコントロールを表示するように、前記アプリケーションインターフェース層を制御することにさらに用いられ、前記呼び出しコントロールは、前記ユーザーが第三者システムに前記いずれかのモジュール表示コントロールに対応するモジュールを呼び出すことを許可することを指示し、
前記表示モジュールは、前記呼び出しコントロールに対する第10操作に応答して、前記いずれかのモジュール表示コントロールに対応するモジュールの前記モジュールデータのポートリンクを表示するように、前記アプリケーションインターフェース層を制御することにさらに用いられ、
前記装置は取得モジュールをさらに含み、
前記取得モジュールは、前記第三者システムから送信された前記ポートリンクに対するデータ呼び出し要求を検出した時に、前記ポートリンクに基づいて前記データ処理層から前記いずれかのモジュール表示コントロールに対応するモジュールの前記モジュールデータを取得し、取得された前記モジュールデータを前記第三者システムに送信するように、前記アプリケーションインターフェース層を制御することに用いられる、
請求項29に記載の装置。
【請求項43】
プロセッサと、プロセッサによって実行可能なコマンドを記憶するメモリとを含む装置であって、前記プロセッサが上記請求項15から28のいずれか1項に記載の方法におけるステップを実行するように構成される、
視覚ソフトウェア開発装置。
【請求項44】
コマンドを記憶するコンピュータ可読記憶媒体であって、前記コマンドがプロセッサによって実行されると、上記請求項15から28のいずれか1項に記載の方法におけるステップを実行する、
コンピュータ可読記憶媒体。
【請求項45】
コマンドを含むコンピュータプログラム製品であって、コンピュータで実行されると、コンピュータに上記請求項15から28のいずれか1項に記載の方法におけるステップを実行させる、
コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2021年3月8日に中国国家知的財産権局に出願した、出願番号が202110251760.Xであり、発明名称が「視覚ソフトウェア開発システム、方法、装置及びコンピュータ記憶媒体」である中国特許出願に基づき優先権を主張する。ここで、その全ての内容は、援用により本出願に組み込まれる。
【0002】
本願の実施例は機械視覚技術分野、特に視覚ソフトウェア開発システム、方法、装置及びコンピュータ記憶媒体に関する。
【背景技術】
【0003】
機械視覚とは、人間の目の代わりに機械を用いて測定または判断を行う技術である。機械視覚技術分野において、従来の言語コードの代わりに、図形化されたフローチャートがソフトウェアとしてある具体的な機能を実現することで、より多くのユーザーが自分のニーズを満たす視覚ソフトウェアを迅速に開発できるようにしている。機械視覚分野において、視覚ソフトウェアは、機械視覚ソフトウェアとも呼ばれる。視覚ソフトウェアは、視覚ソフトウェア開発システムに基づいて実現される必要がある。異なる視覚ソフトウェアがユーザーの異なるニーズに対応するため、現在、視覚ソフトウェア開発システムに対して解決すべく重要な課題は、視覚ソフトウェア開発システムに基づいて作成された視覚ソフトウェアがユーザーニーズを満たすように、視覚ソフトウェア開発システムを如何に構築することである。
【0004】
従来、開発された視覚ソフトウェアがユーザーニーズを満たすために、通常、視覚ソフトウェアの種類ごとに、視覚ソフトウェア開発システムを構築する。このように、視覚ソフトウェア開発システムは、専門性を持って、当該視覚ソフトウェア開発システムに基づいて開発された視覚ソフトウェアが指定されたユーザーニーズを満たすことができる。しかし、従来の視覚ソフトウェア開発システムは汎用性を持たないため、異なるタイプの視覚ソフトウェアに対して、それぞれ異なる視覚ソフトウェア開発システムを構築する必要がある。且つ、ユーザーニーズが変化する時に、既存の視覚ソフトウェア開発システムに基づいて開発された視覚ソフトウェアはユーザーの最新のニーズを満たすことが困難である。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本願の実施例は、異なる業務ニーズを満たす視覚ソフトウェアを開発する、視覚ソフトウェア開発システム、方法、装置及びコンピュータ記憶媒体を提供する。本技術案は以下の通りである。
【課題を解決するための手段】
【0006】
一形態として、アプリケーションインターフェース層とデータ処理層とを含む視覚ソフトウェア開発システムであって、前記アプリケーションインターフェース層は、N個のモジュール表示コントロールを表示することに用いられ、前記N個のモジュール表示コントロールがそれぞれN個のモジュールに対応し、前記N個のモジュールのそれぞれのモジュールデータが前記データ処理層に記憶され、前記モジュールデータは対応するモジュールの実行ロジックを含み、前記アプリケーションインターフェース層は、モジュール追加コントロールを表示することにさらに用いられ、前記モジュール追加コントロールは、前記データ処理層に第三者モジュールのモジュールデータを導入することに用いられ、前記N個のモジュールは前記第三者モジュールを含み、前記Nが1以上の正の整数であり、前記アプリケーションインターフェース層は、前記N個のモジュール表示コントロールのうちの1つ又は複数のモジュール表示コントロールに対するユーザーの第1操作に応答して、フローチャートを表示することにさらに用いられ、前記フローチャートは、前記1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールの間の実行順序を指示し、前記データ処理層は、前記アプリケーションインターフェース層に表示された前記フローチャートに応答して、前記1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールのモジュールデータを呼び出して実行し、前記フローチャートのデータ処理結果を取得し、前記アプリケーションインターフェース層に前記データ処理結果を返信することに用いられる、視覚ソフトウェア開発システムを提供する。
【0007】
一つの可能な実施形態において、前記アプリケーションインターフェース層は、前記モジュール追加コントロールに対する第2操作に応答して、ユーザーが前記モジュール追加コントロールによって導入した第三者モジュールのモジュールデータを取得し、導入された第三者モジュールのモジュールデータを前記データ処理層に送信することに用いられ、前記データ処理層は、前記導入された第三者モジュールのモジュールデータが参照ルールを満たすと判定した場合、前記導入された第三者モジュールのモジュールデータを記憶し、前記アプリケーションインターフェース層にモジュールロード成功メッセージを返信することに用いられ、前記モジュールロード成功メッセージは第三者モジュールのロードが成功したことを指示するものである。
【0008】
一つの可能な実施形態において、前記参照ルールは、第三者モジュールの入出力ポートの設計方式及び/又は第三者モジュールのモジュールデータのパッケージ方式を含み、前記第三者モジュールの入出力ポートの設計方式は、前記第三者モジュールの入力データ及び/又は出力データのフォーマットを含み、前記第三者モジュールのモジュールデータのパッケージ方式は、前記第三者モジュールのモジュールデータの前記データ処理層における格納フォーマットを指示し、前記格納フォーマットは、ダイナミックリンクライブラリ、スタティックリンクライブラリ、実行可能なexeファイルのうちのいずれかを含む。
【0009】
一つの可能な実施形態において、前記アプリケーションインターフェース層は、前記モジュール追加コントロールに対する第3操作に応答して、モジュール構成ファイルを表示することに用いられ、前記モジュール構成ファイルは前記参照ルールを指示するものである。
【0010】
一つの可能な実施形態において、前記アプリケーションインターフェース層は、前記N個のモジュール表示コントロールにおける第1モジュール表示コントロールに対するユーザーの第4操作に応答して、前記第1モジュール表示コントロールに対応する第1モジュールのモジュール構成インターフェースを表示することにさらに用いられ、前記モジュール構成インターフェースに複数のモジュール構成コントロールを含み、前記複数のモジュール構成コントロールのうちのいずれかのモジュール構成コントロールは、前記ユーザーに、前記第1モジュールの実行過程におけるパラメータを編集することを指示するものであり、前記アプリケーションインターフェース層は、前記いずれかのモジュール構成コントロールに対する第5操作に応答して、ユーザーが前記いずれかのモジュール構成コントロールによって編集したパラメータを取得し、編集されたパラメータを前記データ処理層に送信することにさらに用いられ、前記データ処理層は、前記編集されたパラメータに基づいて前記第1モジュールのモジュールデータを更新することにさらに用いられ、前記フローチャートが前記第1モジュールを含む場合、前記データ処理層は、更新された前記第1モジュールのモジュールデータに基づいて前記フローチャートのデータ処理結果を更新し、更新されたデータ処理結果を前記アプリケーションインターフェース層に返信することにさらに用いられる。
【0011】
一つの可能な実施形態において、前記第1モジュールが第三者モジュールである場合、ユーザーが前記モジュール追加コントロールによって導入した前記第1モジュールのモジュールデータに、モジュール構成インターフェースファイルをさらに含み、前記モジュール構成インターフェースファイルは、前記第1モジュールのモジュール構成インターフェースのプログラムコードを指示するものであり、前記アプリケーションインターフェース層に表示された第1モジュールのモジュール構成インターフェースは、前記第1モジュールのモジュールデータにおけるモジュール構成インターフェースファイルに従って表示される。
【0012】
一つの可能な実施形態において、前記データ処理層は、前記フローチャートに基づいて第1コードパッケージを生成することにさらに用いられ、前記第1コードパッケージは、前記フローチャートに含まれる各モジュールの実行ロジック及び含まれる各モジュールの間の実行順序を指示するものであり、前記データ処理層は、前記第1コードパッケージに対応する第1コードコントロールを表示するように前記アプリケーションインターフェース層を制御することにさらに用いられ、前記第1コードコントロールは、前記ユーザーに、前記第1コードパッケージをダウンロードすることを指示することに用いられ、前記第1コードパッケージは、第三者システムに導入することをサポートし、前記第三者システムで実行された後、前記フローチャートを表示する。
【0013】
一つの可能な実施形態において、前記アプリケーションインターフェース層は、実行インターフェース表示コントロールを表示することにさらに用いられ、前記実行インターフェース表示コントロールは、前記フローチャートに対する実行インターフェースを表示することを指示するものであり、前記実行インターフェースは、前記フローチャートの実行情報を表示することに用いられ、前記フローチャートの実行情報は、前記フローチャートの実行過程における中間データを指示するものであり、前記アプリケーションインターフェース層は、前記実行インターフェース表示コントロールに対する第6操作に応答して、前記ユーザーが前記実行インターフェースに基づいて前記フローチャートの実行過程における中間データを見るように、前記実行インターフェースを表示することにさらに用いられる。
【0014】
一つの可能な実施形態において、前記アプリケーションインターフェース層は、実行インターフェース構成コントロールを表示することにさらに用いられ、前記実行インターフェース構成コントロールは、実行インターフェース構成インターフェースを表示することを指示するものであり、前記実行インターフェース構成インターフェースは、前記実行インターフェースに表示されたコンテンツを構成することに用いられる、前記アプリケーションインターフェース層は、前記実行インターフェース構成コントロールに対する第7操作に応答して、前記実行インターフェース構成インターフェースを表示することにさらに用いられ、前記実行インターフェース構成インターフェースは、複数の実行インターフェース構成サブコントロールを含み、前記複数の実行インターフェース構成サブコントロールのうちのいずれかの実行インターフェース構成サブコントロールは、起動オプションを有し、前記アプリケーションインターフェース層は、前記複数の実行インターフェース構成サブコントロールにおける第1実行インターフェース構成サブコントロールの起動オプションに対する第8操作に応答して、コンテンツソースオプションを表示し、前記コンテンツソースオプションに対する第9操作に応答して、前記第1実行インターフェース構成サブコントロールと前記フローチャートにおける1つのモジュールとをバインドすることにさらに用いられ、前記実行インターフェースに表示された実行情報は、前記第1実行インターフェース構成サブコントロールとバインドしたモジュールのデータを含む。
【0015】
一つの可能な実施形態において、前記データ処理層は、前記実行インターフェースのプログラムコードを第2コードパッケージとして導出することにさらに用いられ、前記データ処理層は、前記第2コードパッケージに対応する第2コードコントロールを表示するように前記アプリケーションインターフェース層を制御することにさらに用いられ、前記第2コードコントロールは、前記ユーザーに、前記第2コードパッケージをダウンロードすることを指示するためのものであり、前記第2コードパッケージは、第三者システムに導入することをサポートし、前記第三者システムで実行された後、前記実行インターフェースを表示する。
【0016】
一つの可能な実施形態において、前記データ処理層は、データスケジューリング層と機能モジュール層とを含み、前記機能モジュール層には前記N個のモジュールのモジュールデータが記憶されており、前記データスケジューリング層は、前記フローチャートにおける前記1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールの間の実行順序に従って、前記機能モジュール層から前記1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールのモジュールデータを順次に呼び出して実行し、前記データ処理結果を取得することにさらに用いられる。
【0017】
一つの可能な実施形態において、前記データ処理層は、M個のモジュールのモジュールデータを記憶することに用いられ、前記Mが前記N以上の正の整数であり、前記アプリケーションインターフェース層は、モジュール登録コントロールを表示することにさらに用いられ、前記アプリケーションインターフェース層は、前記ユーザーが前記モジュール登録コントロールによって前記M個のモジュールから選択した前記N個のモジュールに応答して、前記N個のモジュール表示コントロールを表示することにさらに用いられる。
【0018】
一つの可能な実施形態において、前記N個のモジュールは前記データ処理層が検証して合法とするモジュールであり、前記検証して合法とするモジュールとは前記ユーザーが利用権限を持っている対応するモジュールである。
【0019】
一つの可能な実施形態において、前記アプリケーションインターフェース層は、いずれかのモジュール表示コントロールに対する呼び出しコントロールを表示することにさらに用いられ、前記呼び出しコントロールは、ユーザーが第三者システムに前記いずれかのモジュール表示コントロールに対応するモジュールを呼び出すことを許可することを指示し、前記アプリケーションインターフェース層は、前記呼び出しコントロールに対する第10操作に応答して、前記いずれかのモジュール表示コントロールに対応するモジュールのモジュールデータのポートリンクを表示することにさらに用いられ、前記アプリケーションインターフェース層は、前記第三者システムから送信された前記ポートリンクに対するデータ呼び出し要求を検出した時に、前記ポートリンクに基づいて前記データ処理層から前記いずれかのモジュール表示コントロールに対応するモジュールのモジュールデータを取得し、取得されたモジュールデータを前記第三者システムに送信することにさらに用いられる。
【0020】
他の形態として、アプリケーションインターフェース層とデータ処理層とを含む視覚ソフトウェア開発システムに適用される、視覚ソフトウェア開発方法であって、前記方法は、前記アプリケーションインターフェース層は、N個のモジュール表示コントロールを表示し、前記N個のモジュール表示コントロールがそれぞれN個のモジュールに対応し、前記N個のモジュールのそれぞれのモジュールデータが前記データ処理層に記憶され、前記モジュールデータは対応するモジュールの実行ロジックを含み、前記アプリケーションインターフェース層は、モジュール追加コントロールをさらに表示し、前記モジュール追加コントロールは、前記データ処理層に第三者モジュールのモジュールデータを導入することに用いられ、前記N個のモジュールは前記第三者モジュールを含み、前記Nが1以上の正の整数であることと、前記アプリケーションインターフェース層は、前記N個のモジュール表示コントロールのうちの1つ又は複数のモジュール表示コントロールに対するユーザーの第1操作に応答して、フローチャートを表示し、前記フローチャートは、前記1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールの間の実行順序を指示し、前記データ処理層は、前記アプリケーションインターフェース層に表示された前記フローチャートに応答して、前記1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールのモジュールデータを呼び出して実行し、前記フローチャートのデータ処理結果を取得し、前記アプリケーションインターフェース層に前記データ処理結果を返信することと、を含む、視覚ソフトウェア開発方法を提供する。
【0021】
一つの可能な実施形態において、前記方法は、前記アプリケーションインターフェース層は、前記モジュール追加コントロールに対する第2操作に応答して、ユーザーが前記モジュール追加コントロールによって導入した第三者モジュールのモジュールデータを取得し、導入された第三者モジュールのモジュールデータを前記データ処理層に送信することと、前記データ処理層は、前記導入された第三者モジュールのモジュールデータが参照ルールを満たすと判定した場合、前記導入された第三者モジュールのモジュールデータを記憶し、前記アプリケーションインターフェース層にモジュールロード成功メッセージを返信し、前記モジュールロード成功メッセージは第三者モジュールのロードが成功したことを指示することと、をさらに含む。
【0022】
一つの可能な実施形態において、前記参照ルールは、第三者モジュールの入出力ポートの設計方式及び/又は第三者モジュールのモジュールデータのパッケージ方式を含み、前記第三者モジュールの入出力ポートの設計方式は、前記第三者モジュールの入力データ及び/又は出力データのフォーマットを含み、前記第三者モジュールのモジュールデータのパッケージ方式は、前記第三者モジュールのモジュールデータの前記データ処理層における格納フォーマットを指示し、前記格納フォーマットは、ダイナミックリンクライブラリ、スタティックリンクライブラリ、実行可能なexeファイルのうちのいずれかを含む。
【0023】
一つの可能な実施形態において、前記方法は、前記アプリケーションインターフェース層は、前記モジュール追加コントロールに対する第3操作に応答して、モジュール構成ファイルを表示し、前記モジュール構成ファイルは前記参照ルールを指示することをさらに含む。
【0024】
一つの可能な実施形態において、前記方法は、前記アプリケーションインターフェース層は、前記N個のモジュール表示コントロールにおける第1モジュール表示コントロールに対するユーザーの第4操作に応答して、前記第1モジュール表示コントロールに対応する第1モジュールのモジュール構成インターフェースを表示し、前記モジュール構成インターフェースに複数のモジュール構成コントロールを含み、前記複数のモジュール構成コントロールのうちのいずれかのモジュール構成コントロールは、前記ユーザーに、前記第1モジュールの実行過程におけるパラメータを編集することを指示することと、前記アプリケーションインターフェース層は、前記いずれかのモジュール構成コントロールに対する第5操作に応答して、ユーザーが前記いずれかのモジュール構成コントロールによって編集したパラメータを取得し、編集されたパラメータを前記データ処理層に送信することと、前記データ処理層は、前記編集されたパラメータに基づいて前記第1モジュールのモジュールデータを更新することと、をさらに含み、前記フローチャートが前記第1モジュールを含む場合、前記データ処理層は、更新された前記第1モジュールのモジュールデータに基づいて前記フローチャートのデータ処理結果を更新し、更新されたデータ処理結果を前記アプリケーションインターフェース層に返信する。
【0025】
一つの可能な実施形態において、前記第1モジュールが第三者モジュールである場合、ユーザーが前記モジュール追加コントロールによって導入した前記第1モジュールのモジュールデータに、モジュール構成インターフェースファイルをさらに含み、前記モジュール構成インターフェースファイルは、前記第1モジュールのモジュール構成インターフェースのプログラムコードを指示し、前記アプリケーションインターフェース層に表示された第1モジュールのモジュール構成インターフェースは、前記第1モジュールのモジュールデータにおけるモジュール構成インターフェースファイルに従って表示される。
【0026】
一つの可能な実施形態において、前記方法は、前記データ処理層は、前記フローチャートに基づいて第1コードパッケージを生成し、前記第1コードパッケージは、前記フローチャートに含まれる各モジュールの実行ロジック及び含まれる各モジュールの間の実行順序を指示することと、前記データ処理層は、前記アプリケーションインターフェース層が前記第1コードパッケージに対応する第1コードコントロールを表示するように、前記アプリケーションインターフェース層を制御し、前記第1コードコントロールは、前記ユーザーに、前記第1コードパッケージをダウンロードすることを指示することに用いられ、前記第1コードパッケージは、第三者システムに導入することをサポートし、前記第三者システムで実行された後、前記フローチャートを表示することと、をさらに含む。
【0027】
一つの可能な実施形態において、前記方法は、前記アプリケーションインターフェース層は、実行インターフェース表示コントロールを表示し、前記実行インターフェース表示コントロールは、前記フローチャートに対する実行インターフェースを表示することを指示し、前記実行インターフェースは、前記フローチャートの実行情報を表示することに用いられ、前記フローチャートの実行情報は、前記フローチャートの実行過程における中間データを指示することと、前記アプリケーションインターフェース層は、前記実行インターフェース表示コントロールに対する第6操作に応答して、前記ユーザーが前記実行インターフェースに基づいて前記フローチャートの実行過程における中間データを見るように、前記実行インターフェースを表示することと、をさらに含む。
【0028】
一つの可能な実施形態において、前記方法は、前記アプリケーションインターフェース層は、実行インターフェース構成コントロールを表示し、前記実行インターフェース構成コントロールは、実行インターフェース構成インターフェースを表示することを指示し、前記実行インターフェース構成インターフェースは、前記実行インターフェースに表示されたコンテンツを構成することに用いられることと、前記アプリケーションインターフェース層は、前記実行インターフェース構成コントロールに対する第7操作に応答して、前記実行インターフェース構成インターフェースを表示し、前記実行インターフェース構成インターフェースは、複数の実行インターフェース構成サブコントロールを含み、前記複数の実行インターフェース構成サブコントロールのうちのいずれかの実行インターフェース構成サブコントロールは、起動オプションを有することと、前記アプリケーションインターフェース層は、前記複数の実行インターフェース構成サブコントロールにおける第1実行インターフェース構成サブコントロールの起動オプションに対する第8操作に応答して、コンテンツソースオプションを表示し、前記コンテンツソースオプションに対する第9操作に応答して、前記第1実行インターフェース構成サブコントロールと前記フローチャートにおける1つのモジュールとをバインドすることと、をさらに含み、前記実行インターフェースに表示された実行情報は、前記第1実行インターフェース構成サブコントロールとバインドしたモジュールのデータを含む。
【0029】
一つの可能な実施形態において、前記方法は、前記データ処理層は、前記実行インターフェースのプログラムコードを第2コードパッケージとして導出することと、前記データ処理層は、前記アプリケーションインターフェース層が前記第2コードパッケージに対応する第2コードコントロールを表示するように、前記アプリケーションインターフェース層を制御し、前記第2コードコントロールは、前記ユーザーに、前記第2コードパッケージをダウンロードすることを指示することに用いられ、前記第2コードパッケージは、第三者システムに導入することをサポートし、前記第三者システムで実行された後、前記実行インターフェースを表示することと、をさらに含む。
【0030】
一つの可能な実施形態において、前記データ処理層は、データスケジューリング層と機能モジュール層とを含み、前記機能モジュール層には前記N個のモジュールのモジュールデータが記憶されており、前記データ処理層は、前記アプリケーションインターフェース層に表示された前記フローチャートに応答して、前記1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールのモジュールデータを呼び出して実行し、前記フローチャートのデータ処理結果を取得することは、前記データスケジューリング層は、前記フローチャートにおける前記1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールの間の実行順序に従って、前記機能モジュール層から前記1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールのモジュールデータを順次に呼び出して実行し、前記データ処理結果を取得することを含む。
【0031】
一つの可能な実施携帯において、前記方法は、前記アプリケーションインターフェース層は、モジュール登録コントロールを表示し、前記アプリケーションインターフェース層は、前記ユーザーが前記モジュール登録コントロールによってM個のモジュールから選択した前記N個のモジュールに応答して、前記N個のモジュール表示コントロールを表示し、前記データ処理層に前記M個のモジュールのモジュールデータが記憶され、前記Mが前記N以上の正の整数であることをさらに含む。
【0032】
一つの可能な実施形態において、前記N個のモジュールは前記データ処理層が検証して合法とするモジュールであり、前記検証して合法とするモジュールとは前記ユーザーが利用権限を持っている対応するモジュールである。
【0033】
一つの可能な実施形態において、前記方法は、前記アプリケーションインターフェース層は、いずれかのモジュール表示コントロールに対する呼び出しコントロールを表示し、前記呼び出しコントロールは、ユーザーが第三者システムに前記いずれかのモジュール表示コントロールに対応するモジュールを呼び出すことを許可することを指示することと、前記アプリケーションインターフェース層は、前記呼び出しコントロールに対する第10操作に応答して、前記いずれかのモジュール表示コントロールに対応するモジュールのモジュールデータのポートリンクを表示することにさらに用いられ、前記アプリケーションインターフェース層は、前記第三者システムから送信された前記ポートリンクに対するデータ呼び出し要求を検出した時に、前記ポートリンクに基づいて前記データ処理層から前記いずれかのモジュール表示コントロールに対応するモジュールのモジュールデータを取得し、取得されたモジュールデータを前記第三者システムに送信することと、をさらに含む。
【0034】
他の形態として、アプリケーションインターフェース層とデータ処理層とを含む視覚ソフトウェア開発システムに構築される、視覚ソフトウェア開発装置であって、前記装置は、表示モジュールと実行モジュールとを含み、前記表示モジュールは、N個のモジュール表示コントロールを表示するように前記アプリケーションインターフェース層を制御することに用いられ、前記N個のモジュール表示コントロールがそれぞれN個のモジュールに対応し、前記N個のモジュールのそれぞれのモジュールデータが前記データ処理層に記憶され、前記モジュールデータは対応するモジュールの実行ロジックを含み、前記アプリケーションインターフェース層は、モジュール追加コントロールをさらに表示し、前記モジュール追加コントロールは、前記データ処理層に第三者モジュールのモジュールデータを導入することに用いられ、前記N個のモジュールは前記第三者モジュールを含み、前記Nが1以上の正の整数であり、前記表示モジュールは、前記N個のモジュール表示コントロールのうちの1つ又は複数のモジュール表示コントロールに対するユーザーの第1操作に応答してフローチャートを表示するように前記アプリケーションインターフェース層を制御することにさらに用いられ、前記フローチャートは前記1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールの間の実行順序を指示し、前記実行モジュールは、前記アプリケーションインターフェース層に表示された前記フローチャートに応答して、前記1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールのモジュールデータを呼び出して実行し、前記フローチャートのデータ処理結果を取得し、前記アプリケーションインターフェース層に前記データ処理結果を返信するように、前記データ処理層を制御することに用いられる、視覚ソフトウェア開発装置を提供する。
【0035】
一つの可能な実施形態において、前記装置は、取得モジュールと判定モジュールとをさらに含み、前記取得モジュールは、前記モジュール追加コントロールに対する第2操作に応答して、ユーザーが前記モジュール追加コントロールによって導入した第三者モジュールのモジュールデータを取得し、導入された第三者モジュールのモジュールデータを前記データ処理層に送信するように、前記アプリケーションインターフェース層を制御することに用いられ、前記判定モジュールは、前記導入された第三者モジュールのモジュールデータが参照ルールを満たすと判定した場合、前記導入された第三者モジュールのモジュールデータを記憶し、前記アプリケーションインターフェース層にモジュールロード成功メッセージを返信するように、前記データ処理層を制御することに用いられ、前記モジュールロード成功メッセージは第三者モジュールのロードが成功したことを指示する。
【0036】
一つの可能な実施形態において、前記参照ルールは、第三者モジュールの入出力ポートの設計方式及び/又は第三者モジュールのモジュールデータのパッケージ方式を含み、前記第三者モジュールの入出力ポートの設計方式は、前記第三者モジュールの入力データ及び/又は出力データのフォーマットを含み、前記第三者モジュールのモジュールデータのパッケージ方式は、前記第三者モジュールのモジュールデータの前記データ処理層における格納フォーマットを指示し、前記格納フォーマットは、ダイナミックリンクライブラリ、スタティックリンクライブラリ、実行可能なexeファイルのうちのいずれかを含む。
【0037】
一つの可能な実施形態において、前記表示モジュールは、前記モジュール追加コントロールに対する第3操作に応答して、モジュール構成ファイルを表示するように、前記アプリケーションインターフェース層を制御することにさらに用いられ、前記モジュール構成ファイルは参照ルールを指示する。
【0038】
一つの可能な実施形態において、前記表示モジュールは、前記N個のモジュール表示コントロールにおける第1モジュール表示コントロールに対するユーザーの第4操作に応答して、前記第1モジュール表示コントロールに対応する第1モジュールのモジュール構成インターフェースを表示するように、前記アプリケーションインターフェース層を制御することにさらに用いられ、前記モジュール構成インターフェースに複数のモジュール構成コントロールを含み、前記複数のモジュール構成コントロールのうちのいずれかのモジュール構成コントロールは、前記ユーザーに、前記第1モジュールの実行過程におけるパラメータを編集することを指示することに用いられ、当該装置は、取得モジュールと更新モジュールとをさらに含み、前記取得モジュールは、前記いずれかのモジュール構成コントロールに対する第5操作に応答して、ユーザーが前記いずれかのモジュール構成コントロールによって編集したパラメータを取得し、編集されたパラメータを前記データ処理層に送信するように、前記アプリケーションインターフェース層を制御することに用いられ、前記更新モジュールは、前記編集されたパラメータに基づいて前記第1モジュールのモジュールデータを更新するように、前記データ処理層を制御することに用いられ、前記フローチャートが前記第1モジュールを含む場合、前記データ処理層は、更新された前記第1モジュールのモジュールデータに基づいて前記フローチャートのデータ処理結果を更新し、更新されたデータ処理結果を前記アプリケーションインターフェース層に返信する。
【0039】
一つの可能な実施形態において、前記第1モジュールが第三者モジュールである場合、ユーザーが前記モジュール追加コントロールによって導入した前記第1モジュールのモジュールデータに、モジュール構成インターフェースファイルをさらに含み、前記モジュール構成インターフェースファイルは、前記第1モジュールのモジュール構成インターフェースのプログラムコードを指示し、前記アプリケーションインターフェース層に表示された第1モジュールのモジュール構成インターフェースは、前記第1モジュールのモジュールデータにおけるモジュール構成インターフェースファイルに従って表示される。
【0040】
一つの可能な実施形態において、前記装置は、生成モジュールをさらに含み、前記生成モジュールは、前記フローチャートに基づいて第1コードパッケージを生成するように、前記データ処理層を制御することに用いられ、前記第1コードパッケージは、前記フローチャートに含まれる各モジュールの実行ロジック及び含まれる各モジュールの間の実行順序を指示し、前記表示モジュールは、前記データ処理層を制御することにさらに用いられ、前記データ処理層は、前記第1コードパッケージに対応する第1コードコントロールを表示するように、前記アプリケーションインターフェース層を制御することにさらに用いられ、前記第1コードコントロールは、前記ユーザーに、前記第1コードパッケージをダウンロードすることを指示することに用いられ、前記第1コードパッケージは、第三者システムに導入することをサポートし、前記第三者システムで実行された後、前記フローチャートを表示する。
【0041】
一つの可能な実施形態において、前記表示モジュールは、実行インターフェース表示コントロールを表示するように、前記アプリケーションインターフェース層を制御することにさらに用いられ、前記実行インターフェース表示コントロールは、前記フローチャートに対する実行インターフェースを表示することを指示し、前記実行インターフェースは、前記フローチャートの実行情報を表示することに用いられ、前記フローチャートの実行情報は、前記フローチャートの実行過程における中間データを指示し、前記表示モジュールは、前記実行インターフェース表示コントロールに対する第6操作に応答して、前記ユーザーが実行インターフェースに基づいて前記フローチャートの実行過程における中間データを見るように前記実行インターフェースを表示するように、前記アプリケーションインターフェース層を制御することにさらに用いられる。
【0042】
一つの可能な実施形態において、前記表示モジュールは、実行インターフェース構成コントロールを表示するように、前記アプリケーションインターフェース層を制御することにさらに用いられ、前記実行インターフェース構成コントロールは、実行インターフェース構成インターフェースを表示することを指示し、前記実行インターフェース構成インターフェースは、前記実行インターフェースに表示されたコンテンツを構成することに用いられ、前記表示モジュールは、前記実行インターフェース構成コントロールに対する第7操作に応答して、前記実行インターフェース構成インターフェースを表示するように、前記アプリケーションインターフェース層を制御することにさらに用いられ、前記実行インターフェース構成インターフェースは、複数の実行インターフェース構成サブコントロールを含み、前記複数の実行インターフェース構成サブコントロールのうちのいずれかの実行インターフェース構成サブコントロールは、起動オプションを有し、前記表示モジュールは、前記複数の実行インターフェース構成サブコントロールにおける第1実行インターフェース構成サブコントロールの起動オプションに対する第8操作に応答して、コンテンツソースオプションを表示し、前記コンテンツソースオプションに対する第9操作に応答して、前記第1実行インターフェース構成サブコントロールと前記フローチャートにおける1つのモジュールをバインドするように、前記アプリケーションインターフェース層を制御することにさらに用いられ、前記実行インターフェースに表示された実行情報は、前記第1実行インターフェース構成サブコントロールとバインドしたモジュールのデータを含む。
【0043】
一つの可能な実施形態において、前記装置は導出モジュールをさらに含み、前記導出モジュールは、前記実行インターフェースのプログラムコードを第2コードパッケージとして導出するように、前記データ処理層を制御することに用いられ、前記表示モジュールは、前記データ処理層を制御することにさらに用いられ、前記データ処理層は、前記第2コードパッケージに対応する第2コードコントロールを表示するように、前記アプリケーションインターフェース層を制御することにさらに用いられ、前記第2コードコントロールは、前記ユーザーに、前記第2コードパッケージをダウンロードすることを指示することに用いられ、前記第2コードパッケージは、前記第三者システムに導入することをサポートし、第三者システムで実行された後、前記実行インターフェースを表示する。
【0044】
一つの可能な実施形態において、前記データ処理層は、データスケジューリング層と機能モジュール層とを含み、前記機能モジュール層には前記N個のモジュールのモジュールデータが記憶されており、前記実行モジュールは、前記フローチャートにおける前記1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールの間の実行順序に従って、前記機能モジュール層から前記1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールのモジュールデータを順次に呼び出して実行し、前記データ処理結果を取得するように、前記データスケジューリング層を制御することに用いられる。
【0045】
一つの可能な実施形態において、前記表示モジュールは、モジュール登録コントロールを表示するように、前記アプリケーションインターフェース層を制御することにさらに用いられ、前記アプリケーションインターフェース層は、前記ユーザーが前記モジュール登録コントロールによってM個のモジュールから選択した前記N個のモジュールに応答して、前記N個のモジュール表示コントロールを表示し、前記データ処理層には、前記M個のモジュールのモジュールデータが記憶され、前記Mが前記N以上の正の整数である。
【0046】
一つの可能な実施形態において、前記N個のモジュールは前記データ処理層が検証して合法とするモジュールであり、前記検証して合法とするモジュールとは前記ユーザーが利用権限を持っている対応するモジュールである。
【0047】
一つの可能な実施形態において、前記表示モジュールは、いずれかのモジュール表示コントロールに対する呼び出しコントロールを表示するように、前記アプリケーションインターフェース層を制御することにさらに用いられ、前記呼び出しコントロールは、ユーザーが第三者システムに前記いずれかのモジュール表示コントロールに対応するモジュールを呼び出すことを許可することを指示し、前記表示モジュールは、前記呼び出しコントロールに対する第10操作に応答して、前記いずれかのモジュール表示コントロールに対応するモジュールのモジュールデータのポートリンクを表示するように、前記アプリケーションインターフェース層を制御することにさらに用いられ、前記装置は取得モジュールをさらに含み、前記取得モジュールは、前記第三者システムから送信された前記ポートリンクに対するデータ呼び出し要求を検出した時に、前記ポートリンクに基づいて前記データ処理層から前記いずれかのモジュール表示コントロールに対応するモジュールのモジュールデータを取得し、取得されたモジュールデータを前記第三者システムに送信するように、前記アプリケーションインターフェース層を制御することに用いられる。
【0048】
他の形態として、プロセッサと、プロセッサによって実行可能なコマンドを記憶するメモリとを含む装置であって、前記プロセッサが上記視覚ソフトウェア開発方法におけるいずれかのステップを実行するように構成される、視覚ソフトウェア開発装置を提供する。
【0049】
他の形態として、コマンドを記憶するコンピュータ可読記憶媒体であって、前記コマンドがプロセッサによって実行されると、上記視覚ソフトウェア開発方法におけるいずれかのステップを実行する、コンピュータ可読記憶媒体を提供する。
【0050】
他の形態として、コマンドを含むコンピュータプログラム製品であって、コンピュータで実行されると、コンピュータに上記視覚ソフトウェア開発方法におけるいずれかのステップを実行させる、コンピュータプログラム製品をさらに提供する。
【0051】
本願の実施例に提供される技術案による有益な効果は、下記のようなことを少なくとも含む。本願の実施例が視覚ソフトウェア開発システムを提供することを含む。当該視覚ソフトウェア開発システムにおけるアプリケーションインターフェース層は、モジュール追加コントロールを表示することに用いられ、当該モジュール追加コントロールは、データ処理層に第三者モジュールのモジュールデータを導入することに用いられる。このように、アプリケーションインターフェース層に表示されたN個のモジュール表示コントロールに対応するモジュールは、第三者モジュールを含み得る。このため、本願の実施例において、ユーザーが、いつでも業務ニーズに応じて当該モジュール追加コントロールによって第三者モジュールを導入してから、第三者モジュールに基づいてアプリケーションインターフェース層によってユーザーが構成したフローチャートを表示し、当該フローチャートはユーザーが構成した視覚ソフトウェアとなり、データ処理層によって当該フローチャートを実行し、これにより、視覚ソフトウェアの開発フローを完成する。
【0052】
これから分かるように、本願の実施例に提供される視覚ソフトウェア開発システムは、汎用的なオープン式視覚ソフトウェア開発システムであって、当該視覚ソフトウェア開発システムは、ユーザーが異なる業務ニーズに応じて異なる第三者モジュールを開発し、開発された第三者モジュールを本願の実施例に提供されるソフトウェア開発システムにマウントすることを許可する。これにより、後続に開発された視覚ソフトウェアが異なる業務の個性化ニーズにさらに適応できる。このように、異なるタイプの視覚ソフトウェアに対して異なる視覚ソフトウェア開発システムを構築する必要はなく、本願の実施例に提供される視覚ソフトウェア開発システムで、異なるタイプの視覚ソフトウェアを開発することができる。
【0053】
また、業務ニーズ又はユーザーニーズが変化しても、本願の実施例に提供される視覚ソフトウェア開発システムユーザーによって、新たな第三者モジュールを開発してから、開発された新たな第三者モジュールを本願の実施例に提供されるソフトウェア開発システムにマウントすることができる。それにより、後続に開発された視覚ソフトウェアがユーザーの最新のニーズに迅速に適応できる。
【図面の簡単な説明】
【0054】
本出願の実施例及び従来技術の技術案をより明確に説明するために、以下の実施例及び従来技術に必要な図面を簡単に説明するが、無論、以下に説明される図面は単に本出願の実施例の一部であり、当業者であれば、これらの図面に基づいて他の図面を得ることができる。
図1図1は本願の実施例に提供される視覚ソフトウェア開発システムのアーキテクチャ模式図である。
図2図2は本願の実施例に提供されるアプリケーションインターフェース層に表示されたメインインターフェースの模式図である。
図3図3は本願の実施例に提供されるフローチャートの模式図である。
図4図4は本願の実施例に提供されるデータスケジューリング層が機能モジュール層における各モジュールのモジュールデータを呼び出す模式図である。
図5図5は本願の実施例に提供されるモジュールの模式図である。
図6図6は本願の実施例に提供されるモジュールロード及びモジュール解放の模式図である。
図7図7は本願の実施例に提供される第三者モジュールのモジュールデータのフォーマット模式図である。
図8図8は本願の実施例に提供される実行インターフェースの構成過程及び導出コードの模式図である。
図9図9は本願の実施例に提供されるモジュール登録のフロー模式図である。
図10図10は本願の実施例に提供されるモジュールロード及びモジュール登録の方法のフローチャートである。
図11図11は本願の実施例に提供されるフローチャートを構成する方法のフローチャートである。
図12図12は本願の実施例に提供される視覚ソフトウェア開発装置の構成模式図である。
【発明を実施するための形態】
【0055】
本発明の目的、技術案、及び利点をより明確にするために、以下、図面を参照し、実施例を挙げて、本発明をより詳しく説明する。説明される実施例は単に本発明の一部の実施例に過ぎず、全ての実施例ではないことは明らかである。当業者が本発明における実施例に基づいて得るすべての他の実施例は、いずれも本発明の保護範囲に含まれる。
【0056】
本明細書に言及した「複数」とは、2つ又は2つ以上であると理解される。本願の説明において、「/」は、特に断らない限り、又はという意味であり、例えば、A/Bは、A又はBを表してよい。本明細書における「及び/又は」は関連対称を表す関連関係にすぎず、3つの関係があると表してよく、例えば、A及び/又はBは、Aが単独に存在する状況、AとBが同時に存在する状況、Bが単独に存在する状況の3つの状況を表してよい。なお、本願の実施例の技術案を明確に説明しやすくために、本願の実施例において、「第1」、「第2」などの用語を利用して、機能及び役割が基本的に同じである、同じ項又は類似する項を区別する。当業者は、「第1」、「第2」などの用語は、数量及び実行手順を限定するものではなく、「第1」、「第2」などの用語は、必ず異なること限定するものでもないことを理解できる。
【0057】
本願の実施例に提供される視覚ソフトウェア開発システムを詳しく説明する前に、まず、本願の実施例に係る適用シーンを詳しく説明する。
【0058】
現在、機械視覚の主な原理は、画像採取装置によって検出目標を画像信号に変換してから、画像信号に対して専用な画像処理を行い、画像処理結果に基づいて、検出目標の特徴情報を分析して取得し、さらに、目標の特徴情報によって目標に対する検出結果を確定することである。
【0059】
上記機械視覚の動作原理に基づいて、現在、機械視覚技術は各分野に幅広く適用されている。工業技術において、機械視覚技術によって、製品の外形及び表面欠陥の検出を実現することができる。例えば、木材加工の検出、金属表面の検出、プリント回路基板欠陥の検出、溶接シーム欠陥の自動的な識別等である。医学分野において、機械視覚技術によって、医者をサポートして人体における病原の大きさ、形状及び異常を診断することで、有効な診断のための証拠を提供してよい。交通監視技術分野において、機械視覚技術によって、交通違反、逆走等をしている車両のナンバープレートに対する自動的な識別を実現できる。前述したものは、機械視覚技術の適用分野に対する例示的な説明に過ぎず、本願の実施例は、機械視覚技術の具体的な適用分野に制限されない。
【0060】
視覚ソフトウェアは、上記機械視覚技術を実現するソフトウェアであり、つまり、視覚ソフトウェアによって上記目標に対する具体的な検出機能を実現できる。さらに、開発者が視覚ソフトウェアを迅速に開発しやすくために、現在、機械視覚技術において、開発者が、従来の言語コードの代わりに、図形化されたフローチャートによって、視覚ソフトウェアを開発してよい。つまり、視覚ソフトウェアは、フローチャートの方式によって図形化で表示されることで、開発者が視覚ソフトウェアの内部実行ロジックを知りやすい。上記視覚ソフトウェアのフローチャートにおいて、当該フローチャートは、複数のモジュールが一定の接続関係に従って接続させるものである。各モジュールは、1つの具体的なサブ機能を実現することに用いられる。各モジュールの間の接続関係は各モジュールの実行順序を指示する。このため、当該フローチャートは、視覚ソフトウェアの内部実行ロジックを指示できる。
【0061】
本願の実施例に提供される視覚ソフトウェア開発システムは、上記フローチャート化された視覚ソフトウェアを開発するシーンに適用してよい。その目的は、汎用的な視覚ソフトウェア開発システムを提供し、当該汎用的な視覚ソフトウェア開発システムによって、開発者がさらに業務ニーズに応じて必要な視覚ソフトウェアを個性的に作成できることである。
【0062】
説明の便宜上、ここで、まず本願の実施例に係る視覚ソフトウェア開発システムを詳しく説明する。
【0063】
図1は本願の実施例に提供される視覚ソフトウェア開発システムのアーキテクチャ模式図である。図1に示すように、当該視覚ソフトウェア開発システム100は、アプリケーションインターフェース層101とデータ処理層102とを含む。
【0064】
アプリケーションインターフェース層101は、N個のモジュール表示コントロールを表示することに用いられ、Nが1以上の正の整数であり、N個のモジュール表示コントロールがそれぞれN個のモジュールに対応し、N個のモジュールのそれぞれのモジュールデータがデータ処理層102に記憶され、モジュールデータが、対応するモジュールの実行ロジックを含む。アプリケーションインターフェース層101は、N個のモジュール表示コントロールのうちの1つ又は複数のモジュール表示コントロールに対するユーザーの第1操作に応答して、フローチャートを表示することにさらに用いられ、フローチャートは、1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールの間の実行順序を指示する。データ処理層102は、アプリケーションインターフェース層101に表示されたフローチャートに応答して、1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールのモジュールデータを呼び出して実行し、フローチャートのデータ処理結果を取得し、アプリケーションインターフェース層101にデータ処理結果を返信することに用いられる。
【0065】
上記第1操作は、ドラッグ操作、クリック操作等であってよい。アプリケーションインターフェース層に表示されたN個のモジュールに対応するモジュール表示コントロールによって、ユーザー(例えば開発者)がフローチャートを構成してよく、このフローチャートは、ある特定の業務ニーズを満たす視覚ソフトウェアとなる。フローチャートには、N個のモジュールのうちの1つ又は複数のモジュールと、この1つ又は複数のモジュールの接続関係とを含む。フローチャートにおけるモジュールの間の接続関係は、モジュールの間の実行順序を指示する。例えば、フローチャートには、モジュールAがモジュールBを指向すれば、データ処理層はまずモジュールAのモジュールデータに基づいて関連ロジックを実行してから、モジュールBのモジュールデータに基づいて関連ロジックを実行する。
【0066】
ユーザーは、アプリケーションインターフェース層でフローチャートを構成する過程において、データ処理層がアプリケーションインターフェース層に表示されたフローチャートに基づいて、フローチャートにおけるモジュールのモジュールデータを呼び出して実行することで、フローチャートのデータ処理結果を取得し、これにより、構成されたフローチャートに対する開発フローを完成する。
【0067】
図2は本願の実施例に提供されるアプリケーションインターフェース層に表示されたメインインターフェースの模式図である。図2に示すように、当該メインインターフェースには、メニュー領域、視覚ツール領域、フロー編集領域、イメージレンダリング領域、及びテキスト表示領域等の機能領域を含む。
【0068】
ここで、メニュー領域は、メインインターフェースに対する各種のコントロールを表示することに用いられ、例えばインターフェースビューコントロール、ページエリア構成コントロール等を含む。視覚ツール領域は、各モジュール表示コントロールを表示することに用いられる。フロー編集領域は、ユーザーが構成したフローチャートを表示することに用いられる。ユーザーは、ドラッグの方式によって、視覚ツール領域におけるモジュール表示コントロールをフロー編集領域に表示して、フローチャートを構成してよい。イメージレンダリング領域は、フローチャートにおけるあるモジュールのイメージ処理結果を表示することに用いられ、当該イメージ処理結果は図示の方式で示される。テキスト表示領域は、フローチャートにおけるあるモジュールのデータ処理結果を表示することに用いられ、当該データ処理結果はテキストの方式で示される。例えば、フロー編集領域に表示されたフローチャートに対して、ユーザーが当該フローチャートにおけるあるモジュールをクリックする時に、イメージレンダリング領域がフローチャートにおける当該モジュールのイメージ処理結果を表示してよく、テキスト表示領域がフローチャートにおける当該モジュールのテキストフォーマットでのデータ処理結果を表示してよい。なお、前述したイメージレンダリング領域及びテキスト表示領域は、いずれもあるモジュールの処理結果に対する結果表示バーであり、本願の実施例は、あるモジュールの処理結果の表示方式に限定されなく、図示の方式のみで表示されてよく、テキストの方式のみで表示されてよく、同時に図示の方式及びテキストの方式で表示されてもよい。
【0069】
図2に示すメインインターフェースから分かるように、本願の実施例に提供されるアプリケーションインターフェース層は、グラフィックインタラクションデザインを採用して、視覚ツール領域におけるモジュール表示コントロールをドラッグすることにより、フローチャートを生成することができ、視覚ソフトウェアを図形化のフローチャートの方式で実現できる。
【0070】
図3は本願の実施例に提供されるフローチャートの模式図である。図3に示すように、図3の左側における一般ツールは、視覚ツール領域における各モジュール表示コントロールである。図3の右側は、ユーザーが構成したフローチャートである。当該フローチャートには、4つのモジュールを含み、それぞれは画像源1モジュール、高速特徴分析モジュール、位置補正モジュール、及び円検索モジュールである。ここで、画像源1モジュールは高速特徴分析モジュールを指向し、高速特徴分析モジュールは位置補正モジュールを指向し、位置補正モジュールは円検索モジュールを指向する。当該フローチャートに指示される視覚ソフトウェアの方案は、画像源1に対して、まず高速特徴分析を行ってから、位置補正を行い、最後に円検索を行うことである。この4つのモジュールは、いずれも図3の左側に示す一般ツールのエリアにおけるモジュール表示コントロールに対応するモジュールである。
【0071】
なお、図2及び3に示すメインインターフェースは、アプリケーションインターフェース層に提供されるメインインターフェースの一例に過ぎない。メインインターフェースに表示された機能領域及び異なる機能領域の組み合わせ方式は、いずれもユーザーによって個性的に作成されてよく、本願の実施例にはこれに対して詳しく説明しない。また、図2及び図3に表示されたコントロール、例えばモジュール表示コントロールは、独立してパッケージされ、表示して構築可能等の特徴を備えている。後続の実施例に係る他のコントロールは、いずれもこの特徴を備えており、ここからは説明を繰り返さない。
【0072】
独立パッケージとは、各コントロールに対応するデータをデータ処理層に独立してパッケージされることである。各コントロールの間にデータインタラクションがなく、全てのコントロールに対応するデータはいずれもデータ処理層を指向する。各コントロールに対応するデータは、アプリケーションインターフェース層に表示されたコントロールの表示サイズ、表示カラー等の情報を含む。この場合、データ処理層におけるコントロールに対応するデータが変化する時に、アプリケーションインターフェース層に表示された当該コントロールがこれに伴って変化する。このように、各コントロールが単独で使用され、コントロール間の相互影響を回避することができる。
【0073】
表示構成可能とは、アプリケーションインターフェース層に表示された各コントロールの表示位置、表示サイズ、及び表示カラー等の表示情報は、いずれもユーザーにより、ユーザー自身のニーズに応じて修正されることができることを指す。これにより、アプリケーションインターフェース層に表示されたコントロールが、できるだけユーザーニーズを満たす。例えば、ユーザーは、マウスにより、あるコントロールをドラッグし、アプリケーションインターフェース層は当該コントロールに対するマウスドラッグイベントに応答して、当該コントロールの表示位置を修正し、修正された当該コントロールの表示位置を当該コントロールに対応する構成ファイルに記憶することができる。当該コントロールに対応する構成ファイルがデータ処理層に記憶される。上記「表示構成可能」という特徴によって、アプリケーションインターフェース層に表示されたコントロールの表示サイズ、表示位置、表示カラーがいずれも修正可能になる。選択的に、各コントロールはいずれも最小な表示サイズを備えることで、表示サイズが小さすぎて、当該コントロールのメインインターフェースにおけるレイアウトに影響を与えることを回避する。
【0074】
本願の実施例において、図1に示すシステムには、アプリケーションインターフェース層101は、モジュール追加コントロールを表示することに用いられ、当該モジュール追加コントロールは、データ処理層に第三者モジュールのモジュールデータを導入することに用いられる。第三者モジュールは、ユーザーが業務ニーズに応じて構成された任意の機能データパケットであってよい。このため、図1に示すシステムに基づいて、ユーザーが、いつでも業務ニーズに応じてアプリケーションインターフェース層に表示されたモジュール追加コントロールによって第三者モジュールを導入してから、ユーザーは第三者モジュールを含むフローチャートをアプリケーションインターフェース層に構成し、データ処理層によって当該フローチャートを実行することができ、これにより、視覚ソフトウェアの開発フローを完成できる。つまり、図1に示すシステムに基づいて、ユーザーがいつでも業務ニーズに応じて視覚ソフトウェアを作成してよい。
【0075】
一つの可能な実施形態において、アプリケーションインターフェース層が当該モジュール追加コントロールに対する操作を検出した時、モジュールロードウィンドウを表示してから、ユーザーが当該モジュールロードウィンドウによって導入した第三者モジュールのモジュールデータを取得し、モジュールデータをデータ処理層に記憶してよい。続いて、第三者モジュールが第三者モジュール表示コントロールの方式でアプリケーションインターフェース層に表示されてよい。つまり、本願の実施例に提供されるシステムは、第三者の開発者が開発した第三者モジュールをアプリケーションインターフェース層のメインインターフェースに追加することをサポートできる。前述した第三者モジュールを第三者モジュール表示コントロールの方式でアプリケーションインターフェース層に表示することは、モジュール登録の方式によって実現されてよい。モジュール登録の関連内容は後続の実施例に詳細に説明するから、ここで説明しない。
【0076】
また、メインインターフェースにデータ処理層のモジュールデータに対応するモジュール表示コントロールを追加するときに、さらに、当該追加されたモジュール表示コントロールに対応するモジュールに対する記述情報をメインインターフェースの構成ファイルに追加してよい。当該記述情報は、モジュール名、モジュールアイコン(icon)、モジュールに対応するモジュールデータの記憶経路等の情報を含むが、これらに限定されない。このように、アプリケーションインターフェース層がメインインターフェースに、当該モジュールに対応するモジュール表示コントロールを表示するときに、さらに、当該モジュールのモジュール名、モジュールアイコン等の情報を表示してよい。
【0077】
これから分かるように、本願の実施例に提供される視覚ソフトウェア開発システムは、汎用的なオープン式視覚ソフトウェア開発システムであって、当該視覚ソフトウェア開発システムは、ユーザーが異なる業務ニーズに応じて異なる第三者モジュールを開発し、開発された第三者モジュールを本願の実施例に提供されるソフトウェア開発システムにマウントすることを許可する。これにより、後続に開発された視覚ソフトウェアが異なる業務の個性化ニーズにさらに適応できる。このように、異なるタイプの視覚ソフトウェアに対して異なる視覚ソフトウェア開発システムを構築する必要はなく、本願の実施例に提供される視覚ソフトウェア開発システムで、異なるタイプの視覚ソフトウェアを開発することができる。
【0078】
また、業務ニーズ又はユーザーニーズが変化しても、本願の実施例に提供される視覚ソフトウェア開発システムユーザーによって、新たな第三者モジュールを開発してから、開発された新たな第三者モジュールを本願の実施例に提供されるソフトウェア開発システムにマウントすることができる。それにより、後続に開発された視覚ソフトウェアがユーザーの最新のニーズに迅速に適応できる。
【0079】
以上より、本願の実施例に、オープンフレームワークの視覚ソフトウェア開発システムを提供する。当該視覚ソフトウェア開発システムはオープン式フレームワークデザインを採用して、ユーザーが実際の応用ニーズに応じてこのフレームワークに基づいて複数の層の二次開発することをサポートするため、当該視覚ソフトウェア開発システムは柔軟性及び使用容易性を併せ持つ。
【0080】
また、図1に示すように、図1に示すシステムにおいて、データ処理層102は、データスケジューリング層と機能モジュール層とをさらに含んでよい。この場合、各モジュールに対する有効な管理を行いやすいように、前述したデータ処理層の機能はデータスケジューリング層と機能モジュール層とに分散される。ここで、機能モジュール層にはN個のモジュールのモジュールデータが記憶されており、データスケジューリング層は、フローチャートにおける1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールの間の実行順序に従って、機能モジュール層から1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールのモジュールデータを順次に呼び出して実行し、データ処理結果を取得することに用いられる。
【0081】
つまり、機能モジュール層は、各モジュールのモジュールデータをパッケージし、外部に対して各モジュールの入出力ポートを提供することに用いられる。データスケジューリング層は、各モジュールの入出力ポートに基づいてモジュールのモジュールデータを呼び出してから、フローチャートにおける各モジュールの機能を実現することに用いられる。例えば、データスケジューリング層が機能モジュール層におけるモジュールAのモジュールデータを呼び出す必要がある時に、データスケジューリング層がモジュールAの入力ポートを介してモジュールAの実行に必要なデータを機能モジュール層に入力してから、入力されたデータに基づいて機能モジュール層がモジュールAの実行ロジックを実行し、結果データを取得し、結果データをモジュールAの出力ポートを介してデータスケジューリング層に送信する。これまで、データスケジューリング層が機能モジュール層におけるモジュールAに対する呼び出し過程を完成した。
【0082】
なお、機能モジュール層における各モジュールのモジュールデータの安全性を向上するために、機能モジュール層における各モジュールのモジュールデータは独立してパッケージされた。つまり、機能モジュール層における各モジュールの間では通信しない。データスケジューリング層によって統合的に機能モジュール層におけるデータを呼び出すようにしている。図4は本願の実施例に提供されるデータスケジューリング層が機能モジュール層における各モジュールのモジュールデータを呼び出す模式図である。図4に示すように、データスケジューリング層がスケジューリングするモジュール1、モジュール2及びモジュール3の間には互いに独立して、呼び出される各モジュールの間には交差しない。即ち、スケジューリングの実行に基づいて各モジュールをそれぞれ実行し、各モジュールの結果データに対してデータの一時保存を行う。
【0083】
データ処理層がデータスケジューリング層と機能モジュール層とを含む場合、データスケジューリング層がフローチャートを実行する前に、まずフローチャートにおける各モジュールを呼び出す順序関係を一定のデータ構造に記録してよい。当該データ構造は、例えば木構造又はグラフ構造であってよい。そして、データスケジューリング層がフローチャートを実行する時に、一定の順序に従って当該データ構造をトラバースし、機能モジュール層における各モジュールのポートを順に呼び出すことにより、フローチャートに対する開発フローを完成する。
【0084】
また、本願の実施例に係るモジュールは、任意の機能を実現するモジュールであってよい。当該モジュールは、アルゴリズムモジュール、画像採取モジュール、データ演算モジュール、外設制御モジュール、通信モジュール等を含んでよい。本願の実施例はこれらを限定しない。図5は本願の実施例に提供されるモジュールの模式図である。図5に示すように、本願の実施例に係るモジュールは、以下4つの種類を含んでよい。第1種類は、例えば画像採取モジュール、カメラ制御モジュール、光源制御モジュール等の外設ハードウェアに対応するモジュールである。第2種類は、例えばテンプレートマッチングモジュール、幾何学的検索モジュール、コード読み取りモジュール、OCR(Optical Character Recognition、光学的文字認識)モジュール等の画像処理に関連するモジュールである。第3種類は、例えばデータ処理モジュール、ロジック演算モジュール、データ集計モジュール等のデータ処理に関連するモジュールである。第4種類は、通信に関連するモジュールである。
【0085】
上記は、本願の実施例に提供される視覚ソフトウェア開発システムの重要な機能を説明したが、以下は図1に示すシステムの他の機能をより詳しく説明する。なお、以下のいくつかの機能は、本願の実施例に係る機能に対する例示的な説明に過ぎず、図1に示すシステムの機能を制限しない。
【0086】
1、視覚ソフトウェア開発システムは、第三者モジュールのモジュールデータの自主設計及び開発をサポートする。
【0087】
第三者モジュールは、システムにおける既存のモジュールではなく、第三者によって自主設計及び開発されたモジュールであるため、導入した第三者モジュールが本願の実施例に提供されるシステムにマウントできることを確保するように、第三者モジュールのモジュールデータが本願の実施例に提供されるシステムが指定したルールを満たす必要がある。
【0088】
このため、一つの可能な実施形態において、アプリケーションインターフェース層は、モジュール追加コントロールに対する第2操作に応答して、ユーザーが当該モジュール追加コントロールによって導入した第三者モジュールのモジュールデータを取得し、導入された第三者モジュールのモジュールデータをデータ処理層に送信することに用いられる。この場合、データ処理層は、導入された第三者モジュールのモジュールデータが参照ルールを満たすと判定した場合、導入された第三者モジュールのモジュールデータを記憶し、アプリケーションインターフェース層にモジュールロード成功メッセージを返信することに用いられ、モジュールロード成功メッセージは第三者モジュールのロードが成功したことを指示する。それに対して、導入された第三者モジュールのモジュールデータが参照ルールを満たさないと判定した場合、データ処理層は、導入された第三者モジュールのモジュールデータを記憶しなく、アプリケーションインターフェース層にモジュールロード失敗メッセージを返信し、当該モジュールロード失敗メッセージは現在に第三者モジュールのロードが失敗したことを指示する。
【0089】
つまり、開発者が本システムに第三者モジュールを導入する時に、システムにおけるデータ処理層は、第三者モジュールのモジュールデータを判定し、導入された第三者モジュールのモジュールデータが参照ルールを満たすと判定した場合のみ、第三者モジュールのモジュールデータのデータ処理層へのロードを成功にする。これにより、本願の実施例に提供される視覚ソフトウェア開発システムにマウントされる第三者モジュールは視覚ソフトウェア開発システム自身における既存のモジュールと互換性があることを確保する。
【0090】
なお、開発者が本システムに導入された第三者モジュールのモジュールデータが満たすべくルールを迅速にしりやすくなるように、システムは第三者モジュールのモジュールデータが満たすべく参照ルールを外部に説明してよい。そのため、一つの可能な実施形態において、図1におけるアプリケーションインターフェース層は、モジュール追加コントロールに対する第3操作に応答して、モジュール構成ファイルを表示することにさらに用いられ、当該モジュール構成ファイルは前述した参照ルールを指示する。上記第3操作は、クリック操作、音声操作等であってよい。例えば、第3操作は右ダブルクリック操作であると、ユーザーがマウスでメインインターフェースに表示されたモジュール追加コントロールを右ダブルクリックするときに、アプリケーションインターフェース層はモジュール構成ファイルを表示できる。当該モジュール構成ファイルは、導入された第三者モジュールのモジュールデータが満たすべくルールを指示する。つまり、ユーザーは、当該モジュール構成ファイルを調べることで、現在の導入したい第三者モジュールのモジュールデータが満たすべくルールを知ることができる。
【0091】
選択的に、第三者モジュールを開発する開発者は、さらに、他の方法によって、本システムに導入された第三者モジュールのモジュールデータが満たすべく参照ルールを知ることができる。本願の実施例はこれらを限定しない。例えば、開発者は、当該本願の実施例に提供される視覚ソフトウェア開発システムの関連書類から、これらの参照ルールを知ってよい。
【0092】
具体的に、上記参照ルールは、第三者モジュールの入出力ポートの設計方式及び/又は第三者モジュールのモジュールデータのパッケージ方式を含んでよい。ここて、第三者モジュールの入出力ポートの設計方式は、入力データ及び/又は出力データのフォーマットを含む。ここで、入力データ又は出力データのフォーマットは、具体的にデータの感度等の情報を含んでよい。第三者モジュールのモジュールデータのパッケージ方式は、モジュールデータのデータ処理層における格納フォーマットを指示し、当該格納フォーマットは、ダイナミックリンクライブラリ、スタティックリンクライブラリ、exe(executable、実行可能な)ファイル等のうちのいずれかを含んでよい。
【0093】
上記モジュール追加コントロールの関連機能によって、第三者が開発したモジュールをデータ処理層にロードすることを実現できる。具体的に、データ処理層がデータスケジューリング層と機能モジュール層とを含む場合、第三者が開発したモジュールをデータ処理層にロードすることは、具体的に、第三者が開発したモジュールのモジュールデータを機能モジュール層にロードすることを指す。ここで、第三者が開発したモジュールのモジュールデータをダイナミックライブラリ(又は実行可能なプログラム)の形態にパッケージして機能モジュール層に記憶し、機能モジュール層は第三者が開発したモジュールのハンドル(当該ハンドルは当該モジュールの唯一の識別に用いられる)を生成し、これにより、後続にデータスケジューリング層が当該ハンドルによって当該モジュールを呼び出しやすくなる。
【0094】
また、モジュールをさらにオープンにするように、図1に示すシステムは、ロードしたモジュールを削除すること、即ちモジュール解放もサポートする。具体的な実施形態はここで詳しく説明しない。図6は本願の実施例に提供されるモジュールロード及びモジュール解放の模式図である。図6に示すように、データスケジューリング層は、ユーザーがアプリケーションインターフェース層で実行した操作に応答して、あるモジュールを機能モジュール層にロードすることができ、ユーザーがアプリケーションインターフェース層で実行した操作を応答して、あるモジュールを機能モジュール層から削除すること、即ちモジュール解放もできる。
【0095】
なお、前述説明における第1操作から第3操作は、いずれも相応のコントロールに対してユーザーによりトリガーされたユーザー操作であり、当該ユーザー操作は、クリック操作、音声操作、或いはスライド操作等であってよい。第1操作から第3操作は、異なる操作を区別するためのものに過ぎず、具体的なユーザー操作を限定しない。続いての第4操作から第10操作は、いずれもこの説明を参照してよく、ここからは説明を繰り返さない。
【0096】
2、視覚ソフトウェア開発システムは、ユーザーが任意のモジュールのモジュールデータに対する二次開発をサポートする。
【0097】
本願に提供されるシステムにマウントされたモジュールに対して、モジュールがいつでも変化した業務ニーズを対応できること確保するように、当該視覚ソフトウェア開発システムは、さらに、ユーザーがシステムにマウントされたモジュールのモジュールデータに対する二次開発をサポートすることによって、二次開発されたモジュールが最新の業務ニーズを満たすことができる。
【0098】
このため、一つの可能な実施形態において、当該アプリケーションインターフェース層は、N個のモジュール表示コントロールにおける第1モジュール表示コントロールに対するユーザーの第4操作に応答して、第1モジュール表示コントロールに対応する第1モジュールのモジュール構成インターフェースを表示することにさらに用いられ、モジュール構成インターフェースに複数のモジュール構成コントロールを含み、いずれかのモジュール構成コントロールは、ユーザーに、第1モジュールの実行過程におけるパラメータを編集することを指示することに用いられる。ここで、第1モジュール表示コントロールは、N個のモジュール表示コントロールうちのいずれかである。この場合、アプリケーションインターフェース層は、いずれかのモジュール構成コントロールに対する第5操作に応答して、ユーザーがいずれかのモジュール構成コントロールによって編集したパラメータを取得し、編集されたパラメータをデータ処理層に送信することにさらに用いられる。データ処理層は、編集されたパラメータに基づいて、第1モジュールのモジュールデータを更新することに用いられる。当該過程によって、ユーザーがいずれかのモジュールのモジュールデータに対して修正を行うことを実現でき、これにより、修正されたモジュールデータが最新の業務ニーズを満たす。
【0099】
また、上記ユーザーが任意のモジュールのモジュールデータに対して二次開発を行うタイミングについては、ユーザーがアプリケーションインターフェース層に基づいてフローチャートを構成した後、フローチャートに含まれるあるモジュールのモジュールデータに対して二次開発を行ってよい。この場合、仮に、ユーザーがフローチャートに含まれる第1モジュールのモジュールデータに対して二次開発を行うと、データ処理層は、更新された第1モジュールのモジュールデータに基づいて、フローチャートのデータ処理結果を更新し、更新されたデータ処理結果をアプリケーションインターフェース層に返信することにさらに用いられる。
【0100】
つまり、ユーザーがアプリケーションインターフェース層に基づいてフローチャートを構成した後、フローチャートに含まれるあるモジュールのモジュールデータに対して二次開発を行うと、視覚ソフトウェア開発システムは、自動的に更新されたモジュールデータに基づいて当該フローチャートのデータ処理結果を更新する。
【0101】
上記第1モジュールの実行過程におけるパラメータは、入力パラメータ、出力パラメータ、及び実行過程における他の関連パラメータ等を含んでよい。モジュール構成コントロールは、文字構成コントロール、シェーピング構成コントロール、浮動小数点数構成コントロール、列挙構成コントロール等を含んでよい。
【0102】
上記モジュール構成インターフェースは、システムが全てのモジュールに対して予め構成したインターフェースであり、つまり、当該モジュール構成インターフェースはシステムにおけるデフォルトのモジュール構成インターフェースであってよい。一つの可能な実施形態において、システムに全てのモジュールに対するモジュール構成インターフェースファイルが記憶されており、当該モジュール構成インターフェースファイルは、モジュール構成インターフェースの関連内容を指示することに用いられ、アプリケーションインターフェース層が当該モジュール構成インターフェースファイルをロードした後、デフォルトのモジュール構成インターフェースを表示してよい。例えば、上記第4操作はダブルクリック操作であり、メインインターフェースに表示された第1モジュールに対応するモジュール表示コントロールをダブルクリックする時に、アプリケーションインターフェース層がXML(eXtensible Markup Language、拡張可能なマーク付け言語)によって定義したデフォルトのモジュール構成インターフェースファイルに基づいて、システムデフォルトのモジュール構成インターフェースを動的に生成する。
【0103】
選択的に、上記ユーザーが二次開発を行った第1モジュールは第三者モジュールであれば、当該第1モジュールのモジュール構成インターフェースはさらに第三者によって自主設計されてよい。この場合、システムに第1モジュールのモジュールデータを導入する時に、導入された第1モジュールのモジュールデータは、第三者が第1モジュールに対してカスタマイズしたモジュール構成インターフェースファイルをさらに含んでよく、当該モジュール構成インターフェースファイルは、第1モジュールに対応するモジュール構成インターフェースのプログラムコードを指示することに用いられる。この場合、アプリケーションインターフェース層に表示された第1モジュールのモジュール構成インターフェースは、第1モジュールのモジュールデータにおけるモジュール構成インターフェースファイルに従って表示された。ここで、第三者が自主設計したモジュール構成インターフェースファイルは、同様に、XMLによって定義された構成ファイルであってよい。
【0104】
また、モジュール構成インターフェースファイルにおいて、第三者は、さらに、特定のモジュール構成コントロールライブラリにおけるモジュール構成コントロールの名称を指定してよい。この場合、第三者モジュールのモジュールデータには、第三者から提供された特定のモジュール構成コントロールライブラリをさらに含んでよい。この場合、アプリケーションインターフェース層は、第三者から提供されたモジュール構成インターフェースファイルに基づいてモジュール構成インターフェースを表示するときに、表示されたモジュール構成インターフェースには、特定のモジュール構成コントロールライブラリにおけるモジュール構成コントロールを含み、これにより、ユーザーは第三者から提供されたモジュール構成コントロールライブラリにおけるモジュール構成コントロールに基づいて第三者モジュールの構成作業を完成しやすくなる。
【0105】
ここで、アプリケーションインターフェース層は、第三者から提供されたモジュール構成コントロールに、パラメータを取得又は設定するポートを提供し、こりにより、ユーザーがこれらのポートに基づいて第三者から提供されたモジュール構成コントロールの関連パラメータに対して呼び出し又は修正を行いやすくなる。ここで、パラメータを取得又は設定するポートは、キーバリュー(Key-Value)の形態で動作することで、整数型(int)、浮動小数点型(float)、文字列型(string)等の基本タイプのモジュール構成コントロールのサポートを提供してよい。なお、パラメータを取得又は設定するポートを提供することは、バイナリーの形態で行ってよく、バイナリーの動作形態は、バルクデータを呼び出すことを許可するため、パラメータを取得又は設定するポートがバイナリーの形態で動作する時に、バルクデータのパラメータに対する呼び出し又は修正を実現できる。
【0106】
以上より、本願の実施例において、システムにおけるデフォルトのモジュール(本願の実施例には、ナイティブモジュールと総称される)又は第三者モジュールに対して、ユーザーが第4操作によってモジュールをトリガーすると、システムに構築されたモジュール構成インターフェースが出現でき、このモジュール構成インターフェースに入力、出力、実行パラメータ等のモジュール構成コントロールが表示され、これにより、ユーザーがモジュールの関連パラメータを修正しやすくなる。選択的に、第三者モジュールに対して、第三者はさらにモジュール構成インターフェースファイルを導入してよい。これはモジュール構成インターフェースが第三者によって提供されることに相当する。
【0107】
図7は本願の実施例に提供される第三者モジュールのモジュールデータのフォーマット模式図である。図7に示すように、データ処理層はデータスケジューリング層と機能モジュール層とを含む。ここで、アプリケーションインターフェース層のメインインターフェースの視覚ツール領域には、ナイティブモジュールに対するモジュール表示コントロールが表示され、当該モジュール表示コントロールはナイティブモジュールのアイコンで表示される。視覚ツール領域には、さらに、第三者モジュールに対するモジュール表示コントロールが表示され、当該モジュール表示コントロールは第三者モジュールのアイコンで表示される。このようなインターフェースを表示することに対応するXMLは図7に示し、つまり、表示することに用いられるこの2つのモジュールのモジュール表示コントロールのコードは以下の通りである。
【0108】

【0109】
また、図7に示すように、第三者モジュールのモジュールデータが機能モジュール層に記憶される。第三者モジュールのモジュールデータは、第三者モジュールに対するモジュール構成インターフェースファイル、モジュールダイナミックライブラリ及びモジュール構成コントロールライブラリを含む。ここで、図7において、第三者モジュールのモジュールデータのコードは以下の通りである。
【0110】
disanfangmodule.xml/とはモジュール構成インターフェースファイルであり、
disanfangmodule.dll/とはモジュールダイナミックライブラリであり、
disanfangmoduleConfig.dll/とはモジュール構成コントロールライブラリである。
【0111】
ここで、モジュールダイナミックライブラリによって、第三者モジュールの内部実行ロジックを取得してよい。モジュール構成コントロールライブラリ及びモジュール構成インターフェースファイルは前述した実施例に詳しく説明されたので、ここでは説明を繰り返さない。
【0112】
なお、図1に示すシステムと互換性を持たせるためには、第三者が導入したモジュール構成インターフェースファイルとシステムデフォルトのモジュール構成インターフェースファイルとは同一のルールを満たすべきである。これにより、第三者から提供されたモジュール構成インターフェースは本願の実施例のデフォルトのモジュール構成インターフェースと互換性を持つようになる。これは、前述したモジュール構成ファイルが指示したルールの関連内容によって実現されてよい。つまり、モジュール構成ファイルに含まれるルールには、第三者が導入したモジュール構成インターフェースファイルが満たすべくルールを含み、ここで詳しく説明しない。
【0113】
3、視覚ソフトウェア開発システムは、フローチャートを基礎となるコードに変換することをサポートし、これにより、開発者がさらに二次開発を行いやすくなる。
【0114】
ユーザーがフローチャートを構成した後、他のユーザーが当該フローチャートに指示された視覚ソフトウェアに対してさらに二次開発を行うために、本願の実施例に提供されるシステムは、フローチャートを基礎となるコードに変換することをさらにサポートし、これにより、開発者がさらに二次開発を行いやすくなる。このため、一つの可能な実施形態において、データ処理層は、フローチャートに基づいて第1コードパッケージを生成することにさらに用いられ、第1コードパッケージは、フローチャートに含まれる各モジュールの実行ロジック及び含まれる各モジュールの間の実行順序を指示し、つまり、第1コードパッケージはフローチャートの内部実行ロジックを指示する。この場合、データ処理層は、第1コードパッケージに対応する第1コードコントロールを表示するように、アプリケーションインターフェース層を制御することにさらに用いられ、第1コードコントロールは、ユーザーに、第1コードパッケージをダウンロードすることを指示することに用いられ、第1コードパッケージは、第三者システムに導入することをサポートし、第三者システムで実行された後、フローチャートを表示する。
【0115】
ここで、データ処理層が第1コードパッケージを生成した後、さらに、第1コードパッケージをある指定位置に記憶してよく、例えば機能モジュール層に記憶してよい。アプリケーションインターフェース層が第1コードコントロールに対する選択操作を検出した時に、当該第1コードパッケージを取得してから、第1コードパッケージを指定位置、例えば、ユーザーが選択した指定位置にダウンロードし、これにより、ユーザーが第1コードパッケージを第三者システムに導入しやすくなる。これによって、第三者システムで当該第1コードパッケージを実行した後、前述した本願の実施例に提供されるシステムに構築されたフローチャートを第三者システムに表示する。なお、さらに、ユーザーが第三者システムで第1コードパッケージに基づいて当該フローチャートに対して二次開発を行って、新たな視覚ソフトウェアを生成してよい。つまり、本願の実施例はさらに導出モデルを提供する。当該導出モデルにより、フローチャートにおけるモジュールの呼び出し及び関連データの読み書き関係をコードに変換できる。当該コードは、ユーザーに参考として提供されたり、ユーザー自分のソフトウェアに集積されたりすることができる。
【0116】
また、データ処理層が第1コードパッケージを生成した後、さらに、第1コードパッケージをアプリケーションインターフェース層に送信してよく、アプリケーションインターフェース層により第1コードパッケージを表示し、これにより、開発者が本願の実施例に提供されるシステムで第1コードパッケージに対してオンライン修正を行いやすくなる。この場合、アプリケーションインターフェース層が第1コードパッケージに対する修正コマンドを検出した後、さらに、ユーザーが第1コードパッケージに対する修正に基づいて、表示されたフローチャートを更新する。
【0117】
4、視覚ソフトウェア開発システムは実行インターフェースを提供し、これにより、開発者が実行インターフェースによって視覚ソフトウェアの実行過程に係る重要な画像、図形、又は文字等を知る。
【0118】
フローチャートには、基本的なフローのみが表示され、視覚ソフトウェアのバックエンド実行情報が表示されないため、本願の実施例において、開発者が視覚ソフトウェアの実行過程を知りやすくなるように、構成されたフローチャートに対して、視覚ソフトウェア開発システムはさらに当該フローチャートのバックエンド実行情報を表示することをサポートする。本願の実施例において、フローチャートの実行情報は、フローチャート実行過程における中間データを指示する。フローチャートの実行情報は、即ちバックエンド実行情報である。このため、一つの可能な実施形態において、図1に示すシステムにおけるアプリケーションインターフェース層は、実行インターフェース表示コントロールを表示することにさらに用いられ、実行インターフェース表示コントロールは、フローチャートに対する実行インターフェースを表示することを指示し、実行インターフェースは、フローチャートの実行情報を表示することに用いられ、フローチャートの実行情報は、フローチャート実行過程における中間データを指示する。この場合、アプリケーションインターフェース層は、実行インターフェース表示コントロールに対する第6操作に応答して、ユーザーが実行インターフェースに基づいてフローチャートの実行過程における中間データを見るように、実行インターフェースを表示することに用いられる。
【0119】
例えば、ユーザーがフローチャートを構成した後、当該実行インターフェース表示コントロールに対するクリック操作を検出した場合、アプリケーションインターフェース層が1つの実行インターフェースを表示し、当該実行インターフェースに当該フローチャートの実行情報を表示する。当該実行インターフェースは、現在のメインインターフェースにおける1つの機能領域であってよい。また、上記実行インターフェースに表示された具体的なコンテンツは、システムデフォルトの情報であってよい。
【0120】
選択的に、実行インターフェースに表示された具体的なコンテンツは、ユーザーの基本的な業務ニーズが指定して表示すべくものであってもよい。この場合、アプリケーションインターフェース層は、実行インターフェース構成コントロールを表示することにさらに用いられ、実行インターフェース構成コントロールは、実行インターフェース構成インターフェースを表示することを指示し、実行インターフェース構成インターフェースは、実行インターフェースに表示されたコンテンツを構成することに用いられる。この場合、アプリケーションインターフェース層は、実行インターフェース構成コントロールに対する第7操作に応答して、実行インターフェース構成インターフェースを表示することにさらに用いられ、当該実行インターフェース構成インターフェースは、ユーザーが実行インターフェースにはどちらの情報を表示すべきか、及び表示された情報のソースを構成することに用いられる。
【0121】
一つの可能な実施形態において、実行インターフェース構成インターフェースは、複数の実行インターフェース構成サブコントロールを含み、複数の実行インターフェース構成サブコントロールのうちのいずれかの実行インターフェース構成サブコントロールは、起動オプションを有する。この場合、アプリケーションインターフェース層は、複数の実行インターフェース構成サブコントロールにおける第1実行インターフェース構成サブコントロールの起動オプションに対する第8操作に応答して、コンテンツソースオプションを表示し、コンテンツソースオプションに対する第9操作に応答して、第1実行インターフェース構成サブコントロールとフローチャートにおける1つのモジュールとをバインドすることにさらに用いられる。第1実行インターフェース構成サブコントロールとフローチャートにおける1つのモジュールとをバインドした後、実行インターフェースに第1実行インターフェース構成サブコントロールに対応する実行情報を表示してよく、当該実行情報は、第1実行インターフェース構成サブコントロールとバインドしたモジュールのデータに由来する。
【0122】
つまり、図1に示すシステムは編集可能な実行インターフェースを提供し、これにより、ユーザーが実際の応用ニーズに応じてフローチャートの実行インターフェースを設計しやすくなる。このように、ユーザーが視覚ソフトウェアを作成する時に、視覚ソフトウェアに係るある重要な画像、イメージ、文字を実行インターフェースによって表示してよい。上記実行インターフェース構成サブコントロールは、画像コントロール、テキスト表示ボックス、パラメータ設定ボックス、ステータスランプ、ボタン、テーブル等を含んでよい。実行インターフェースを構成する時に、これらの実行インターフェース構成サブコントロールによって実行インターフェースにはどちらの情報を表示すべきかを構成してから、表示すべく情報とフローチャートにおけるモジュールのモジュールデータとをバインドし、すなわち、表示された情報のソースを指示する。これにより、業務ニーズを満たす実行インターフェースを構成した。
【0123】
また、ユーザーが実行インターフェースを構成した後、他のユーザーが当該実行インターフェースに対してさらに二次開発を行うために、本願の実施例に提供されるシステムは、さらに実行インターフェースを基礎となるコードに変換することをサポートし、これにより、開発者がさらに二次開発を行いやすくなる。
【0124】
このため、一つの可能な実施形態において、データ処理層は、実行インターフェースのプログラムコードを第2コードパッケージとして導出することにさらに用いられる。この場合、データ処理層は、第2コードパッケージに対応する第2コードコントロールを表示するように、アプリケーションインターフェース層を制御することにさらに用いられ、第2コードコントロールは、ユーザーに、第2コードパッケージをダウンロードすることを指示することに用いられ、第2コードパッケージは、第三者システムに導入することをサポートし、第三者システムで実行された後、当該実行インターフェースを表示する。
【0125】
ここで、データ処理層が第2コードパッケージを生成した後、さらに、第2コードパッケージをある指定位置に記憶してよく、例えば機能モジュール層に記憶してよい。そして、アプリケーションインターフェース層が第2コードコントロールに対する選択操作を検出した時に、当該第2コードパッケージを取得してから、第2コードパッケージを指定位置、例えば、ユーザーが選択した指定位置にダウンロードし、これにより、ユーザーが第2コードパッケージを第三者システムに導入し、第三者システムで実行された後、前述した本願の実施例に提供されるシステムに構築された実行インターフェースを表示する。また、さらに、ユーザーが第三者システムで第2コードパッケージに基づいて当該視覚ソフトウェアに対して二次開発を行って、新たな実行インターフェース生成してよい。
【0126】
これから分かるように、本願の実施例において、実行インターフェースをコードに翻訳することによって、インターフェース開発SDK(Software Development Kit、ソフトウェア開発キット)に基づくコード導出工程を生成し、ユーザーが当該工程に基づいて他の機能を開発し続きたり、視覚部分をユーザーのソフトウェアに集積したりすることができる。つまり、実行インターフェースをコードに翻訳することによって、実行インターフェースがユーザーにオープンすることを実現する。
【0127】
図8は本願の実施例に提供される実行インターフェースの構成過程及び導出コードの模式図である。図8の上にあるブロックに、構成された実行インターフェースを指示し、図8に示すように、当該実行インターフェースに画像が表示され、当該画像はカメラで画像を採取してから、円検索処理を経った画像であり、当該実行インターフェースにカメラの接続状態が表示され、当該実行インターフェースにはカメラで採取された画像に対して円検索を実行した後、確定された円の半径等がさらに表示される。ここで、実行インターフェースに表示された画像は、カメラモジュール実行後のデータ及び円検索モジュール実行後のデータに従って確定される。円検索を実行して確定された円の半径は、円検索モジュール実行後のデータに従って確定される。また、カメラ接続状態は、カメラモジュールの実行過程におけるデータに従って確定される。また、実行インターフェースに1回実行又は複数回実行(即ち連続実行)をさらに表示してよい。1回実行は、当該フローチャートを1回のみ実行することを指示し、複数回実行は、当該フローチャートを複数回実行することを指示する。前述した実行インターフェースに表示されたコンテンツ及び表示されたコンテンツのソースは、いずれも前述した実行インターフェース構成インターフェースにおける関連の実行インターフェース構成サブコントロールによって実現される。ここで、それぞれについて例示して説明することをしない。図8の最下にある点線ブロックには、表示された実行インターフェースに対応するコードを指示し、当該コードはテキスト方式で表示され、つまり、当該コードによって、ユーザーが図8の上にある実行インターフェースを自分のソフトウェアに表示することができ、これにより、実行インターフェースの外部へのオープンを実現できる。
【0128】
5、視覚ソフトウェア開発システムは、モジュールの登録及び合法性検証をサポートする。
【0129】
本願の実施例に提供される視覚ソフトウェア開発システムの汎用性及び専門性を向上するために、本願の実施例において、データ処理層には、大量なモジュールのモジュールデータがさらに記憶されることができる。ユーザーが本願の実施例に提供されるシステムを利用する際に、大量なモジュールから現在の業務に必要なモジュールを選択してアプリケーションインターフェース層にロードすればよい。つまり、各ユーザーは、自身の業務ニーズに応じて大量なモジュールから一部のモジュールを選択して登録することができ、これにより、自身の業務ニーズを満たすフローチャートを開発するとともに、システムのアプリケーションインターフェース層のデータ記憶及び処理の負荷を減らすことができる。
【0130】
このため、一つの可能な実施形態において、データ処理層は、M個のモジュールのモジュールデータを記憶することに用いられ、MがN以上の正の整数である。この場合、アプリケーションインターフェース層は、モジュール登録コントロールを表示することにさらに用いられ、アプリケーションインターフェース層は、ユーザーがモジュール登録コントロールによってM個のモジュールから選択したN個のモジュールに応答して、N個のモジュール表示コントロールを表示することに用いられる。つまり、システム初期化の時、ユーザーが当該モジュール登録コントロールによって一部のモジュールを選択してアプリケーションインターフェース層に登録してよい。このように、アプリケーションインターフェース層は、データ処理層の全てのモジュールを表示する必要はなく、これにより、現在のアプリケーションインターフェース層に表示されたメインインターフェースを簡素化しやすくなる。
【0131】
また、モジュールデータの安全性を向上し、悪意のあるユーザーがモジュールに対応するモジュールデータを勝手に変更することを回避するために、アプリケーションインターフェース層に登録されたモジュールは合法性検証を通過したモジュールである。つまり、図1に示すアプリケーションインターフェース層に表示されたN個のモジュール表示コントロールに対応するN個のモジュールは、データ処理層が検証して合法とするモジュールである。ここで、検証して合法とするモジュールとは、ユーザーが利用権限を持っている対応するモジュールである。この場合、システムのデータ処理層に構成された各モジュールに対して、各モジュールの許可権限を予め構成してよく、当該許可権限は、どちらのユーザーが対応するモジュールを利用できることを許可することを指示する。このように、ユーザーが上記方式によって、あるモジュールを登録する時に、システムは当該ユーザーの権限を検証し、当該ユーザーが当該モジュールの許可権限にいないと、システムは当該ユーザーが当該モジュールを登録することを断る。
【0132】
図9は本願の実施例に提供されるモジュール登録のフロー模式図である。図9に示すように、システム初期化の後、アプリケーションインターフェース層でのユーザーによる操作に基づいて、アプリケーションインターフェース層は、ユーザーが現在、あるモジュールを登録したいことを検出すると、アプリケーションインターフェース層はデータスケジューリング層に登録要求を送信する。データスケジューリング層が当該登録要求を受信した(即ち情報受信)後、ユーザーの権限を検証し、検証を通過すると、当該モジュールを登録されたモジュールリストに追加し、アプリケーションインターフェース層に登録成功の結果を送信し、これにより、アプリケーションインターフェース層は、登録成功する時に当該モジュールに対するモジュール表示コントロールを表示する。それに対して、検証を通過しないと、アプリケーションインターフェース層に登録失敗の結果を送信する。この場合、アプリケーションインターフェース層は、当該モジュールに対するモジュール表示コントロールを表示しない。なお、図9に示す検証フローは、モジュールを登録する時に実現されるものであり、選択的に、当該検証フローは、図6に示すモジュールロード過程に実現されてもよく、ここで詳しく説明しない。
【0133】
6、視覚ソフトウェア開発システムは、第三者が本システムにマウントされたモジュールを呼び出すことをサポートする。
【0134】
本願の実施例において、視覚ソフトウェア開発システムは、さらに、ユーザーがシステムにマウントされたモジュールを他のソフトウェアに呼び出すことを許可する。これにより、ユーザーが本システムにマウントされたモジュールに基づいて、他のモジュールを迅速に開発しやすくなる。このため、一つの可能な実施形態において、アプリケーションインターフェース層は、いずれかのモジュール表示コントロールに対する呼び出しコントロールを表示することにさらに用いられ、呼び出しコントロールは、ユーザーが第三者システムにいずれかのモジュール表示コントロールに対応するモジュールを呼び出すことを許可することを指示する。この場合、アプリケーションインターフェース層は、呼び出しコントロールに対する第10操作に応答して、いずれかのモジュール表示コントロールに対応するモジュールのモジュールデータのポートリンクを表示することにさらに用いられる。アプリケーションインターフェース層は、第三者システムから送信されたポートリンクに対するデータ呼び出し要求を検出した時に、ポートリンクに基づいてデータ処理層からいずれかのモジュール表示コントロールに対応するモジュールのモジュールデータを取得し、取得されたモジュールデータを第三者システムに送信することにさらに用いられる。
【0135】
つまり、いずれかのモジュール表示コントロールに対する呼び出しコントロールを表示した後、アプリケーションインターフェース層が当該呼び出しコントロールに対する選択操作を検出した時に、当該モジュールに対応するモジュールデータのポートリンクを提供することができる。これにより、ユーザーが他のソフトウェアで当該ポートリンクに基づいて、当該モジュールのモジュールデータを呼び出しやすくなる。
【0136】
以上より、本願の実施例は、視覚ソフトウェア開発システムを提供する。当該視覚ソフトウェア開発システムにおけるアプリケーションインターフェース層は、モジュール追加コントロールを表示することに用いられ、当該モジュール追加コントロールは、データ処理層に第三者モジュールのモジュールデータを導入することに用いられる。このように、アプリケーションインターフェース層に表示されたN個のモジュール表示コントロールに対応するモジュールは、第三者モジュールを含み得る。このため、本願の実施例において、ユーザーが、いつでも業務ニーズに応じて当該モジュール追加コントロールによって第三者モジュールを導入してから、第三者モジュールに基づいてアプリケーションインターフェース層によってユーザーが構成したフローチャートを表示し、当該フローチャートはユーザーが構成した視覚ソフトウェアとなり、データ処理層によって当該フローチャートを実行し、これにより、視覚ソフトウェアの開発フローを完成する。
【0137】
これから分かるように、本願の実施例に提供される視覚ソフトウェア開発システムは、汎用的なオープン式視覚ソフトウェア開発システムであって、当該視覚ソフトウェア開発システムは、ユーザーが異なる業務ニーズに応じて異なる第三者モジュールを開発し、開発された第三者モジュールを本願の実施例に提供されるソフトウェア開発システムにマウントすることを許可する。これにより、後続に開発された視覚ソフトウェアが異なる業務の個性化ニーズにさらに適応できる。このように、異なるタイプの視覚ソフトウェアに対して異なる視覚ソフトウェア開発システムを構築する必要はなく、本願の実施例に提供される視覚ソフトウェア開発システムで、異なるタイプの視覚ソフトウェアを開発することができる。
【0138】
また、業務ニーズ又はユーザーニーズが変化しても、本願の実施例に提供される視覚ソフトウェア開発システムユーザーによって、新たな第三者モジュールを開発してから、開発された新たな第三者モジュールを本願の実施例に提供されるソフトウェア開発システムにマウントすることができる。それにより、後続に開発された視覚ソフトウェアがユーザーの最新のニーズに迅速に適応できる。
【0139】
上記提供された視覚ソフトウェア開発システムの機能に基づいて、本願の実施例は、アプリケーションインターフェース層とデータ処理層とを含む視覚ソフトウェア開発システムに適用される視覚ソフトウェア開発方法をさらに提供する。なお、前述したシステムの関連内容から分かるように、本願の実施例に提供されるシステムの機能は、具体的にモジュールロード、モジュール登録及びフローチャート構成という3つのことを含む。以下、2つの実施例によって上記3つのことをそれぞれ説明する。図10は本願の実施例に提供されるモジュールロード及びモジュール登録のフロー模式図である。図10に示すように、当該方法は以下のいくつかのステップを含む。
【0140】
ステップ1001:アプリケーションインターフェース層は、モジュール追加コントロールに対する第2操作に応答して、ユーザーがモジュール追加コントロールによって導入した第三者モジュールのモジュールデータを取得し、導入された第三者モジュールのモジュールデータをデータ処理層に送信する。
【0141】
ステップ1002:データ処理層は、導入された第三者モジュールのモジュールデータが参照ルールを満たすと判定した場合、導入された第三者モジュールのモジュールデータを記憶し、アプリケーションインターフェース層にモジュールロード成功メッセージを返信し、当該モジュールロード成功メッセージは第三者モジュールのロードが成功したことを指示する。
【0142】
ステップ1003:アプリケーションインターフェース層は、モジュール登録コントロールを表示し、アプリケーションインターフェース層は、ユーザーがモジュール登録コントロールによってM個のモジュールから選択したN個のモジュールに応答して、N個のモジュール表示コントロールを表示し、ここで、データ処理層には、M個のモジュールのモジュールデータが記憶され、MがN以上の正の整数である。
【0143】
図10に示す実施例に基づいてモジュールロード及びモジュール登録を完成した後、本願の実施例に提供されるシステムでフローチャートを構成することができ、視覚ソフトウェアの開発を実現する。図11は本願の実施例に提供されるフローチャートを構成する方法のフローチャートであり、図11に示すように、当該方法以下のいくつかのステップを含む。
【0144】
ステップ1101:アプリケーションインターフェース層は、N個のモジュール表示コントロール及びモジュール追加コントロールを表示し、N個のモジュール表示コントロールがそれぞれN個のモジュールに対応し、N個のモジュールのそれぞれのモジュールデータがデータ処理層に記憶され、モジュールデータは対応するモジュールの実行ロジックを含み、アプリケーションインターフェース層は、モジュール追加コントロールをさらに表示し、当該モジュール追加コントロールは、データ処理層に第三者モジュールのモジュールデータを導入することに用いられ、N個のモジュールは第三者モジュールを含み、Nが1以上の正の整数である。
【0145】
ステップ1102:アプリケーションインターフェース層は、N個のモジュール表示コントロールのうちの1つ又は複数のモジュール表示コントロールに対するユーザーの第1操作に応答して、フローチャートを表示し、当該フローチャートは、1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールの間の実行順序を指示する。
【0146】
ステップ1103:データ処理層は、アプリケーションインターフェース層に表示されたフローチャートに応答して、1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールのモジュールデータを呼び出して実行し、フローチャートのデータ処理結果を取得し、アプリケーションインターフェース層に当該データ処理結果を返信する。
【0147】
図10及び図11に提供される方法の上で、一つの可能な実施形態において、参照ルールは、第三者モジュールの入出力ポートの設計方式及び/又は第三者モジュールのモジュールデータのパッケージ方式を含み、ここて、第三者モジュールの入出力ポートの設計方式は、第三者モジュールの入力データ及び/又は出力データのフォーマットを含み、第三者モジュールのモジュールデータのパッケージ方式は、第三者モジュールのモジュールデータのデータ処理層における格納フォーマットを指示し、格納フォーマットは、ダイナミックリンクライブラリ、スタティックリンクライブラリ、実行可能なexeファイルのうちのいずれかを含む。
【0148】
一つの可能な実施形態において、当該方法は、アプリケーションインターフェース層は、モジュール追加コントロールに対する第3操作に応答して、モジュール構成ファイルを表示し、モジュール構成ファイルは参照ルールを指示することをさらに含む。
【0149】
一つの可能な実施形態において、当該方法は、アプリケーションインターフェース層は、N個のモジュール表示コントロールにおける第1モジュール表示コントロールに対するユーザーの第4操作に応答して、第1モジュール表示コントロールに対応する第1モジュールのモジュール構成インターフェースを表示し、モジュール構成インターフェースに複数のモジュール構成コントロールを含み、複数のモジュール構成コントロールのうちのいずれかのモジュール構成コントロールは、ユーザーに、第1モジュールの実行過程におけるパラメータを編集することを指示することに用いられることと、アプリケーションインターフェース層は、いずれかのモジュール構成コントロールに対する第5操作に応答して、ユーザーがいずれかのモジュール構成コントロールによって編集したパラメータを取得し、編集されたパラメータをデータ処理層に送信することと、データ処理層は、編集されたパラメータに基づいて第1モジュールのモジュールデータを更新することと、をさらに含み、フローチャートが第1モジュールを含む場合、データ処理層は、更新された第1モジュールのモジュールデータに基づいてフローチャートのデータ処理結果を更新し、更新されたデータ処理結果をアプリケーションインターフェース層に返信する。
【0150】
一つの可能な実施形態において、第1モジュールが第三者モジュールである場合、ユーザーがモジュール追加コントロールによって導入した第1モジュールのモジュールデータに、モジュール構成インターフェースファイルをさらに含み、モジュール構成インターフェースファイルは、第1モジュールのモジュール構成インターフェースのプログラムコードを指示し、アプリケーションインターフェース層に表示された第1モジュールのモジュール構成インターフェースは、第1モジュールのモジュールデータにおけるモジュール構成インターフェースファイルに従って表示される。
【0151】
一つの可能な実施形態において、当該方法は、データ処理層は、フローチャートに基づいて第1コードパッケージを生成し、第1コードパッケージは、フローチャートに含まれる各モジュールの実行ロジック及び含まれる各モジュールの間の実行順序を指示することと、データ処理層は、アプリケーションインターフェース層が第1コードパッケージに対応する第1コードコントロールを表示するように、アプリケーションインターフェース層を制御し、第1コードコントロールは、ユーザーに、第1コードパッケージをダウンロードすることを指示することに用いられ、第1コードパッケージは、第三者システムに導入することをサポートし、第三者システムで実行された後、フローチャートを表示することと、をさらに含む。
【0152】
一つの可能な実施形態において、当該方法は、アプリケーションインターフェース層は、実行インターフェース表示コントロールを表示し、実行インターフェース表示コントロールは、フローチャートに対する実行インターフェースを表示することを指示し、実行インターフェースは、フローチャートの実行情報を表示することに用いられ、フローチャートの実行情報は、フローチャートの実行過程における中間データを指示することと、アプリケーションインターフェース層は、実行インターフェース表示コントロールに対する第6操作に応答して、ユーザーが実行インターフェースに基づいてフローチャートの実行過程における中間データを見るように、実行インターフェースを表示することと、をさらに含む。
【0153】
一つの可能な実施形態において、当該方法は、アプリケーションインターフェース層は、実行インターフェース構成コントロールを表示し、実行インターフェース構成コントロールは、実行インターフェース構成インターフェースを表示することを指示し、実行インターフェース構成インターフェースは、実行インターフェースに表示されたコンテンツを構成することに用いられることと、アプリケーションインターフェース層は、実行インターフェース構成コントロールに対する第7操作に応答して、実行インターフェース構成インターフェースを表示し、実行インターフェース構成インターフェースは、複数の実行インターフェース構成サブコントロールを含み、複数の実行インターフェース構成サブコントロールのうちのいずれかの実行インターフェース構成サブコントロールは、起動オプションを有することと、アプリケーションインターフェース層は、複数の実行インターフェース構成サブコントロールにおける第1実行インターフェース構成サブコントロールの起動オプションに対する第8操作に応答して、コンテンツソースオプションを表示し、コンテンツソースオプションに対する第9操作に応答して、第1実行インターフェース構成サブコントロールとフローチャートにおける1つのモジュールをバインドすることと、をさらに含み、実行インターフェースに表示された実行情報は、第1実行インターフェース構成サブコントロールとバインドしたモジュールのデータを含む。
【0154】
一つの可能な実施形態において、当該方法は、データ処理層は、実行インターフェースのプログラムコードを第2コードパッケージとして導出することと、データ処理層は、アプリケーションインターフェース層が第2コードパッケージに対応する第2コードコントロールを表示するように、アプリケーションインターフェース層を制御し、第2コードコントロールは、ユーザーに、第2コードパッケージをダウンロードすることを指示することに用いられ、第2コードパッケージは、第三者システムに導入することをサポートし、第三者システムで実行された後、実行インターフェースを表示することと、をさらに含む。
【0155】
一つの可能な実施形態において、データ処理層は、データスケジューリング層と機能モジュール層とを含み、機能モジュール層にはN個のモジュールのモジュールデータが記憶されており、データ処理層は、アプリケーションインターフェース層に表示されたフローチャートに応答して、1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールのモジュールデータを呼び出して実行し、フローチャートのデータ処理結果を取得することは、データスケジューリング層は、フローチャートにおける1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールの間の実行順序に従って、機能モジュール層から1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールのモジュールデータを順次に呼び出して実行し、データ処理結果を取得することを含む。
【0156】
一つの可能な実施形態において、N個のモジュールはデータ処理層が検証して合法とするモジュールであり、検証して合法とするモジュールとはユーザーが利用権限を持っている対応するモジュールである。
【0157】
一つの可能な実施形態において、当該方法は、アプリケーションインターフェース層は、いずれかのモジュール表示コントロールに対する呼び出しコントロールを表示し、呼び出しコントロールは、ユーザーが第三者システムにいずれかのモジュール表示コントロールに対応するモジュールを呼び出すことを許可することを指示することと、アプリケーションインターフェース層は、呼び出しコントロールに対する第10操作に応答して、いずれかのモジュール表示コントロールに対応するモジュールのモジュールデータのポートリンクを表示することと、アプリケーションインターフェース層は、第三者システムから送信されたポートリンクに対するデータ呼び出し要求を検出した時に、ポートリンクに基づいてデータ処理層からいずれかのモジュール表示コントロールに対応するモジュールのモジュールデータを取得し、取得されたモジュールデータを第三者システムに送信することと、をさらに含む。
【0158】
上記提供される方法におけるいずれかのステップの実施形態は、いずれも前述したシステムに関連する説明を参考してよく、ここでは説明を繰り返さない。
【0159】
以上より、本願の実施例は、視覚ソフトウェア開発方法を提供する。当該方法を適用する視覚ソフトウェア開発システムにおけるアプリケーションインターフェース層は、モジュール追加コントロールを表示することに用いられ、当該モジュール追加コントロールは、データ処理層に第三者モジュールのモジュールデータを導入することに用いられる。このように、アプリケーションインターフェース層に表示されたN個のモジュール表示コントロールに対応するモジュールは、第三者モジュールを含んでよい。このため、本願の実施例において、ユーザーが、いつでも業務ニーズに応じて当該モジュール追加コントロールによって第三者モジュールを導入してから、第三者モジュールに基づいてアプリケーションインターフェース層によってユーザーが構成されたフローチャートを表示し、当該フローチャートはユーザーが構成された視覚ソフトウェアとなり、データ処理層によって当該フローチャートを実行し、これにより、視覚ソフトウェアの開発フローを完成する。
【0160】
これから分かるように、本願の実施例に提供される視覚ソフトウェア開発システムは、汎用的なオープン式視覚ソフトウェア開発システムであって、当該視覚ソフトウェア開発システムは、ユーザーが異なる業務ニーズに応じて異なる第三者モジュールを開発し、開発された第三者モジュールを本願の実施例に提供されるソフトウェア開発システムにマウントすることを許可する。これにより、後続に開発された視覚ソフトウェアが異なる業務の個性化ニーズにさらに適応できる。このように、異なるタイプの視覚ソフトウェアに対して異なる視覚ソフトウェア開発システムを構築する必要はなく、本願の実施例に提供される視覚ソフトウェア開発システムで、異なるタイプの視覚ソフトウェアを開発することができる。
【0161】
また、業務ニーズ又はユーザーニーズが変化しても、本願の実施例に提供される視覚ソフトウェア開発システムユーザーによって、新たな第三者モジュールを開発してから、開発された新たな第三者モジュールを本願の実施例に提供されるソフトウェア開発システムにマウントすることができる。それにより、後続に開発された視覚ソフトウェアがユーザーの最新のニーズに迅速に適応できる。
【0162】
図12は、本願の実施例に提供される視覚ソフトウェア開発装置の構成模式図であり、当該装置は、アプリケーションインターフェース層とデータ処理層とを含む視覚ソフトウェア開発システムに構築される。図12に示すように、当該視覚ソフトウェア開発装置1200は以下のいくつかのモジュールを含む。
【0163】
表示モジュール1201は、N個のモジュール表示コントロールを表示するように、アプリケーションインターフェース層を制御することに用いられ、N個のモジュール表示コントロールがそれぞれN個のモジュールに対応し、N個のモジュールのそれぞれのモジュールデータがデータ処理層に記憶され、モジュールデータは対応するモジュールの実行ロジックを含み、アプリケーションインターフェース層は、モジュール追加コントロールをさらに表示し、当該モジュール追加コントロールは、データ処理層に第三者モジュールのモジュールデータを導入することに用いられ、N個のモジュールは第三者モジュールを含み、Nが1以上の正の整数であり、表示モジュール1201は、N個のモジュール表示コントロールのうちの1つ又は複数のモジュール表示コントロールに対するユーザーの第1操作に応答して、フローチャートを表示するように、アプリケーションインターフェース層を制御することにさらに用いられ、フローチャートは1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールの間の実行順序を指示し、実行モジュール1202は、アプリケーションインターフェース層に表示されたフローチャートに応答して、1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールのモジュールデータを呼び出して実行し、フローチャートのデータ処理結果を取得し、アプリケーションインターフェース層にデータ処理結果を返信するように、データ処理層を制御することに用いられる。
【0164】
一つの可能な実施形態において、当該装置は、取得モジュールと判定モジュールとをさらに含み、取得モジュールは、モジュール追加コントロールに対する第2操作に応答して、ユーザーがモジュール追加コントロールによって導入した第三者モジュールのモジュールデータを取得し、導入された第三者モジュールのモジュールデータをデータ処理層に送信するように、アプリケーションインターフェース層を制御することに用いられ、判定モジュールは、導入された第三者モジュールのモジュールデータが参照ルールを満たすと判定した場合、導入された第三者モジュールのモジュールデータを記憶し、アプリケーションインターフェース層にモジュールロード成功メッセージを返信するように、データ処理層を制御することに用いられ、モジュールロード成功メッセージは第三者モジュールのロードが成功したことを指示する。
【0165】
一つの可能な実施形態において、参照ルールは、第三者モジュールの入出力ポートの設計方式及び/又は第三者モジュールのモジュールデータのパッケージ方式を含み、第三者モジュールの入出力ポートの設計方式は、第三者モジュールの入力データ及び/又は出力データのフォーマットを含み、第三者モジュールのモジュールデータのパッケージ方式は、第三者モジュールのモジュールデータのデータ処理層における格納フォーマットを指示し、格納フォーマットは、ダイナミックリンクライブラリ、スタティックリンクライブラリ、実行可能なexeファイルのうちのいずれかを含む。
【0166】
一つの可能な実施形態において、表示モジュールは、モジュール追加コントロールに対する第3操作に応答して、モジュール構成ファイルを表示するように、アプリケーションインターフェース層を制御することにさらに用いられ、モジュール構成ファイルは参照ルールを指示する。
【0167】
一つの可能な実施形態において、表示モジュールは、N個のモジュール表示コントロールにおける第1モジュール表示コントロールに対するユーザーの第4操作に応答して、第1モジュール表示コントロールに対応する第1モジュールのモジュール構成インターフェースを表示するように、アプリケーションインターフェース層を制御することにさらに用いられ、モジュール構成インターフェースに複数のモジュール構成コントロールを含み、複数のモジュール構成コントロールのうちのいずれかのモジュール構成コントロールは、ユーザーに、第1モジュールの実行過程におけるパラメータを編集することを指示することに用いられ、当該装置は、取得モジュールと更新モジュールとをさらに含み、取得モジュールは、いずれかのモジュール構成コントロールに対する第5操作に応答して、ユーザーがいずれかのモジュール構成コントロールによって編集したパラメータを取得し、編集されたパラメータをデータ処理層に送信するように、アプリケーションインターフェース層を制御することに用いられ、更新モジュールは、編集されたパラメータに基づいて第1モジュールのモジュールデータを更新するように、データ処理層を制御することに用いられ、フローチャートが第1モジュールを含む場合、データ処理層は、更新された第1モジュールのモジュールデータに基づいてフローチャートのデータ処理結果を更新し、更新されたデータ処理結果をアプリケーションインターフェース層に返信する。
【0168】
一つの可能な実施形態において、第1モジュールが第三者モジュールである場合、ユーザーがモジュール追加コントロールによって導入した第1モジュールのモジュールデータに、モジュール構成インターフェースファイルをさらに含み、モジュール構成インターフェースファイルは、第1モジュールのモジュール構成インターフェースのプログラムコードを指示し、アプリケーションインターフェース層に表示された第1モジュールのモジュール構成インターフェースは、第1モジュールのモジュールデータにおけるモジュール構成インターフェースファイルに従って表示される。
【0169】
一つの可能な実施形態において、当該装置は、生成モジュールをさらに含み、生成モジュールは、フローチャートに基づいて第1コードパッケージを生成するように、データ処理層を制御することに用いられ、第1コードパッケージは、フローチャートに含まれる各モジュールの実行ロジック及び含まれる各モジュールの間の実行順序を指示し、表示モジュールは、データ処理層を制御することにさらに用いられ、データ処理層は、第1コードパッケージに対応する第1コードコントロールを表示するように、アプリケーションインターフェース層を制御することにさらに用いられ、第1コードコントロールは、ユーザーに、第1コードパッケージをダウンロードすることを指示することに用いられ、第1コードパッケージは、第三者システムに導入することをサポートし、第三者システムで実行された後、フローチャートを表示する。
【0170】
一つの可能な実施形態において、表示モジュールは、実行インターフェース表示コントロールを表示するように、アプリケーションインターフェース層を制御することにさらに用いられ、実行インターフェース表示コントロールは、フローチャートに対する実行インターフェースを表示することを指示し、実行インターフェースは、フローチャートの実行情報を表示することに用いられ、フローチャートの実行情報は、フローチャートの実行過程における中間データを指示し、表示モジュールは、実行インターフェース表示コントロールに対する第6操作に応答して、ユーザーが実行インターフェースに基づいてフローチャートの実行過程における中間データを見るように実行インターフェースを表示するように、アプリケーションインターフェース層を制御することにさらに用いられる。
【0171】
一つの可能な実施形態において、表示モジュールは、実行インターフェース構成コントロールを表示するように、アプリケーションインターフェース層を制御することにさらに用いられ、実行インターフェース構成コントロールは、実行インターフェース構成インターフェースを表示することを指示し、実行インターフェース構成インターフェースは、実行インターフェースに表示されたコンテンツを構成することに用いられ、表示モジュールは、実行インターフェース構成コントロールに対する第7操作に応答して、実行インターフェース構成インターフェースを表示するように、アプリケーションインターフェース層を制御することにさらに用いられ、実行インターフェース構成インターフェースは、複数の実行インターフェース構成サブコントロールを含み、複数の実行インターフェース構成サブコントロールのうちのいずれかの実行インターフェース構成サブコントロールは、起動オプションを有し、表示モジュールは、複数の実行インターフェース構成サブコントロールにおける第1実行インターフェース構成サブコントロールの起動オプションに対する第8操作に応答して、コンテンツソースオプションを表示し、コンテンツソースオプションに対する第9操作に応答して、第1実行インターフェース構成サブコントロールとフローチャートにおける1つのモジュールをバインドするように、アプリケーションインターフェース層を制御することにさらに用いられ、実行インターフェースに表示された実行情報は、第1実行インターフェース構成サブコントロールとバインドしたモジュールのデータを含む。
【0172】
一つの可能な実施形態において、当該装置は導出モジュールをさらに含み、導出モジュールは、実行インターフェースのプログラムコードを第2コードパッケージとして導出するように、データ処理層を制御することに用いられ、表示モジュールは、データ処理層を制御することにさらに用いられ、データ処理層は、第2コードパッケージに対応する第2コードコントロールを表示するように、アプリケーションインターフェース層を制御することにさらに用いられ、第2コードコントロールは、ユーザーに、第2コードパッケージをダウンロードすることを指示することに用いられ、第2コードパッケージは、第三者システムに導入することをサポートし、第三者システムで実行された後、実行インターフェースを表示する。
【0173】
一つの可能な実施形態において、データ処理層は、データスケジューリング層と機能モジュール層とを含み、機能モジュール層にはN個のモジュールのモジュールデータが記憶されており、実行モジュールは、フローチャートにおける1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールの間の実行順序に従って、機能モジュール層から1つ又は複数のモジュール表示コントロールのそれぞれに対応するモジュールのモジュールデータを順次に呼び出して実行し、データ処理結果を取得するように、データスケジューリング層を制御することに用いられる。
【0174】
一つの可能な実施形態において、表示モジュールは、モジュール登録コントロールを表示するように、アプリケーションインターフェース層を制御することにさらに用いられ、アプリケーションインターフェース層は、ユーザーがモジュール登録コントロールによってM個のモジュールから選択したN個のモジュールに応答して、N個のモジュール表示コントロールを表示し、データ処理層には、M個のモジュールのモジュールデータが記憶され、MがN以上の正の整数である。
【0175】
一つの可能な実施形態において、N個のモジュールはデータ処理層が検証して合法とするモジュールであり、検証して合法とするモジュールとはユーザーが利用権限を持っている対応するモジュールである。
【0176】
一つの可能な実施形態において、表示モジュールは、いずれかのモジュール表示コントロールに対する呼び出しコントロールを表示するように、アプリケーションインターフェース層を制御することにさらに用いられ、呼び出しコントロールは、ユーザーが第三者システムにいずれかのモジュール表示コントロールに対応するモジュールを呼び出すことを許可することを指示し、表示モジュールは、呼び出しコントロールに対する第10操作に応答して、いずれかのモジュール表示コントロールに対応するモジュールのモジュールデータのポートリンクを表示するように、アプリケーションインターフェース層を制御することにさらに用いられ、当該装置は取得モジュールをさらに含み、取得モジュールは、第三者システムから送信されたポートリンクに対するデータ呼び出し要求を検出した時に、ポートリンクに基づいてデータ処理層からいずれかのモジュール表示コントロールに対応するモジュールのモジュールデータを取得し、取得されたモジュールデータを第三者システムに送信するように、アプリケーションインターフェース層を制御することに用いられる。
【0177】
以上より、本願の実施例は、視覚ソフトウェア開発装置を提供する。当該装置が構成される視覚ソフトウェア開発システムにおけるアプリケーションインターフェース層は、モジュール追加コントロールを表示することに用いられ、当該モジュール追加コントロールは、データ処理層に第三者モジュールのモジュールデータを導入することに用いられる。このように、アプリケーションインターフェース層に表示されたN個のモジュール表示コントロールに対応するモジュールは、第三者モジュールを含み得る。このため、本願の実施例において、ユーザーが、いつでも業務ニーズに応じて当該モジュール追加コントロールによって第三者モジュールを導入してから、第三者モジュールに基づいてアプリケーションインターフェース層によってユーザーが構成したフローチャートを表示し、当該フローチャートはユーザーが構成した視覚ソフトウェアとなり、データ処理層によって当該フローチャートを実行し、これにより、視覚ソフトウェアの開発フローを完成する。
【0178】
これから分かるように、本願の実施例に提供される視覚ソフトウェア開発システムは、汎用的なオープン式視覚ソフトウェア開発システムであって、当該視覚ソフトウェア開発システムは、ユーザーが異なる業務ニーズに応じて異なる第三者モジュールを開発し、開発された第三者モジュールを本願の実施例に提供されるソフトウェア開発システムにマウントすることを許可する。これにより、後続に開発された視覚ソフトウェアが異なる業務の個性化ニーズにさらに適応できる。このように、異なるタイプの視覚ソフトウェアに対して異なる視覚ソフトウェア開発システムを構築する必要はなく、本願の実施例に提供される視覚ソフトウェア開発システムで、異なるタイプの視覚ソフトウェアを開発することができる。
【0179】
また、業務ニーズ又はユーザーニーズが変化しても、本願の実施例に提供される視覚ソフトウェア開発システムユーザーによって、新たな第三者モジュールを開発してから、開発された新たな第三者モジュールを本願の実施例に提供されるソフトウェア開発システムにマウントすることができる。それにより、後続に開発された視覚ソフトウェアがユーザーの最新のニーズに迅速に適応できる。
【0180】
なお、上記実施例に提供される視覚ソフトウェア開発装置は、視覚ソフトウェアを開発する時に、上記各機能モジュールの区画のみで例示して説明したが、実用において、必要に応じて上記機能を異なる機能モジュールに分配して完成することができ、つまり、デバイスの内部構造を異なる機能モジュールに区画して、上記説明における全て又は一部の機能を完成する。なお、上記実施例に提供される視覚ソフトウェア開発装置及び視覚ソフトウェア開発方法の実施例は同じ技術思想に該当し、その具体的な実施する過程は方法の実施例に参照し、ここで繰り返し説明しない。
【0181】
当業者は、上記実施例を実現する全て又は一部のステップはハードウェアによって完成してよく、プログラムで関連するハードウェアを命令することによって完成してよく、前記のプログラムがコンピュータ可読記憶媒体に記憶されてよく、上記言及した記憶媒体は、読み出し専用メモリ、磁気ディスク又は光ディスク等であってよい。
【0182】
他の形態として、プロセッサと、プロセッサによって実行可能なコマンドを記憶するメモリとを含む装置であって、プロセッサが上記視覚ソフトウェア開発方法におけるいずれかのステップを実行するように構成される、視覚ソフトウェア開発装置を提供する。
【0183】
他の形態として、コマンドを記憶するコンピュータ可読記憶媒体であって、コマンドがプロセッサによって実行されると、上記視覚ソフトウェア開発方法におけるいずれかのステップを実行する、コンピュータ可読記憶媒体を提供する。
【0184】
他の形態として、コマンドを含むコンピュータプログラム製品であって、コンピュータで実行されると、コンピュータに上記視覚ソフトウェア開発方法におけるいずれかのステップを実行させる、コンピュータプログラム製品をさらに提供する。
【0185】
以上の記載は本願の実施例における好ましい実施例に過ぎず、本願の実施例を制限することを意図するものではない。本願の実施例の主旨及び原則内で行われる如何なる修正、均等の代替、改良等は何れも本願の保護範囲内に含まれるべきである。



図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
【国際調査報告】