JPH02171931A - Transferring of application software and virtual interface system - Google Patents

Transferring of application software and virtual interface system

Info

Publication number
JPH02171931A
JPH02171931A JP27953088A JP27953088A JPH02171931A JP H02171931 A JPH02171931 A JP H02171931A JP 27953088 A JP27953088 A JP 27953088A JP 27953088 A JP27953088 A JP 27953088A JP H02171931 A JPH02171931 A JP H02171931A
Authority
JP
Japan
Prior art keywords
application software
processes
code
target computer
management interface
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
JP27953088A
Other languages
Japanese (ja)
Inventor
Taratei Kiritokumaru
キリトクマル、タラテイ
Uirado Ratsukii Shii
シー、ウイラド、ラツキー
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.)
VI SYST Inc
Original Assignee
VI SYST Inc
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 VI SYST Inc filed Critical VI SYST Inc
Priority to JP27953088A priority Critical patent/JPH02171931A/en
Publication of JPH02171931A publication Critical patent/JPH02171931A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE: To obtain the transportability and the consistency of application programs across plural computer environments by including plural independent interface processes executed in the distributed processors of a target computer. CONSTITUTION: A virtual interface system is provided with a preprocessor 32 and a compiler 34 which generates an object code compatible with the operating system of the target computer. The system is provided also with a connecting/editing processor 35 which connects plural object code programs to generate a decomposed core image code EXEC CODE which can be executed by the operating system of the target computer, a blackboard switch logic 36, a division storage area 38, and plural independent processes 40a to 40n executed in the processor of the target computer. Thus, this system realizes the transportability and the consistency of application programs across plural computer environments.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、一般にコンピュータシステム、ことに通常「
ソース」コンピュータと互換性のあるアプリケーション
ソフトウェアを異質すなわち「ターケ゛ット」コンピュ
ータに移行させる仮想インタフェースアーキテクチャに
関する。
[Detailed Description of the Invention] [Industrial Application Field] The present invention generally relates to computer systems, and in particular to
The present invention relates to a virtual interface architecture that allows application software compatible with a "source" computer to be migrated to a foreign or "target" computer.

〔発明の背景〕[Background of the invention]

同質のハードウェアを持つコンピュータシステムは、ネ
ットワークにわたり対話しデータを共用することができ
る。たとえば「ローカルエリアネットワーク」は物理的
近接地に位置する2つ又はそれ以上のコン2ユータを接
続して使用者が共用データベースをアクセスすることが
できる。さらに又従来圧いに同じ種類のマシンの間でソ
フトウェアを交換することができている。これに反して
異質のマシン間の多くの対話はなおほとんどデータフア
イル又は類似物の単純な転送にすぎない。
Computer systems with homogeneous hardware can interact and share data across a network. For example, a "local area network" connects two or more computers located in close physical proximity to allow users to access a shared database. Furthermore, it has traditionally been possible to exchange software between machines of the same type. On the other hand, many interactions between disparate machines are still mostly simple transfers of data files or the like.

1種類のハードウェアに対し又は特定の1種類のオペレ
ーテイン環境に対し書込まれたソフトウェアアプリケー
ションはしかし、互いに異なる物理的特性を持つシステ
ムに全体の両書込みを行わないで移行させ又は「転送す
る」ことはできない。
Software applications written for one type of hardware or for one particular operating environment may, however, be migrated or ``transferred'' to systems with different physical characteristics without having to rewrite the entire system. "It is not possible.

従って互換性のないマシン間でデータを交換する技術を
開発するのに多大の進歩を生じているが、異質ノコンピ
ュータシステム間でソフトウェアを交換することは実施
されていない。
Thus, while much progress has been made in developing techniques for exchanging data between incompatible machines, exchanging software between dissimilar computer systems has not been implemented.

種種の互いに互換性のないハードウェア又はソフトウェ
ア或はこれ等の両方を持つ従来のコンピュータシステム
の多くの配列に伴う「互換性」の問題を除くのに多くの
解決案が提案されている。
Many solutions have been proposed to eliminate the "compatibility" problems associated with many arrangements of conventional computer systems having disparate types of mutually incompatible hardware and/or software.

1つの解決法では、マイクロコンピュータカラメインフ
レームまで連続したハードウェア製品に沿い単一のオペ
レーティングシステムを使う。この手段は個別の製造業
者の製品に対しては満足の得られる解決法になるが、こ
れでは互換性のないハードウェア及びオペレーティング
システムの環境を横切ってソフトウェアアプリケーショ
ンを転送することができない。別の解決法では、標準工
業用の広いプロトコルを使って分布した各システムを横
切って共通の通信環境を生成する。このようなプロトコ
ルに対する標準を生成するのに若干の努力が行われてい
るが、この解決案では複雑な技術的問題を伴う。
One solution uses a single operating system along a continuum of hardware products from microcomputers to mainframes. Although this approach provides a satisfactory solution for individual manufacturer's products, it does not allow software applications to be transferred across environments of incompatible hardware and operating systems. Another solution uses standard industry wide protocols to create a common communication environment across distributed systems. Although some efforts have been made to generate standards for such protocols, this solution involves complex technical problems.

従ってアプリケーションプログラムの移行性及び一貫性
が種種のコンピュータ環境を横切って得られるインタフ
ェースシステムが必要になる。
Therefore, there is a need for an interface system that provides portability and consistency of application programs across different computer environments.

〔発明の要約〕 本発明の目的は、通常「ソース」フンピユータと互換性
のあるアプリケーションソフトウェアを異質すなわち「
ターゲット」コンピュータに移行させるアーキテクチャ
を提供することにある。
SUMMARY OF THE INVENTION It is an object of the present invention to convert application software normally compatible with a "source" computer into a foreign or "
The goal is to provide an architecture for migration to a target computer.

なお本発明の目的は、異質のマシンにより、アプリケー
ションソフトウェアを処理環境から分離することによっ
て前記マシンのハードウェア及びソフトウェアの違いの
マスキングを行うことのできる「仮想の」インタフェー
スアーキテクチャを生成することにある。
It is an object of the present invention to create a "virtual" interface architecture that can mask differences in the hardware and software of a foreign machine by isolating the application software from the processing environment. .

本発明の他の目的は、若干の互いに異なるオフィスオー
トメイション、トランザクション処理及び非手続き言語
に基づくシステムアーキテクチャを横切るアプリケーシ
ョンプログラムの移行性及び一貫性を提供することにあ
る。
Another object of the present invention is to provide portability and consistency of application programs across several different office automation, transaction processing, and non-procedural language based system architectures.

さらに本発明の目的ハ、トランザクション処理システム
を使わないで別種のコンピュータシステムのハードウェ
ア及びオペレーティングシステムへの直接リンクとして
既存のアプリケーションプログラムを機能させることに
ある。
It is a further object of the present invention to enable existing application programs to function as a direct link to the hardware and operating system of a different type of computer system without the use of a transaction processing system.

本発明の池の目的は、手続きプロプログラミング言語(
たとえばrcJ、I C0BOL J又はr ADA 
J )で書込まれたプログラムの機能的相互接続又は手
続き7″ログラミング言で書込まれたプログラムと非手
続きグログラミング言語(たとえばrLIsPJ又fl
 r PROLOG J )で薔込まれたプログラムと
の相互接続を容易にする方法及び装置を提供することに
ある。
The purpose of the invention is to use a procedural professional programming language (
For example rcJ, I C0BOL J or r ADA
Functional interconnection or procedural interconnection of programs written in 7'' programming languages and non-procedural programming languages (e.g. rLIsPJ or fl
It is an object of the present invention to provide a method and apparatus for facilitating interconnection with programs embedded in RPROLOG J).

さらに本発明の目的は、マイクロコンピュータ又ニミニ
コンピュータでメインフレームコンピュータに又にその
逆に移行させるためのアプリケーションプログラムの開
発を行うことにある。副生物として本発明により修正又
はプログラミング変更ヲ行わないでマイクロコンピュー
タ又ハミニコ/ピユータで既存のメインフレームトラン
ザクション処理システムアプリケーションを実行するこ
とができる。
A further object of the present invention is to develop an application program for migrating a microcomputer or minicomputer to a mainframe computer and vice versa. As a by-product, the present invention allows existing mainframe transaction processing system applications to run on microcomputers or Hamonico/PCs without modification or programming changes.

なお本発明の他の目的は、既存のアゾリケーションを将
来生成される新規な一層進歩したハードウェア環境に移
すことのできる仮想インクフェース7ステムを提供する
ことにある。
It is still another object of the present invention to provide a virtual ink face 7 system that allows existing azolysis to be transferred to new and more advanced hardware environments created in the future.

本発明の好適とする実施例によれば、アプリケーション
ソフトウェアを異質すなわち「ターゲ°ノド」コンピュ
ータに移行する仮想インフッ二一スンステムは、データ
1ットコンピュータの1種類又は複数の分散プロセッサ
で実行する複数の独立のインターフェースプロセスを含
む。アプリケーションソフトウェアに必要な少なくとも
1つのタスクを実施するのに1種類又は複数のプロセス
”を使う。本システムは又、アプリケ・−ジョンソフト
ウェアのプログラムコードをターガツトコンピュータに
互換性のある目的コードに処理するプリプロセッサ及び
コン・ぞイラを備えている。好適とする実施例によれば
、アプリケーションソフトウェアのプログラムコードは
、その中の機能コールを識別し、プログラムコード内の
機能コールをターケ゛ノドコンピュータの本来の言語の
機能コールに翻訳して目的コードを生成することによシ
事前処理する。プリプロセッサはソースコンピュータ又
ハデーケ1ノドコンピュータに設ける。
In accordance with a preferred embodiment of the present invention, a virtual infrastructure system for migrating application software to a foreign or "target" computer includes multiple systems running on one or more distributed processors of the data computer. Contains an independent interface process. The system uses one or more processes to perform at least one task required by the application software. The system also transforms the application software's program code into target code compatible with the target computer. According to a preferred embodiment, the program code of the application software identifies function calls therein and converts the function calls in the program code to the target computer's native The preprocessor is provided in the source computer or the hardware computer to generate the target code.

事前処理したプログラムコードに対応する目的コードは
次いで仮想インタフェースシステムの制御コードに連結
してターケ゛ノドコンピュータの第4レーテイ/グシス
テムにより十分に実行できるコードを生ずるようにする
。システム制御コードに、区分記憶域を介して複数のプ
ロセスと通信する複数のいわゆるプロセス管理インタフ
ェースモジュールと、複数のプロセス管理インタフェー
スモジュールを制御する仮想管理インタフェースとを備
えている。
The object code corresponding to the preprocessed program code is then concatenated with the control code of the virtual interface system to produce code that is fully executable by the fourth rating system of the target computer. The system control code includes a plurality of so-called process management interface modules that communicate with the plurality of processes via partitioned storage and a virtual management interface that controls the plurality of process management interface modules.

仮想管理インタフェース及びプロセス管理インクフェー
スの各モノニールは、プリプロセスプログラムコードに
対応する目的コードとの連結に先だって目的コードに翻
訳する。
Each of the virtual management interface and process management interface monologues is translated into target code prior to concatenation with the target code corresponding to the preprocessing program code.

本発明の1特長によれば仮想インタフェースシステムは
さらに、区分記憶域を生じ区分記憶域を介シて複数のプ
ロセスをプロセス管理インタフェースモジュールに結合
するブラックボードスイッチロジックを備えている。各
プロセスへの又これ等のプロセスからの全部の通信に、
ブラックボードスイッチロジックを経て区分記憶域に又
その逆に進む。
According to one feature of the invention, the virtual interface system further includes blackboard switch logic for creating partitioned storage and coupling the plurality of processes to the process management interface module via the partitioned storage. For all communications to and from each process,
Go through blackboard switch logic to partitioned storage and vice versa.

実行時間モードで、実行できるコード(結合したプリプ
ロセスプログラムコード、仮想’fl 環インタフェー
ス及びプロセス管理インタフェースの各モジュール)ハ
、ターガツトコンピュータのオペレーティングシステム
を使って実行する。このオペレーションによって、プロ
セス管理インタフェースモジュールによりブラックボー
ドスイッチロジック及び区分記憶域を介して各プロセス
を制御することにより、これ等のプロセスによってアプ
リケーションソフトウェアに必要なタスクを実施するこ
とができる。
In runtime mode, the executable code (combined preprocessing program code, virtual 'fl environment interface, and process management interface modules) is executed using the target computer's operating system. This operation allows the process management interface module to control each process through the blackboard switch logic and partitioned storage so that these processes can perform the tasks required by the application software.

本発明の他の特長によればターガツトコンピュータは、
それぞれこのコンピュータ自体のブラックボードスイッ
チロジックにより生じ制御される複数の区分記憶域を備
えている。各区分記憶域は又これ自体の複数の独立のプ
ロセスを含む。このアーキテクチャでに1つの区分記憶
域と協働する20ロセスは、ブラックボードスイッチを
介して別の区分記憶域と協働するプロセスと通信する。
According to another feature of the invention, the target computer includes:
It includes a plurality of partitioned storage areas, each generated and controlled by the computer's own blackboard switch logic. Each partitioned storage also contains its own multiple independent processes. In this architecture, twenty processes working with one partitioned storage communicate with processes working with another partitioned storage via blackboard switches.

プロセス管理インタフェースモジュール間の径路指定デ
ータ及び制御情報と区分記憶域を介するプロセスとのほ
かに、各ブラックボードのスイッチロノックは、1つ又
は複数の記憶域へのアクセスを防ぎ又は制御するように
機密及び符号化/解号のアルゴリズムを含む。
In addition to routing data and control information between process management interface modules and processes through partitioned storage, each blackboard switch is configured to prevent or control access to one or more storage areas. Contains security and encoding/decoding algorithms.

〔実施例〕〔Example〕

実施例について図面を参照して説明すると各図面を通じ
て同様な部品は同様な参照数字で表わしである。第1図
は「ソース」コンぎユータ(10)、!:と異質すなわ
ち「ターケ゛ット」コンぎユータ(12)との簡略化し
たブロック図である。この説明で使う場合に「異質」と
は、ソースコンピュータに対し書込壕れたアプリケーシ
ョンプログラム(14a)がターガツトコンピュータ(
12)では実行できないことを示す。その理由はコンピ
ュータ(10)。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The embodiments will now be described with reference to the drawings, in which like reference numerals refer to like parts throughout the figures. Figure 1 shows the "source" computer user (10),! 1 is a simplified block diagram of a foreign or "target" computer (12). As used in this explanation, "foreign" means that the application program (14a) written to the source computer is
12) indicates that it cannot be executed. The reason is computers (10).

(12)がハードウェア又はソフトウェア或はその両方
のレベルで互換性がないからである。たとえばソースコ
ンピュータ(10〕のアプリケーションプログラム(1
4a)Hr CJ  「C0BOL j又は「λDAJ
で書込まれた1組の手続き基準プログラムから成ってい
るが、ターガツトコンピュータ(12)ノ7プリケーシ
ョンプログラム(14b) fl r LISP jで
書込まれた1組の知識ベースプログラムから成っている
。或はソースコンピュータ(10)はIBMのClC5
(顧客情報制御システム)のようなトランザクション処
理システムを備えているが、クーケ°ツトコンピュータ
(12)は尋問者用システム又は類似物を実行するため
の非−IBMハードウェアを備えている。これ等の両方
の場合にアプリケーションプログラム(14a)又はア
プリケーションプログラム(14b) [それぞれ互換
性のないコンピュータ(12) 又はコンピュータ(1
0)に転送又は「移行」を行うことができない。
This is because (12) is incompatible at the hardware and/or software level. For example, the application program (10) on the source computer (10)
4a) Hr CJ “C0BOL j or “λDAJ
It consists of a set of procedural standard programs written in LISP, and a set of knowledge base programs written in LISP j. There is. Alternatively, the source computer (10) is IBM's ClC5
(Customer Information Control System), but the coupon computer (12) is equipped with non-IBM hardware for running an interrogator system or the like. In both of these cases the application program (14a) or the application program (14b) [respectively an incompatible computer (12) or a computer (1
0) cannot be transferred or “migrated”.

各コンぎユータ(10)*(12)は、データを受けて
操作し出力を生ずることのできる1つ又は複数の集積し
た又は分散したプロセッサ(16a)〜(16n)と、
全コンピュータシステムのオペレーションを制御スるオ
ペレーティングシステムソフトウェア(18)と、デー
タ及びアプリケーションプログラムを記憶するメモリ(
たとえばディスクドライブ及び適当な磁気ディスク装置
)(20)と、使用者がシステムと対話することのでき
る入出力デバイス(たとえばキーボード、プリンタ、ブ
ラウン管等)(22)と、データのアクセス及びデータ
の記憶を制御するデータベース管理システム(24)と
、たとえばネットワーク(29)を介しコンピュータシ
ステムへの又このシステムからの通信を制御する通信シ
ステム(26)と、ツヤ−ナルからのデータを記憶し検
索するツヤ−ナルシステム(28)とを備えている。こ
のような各素子はもちろん当業界には普通のものである
。後述のように本発明の仮想インタフェースアーキテク
チャは、アプリケーション760グラム(14a)(通
常ソースコンピュータ(10)に対し互換性を持つ〕を
このようなプログラムに対し修正又はプログラミング変
更を行わないでターゲットコンピュータ(12)に又そ
の逆に移行させることができる。この説明で使う場合に
「仮想」とは「透過性」のものが使用者に存在しないよ
うに見えるが実際上存在し又「仮想」のものが使用者に
存在するように見えるが存在しないという意味で「透過
性」の反対である。
Each computer (10)*(12) includes one or more integrated or distributed processors (16a)-(16n) capable of receiving and manipulating data and producing output;
Operating system software (18), which controls the operation of the entire computer system, and memory (18), which stores data and application programs.
(20) and input/output devices (e.g., keyboards, printers, cathode ray tubes, etc.) (22) that allow users to interact with the system, and that provide data access and data storage. a database management system (24) for controlling, a communication system (26) for controlling communications to and from the computer system, for example via a network (29), and a glossary for storing and retrieving data from the glossary. It is equipped with a null system (28). Such elements are of course common in the art. As discussed below, the virtual interface architecture of the present invention allows an application 760 program (14a) (typically compatible with a source computer (10)) to be transferred to a target computer (14a) without modification or programming changes to such programs. 12) and vice versa. "Virtual" as used in this explanation refers to "transparent" things that do not appear to the user to exist, but actually exist and are "virtual". It is the opposite of "transparency" in the sense that it appears to the user that it exists, but it does not.

本発明の目的は第2図へ簡略化したブロック図に示すよ
うに新規な仮想インタフェースシステム(30)により
達成される。前記したように仮想インタフェースシステ
ム(30)により、応用テログラム(14a)がターゲ
ットコンピュータシステム(12)のプロセッサ(16
) 、オペレーティングシステム(is ) 、記憶装
置(20〕、入出力デバイス(22)、データアクセス
システム(24) 、通信システム(26)又はジャー
ナルシステム(28)に対し互換性があるかどうかに関
係なくアプリケーションプログラム(14a)を実行す
ることができる。従って本発明により、異質コンピュー
タシステムのハードウェア、オペレーティングシステム
、言語、データベース管理システム及びネットワーク特
性に対シアプリケーションプログラムの完全な独立性が
得られる。このようにして仮想インタフェースシステム
により、ソース及びターゲットの各コンピュータの物理
的及び機能的特性の違いのマスキングを行うことにより
ソフトウェアアプリケーションに環境に対し独立性を持
たせることができる。
The objects of the invention are achieved by a novel virtual interface system (30) as shown in the simplified block diagram of FIG. As mentioned above, the virtual interface system (30) allows the applied telogram (14a) to be connected to the processor (16) of the target computer system (12).
), operating system (is), storage device (20), input/output device (22), data access system (24), communication system (26) or journal system (28), regardless of whether it is compatible with The invention thus provides complete independence of the application program from the hardware, operating system, language, database management system and network characteristics of a foreign computer system. The virtual interface system thus provides environment independence for software applications by masking differences in the physical and functional characteristics of source and target computers.

仮想インターフェースシステム(3011若干の機能素
子すなわち、プリプロセッサ(32)と、ターケ゛ット
コンピュータ(12)のオペレーティングシステムに対
し互換性を持つ(しかしこのシステムによっては実行で
きない)目的コードを生ずるコンノにイラ(34)と、
種種の目的コードプログラムを連結してターゲットコン
ピュータ(12)のオペレーティングシステムにより実
行できる完全に分解されたコアイメージコード(■EC
CODg )を生成する連結/編集プロセッサ(35)
と、ブラックボードスイッチロソツク(36)と、区分
記憶域(38)と、データ9ットコンピュータ(12)
の1つ又は複数のプロセッサ(16)で実行する複数の
独立プロセス(40a)〜(40n)とを備えている。
The virtual interface system (3011) has some functional elements, namely the preprocessor (32) and a controller that produces object code that is compatible with (but cannot be executed by) the operating system of the target computer (12) (34). and,
Completely disassembled core image code (EC
Concatenation/editing processor (35) that generates CODg)
, blackboard switch socket (36), partitioned storage area (38), and data computer (12)
and a plurality of independent processes (40a) to (40n) running on one or more processors (16).

各プロセス(40)は、1つ又は複数の他のプロセスと
協働してアプリケーションプログラムに必要な1つ又は
複数の「タスク」を実施する独立して計画できる計算単
位を備えている。従って各タスクは1つ又は複数の独立
プロセスから成っている。
Each process (40) comprises an independently schedulable unit of computation that cooperates with one or more other processes to perform one or more "tasks" required by the application program. Each task therefore consists of one or more independent processes.

本発明によればブラックボードスイッチレソソク(36
)はターゲットコンピュータ(12)のオペレーティン
グシステム(18)により制御され、区分記憶域(38
)すなわち「ブラックボード」全生成する。後述のよう
にブラックボードスイッチロノック(36)に各プロセ
ス(40a)〜(40n)への又これ等からの全部の通
信の導通路である。このような通信はすべて同じ径路す
なわち、ブラックボードスイッチロノック(36)を経
て区分記憶区域[)38)に、又は区分記憶区域からブ
ラックボードスイッチロジックを通る径路に追従する。
According to the present invention, the blackboard switch control (36
) is controlled by the operating system (18) of the target computer (12) and has partitioned storage (38).
) In other words, the entire "black board" is generated. As will be described later, the blackboard switch Ronock (36) is a conduit for all communications to and from each process (40a) to (40n). All such communications follow the same path, either through the blackboard switch lock (36) to the partitioned storage area [38) or from the partitioned storage area through the blackboard switch logic.

ブラックボードスイッチロジック(36)及び区分記憶
域(38)を通るデータ及び情報の径路指定は、連結/
編集プロセッサ(35)からの実行できるコード(EX
ECC0DE )出力により制御する。後述のようにこ
の実行できるコード*、(alアプリケーションfcr
グラムの事前処理したプログラムコードと、fblいわ
ゆる仮想管理インタフェース(VMI )(42)と、
fcl’eのプロセス管理インク7エースモノユール(
44a)〜(44n)とを表わす連結された目的コード
プログラムから成っている。VMI (42)と複数の
グロセス管理インターフェースモジュール(44)とを
表わす目的コードはコンパイラ(34)により生成する
Routing data and information through blackboard switch logic (36) and partitioned storage (38)
Executable code (EX
Controlled by ECC0DE) output. This executable code *, (al application fcr
gram preprocessed program code and the fbl so-called virtual management interface (VMI) (42);
fcl'e process management ink 7 ace monour (
44a) to (44n). Object code representing the VMI (42) and a plurality of gross management interface modules (44) is generated by a compiler (34).

本発明によればプロセス管理インタフェースモジュール
(44)は、ブラックボードスイッチロジック(36)
及び区分記憶域(38〕を介して各プロセス〔40〕を
制御する。各プロセス及び実行可能コードは、ターケ゛
ットコンピュータ(12)で実行することができるがソ
ースコンピュータ(10)では実行できない。後述のよ
うにブラックボードスイッチロジック(3B)H又、区
分記憶域からのデータアクセス又は検索を防ぎ又は制限
する機密兼暗号化/解号ルーチンと、ブラックボードに
利用可能記憶を保持するデータ圧縮ルーチンと、ブラッ
クボード間通信を制御するルーチンとを含む。
According to the invention, the process management interface module (44) includes blackboard switch logic (36).
and partitioned storage (38). Each process and executable code can be executed on the target computer (12) but not on the source computer (10). Blackboard Switch Logic (3B)H also includes a secure encryption/decryption routine that prevents or restricts data access or retrieval from the partitioned storage, and a data compression routine that maintains storage available on the blackboard; routines for controlling inter-blackboard communications.

次に第2図の仮想インタフェースシステム(30)の作
用を第3図の流れ図について述べる。一般に仮想インタ
フェースシステムにより、ハードウェア環境に関係なく
アプリケーションプログラムを実行することができる。
Next, the operation of the virtual interface system (30) shown in FIG. 2 will be described with reference to the flowchart shown in FIG. Virtual interface systems generally allow application programs to be executed regardless of the hardware environment.

このことは、もとのアプリケーションプログラムのコー
ドをハードウェアオペレーティングシステムに又このシ
ステムから連結することにより、ハードウェアからアプ
リケーションプログラム及びオペレーティングシステム
の機能コール(たとえばADA 、 C、ClC5、C
0BOLLISP、 PROLOG等で書込まれft、
 )のマスキングを行うことによってできる。このマス
キングは、プリプロセッサ(32〕によシ実施され、使
用者/プログラマ及びハードウェアの両方に、これ等が
互いに異なる2種類の言語で通信していてもそれぞれ見
ようとするものを与える。
This allows the application program and operating system function calls (e.g. ADA, C, ClC5, C
ft written with 0BOLLISP, PROLOG, etc.
) can be done by masking. This masking is performed by the preprocessor (32) and gives both the user/programmer and the hardware what they each want to see, even though they are communicating in two different languages.

とくにアプリケーションプログラム(14a) t7)
ソースコードはステップ(46)で仮想インタフェース
システム(30)のプリプロセッサ(32)に加える。
Especially application programs (14a) t7)
The source code is applied to the preprocessor (32) of the virtual interface system (30) in step (46).

プリプロセッサ(32)は、プログラムコードにおける
機能コール(すなわちタスク)を識別し、ステップ(4
8)でこれ等の機能コールをターゲットコンピュータ〔
すなわちコンパイラ(34))の本来の言語の機能コー
ルに変換する。たとえばアプリケーションプログラム(
14a)がClC8アプリケ−7ヨンであり、ターケ゛
ットコンピュータがC言語ベースのとのであれば、プリ
プロセッサ(32)はソースコードのClC5機能コー
ル″f、c言!コールにデータ配列する作用をする。次
いでプリプロセッサ(32)の出力をコンI?イラ(3
4) Uステップ(50)で、Cコードをデータ0ット
コンピュータ(12)のオペレーティングシステム(1
8)に対し互換性を持つがこのシステムによって十分に
は実行できない目的コードに翻訳する。第3図には詳し
く示してないがプリプロセッサ(32) fd 又ハー
ドウェアオペレーティングシステム機能コールをもとの
アプリケーションプログラムにマスキングを行う。ステ
ップ(46)〜(50)は、オペレーション「開発」モ
ードを表わしソースコンピュータ又はターゲットコンピ
ュータのいずれでも任意のときに実施できる。
The preprocessor (32) identifies function calls (i.e. tasks) in the program code and performs step (4)
8) to make these function calls on the target computer [
That is, it is converted into a function call of the original language of the compiler (34). For example, an application program (
If 14a) is a ClC8 application and the target computer is based on the C language, the preprocessor (32) serves to arrange data into the ClC5 function call "f, c word!" call in the source code. The output of the preprocessor (32) is converted into a controller (3).
4) In the U step (50), write the C code to the operating system (1) of the computer (12).
8) into target code that is compatible but cannot be fully executed by this system. Although not shown in detail in FIG. 3, the preprocessor (32) fd also masks hardware operating system function calls to the original application program. Steps (46)-(50) represent a "development" mode of operation and can be performed at any time on either the source or target computer.

ステップ(51)では事前処理プログラムコード(32
)に対応する目的コードは■I(42)及びプロセス管
理インタフェースモジュール(46)の(前もって生成
しである)目的コードに連結する。
In step (51), the preprocessing program code (32
) is connected to the (previously generated) object code of the ■I (42) and the process management interface module (46).

この連結はよく知られている普通の方法で連結/編集プ
ロセッサ(35)により実施する。得られる臆CC0D
B Try 、、アプリケーションプログラムに必要な
タスクを実施するように仮想管理インタフェース(42
)(従ってプロセス管理インタフェースモジュール)に
対する複数のコールを含む。ステップ(52)ではオペ
レーションの「実行時間」モードを初期設定する。この
ようにしてステラ7’ (54)でブランクボードスイ
ッチロジック(36) K ! II)ターケ゛ットコ
ンピュータ(12)のメモリに区分記憶(38)を生成
する。ブランクボードスイッチロジック(36)は又ス
テップ(56)でプロセス(4o)を初期設定しこれ等
のプロセスを区分記憶域(38)1で対し「タスク生成
」する。この説明で使う場合にプロセスの「タスク生成
」とハ、各プロセス(40) K対し区分記憶域(38
)の指示された個別の部分の割当てのことである。この
ような各プロセスへの又これからの通信は従って、ステ
ップ(56)でブランクボードスイッチロジック(36
)により指定された区分記憶域(38)の個別部分にア
トし・ス指定しなければならない。このようにしてブラ
ンクボードスイッチロジック(36)ハ、区分記憶域(
38)への又これからのデータアクセスのためにいわゆ
る「予約スポット」通信を使う。
This concatenation is performed by a concatenation/edit processor (35) in a well known and conventional manner. Obtainable CC0D
B Try, virtual management interface (42) to perform the tasks required by the application program.
) (and thus the process management interface module). In step (52), the "execution time" mode of the operation is initialized. In this way, the blank board switch logic (36) with Stella 7' (54) K! II) Creating a partitioned memory (38) in the memory of the target computer (12). The blank board switch logic (36) also initializes the processes (4o) in step (56) and "creates tasks" for these processes in the partitioned storage (38)1. When used in this explanation, the term ``task generation'' for a process refers to the partitioned storage area (38) for each process (40).
) is the allocation of designated individual parts of Communication to and from each such process is therefore performed in step (56) by blank board switch logic (36).
) must be specified for the separate parts of the partitioned storage area (38). In this way, the blank board switch logic (36) is connected to the partitioned storage area (36).
38) uses so-called "reservation spot" communication for data access to and in the future.

ステップ(58)ではターゲットコンピュータ(12)
の使用者は実行のためにソケットウェアアプリケーショ
ンを呼出す。通常ターゲットコンピュータ(12)に対
し互換性のないこのアプリケーションは前記したように
、事前処理し、翻訳し■■及びインタフェースモジュー
ルと連結して実行可能コードを生成する。ステップ(6
0)でeニブラックボー−トス・fツチロジック(36
) [区分記憶域(38)に使用者を割当てる。次いで
テスI−(61)を実行し使用が許可されるかどうかを
定める。このテストではブランクボードスイッチロジッ
ク(36)の機密ルーチンを使う。使用を許可されると
処理が開始する。とくに実行可能コード〔従って仮想管
理インタフェース(42) )はステップ(62)でタ
ーゲットコンピュータ(12)のオペレーティングシス
テム(18) Kより実行され、アプリケーションソフ
トウェアタスクの必要に応じ1つ又は複数のプロセス管
理インタフェースモジュール(44a)〜(44n)を
呼出す。各プロセス管理インタフェースモジュールはこ
の場合ブランクボードスイッチロジック(36)及びブ
ラックボード(38)を介して1つ又は複数のプロセス
(40a)〜(40n)と曲信してタスクを行う。
In step (58), the target computer (12)
The user calls the socketware application for execution. This application, which is typically incompatible with the target computer (12), is preprocessed, translated, and concatenated with the interface modules to generate executable code, as described above. Step (6
0) with e Ni Black Votos/F Tsuchi Logic (36
) [Assign user to partitioned storage area (38). Next, test I-(61) is executed to determine whether or not use is permitted. This test uses a secret routine in the blank board switch logic (36). Once permission is granted, processing begins. In particular, the executable code (and thus the virtual management interface (42)) is executed in step (62) by the operating system (18) K of the target computer (12) and is configured to run one or more process management interfaces as required by the application software task. Call modules (44a) to (44n). Each process management interface module then communicates with one or more processes (40a)-(40n) to perform tasks via blank board switch logic (36) and blackboard (38).

従ってインタフェース(3o)a、複数のマシン独立「
インタフェース」プロセス(40)leってプログラム
「タスク」を行うのに「仮想」アーキテクチャ」を使う
のは明らかである。各プロセス(40)は複数のプロセ
ス管理インタフェースモジュールに対しスイッチロノッ
ク生成区分記憶域を介してインタフェースとなる。プロ
セス管理インタフェースモジュール(44)は、タスク
自体ヲ行わないで、実際にタスクを行うこれ等のプロセ
スに対しインタフェースとなるように作用するだけであ
る。ブランクボードスイッチロジック及びブラックボー
ドを介するプロセス管理インタフェースモジュール(4
4)からのプロセス(40)のこの分離によって、シス
テム(30)は種種のコンピュータ環境を横切ってアプ
リケーションプログラムの移行性及び一貫性を生じ本発
明の目的を達成することができる。
Therefore, interface (3o)a, multiple machines independent "
It is clear that the "interface" process (40) le uses a "virtual" architecture to perform the program "tasks". Each process (40) interfaces to a plurality of process management interface modules via switchronock-generated partitioned storage. The process management interface module (44) does not perform the tasks itself, but merely acts as an interface to those processes that actually perform the tasks. Process management interface module (4) via blank board switch logic and black board
This separation of process (40) from 4) allows system (30) to achieve the objectives of the present invention by providing portability and consistency of application programs across different computer environments.

実行可Heコード及びインタフェースプロセス(40)
にターゲットコンぎユータ(12)の環境1て合わせる
ことが必要なだけである。さらにプロセス自体はターケ
゛ットコンピュータ(12)の1つ又は複数の分散プロ
セッサ(16a)〜(16n)に位置させて、並列処理
法及び故障許容処理の使用を容易にする。
Executable He code and interface process (40)
It is only necessary to match the environment 1 of the target computer user (12). Furthermore, the processes themselves are located on one or more distributed processors (16a)-(16n) of the target computer (12) to facilitate the use of parallel processing techniques and fault-tolerant processing.

第4因Kn仮想イ/タフエースシステムの別の実施例を
示しである。この実施例ではターゲットコンピュータ(
12)iLそれぞれ前記したようにして対応するブラン
クボードスイッチロジック(70a)〜(70n) K
より生成し制御する2つ又にそれ以上の区分記憶域(6
8a )〜(68n)を備えている。
Another embodiment of the fourth factor Kn virtual interface/taface system is shown. In this example, the target computer (
12) Blank board switch logic (70a) to (70n) K corresponding to iL as described above.
Two or more partitioned storage areas (6
8a) to (68n).

このアーキテクチャでは各ブラックボード(68)はこ
れ自体のプロセスセット(72)、(73)ヲ持つ。各
セット内のプロセスの同一性に1つのブラックボードと
次のブラックボードとで異なる。
In this architecture each blackboard (68) has its own set of processes (72), (73). The identity of processes within each set differs from one blackboard to the next.

すなわち若干の特定のプロセスはターゲットコンピュー
タの遠隔の場所でネットワーク(66)によるスイッチ
日ノツク間通信を介して実施される。
That is, some specific processes are performed at a remote location of the target computer via inter-switch communication via the network (66).

本発明の別の特長によればデータ及び制御の情報はブラ
ンクボードスイッチロジックを介して区分記憶域間を通
る。このような通信は、各ブラックボードに協働するブ
ランクボードスイッチロジック(36)内にあるブラッ
クボード対ブラックボードの通信ルーチンにより制御す
る。この動作は第5図に例示しである。
According to another feature of the invention, data and control information is passed between partitioned storage areas via blank board switch logic. Such communications are controlled by blackboard-to-blackboard communication routines within the blankboard switch logic (36) associated with each blackboard. This operation is illustrated in FIG.

とくにプロセス(73d)が第4図のブラックボードス
イッチロノック(70n)と協働しデータベース(74
)からのデータアクセスを制御するものとする。たとえ
ばプロセス(72c)がデータベース(74)からのデ
ータを必要とする場合に、次の各ステップを実施する。
In particular, the process (73d) cooperates with the blackboard switch Ronoch (70n) shown in Figure 4, and the database (74)
) shall control data access from For example, if the process (72c) requires data from the database (74), the following steps are performed.

ステップ(76)ではプロセス(72c)はグラツクボ
ードスイツナロジック(70a)にメツセージを差向け
る。スイッチミソツク(70a) /liこの場合その
ブラックボード対ブラックボード通信ルーチンを経てこ
のメツセージをネットワーク(66)に送る。ステップ
(78)ではブラックボードスイッチrjノック(70
n)iruメツセージを受けこのメツセージをプロセス
(73d)と協働するブラックボード(68n)の特定
の場所に送る。メツセージの通知を受けると、プロセス
(73d) flこの場合ステツfc80)で実施され
データベース(74)からのデータを検索する。次いで
所要のデータ全ステップ(82)でメツセージに付加し
、プロセス(73d)によりブラックボードスイッチミ
ソツク(70n)に送り戻す。ステップ(84)ではブ
ラックボードスイッチロノック(70n)はそのブラッ
クボード通信ルー−17を使いネットワーク(66)に
よりメツセージをブラックボードスイッチaソック(7
0a) K 送)) 戻す。
In step (76), the process (72c) forwards the message to the graphic board software logic (70a). The switch (70a) /li then sends this message to the network (66) via its blackboard-to-blackboard communication routine. In step (78), blackboard switch rj knock (70
n) Receive the iru message and send this message to a specific location on the blackboard (68n) that cooperates with the process (73d). Upon receipt of the message, a process (73d) (in this case step fc80) is carried out to retrieve data from the database (74). The required data is then appended to the message in all steps (82) and sent back to the blackboard switch socket (70n) by a process (73d). In step (84), the blackboard switch Ronoc (70n) uses its blackboard communication route-17 to send the message to the blackboard switch a sock (70n) via the network (66).
0a) K forward)) Return.

ステノア’(86)ではブラックボードスイッチロノッ
ク(70a)は、も−とのプロセス(72c)と協働す
る場所でメツセージをブラックボード(68a)に入れ
る。ステップ(88)でメツセージはブラックボード(
68a)からのプロセス(72c)Kより検索する。
In the stenoa' (86), the blackboard switch ronock (70a) puts the message into the blackboard (68a) at a location that cooperates with the original process (72c). In step (88) the message is written on the blackboard (
Search from process (72c) K from 68a).

又第2図に示すように複数のインタフェースプロセス(
40)は少なくとも次のものを備えるのがよい。すなわ
ち 1つ又は複数のデータベースインタフェースfoセス(
DBI )k介しf−タベース管理システム(24)へ
の又このシステムからのデータアク−t=スヲ管理する
データアクセスインタフェースプロセス(DAI ) 
(40a)と、データベース管理システム(24)から
のデータを記憶゛し検査すルテータヘースインタフェー
ス二tロセスCDBI )(40b)と、 データ”ットコンピュータシステムの入出力テバイス(
22)のデータ表示を制御する表示インタフェースプロ
セス(PI) (40c)と、クーテ“ツ)コンピュー
タシステムのツヤ−ナルシステム(2B)からのデータ
を記憶して検査スルツヤ−ナルインタフェースプロセス
(JI)(40(1)と、 タスクを横切るデータの管理及び記憶を制御するタスク
記憶インタフェース70ロセス(TSI)(tloe)
と、 各タスク間のデータ及びデータの管理内のデー・夕管理
を制御する記憶インタフェースプロセス(SI)(40
f)と タスクの開始、遅延、未決状態又は修了に制御するタス
ク制御インタフェースプロセス(TCI)CllOg)
とである。
Also, as shown in Figure 2, multiple interface processes (
40) should include at least the following: i.e. one or more database interfaces (
DBI) A data access interface process (DAI) that manages data access to and from the database management system (24) through the database management system (24).
(40a); a converter interface (40b) for storing and examining data from the database management system (24); and input/output devices (40b) for the data base computer system.
22), a display interface process (PI) (40c) that controls the data display; 40(1) and the Task Storage Interface 70 Process (TSI) (tloe) that controls the management and storage of data across tasks.
and a storage interface process (SI) (40) that controls data between each task and data management within the data management.
f) and a task control interface process (TCI) that controls the initiation, delay, pending, or completion of tasks.
That is.

前記の各プロセスは例示したものであるが限定するわけ
ではない。データアクセスインクフェースプロセス(D
AI)は、全部のデータの記号(すなわちシステム)場
所を知り1つ又は複数のインタフェースプロセスを使い
このようなデータを物理的にアクセスする。さらに記憶
及びタスク制御インタフェースプロセスを除いて、各プ
ロセス(40)は前記したようにして対応するプロセス
管理インタフェースモジュール(44)と協働スる。た
とえばデータアクセスインタフェースプロセス(DAZ
 )(40a)は1、仮想管理インクフェース(VMI
 ) (42)により制(財)されるデータアクセスプ
ロセス管理インタフェース(DAMI)モソユール(4
4a)により制御する。同様に表示インタフニースフ0
ロセス(PI ) (40c)はPMIモソユ−ル(4
0c )と協働し以下同様である。
The processes described above are illustrative, but not limiting. Data access interface process (D
The AI) knows the symbolic (i.e. system) location of all data and physically accesses such data using one or more interface processes. Further, with the exception of the storage and task control interface processes, each process (40) cooperates with a corresponding process management interface module (44) in the manner described above. For example, the data access interface process (DAZ
) (40a) is 1, Virtual Management Interface (VMI)
) Data Access Process Management Interface (DAMI) controlled by (42)
4a). Similar display interface 0
Rocess (PI) (40c) is PMI Mosoyur (4
0c), and so on.

記憶インタフェースプロセス(4Of)及びタスク制御
インクフェースプロセス(40g)及びタスク制御イン
タフェースプロセス(40g)は、ブラックボードでな
くて直接メツセージ交換を介し仮想管理インタフェース
(42)により制御されこれと通信する。この構成によ
り仮想情理インタフェース(42)によ・りて SI及
びTCIの各フ0ロセスの直接のすなわち「動作中心の
」制御を示すことができる。
The storage interface process (4Of) and the task control ink interface process (40g) and the task control interface process (40g) are controlled by and communicate with the virtual management interface (42) through direct message exchange rather than a blackboard. This configuration allows the virtual information interface (42) to provide direct or "action-centric" control of the SI and TCI processes.

好適とする実施例では次の「送信」及び、「受信」のメ
ツセージオーマットを使って、データ又は制御情報或は
これ等の両方を転送する(各タスク間とプロセス管理イ
ンタフェースモジュール及びプロセス間と分散した各ブ
ラックボード間とで)。
The preferred embodiment uses the following "send" and "receive" message formats to transfer data and/or control information (between each task and between process management interface modules and processes). between each distributed blackboard).

送信(データ、長さ、指令、bbid、  iid )
受信(データ、長さ、指令、bbidXiid )この
場合 データー情報 長さ =データの長さ 指令 =必要な動作又は「サブクラス」bbid  =
ブラックボードの識別 iid  =プロセス識別又は「クラス」(ブラックボ
ードアドレス) 以上本発明をその実施例について詳細に説明したが本発
明はなお種種の変化変型を行うことができるのはもちろ
んである。
Send (data, length, command, bbid, iid)
Receive (data, length, command, bbidXiid) where data-information length = data length command = desired action or "subclass" bbid =
Blackboard identification iid = process identification or "class" (blackboard address) Although the present invention has been described in detail with respect to its embodiments, it is obvious that the present invention is susceptible to various modifications.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図はソースコンピュータ及び異質すなわち「データ
1ット」コンピュータのブロック図、第2図は第1図の
ソースコンピュータ及びターゲットコンピュータを横切
ってアプリケーションプログラムの移行性及び一貫性を
与える本発明仮想インタフェースシステムの1実施例の
ブロック図、第3図は第2図の仮想インタフェースシス
テムの基本の動作ステツfを示す流れ図である。第4図
はターゲットコンピュータに複数の区分記憶域を持つ分
散ブラックボードアーキテクチャを設けた本発明の別の
実施例による仮想インタフェースシステムのブロック図
、第5図は第4図の仮想インタフェースシステムがター
ゲットコンピュータの遠隔データベースからのデータを
検索する動作を示す流れ図である。 10・・・ソースコンピュータ、12・・・ターゲット
コンピュータ、14a、 14b・・・アプリケーショ
ンプログラム、16a〜16n・・・分散プロセッサ、
18・・・オペレーティングシステム、30・・・仮想
インタフェースシステム、詞・・・コンパイラ、35・
・・m結1m集−j’ロセツサ、36・・・ブラックボ
ードスイッチロジック、40a〜40n・・・独立プロ
セス、38・・・区分記憶域、40・・・プロセス、4
2・・・仮想管理インタフェース、44a〜44n・・
・プロセス管理インタフェース手続補正書(旗) 特 許 庁 工) 官 殿 事件の表示 昭和63年特訂願第279530号 発明の名称 アプリケーションソフトウェアを移行させる方法及び仮
想インタフェースシステム 3、補正をする者 事件との関係
FIG. 1 is a block diagram of a source computer and a foreign or "database"computer; FIG. 2 is a virtual interface of the present invention that provides portability and consistency of application programs across the source and target computers of FIG. FIG. 3, a block diagram of one embodiment of the system, is a flowchart showing the basic operating steps f of the virtual interface system of FIG. FIG. 4 is a block diagram of a virtual interface system according to another embodiment of the present invention in which a target computer is provided with a distributed blackboard architecture with multiple partitioned storage areas, and FIG. 5 is a block diagram of a virtual interface system in which the virtual interface system of FIG. 2 is a flow diagram illustrating operations for retrieving data from a remote database of a computer. DESCRIPTION OF SYMBOLS 10... Source computer, 12... Target computer, 14a, 14b... Application program, 16a-16n... Distributed processor,
18...Operating system, 30...Virtual interface system,...Compiler, 35.
...m collection 1m collection-j' processor, 36...blackboard switch logic, 40a-40n...independent process, 38...partitioned storage area, 40...process, 4
2... Virtual management interface, 44a to 44n...
・Process Management Interface Procedure Amendment (Flag) Patent Office Engineering) Indication of Government Cases Special Revision Application No. 279530 of 1988 Name of Invention Method of Migration of Application Software and Virtual Interface System 3, Amendment to Person Case relationship

Claims (1)

【特許請求の範囲】 1、通常ソースコンピュータに対し互換性のあるアプリ
ケーションソフトウェアを1つ又は複数の分散プロセッ
サ及びオペレーティングシステムを持つ異質のターゲッ
トコンピュータに移行させる仮想インタフェースシステ
ムにおいて、 アプリケーションソフトウェアに必要な少なくとも1つ
のタスクを行う1つ又は複数のプロセスを含み、ターゲ
ットコンピュータの1つ又は複数の分散プロセッサで実
行する複数の独立のプロセスと、 これ等の複数のプロセスを区分記憶域を介して制御する
制御手段を持ち前記ターゲットコンピュータのオペレー
ティングシステムにより実行できる実行可能コードに前
記アプリケーションソフトウェアのプログラムコードを
処理する処理手段と、前記の複数のプロセスを前記制御
手段に対し区分記憶域を介してインタフェースとするス
イッチ手段と、 前記ターゲットコンピュータで前記実行可能コードを実
行して前記制御手段により前記各プロセスを前記のスイ
ッチ手段及び区分記憶域を介して制御することにより前
記各プロセスによつて前記アプリケーションソフトウェ
アに必要なタスクを行うことができるようにした実行手
段と を包含する仮想インタフェースシステム。 2、アプリケーションソフトウェアのプログラムコード
を処理する処理手段を、 制御手段を目的コードに翻訳する翻訳する翻訳手段と、 プログラムコード内の機能コールを識別する識別手段と
、 プログラムコード内の機能コールをターゲットコンピュ
ータに固有の言語の機能コールに変換する変換手段と、 前記ターゲットコンピュータに固有の言語の機能コール
を翻訳し目的コードを生成する翻訳手段と、 前記の制御手段の目的コード及びプログラムコードを連
結して実行可能コードを生成する連結手段と により構成した請求項1記載の、アプリケーションソフ
トウェアを移行させる仮想インタフェースシステム。 3、実行可能コードの制御手段を、 プロセスに対しインタフェースとなる複数のプロセス管
理インタフェースモジュールと、 これ等のプロセス管理インタフェースモジュールを制御
する仮想管理インタフェースと により構成した請求項1記載の、アプリケーションソフ
トウェアを移行させる仮想インタフェースシステム。 4、実行可能コードにさらにアプリケーションソフトウ
ェアの処理したプログラムコードを設けた請求項3記載
の、アプリケーションソフトウェアを移行させる仮想イ
ンタフェースシステム。 5、スイッチ手段を、 区分記憶域を生成する生成手段と、 前記区分記憶域内の独得のアドレスに各プロセスを割当
てる割当て手段と、 前記区分記憶域に使用者及びタスクのタスク生成を行う
タスク生成手段と、 前記区分記憶域からのデータアクセス及びデータ検索を
制御する手段と により構成した請求項1記載の、アプリケーションソフ
トウェアを移行させる仮想インタフェースシステム。 6、通常ソースコンピュータに対し互換性のあるアプリ
ケーションソフトウェアを1つ又は複数の分散プロセッ
サ及びオペレーティングシステムを持つ異質のターゲッ
トコンピュータに移行させる仮想インタフェースシステ
ムにおいて、 アプリケーションソフトウェアに必要な少なくとも1つ
のタスクを行う1つ又は複数のプロセスを含み、ターゲ
ットコンピュータの1つ又は複数の分散プロセッサで実
行する第1及び第2の組の独立のプロセスと、 これ等の複数のプロセスに通信する複数のプロセス管理
インタフェースモジュールを持ち前記ターゲットコンピ
ュータのオペレーティングシステムにより実行できるコ
ードに前記アプリケーションソフトウェアのプログラム
コードを処理する処理手段と、 前記ターゲットコンピュータに第1及び第2の各区分記
憶域を生成し1組のプロセスを複数のプロセス管理イン
タフェースモジュールに対しインタフェースとする第1
及び第2のブラックボードスイッチ手段と、 前記ターゲットコンピュータで前記実行可能コードを実
行して前記プロセス管理インタフェースモジュールによ
り前記各プロセスを前記の第1及び第2のブラックボー
ドスイッチ手段と第1及び第2の区分記憶区域を介して
制御することにより前記各プロセスによつて前記アプリ
ケーションソフトウェアに必要なタスクを行うことがで
きるようにした実行手段と を包含する仮想インタフェスシステム。 7、実行可能コードに又、プロセス管理インタフェース
モジュールを制御する仮想管理インタフェースを設けた
請求項6記載の、アプリケーションソフトウェアを移行
させる仮想インタフェースシステム。 8、アプリケーションソフトウェアのプログラムコード
を処理する処理手段を、 仮想管理インタフェース及びプロセス管理インタフェー
スモジュールを目的コードに翻訳する翻訳手段と、 プログラムコード内の機能コールを識別する識別手段と
、 プログラムコード内の機能コールをターゲットコンピュ
ータに固有の言語の機能コールに変換する変換手段と、 ターゲットコンピュータに固有の言語の機能コールを翻
訳してプログラムコードに対応する目的コードを生成す
る翻訳手段と、 仮想管理インタフェースの目的コード、プロセス管理イ
ンタフェースモジュール及びプログラムコードを連結し
て実行可能コードを生成する連結手段と により構成した請求項7記載の、アプリケーションソフ
トウェアを移行させる仮想インタフェースシステム。 9、各ブラックボードスイッチ手段を、 組の各プロセスを協働する区分記憶区域の独得のアドレ
スに割当てる割当て手段と、 使用者及びタスクを区分記憶区域に対しタスク生成する
タスク生成手段と、 協働する区分記憶区域からのデータアクセス及びデータ
検索を制御する制御手段と により構成した請求項6記載のアプリケーションソフト
ウェアを移行させる仮想インタフェースシステム。 10、各ブラックボードスイッチ手段にさらに、第1及
び第2のブラックボードスイッチ手段の間のメッセージ
交換を制御する手段を設けた請求項9記載の、アプリケ
ーションソフトウェアを移行させる請求項9記載の、ア
プリケーションソフトウェアを移行させる仮想インタフ
ェースシステム。 11、通常ソースコンピュータに対し互換性のあるアプ
リケーションソフトウェアを1つ又は複数の分散プロセ
ッサ及びオペレーティングシステムを持つ異質のターゲ
ットコンピュータに移行させる方法において、 アプリケーションソフトウェアに必要な少なくとも1つ
のタスクを行う1つ又は複数のプロセスを含み、ターゲ
ットコンピュータの1つ又は複数の分散プロセッサで実
行する複数の独立のプロセスを生成し、 これ等の複数のプロセスに通信する複数のプロセス管理
インタフェースモジュールを持ち前記ターゲットコンピ
ュータのオペレーティングシステムにより実行できる実
行可能コードに前記アプリケーションソフトウェアのプ
ログラムっードを処理し、 前記の複数のプロセスを前記の複数のプロセス管理イン
タフェースモジュールに対しインタフェースとするよう
に前記ターゲットコンピュータ内に区分記憶域を生成し
、 前記ターゲットコンピュータで実行可能コードを実行し
前記プロセス管理インタフェースモジュールにより前記
各プロセスを制御することによつてこれ等のプロセスに
より前記アプリケーションソフトウェアに必要なタスク
を行うことができるようにする ことから成る、アプリケーションソフトウェアを移行さ
せる方法。 12、アプリケーションソフトウェアのプログラムコー
ドを処理するに当たり、 プロセス管理インタフェースモジュールを目的コードに
翻訳し、 プログラムコード内の機能コールをターゲットコンピュ
ータに固有の言語の機能コールに変換し、前記のターゲ
ットコンピュータに固有の言語の前記機能コールを翻訳
して前記プログラムコードに対応する目的コードを生成
し、前記のプロセス管理インタフェースモジュールの目
的コード及びプログラムコードを連結して実行可能コー
ドを生成するようにする、請求項11記載の、アプリケ
ーションソフトウェアを移行させる方法。
[Claims] 1. In a virtual interface system for migrating application software that is typically compatible with a source computer to a foreign target computer having one or more distributed processors and operating systems, at least A plurality of independent processes, including one or more processes that perform a single task, running on one or more distributed processors of a target computer, and a control that controls these processes through partitioned storage. processing means having means for processing program code of the application software into executable code executable by an operating system of the target computer; and a switch for interfacing the plurality of processes to the control means via a partitioned storage. means for executing the executable code on the target computer to cause the control means to control each of the processes via the switch means and partitioned storage so that the processes require the application software. a virtual interface system comprising an execution means capable of performing tasks; 2. A processing means for processing a program code of application software, a translation means for translating a control means into an objective code, an identification means for identifying a function call in the program code, and a means for translating a function call in the program code into a target computer. a conversion means for converting into function calls in a language specific to the target computer; a translation means for translating function calls in a language specific to the target computer to generate an object code; and a method for connecting the object code and program code of the control means. 2. A virtual interface system for migrating application software according to claim 1, further comprising a linking means for generating executable code. 3. The application software according to claim 1, wherein the executable code control means is constituted by a plurality of process management interface modules that serve as interfaces to processes, and a virtual management interface that controls these process management interface modules. Virtual interface system to be migrated. 4. A virtual interface system for migrating application software according to claim 3, wherein the executable code further includes program code processed by the application software. 5. The switch means includes: generation means for generating a partitioned storage area; allocation means for allocating each process to a unique address in the partitioned storage area; and task generation means for generating tasks for users and tasks in the partitioned storage area. A virtual interface system for migrating application software according to claim 1, comprising: a means for controlling data access and data retrieval from said partitioned storage area. 6. Performing at least one task required by the application software in a virtual interface system that typically migrates application software compatible with a source computer to a foreign target computer having one or more distributed processors and operating systems. a first and a second set of independent processes including one or more processes and executing on one or more distributed processors of the target computer; and a plurality of process management interface modules in communication with the plurality of processes. processing means for processing the program code of the application software into code executable by an operating system of the target computer; The first interface to the management interface module.
and a second blackboard switch means; executing the executable code on the target computer to cause the process management interface module to cause each of the processes to be connected to the first and second blackboard switch means and the first and second blackboard switch means. execution means for enabling each of said processes to perform tasks necessary for said application software by controlling said processes through a partitioned storage area of said application software. 7. A virtual interface system for migrating application software according to claim 6, wherein the executable code is also provided with a virtual management interface for controlling a process management interface module. 8. A processing means for processing a program code of application software, a translation means for translating a virtual management interface and a process management interface module into a target code, an identification means for identifying a function call in the program code, and a function call in the program code. a translation means for translating the calls into function calls in a language specific to the target computer; a translation means for translating the function calls in the language specific to the target computer to generate object code corresponding to the program code; and a purpose of the virtual management interface. 8. A virtual interface system for migrating application software according to claim 7, comprising a linking means for linking the code, the process management interface module, and the program code to generate an executable code. 9. Assignment means for assigning each blackboard switch means to a unique address of the cooperating partitioned storage area for each process of the set; and task generation means for generating a user and a task for the partitioned storage area; 7. A virtual interface system for migrating application software as claimed in claim 6, further comprising control means for controlling data access and data retrieval from a partitioned storage area. 10. The application according to claim 9, wherein each blackboard switch means further comprises means for controlling message exchange between the first and second blackboard switch means. A virtual interface system for migrating software. 11. In a method of migrating application software that is typically compatible with a source computer to a foreign target computer having one or more distributed processors and operating systems, one or more computers that perform at least one task required of the application software. an operating system of the target computer, including a plurality of processes, generating a plurality of independent processes executing on one or more distributed processors of the target computer, and having a plurality of process management interface modules communicating with the plurality of processes; processing said application software program code into executable code executable by a system; and providing partitioned storage within said target computer to interface said plurality of processes to said plurality of process management interface modules. generating and executing executable code on the target computer and controlling each of the processes with the process management interface module so that these processes can perform tasks required by the application software. A method for migrating application software, consisting of: 12. In processing the program code of the application software, the process management interface module is translated into the target code, the function calls in the program code are converted into function calls in the language specific to the target computer, and the function calls in the language specific to the target computer are translated. 12. Translating the function calls in a language to generate object code corresponding to the program code, and concatenating the object code and program code of the process management interface module to generate executable code. How to migrate application software as described.
JP27953088A 1988-11-07 1988-11-07 Transferring of application software and virtual interface system Pending JPH02171931A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27953088A JPH02171931A (en) 1988-11-07 1988-11-07 Transferring of application software and virtual interface system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27953088A JPH02171931A (en) 1988-11-07 1988-11-07 Transferring of application software and virtual interface system

Publications (1)

Publication Number Publication Date
JPH02171931A true JPH02171931A (en) 1990-07-03

Family

ID=17612295

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27953088A Pending JPH02171931A (en) 1988-11-07 1988-11-07 Transferring of application software and virtual interface system

Country Status (1)

Country Link
JP (1) JPH02171931A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6078945A (en) * 1995-06-21 2000-06-20 Tao Group Limited Operating system for use with computer networks incorporating two or more data processors linked together for parallel processing and incorporating improved dynamic load-sharing techniques

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6078945A (en) * 1995-06-21 2000-06-20 Tao Group Limited Operating system for use with computer networks incorporating two or more data processors linked together for parallel processing and incorporating improved dynamic load-sharing techniques

Similar Documents

Publication Publication Date Title
US6006277A (en) Virtual software machine for enabling CICS application software to run on UNIX based computer systems
US5067072A (en) Virtual software machine which preprocesses application program to isolate execution dependencies and uses target computer processes to implement the execution dependencies
US4961133A (en) Method for providing a virtual execution environment on a target computer using a virtual software machine
JP2724256B2 (en) Computer system
US4782442A (en) Time-sharing computer system operable in a host TSS mode and a terminal TSS mode
KR100289826B1 (en) Job execution system and method between different operating systems
US5339434A (en) Heterogeneous data translation system
US5390314A (en) Method and apparatus for developing scripts that access mainframe resources that can be executed on various computer systems having different interface languages without modification
US5778228A (en) Method and system for transferring remote procedure calls and responses over a network
US5265250A (en) Apparatus and methods for performing an application-defined operation on data as part of a system-defined operation on the data
US4916608A (en) Provision of virtual storage resources to an operating system control program
US6192418B1 (en) System and method for performing external procedure calls from a client program to a server program while both are operating in a heterogenous computer
JP3884487B2 (en) Method and data exchange logic for making necessary data available from a predetermined peripheral device of a computer device to an external application package
Cerf et al. An Experimental Service for Adaptable Data Reconfiguration
JP2666847B2 (en) Heterogeneous language communication method
JPH04657A (en) Controller of flow of interaction for transaction processor
JP2002518732A (en) Type implementation method with parameters compatible with existing library without parameters
JP2001524709A (en) System and method for reducing coupling between modules in a communication environment
JPH11119986A (en) Communication link information generator, three-hierarchy client/server system and record medium recorded with communication link information generation program
KR900006008B1 (en) Information processing system having smart memories
Grimshaw Mentat: An object-oriented macro data flow system
Evans et al. Zones, contracts and absorbing changes: An approach to software evolution
EP0315493A2 (en) Virtual interface system and method for enabling software applications to be environment-independent
Bell et al. The evolution of the DECsystem 10
Lopez POLO problem oriented language organizer