JP7303389B2 - オートメーションシステムの制御プログラムのプログラム状態のデータ移行の過程でのポインタ要素のデータ移行の方法 - Google Patents
オートメーションシステムの制御プログラムのプログラム状態のデータ移行の過程でのポインタ要素のデータ移行の方法 Download PDFInfo
- Publication number
- JP7303389B2 JP7303389B2 JP2022535842A JP2022535842A JP7303389B2 JP 7303389 B2 JP7303389 B2 JP 7303389B2 JP 2022535842 A JP2022535842 A JP 2022535842A JP 2022535842 A JP2022535842 A JP 2022535842A JP 7303389 B2 JP7303389 B2 JP 7303389B2
- Authority
- JP
- Japan
- Prior art keywords
- pointer
- data
- address
- relative
- memory
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
- G06F8/433—Dependency analysis; Data or control flow analysis
- G06F8/434—Pointers; Aliasing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Description
本願は、ドイツ特許出願DE 10 2019 134 353.4の優先権を主張し、その開示内容は、参照により本明細書に組み込まれる。
方法は、
第1ポインタ識別ステップにおいて、第1ポインタ要素と第2ポインタ要素とを、第1リレーションを介して互いに関連付けられたポインタ要素として識別するステップと、
ポインタ移行ステップにおいて、第1ポインタ要素を第2ポインタ要素にマッピングするステップと、を含み、
ポインタ移行ステップは、
第1オブジェクト識別ステップにおいて、第1ポインタ要素によって参照される第1ポインタオブジェクトを識別するステップと、
第2オブジェクト識別ステップにおいて、第1ポインタオブジェクトに関連付けられたオブジェクトを第2ポインタオブジェクトとして識別するステップと、
第1アドレス決定ステップにおいて、第2ポインタオブジェクトの絶対メモリアドレスを決定するステップと、
第1ポインタ記憶ステップにおいて、第2ポインタオブジェクトの決定した絶対メモリアドレスを第2ポインタ要素の値として第2ポインタ要素に書き込むステップと、を含む。
ポインタ移行ステップにおいて、第1ポインタ要素を第2ポインタ要素にマッピングするために、第1ポインタ要素によって参照される第1ポインタオブジェクトは、第1オブジェクト識別ステップにおいて識別される。第2オブジェクト識別ステップにおいて、第1ポインタオブジェクトに関連付けられたオブジェクトは、第2ポインタオブジェクトとして識別される。第2ポインタオブジェクトは、第2ポインタ要素によって参照されてもよいデータオブジェクトである。第1ポインタオブジェクトと第2ポインタオブジェクトとの間の関連は、第1制御プログラム内の第1ポインタオブジェクトと第2制御プログラム内の第2ポインタオブジェクトが同一の機能または役割を実行することを意味する。第1ポインタオブジェクトと第2ポインタオブジェクトとの最も簡単な関連は、第1制御プログラム内の第1ポインタオブジェクトと第2制御プログラム内の第2ポインタオブジェクトが同一である場合である。このようなケースでは、上記の方法に従って、移行後の各制御プログラムにおいて、第1ポインタオブジェクトと第2ポインタオブジェクトとが同一のオブジェクトを参照することが保証される。一般に、第1ポインタオブジェクトと第2ポインタオブジェクトが互いに相対している場合、すなわち、第1ポインタオブジェクトの情報内容が、対応するデータ移行の間に第2ポインタオブジェクトに転送されてもよい場合、第1ポインタオブジェクトは、第2ポインタオブジェクトに関連付けられる。
第1ポインタアドレス決定ステップにおいて、第1データサブ要素の第1相対メモリアドレスを決定するステップであって、第1相対メモリアドレスによって第1データ要素の第1メモリロケーションに相対する第1データ要素のメモリ領域内の第1データサブ要素のメモリアドレスが記述される、ステップと
第2ポインタアドレス決定ステップにおいて、第2データサブ要素の第2相対メモリアドレスを決定するステップであって、第2相対メモリアドレスによって、第2データ要素の第1メモリロケーションに相対する第2データ要素のメモリ領域内の第2データサブ要素のメモリアドレスが記述されるステップと、
第1アドレス決定ステップにおいて、第2データサブ要素の第2相対メモリアドレスと、第2データ要素の第1メモリロケーションとに基づいて、第2データサブ要素の第2絶対メモリアドレスを決定するステップと、を含む。
第3ポインタアドレス決定ステップにおいて、第1ポインタ要素の第1相対ポインタアドレスを決定するステップであって、第1データサブ要素の第1相対メモリアドレスに相対する第1データ要素のメモリ領域内の第1ポインタ要素によって参照されるメモリロケーションは、第1ポインタ要素の第1相対ポインタアドレスによって、記述される、ステップと、
第4ポインタアドレス決定ステップにおいて、第1相対ポインタアドレスに基づいて、第2ポインタ要素の第2相対ポインタアドレスを決定するステップであって、第2データ要素のメモリ領域内のメモリロケーションは、第2ポインタ要素の第2相対ポインタアドレスによって、第2データサブ要素の第2相対メモリアドレスに相対して決定され、第2データサブ要素に関連する第2相対ポインタアドレスは、第1データサブ要素に関連する第1相対ポインタアドレスに対応すステップと、
第1アドレス決定ステップにおいて、第2相対ポインタアドレスと、第2データサブ要素の第2相対メモリアドレスと、第2メモリ領域における第2データ要素の第1メモリロケーションとに基づいて、第2データサブ要素の絶対メモリアドレスを決定するステップと、を含む。
第1データサブ要素と第2データサブ要素とがそれぞれ複合タイプであり、第1データサブ要素が少なくとも第1コンポーネントを含み、第2データサブ要素が少なくとも第2コンポーネントを含み、第1コンポーネントと第2コンポーネントが第3リレーションを介して関連付けられており、第1コンポーネントが第1ポインタ要素によって参照されている場合において、
第1相対コンポーネントアドレス決定ステップにおいて、第1相対ポインタアドレスに基づいて、第1コンポーネントの第1相対コンポーネントアドレスを決定するステップであって、第1コンポーネントの第1データ要素のメモリ領域内のメモリアドレスは、第1相対コンポーネントによって、第1データサブ要素の第1相対メモリアドレスに相対して記述されるステップと、
第2コンポーネントアドレス決定ステップにおいて、第1相対コンポーネントアドレスに基づいて、第2データサブ要素の第2コンポーネントの第2相対コンポーネントアドレスを決定するステップであって、第2相対コンポーネントアドレスは、第2データサブ要素の第2相対メモリアドレスに相対する、第2コンポーネントの第2データ要素のメモリ領域内のメモリアドレスを記述するステップと、
第1アドレス決定ステップにおいて、第2相対コンポーネントアドレスと、第2データサブ要素の第2相対メモリアドレスと、第2メモリ領域内の第2データ要素の第1メモリロケーションに基づいて、第2データサブ要素の第2コンポーネントの絶対メモリアドレスを決定するステップと、を含む。
第1データサブ要素と第2データサブ要素とは、各々同一の次元を有するフィールドタイプであり、第1データサブ要素は、複数の第1要素を含み、第2データサブ要素が複数の第2要素を含み、少なくとも第1要素と第2要素とが第4リレーションを介して関連付けられており、第1ポインタ要素は、第1要素を参照する場合において、
第1要素アドレス決定ステップにおいて、第1ポインタ要素によって参照される第1要素の第1相対要素アドレスを決定するステップであって、第1相対要素アドレスは、第1データサブ要素の第1相対メモリアドレスに相対する、第1ポインタ要素によって参照される第1要素の第1データ要素のメモリ領域内のメモリアドレスを記述する、ステップと、
第2要素アドレス決定ステップにおいて、第1相対要素アドレスに基づいて、第4リレーションを介して第1ポインタ要素によって参照される第1要素に関連付けられた第2要素の第2相対要素アドレスを決定するステップであって、第2相対要素アドレスは、第2データサブ要素の第2相対メモリアドレスに相対する、第2データ要素のメモリ領域内の第2要素のメモリアドレスを記述する、ステップと、
第1アドレス決定ステップにおいて、第2相対要素アドレスと、第2データサブ要素の第2相対メモリアドレスと、第2データ要素のメモリ領域内の第2データ要素の第1メモリロケーションとに基づいて、第2データサブ要素の第2要素の絶対メモリアドレスを決定する、ステップと、を含む。
要素サイズ決定ステップにおいて、第1データサブ要素の第1要素の第1要素サイズを決定するステップであって、第1要素の第1要素サイズは、第1要素によって占有される第1メモリ領域内のメモリ領域に対応する、ステップと、
第1相対ポインタアドレスと第1要素サイズに基づいて、第1ポインタ要素によって参照される第1要素を決定する、ステップと、を含む。
第5ポインタアドレス決定ステップにおいて、第1相対ポインタアドレスと第1相対コンポーネントアドレスに基づいて、第1相対ポインタ部分アドレスを決定するステップであって、第1相対ポインタ部分アドレスによって、第1ポインタ要素によって参照される第1データ要素のメモリ領域内のメモリロケーションは、第1データサブ要素の第1コンポーネントの第1相対コンポーネントアドレスに相対して記述される、ステップと、
第6ポインタアドレス決定ステップにおいて、第1相対ポインタ部分アドレスと、第2相対ポインタアドレスと、第2相対コンポーネントアドレスとに基づいて、第2相対ポインタ部分アドレスを決定するステップであって、第2相対コンポーネントアドレスに相対する、第2データ要素のメモリ領域内のメモリロケーションは、第2相対ポインタ部分アドレスによって決定され、第2データ要素に関連する第2相対ポインタ部分アドレスは、第1データ要素に関連する第1相対ポインタ部分アドレスに対応する、ステップと、
第1アドレス決定ステップにおいて、第2相対ポインタ部分アドレスと、第2相対コンポーネントアドレスと、第2データサブ要素の第2相対メモリアドレスと、第2メモリ領域における第2データ要素の第1メモリロケーションとに基づいて、第2データサブ要素の第2コンポーネントの絶対メモリアドレスを決定する、ステップと、を含む。
第7相対ポインタアドレス決定ステップにおいて、第1相対ポインタアドレスと第1相対要素アドレスに基づいて、第3相対ポインタ部分アドレスを決定するステップであって、第3相対ポインタ部分アドレスによって、第1ポインタ要素によって参照される第1データ要素のメモリ領域内のメモリロケーションは、第1データサブ要素の第1要素の第1相対要素アドレスに相対して記述される、ステップと、
第8ポインタアドレス決定ステップにおいて、第3相対ポインタ部分アドレスと、第2相対ポインタアドレスと、第2相対要素アドレスとに基づいて、第4相対ポインタ部分アドレスを決定するステップであって、第2データ要素のメモリ領域内のメモリロケーションは、第4相対ポインタ部分アドレスによって第2相対要素アドレスに相対して決定され、第2データサブ要素に関連する第4相対ポインタ部分アドレスは、第1データサブ要素に関連する第3相対ポインタ部分アドレスに対応する、ステップと、
第1アドレス決定ステップにおいて、第4相対ポインタ部分アドレスと、第2相対要素アドレスと、第2データサブ要素の第2相対メモリアドレスと、第2メモリ領域における第2データ要素の第1メモリロケーションとに基づいて、第2データサブ要素の第2要素の絶対メモリアドレスを決定する、ステップと、含む。
第1検出ステップにおいて、第1ポインタ要素によって参照される第1メモリアドレスがデータサブ要素の第1メモリアドレスであることを検出するステップ、
第2検出ステップにおいて、第1ポインタ要素によって参照される第1メモリアドレスがデータサブ要素の第1コンポーネントの第1メモリアドレスであることを検出するステップ、
第1検出ステップにおいて、第1ポインタ要素によって参照される第1メモリアドレスがデータサブ要素の第1要素の第1メモリアドレスであることを検出するステップ、のうち少なくとも1つのステップと、さらにを含む。
オブジェクト検証ステップにおいて、第1ポインタオブジェクトは、第1データ要素によって包含されていることを検証する、ステップと、
第3オブジェクト識別ステップにおいて、第1ポインタオブジェクトは、第1データ要素によって包含されていない場合、第2ポインタオブジェクトを第1ポインタオブジェクトとして識別する、ステップと、
第2ポインタ記憶ステップにおいて、第1ポインタ要素の値を第2ポインタ要素に書き込む、ステップと、を含む。
第2ポインタ識別ステップにおいて、第3ポインタ要素を識別するステップであって、第3ポインタ要素は、第1データ要素または第2データ要素のいずれかに包含されず、第3ポインタ要素は、第1データ要素に包含される第3ポインタオブジェクトを参照し、第3ポインタオブジェクトは、第1データサブオブジェクト、第1コンポーネントまたは第1要素であり、第3ポインタオブジェクトは、第2リレーション、第3リレーションまたは第4リレーションを介して、第2データサブオブジェクト、第2コンポーネントまたは第2要素に関連付けられる、ステップと、
第2アドレス決定ステップにおいて、第3ポインタオブジェクトに関連付けられた第2データサブ要素、第3ポインタオブジェクトに関連付けられた第2コンポーネント、または第2メモリ領域における第3ポインタオブジェクトに関連付けられた第2要素の絶対メモリアドレスを決定する、ステップと、
第3ポインタ記憶ステップにおいて、第3ポインタオブジェクトに関連付けられた第2データサブ要素、第3ポインタオブジェクトに関連付けられた第2コンポーネント、または第3ポインタオブジェクトに関連付けられた第2要素の絶対メモリアドレスを第3ポインタ要素の値として書き込む、ステップと、を含む。
関数生成ステップにおいて、第1ポインタ要素を第2ポインタ要素にマッピングするための第1ポインタ移行関数を生成するステップであって、第1ポインタ移行関数は、第1ポインタイプのポインタ要素を第2ポインタイプのポインタ要素にマッピングし、ポインタ移行ステップを実行する、ステップを含む:。
タイプ識別ステップにおいて、第1ポインタ要素の第1ポインタタイプと第2ポインタ要素の第2ポインタタイプを識別する、ステップを含む。
第1検証ステップにおいて、第1ポインタ移行関数が関数生成ステップで生成可能であることを検証する、ステップと、
初期化ステップにおいて、関数生成ステップで第1ポインタ移行関数が生成され得なかった場合、第2ポインタ要素を初期値に設定する、ステップと、
および/または終了ステップにおいて、関数生成ステップで第1ポインタ移行関数が生成できなかった場合、移行を中止するステップであって、第1ポインタ要素の第1ポインタタイプが第2ポインタ要素の第2ポインタタイプで一意に表現できない場合において、第1ポインタ移行関数が、生成され得ない、ステップと、を含む。
移行ステップにおいて、第1データ要素を第2データ要素にマッピングするステップ、
第1データサブ要素を第2データサブ要素にマッピングするステップ、
第1コンポーネントを第2コンポーネントにマッピングするステップ、
および第1要素を第2要素にマッピングするステップのうち少なくとも1つのステップを含む。
第2ポインタ移行関数を生成するステップであって、第2ポインタ移行関数は、第2アドレス決定ステップと、第3ポインタ記憶ステップとを実行し、第3ポインタオブジェクトを対応する第2データサブ要素、対応する第2コンポーネントまたは対応する第2要素にマッピングする、ステップを含む。
第1データ要素を第2データ要素にマッピングするための第1移行関数を生成するステップであって、第1移行関数は、第1メモリ領域内の第1データ要素の第1データタイプのデータを読み出し、第1データタイプの読み出したデータを第2データ要素の第2データタイプに変換し、第2データタイプに変換したデータを第2メモリ領域内に記憶する、ステップと、
第1データサブ要素を第2データサブ要素にマッピングするための第2移行関数を生成するステップであって、第2移行関数は、第1メモリ領域内の第1データサブ要素の第3データタイプのデータを読み出し、第3データタイプの読み出したデータを第2データサブ要素の第4データタイプに変換し、第4データタイプに変換したデータを第2メモリ領域内に記憶する、ステップと、
第1コンポーネントを第2コンポーネントにマッピングするための第3移行関数を生成するステップであって、第3移行関数は、第1メモリ領域内の第1コンポーネントの第5データタイプのデータを読み出し、読み出したデータを第2コンポーネントの第6データタイプに変換し、変換したデータを第2メモリ領域に記憶する、ステップと、
第1要素を第2要素にマッピングするための第4移行関数を生成するステップであって、第4移行関数は、第1メモリ領域内の第1要素の第5データタイプのデータを読み出し、読み出したデータを第2コンポーネントの第6データタイプに変換し、変換したデータを第2メモリ領域内に記憶する、ステップと、を含む。
識別ステップにおいて、第1データ要素の第1データタイプと第2データ要素の第2データタイプを識別するステップと、
第1データサブ要素の第3データタイプと、第2データサブ要素の第4データタイプと、第1データサブ要素と第2データサブ要素との間の第2リレーションとを識別するステップと、
第1データサブ要素の第1コンポーネントの第5データタイプと、第2データサブ要素の第2コンポーネントの第6データタイプと、第1コンポーネントと第2コンポーネントとの間の第3リレーションとを識別するステップと、
第1データサブ要素の第1要素の第7データタイプと、第2データサブ要素の第2要素の第8データタイプと、第1要素と第2要素との間の第4リレーションを識別するステップと、を含む。
第2検証ステップにおいて、第1移行関数、第2移行関数、第3移行関数、および第4移行関数の少なくとも1つが、生成ステップにおいて生成可能かどうかを検証するステップであって、第1データ要素の第1データタイプが第2データ要素の第2データタイプに変換可能でない場合に、第1移行関数を生成できず、第1データサブ要素の第3データタイプが、第2データサブ要素の第4データタイプに変換可能でない場合に、第2移行関数が生成できず、第1データサブ要素の第1コンポーネントの第5データタイプが、第2データサブ要素の第2コンポーネントの第6データタイプに変換可能でない場合に、第3移行関数を生成できず、かつ第1データサブ要素の第1コンポーネントの第6データタイプが、第2データサブ要素の第2コンポーネントの第8データタイプに変換可能でない場合に、第4移行関数を生成できない、ステップと、
終了ステップにおいて、第1移行関数、第2移行関数、第3移行関数、および第4移行関数の少なくとも1つが生成できない場合、第1データ要素から第2データ要素へのデータ移行を中止する、ステップと、を含む。
第1ポインタ識別ステップ201において、第1ポインタ要素Z1と第2ポインタ要素Z2とを、第1リレーションR1を介して互いに関連付けられたポインタ要素として識別するステップと、
ポインタ移行ステップ203において、第1ポインタ要素Z1を第2ポインタ要素Z2にマッピングするステップと、を含み、
ここで、ポインタ移行ステップ203は
第1オブジェクト識別ステップ205において、第1ポインタ要素Z1によって参照される第1ポインタオブジェクトZO1を識別するステップと、
第2オブジェクト識別ステップ207において、第1ポインタオブジェクトZO1に関連付けられたオブジェクトを第2ポインタオブジェクトZO2として識別するステップと、
第1アドレス決定ステップ209において、第2ポインタオブジェクトZO2の絶対メモリアドレスを決定するステップと、
第1ポインタ記憶ステップ211において、第2ポインタオブジェクトZO2の決定されたメモリアドレスを第2ポインタ要素Z2の値として第2ポインタ要素Z2に書き込むステップと、を含む。
さらに、関数生成ステップ251は、第1ポインタ要素Z1のポインタタイプと、第2ポインタ要素Z2のポインタタイプまたは第3ポインタ要素Z3のポインタタイプが識別されるタイプ識別ステップ253を含む。第1ポインタ要素Z1、第2ポインタ要素Z2、または第3ポインタ要素Z3の識別されたポインタタイプに基づいて、第1ポインタ移行関数ZMIG1と第2ポインタ移行関数ZMIG2とがそれぞれ生成される。第1ポインタ移行関数ZMIG1と第2ポインタ移行関数ZMIG2とは、それぞれ、特定の第1ポインタ要素Z1を、特定の第2ポインタ要素Z2、または特定の第3ポインタ要素Z3に移行することに限定されないが、それぞれ識別されたポインタタイプの任意のポインタ要素を互いにマッピングようにセットアップされる。生成されたポインタ移行関数は、識別されたポインタタイプの任意の数のポインタ要素を互いにマッピングしてもよい。複数のポインタ要素のデータ移行では、生成されたポインタ関数に何度でも連続してアクセスしてもよい。
100 オートメーションシステム
101 コントローラ
103 マスタサブスクライバ
105 スレーブサブスクライバ
107 バスシステム
109 コンパイラモジュール
A 第1制御プログラム
PA 第1実行可能コード
MAB 移行コード
SPS メモリ
SPA 第1メモリ領域
GA 第1データ要素
TGAD 第1データタイプの定義
GA1 第1データサブ要素
GA2 さらなる第1データサブ要素
AM 第1コンポーネント
AM1 さらなる第1コンポーネント
AE 第1要素
BE 第2要素
B 第2制御プログラム
QB 第2制御プログラムのソーステキスト
PB 第2実行可能コード
SPB 第2メモリ領域
GB 第2データ要素
GB1 第2データサブ要素
GB2 さらなる第2データサブ要素
BM 第2コンポーネント
BM1 さらなる第2コンポーネント
R1 第1リレーション
R11 さらなる第1リレーション
R2 第2リレーション
R22 さらなる第2リレーション
R3 第3リレーション
R4 第4リレーション
Z1 第1ポインタ要素
Z11 さらなる第1ポインタ要素
ZO1 第1ポインタオブジェクト
ZO11 さらなる第1ポインタオブジェクト
Z2 第2ポインタ要素
Z22 さらなる第2ポインタ要素
ZO2 第2ポインタオブジェクト
Z3 第3ポインタ要素
ZO3 第3ポインタオブジェクト
RGA1 第1相対メモリアドレス
RGB1 第2相対メモリアドレス
PAR 第1相対ポインタアドレス
PBR 第2相対ポインタアドレス
PAM 第1相対コンポーネントアドレス
PBM 第2相対コンポーネントアドレス
PAMX 第1相対ポインタ部分アドレス
PBMX 第2相対ポインタ部分アドレス
SAE 第1要素サイズ
PAEX 第3相対ポインタ部分アドレス
PBEX 第4相対ポインタ部分アドレス
SPGA 第1データ要素の第1メモリロケーション
SPGB 第2データ要素の第1メモリロケーション
ZMIG 第1ポインタ移行関数
ZMIG11 さらなる第1ポインタ移行関数
ZMIG2 第2ポインタ移行関数
MIG1 第1移行関数
200 方法
201 第1ポインタ識別ステップ
202 置換ステップ
203 ポインタ移行ステップ
205 第1オブジェクト識別ステップ
207 第2オブジェクト識別ステップ
209 第1アドレス決定ステップ
211 第1ポインタ記憶ステップ
213 第1ポインタアドレス決定ステップ
215 第2ポインタアドレス決定ステップ
217 第3ポインタアドレス決定ステップ
219 第4ポインタアドレス決定ステップ
221 第1コンポーネントアドレス決定ステップ
223 第2コンポーネントアドレス決定ステップ
225 第1要素アドレス決定ステップ
227 第2要素アドレス決定ステップ
229 要素サイズ決定ステップ
231 第5ポインタアドレス決定ステップ
233 第6ポインタアドレス決定ステップ
235 第7ポインタアドレス決定ステップ
237 第8ポインタアドレス決定ステップ
239 オブジェクト検証ステップ
241 第3オブジェクト識別ステップ
243 第2ポインタ記憶ステップ
245 第2ポインタ識別ステップ
247 第2アドレス決定ステップ
249 第3ポインタ記憶ステップ
251 関数生成ステップ
253 タイプ識別ステップ
255 第1検証ステップ
257 初期化ステップ
259 終了ステップ
261 移行ステップ
263 生成ステップ
265 識別ステップ
303 変換ステップ
305 第1生成ステップ
307 第2生成ステップ
Claims (15)
- オートメーションシステム(100)の制御プログラムのプログラム状態のデータ移行の過程におけるポインタ要素のデータ移行のための方法(200)であって、
前記オートメーションシステム(100)のコントローラ(101)は、
第1制御プログラム(A)と、第2制御プログラム(B)とを含み、
前記第1制御プログラム(A)は、
前記第1制御プログラム(A)のプログラム状態を記述し、第1ポインタオブジェクト(ZO1)を参照する第1ポインタタイプの少なくとも第1ポインタ要素(Z1)を含む第1データ要素(GA)を含み、
前記第2制御プログラム(B)は、
前記第2制御プログラム(B)のプログラム状態を記述し、第2ポインタオブジェクト(ZO2)を参照するように構成された第2ポインタタイプの少なくとも第2ポインタ要素(Z2)を含む第2データ要素(GB)を含み、
前記第1データ要素(GA)は、前記コントローラ(101)の第1メモリ領域(SPA)に記憶され、
前記第2データ要素(GB)は、前記コントローラ(101)の第2メモリ領域(SPB)に記憶され、
前記方法は、
第1ポインタ識別ステップ(201)において、前記第1ポインタ要素(Z1)と前記第2ポインタ要素(Z2)を、第1リレーション(R1)を介して互いに関連付けられたポインタ要素として識別するステップであって、第1制御プログラム(A)と第2制御プログラム(B)とにおいて、第1ポインタ要素(Z1)と第2ポインタ要素(Z2)とがそれぞれ同一の機能を有することを、第1リレーション(R1)は意味する、ステップと、
ポインタ移行ステップ(203)において、前記第1ポインタ要素(Z1)を前記第2ポインタ要素(Z2)にマッピングするステップと含み、
前記ポインタ移行ステップ(203)は、
第1オブジェクト識別ステップ(205)において、前記第1ポインタ要素(Z1)によって参照される前記第1ポインタオブジェクト(ZO1)を識別するステップと、
第2オブジェクト識別ステップ(207)において、前記第1ポインタオブジェクト(ZO1)に関連付けられたオブジェクトを前記第2ポインタオブジェクト(ZO2)として識別するステップと、
第1アドレス決定ステップ(209)において、前記第2ポインタオブジェクト(ZO2)のメモリアドレスを決定するステップと、
第1ポインタ記憶ステップ(211)において、前記第2ポインタ要素(Z2)の値として前記第2ポインタオブジェクト(ZO2)の決定されたメモリアドレスを前記第2ポインタ要素(Z2)に書き込むステップとを含む、
方法(200)。 - 前記第1データ要素(GA)は、少なくとも第1データサブ要素(GA1)を含み、
前記第2データ要素(GB)は、第2リレーション(R2)を介して前記第1データサブ要素(GA1)に関連付けられた少なくとも第2データサブ要素(GB1)を含み、
前記第1データサブ要素(GA1)は、前記第1ポインタオブジェクト(ZO1)に対応し、前記第1ポインタ要素(Z1)によって参照され、
前記第2データサブ要素(GB1)は、前記第2ポインタオブジェクト(ZO2)に対応し、
前記ポインタ移行ステップ(203)は、
第1ポインタアドレス決定ステップ(213)において、前記第1データサブ要素(GA1)の第1相対メモリアドレス(RGA1)を決定するステップであって、
前記第1データ要素(GA)の第1メモリロケーション(SPGA)に相対する前記第1データ要素(GA)のメモリ領域内の前記第1データサブ要素(GA1)のメモリアドレスは、前記第1相対メモリアドレス(RGA1)によって記述される、ステップと、
第2ポインタアドレス決定ステップ(215)において、前記第2データサブ要素(GB1)の第2相対メモリアドレス(RGB1)を決定するステップであって、
前記第2データ要素(GB)の第1メモリロケーション(SPGB)に相対する前記第2データ要素(GB)のメモリ領域内の前記第2データサブ要素(GB1)のメモリアドレスは、前記第2相対メモリアドレス(RGB1)によって記述される、ステップと、
前記第1アドレス決定ステップ(209)において、前記第2データサブ要素(GB1)の前記第2相対メモリアドレス(RGB1)と、前記第2データ要素(GB)の前記第1メモリロケーション(SPGB)とに基づいて前記第2データサブ要素(GB1)の絶対メモリアドレスを決定するステップと、
を含む、請求項1に記載の方法(200)。 - 前記ポインタ移行ステップ(203)は、
第3ポインタアドレス決定ステップ(217)において、前記第1ポインタ要素(Z1)の第1相対ポインタアドレス(PAR)を決定するステップであって、
前記第1データサブ要素(GA1)の前記第1相対メモリアドレス(RGA1)に相対する前記第1データ要素(GA)の前記メモリ領域内の前記第1ポインタ要素(Z1)によって参照されるメモリロケーションは、前記第1ポインタ要素(Z1)の前記第1相対ポインタアドレス(PAR)によって記述される、ステップと、
第4ポインタアドレス決定ステップ(219)において、前記第1相対ポインタアドレス(PAR)に基づいて、前記第2ポインタ要素(Z2)の第2相対ポインタアドレス(PBR)を決定するステップであって、
前記第2データサブ要素(GB1)の前記第2相対メモリアドレス(RGB1)に相対する前記第2データ要素(GB)のメモリ領域内のメモリロケーションは、前記第2ポインタ要素(Z2)の前記第2相対ポインタアドレス(PBR)によって決定され、
前記第2データサブ要素(GB1)に関連する前記第2相対ポインタアドレス(PBR)は、前記第1データサブ要素(GA1)に関連する前記第1相対ポインタアドレス(PAR)に対応する、ステップと、
前記第1アドレス決定ステップ(209)において、前記第2相対ポインタアドレス(PBR)と、前記第2データサブ要素(GB1)の前記第2相対メモリアドレス(RGB1)と、前記第2メモリ領域(SPB)の前記第2データ要素(GB)の前記第1メモリロケーション(SPGB)とに基づいて、前記第2データサブ要素(GB1)の絶対メモリアドレスを決定するステップと、
を含む、請求項2に記載の方法(200)。 - 前記ポインタ移行ステップ(203)は、
前記第1データサブ要素(GA1)と前記第2データサブ要素(GB1)とが、それぞれ複合タイプであり、前記第1データサブ要素(GA1)が少なくとも1つの第1コンポーネント(AM)を含み、前記第2データサブ要素(GB1)が少なくとも1つの第2コンポーネント(BM)を含み、前記第1コンポーネント(AM)と前記第2コンポーネント(BM)とが、第3リレーション(R3)を介して関連付けられており、前記第1コンポーネント(AM)が前記第1ポインタ要素(Z1)によって参照される場合において、
第1コンポーネントアドレス決定ステップ(221)において、前記第1相対ポインタアドレス(PAR)に基づいて前記第1コンポーネント(AM)の第1相対コンポーネントアドレス(PAM)を決定するステップであって、
前記第1データサブ要素(GA1)の前記第1相対メモリアドレス(RGA1)に相対する前記第1コンポーネント(AM)の前記第1データ要素(GA)の前記メモリ領域内のメモリアドレスは、前記第1相対コンポーネントアドレス(PAM)によって記述される、ステップと、
第2コンポーネントアドレス決定ステップ(223)において、前記第1相対コンポーネントアドレス(PAM)に基づいて、前記第2データサブ要素(GB1)の第2コンポーネント(BM)の第2相対コンポーネントアドレス(PBM)を決定するステップであって、
前記第2相対コンポーネントアドレス(PBM)は、前記第2データサブ要素(GB1)の前記第2相対メモリアドレス(RGB1)に相対する前記第2コンポーネント(BM)の前記第2データ要素(GB)の前記メモリ領域内のメモリアドレスを記述する、ステップと、
前記第1アドレス決定ステップ(209)において、前記第2相対コンポーネントアドレス(PBM)と、前記第2データサブ要素(GB1)の前記第2相対メモリアドレス(RGB1)と、前記第2メモリ領域(SPB)内の前記第2データ要素(GB)の前記第1メモリロケーション(SPGB)に基づいて、前記第2データサブ要素(GB1)の前記第2コンポーネント(BM)の絶対メモリアドレスを決定するステップと、
を含む、請求項3に記載の方法。 - 前記ポインタ移行ステップ(203)は、
前記第1データサブ要素(GA1)と前記第2データサブ要素(GB1)とは、同じ数の次元を有するそれぞれのフィールドタイプであり、前記第1データサブ要素(GA1)は、複数の第1要素(AE)を含み、前記第2データサブ要素(GB1)は、複数の第2要素(BE)を含み、少なくとも第1要素(AE)と第2要素(BE)とは、第4リレーション(R4)を介して関連付けられ、前記第1要素(AE)は、前記第1ポインタ要素(Z1)によって参照される場合において、
第1要素アドレス決定ステップ(225)において、前記第1ポインタ要素(Z1)によって参照される前記第1要素(AE)の第1相対要素アドレス(PAE)を決定するステップであって、
前記第1相対要素アドレス(PAE)は、前記第1データサブ要素(GA1)の前記第1相対メモリアドレス(RGA1)に相対する前記第1ポインタ要素(Z1)によって参照される前記第1要素(AE)の前記第1データ要素(GA)の前記メモリ領域内のメモリアドレスを記述する、ステップと、
第2要素アドレス決定ステップ(227)において、前記第1相対要素アドレス(PAE)に基づいて、前記第4リレーション(R4)を介して前記第1ポインタ要素(Z1)によって参照される前記第1要素(AE)に関連付けられた第2要素(BE)の第2相対要素アドレス(PBE)を決定するステップであって、
前記第2相対要素アドレス(PBE)は、前記第2データサブ要素(GB1)の前記第2相対メモリアドレス(RGB1)に相対する前記第2メモリ領域(SPB)内の前記第2要素(BE)のメモリアドレスを記述する、ステップと、
前記第1アドレス決定ステップ(209)において、前記第2相対要素アドレス(PBE)と、前記第2データサブ要素(GB1)の前記第2相対メモリアドレス(RGB1)と、前記第2メモリ領域(SPB)内の前記第2データ要素(GB)の前記第1メモリロケーション(SPGB)とに基づいて、前記第2データサブ要素(GB1)の前記第2要素(BE)の絶対メモリアドレスを決定するステップと、
を含む、請求項3に記載の方法。 - 前記第1要素アドレス決定ステップ(225)は、
要素サイズ決定ステップ(229)において、前記第1データサブ要素(GA1)の前記第1要素(AE)の第1要素サイズ(SAE)を決定するステップであって、
第1要素(AE)の前記第1要素サイズ(SAE)は、前記第1データ要素(GA)の前記メモリ領域内の前記第1要素(AE)によって占有されるメモリ空間に対応する、ステップと、
前記第1相対ポインタアドレス(PAR)と前記第1要素サイズ(SAE)とに基づいて、前記第1ポインタ要素(Z1)によって参照される前記第1要素(AE)を決定するステップと、
を含む、請求項5に記載の方法。 - 前記ポインタ移行ステップ(203)は、
第5ポインタアドレス決定ステップ(231)において、前記第1相対ポインタアドレス(PAR)と、前記第1相対コンポーネントアドレス(PAM)とに基づいて、第1相対ポインタ部分アドレス(PAMX)を決定するステップであって、
前記第1相対ポインタ部分アドレス(PAMX)によって、前記第1ポインタ要素(Z1)よって参照される前記第1メモリ領域(SPA)内のメモリロケーションは、前記第1データサブ要素(GA1)の前記第1コンポーネント(AM)の前記第1相対コンポーネントアドレス(PAM)に相対して記述される、ステップと、
第6ポインタアドレス決定ステップ(233)において、前記第1相対ポインタ部分アドレス(PAMX)と、前記第2相対ポインタアドレス(PBR)と、前記第2相対コンポーネントアドレス(PBM)に基づいて、第2相対ポインタ部分アドレス(PBMX)を決定するステップであって、
前記第2データ要素(GB)の前記メモリ領域内のメモリロケーションは、前記第2相対ポインタ部分アドレス(PBMX)によって前記第2相対コンポーネントアドレス(PBM)に相対して決定され、
前記第2データサブ要素(GB1)に関連する前記第2相対ポインタ部分アドレス(PBMX)は、前記第1データサブ要素(GA1)に関連する前記第1相対ポインタ部分アドレス(PAMX)に対応する、ステップと、
前記第1アドレス決定ステップ(209)において、前記第2相対ポインタ部分アドレス(PBMX)と、前記第2相対コンポーネントアドレス(PBM)と、前記第2データサブ要素(GB1)の前記第2相対メモリアドレス(RGB1)と、前記第2データ要素(GB)の前記メモリ領域内の前記第2データ要素(GB)の前記第1メモリロケーション(SPGB)とに基づいて、前記第2データサブ要素(GB1)の前記第2コンポーネント(BM)の絶対メモリアドレスを決定するステップと、
を含む、請求項4に記載の方法。 - 前記ポインタ移行ステップ(203)は、
第7ポインタアドレス決定ステップ(235)において、前記第1相対ポインタアドレス(PAR)と、前記第1相対要素アドレス(PAE)とに基づいて、第3相対ポインタ部分アドレス(PAEX)を決定するステップであって、
前記第1データサブ要素(GA1)の前記第1要素(AE)の前記第1相対要素アドレス(PAE)に相対する前記第1ポインタ要素(Z1)によって参照される前記メモリロケーションは、前記第3相対ポインタ部分アドレス(PAEX)によって記述される、ステップと、
第8ポインタアドレス決定ステップ(237)において、前記第3相対ポインタ部分アドレス(PAEX)と、前記第2相対要素アドレス(PBE)とに基づいて、第4相対ポインタ部分アドレス(PBEX)を決定するステップであって、
前記第2相対要素アドレス(PBE)に相対する前記第2データ要素(GB)の前記メモリ領域内のメモリロケーションは、前記第4相対ポインタ部分アドレス(PBEX)によって決定され、
前記第2データサブ要素(GB1)に関連する前記第4相対ポインタ部分アドレス(PBEX)は、前記第1データサブ要素(GA1)に関連する前記第3相対ポインタ部分アドレス(PAEX)に対応する、ステップと、
前記第1アドレス決定ステップ(209)において、前記第4相対ポインタ部分アドレス(PBEX)と、前記第2相対要素アドレス(PBE)と、前記第2相対ポインタアドレス(PBR)と、前記第2データサブ要素(GB1)の前記第2相対メモリアドレス(RGB1)と、前記第2メモリ領域(SPB)の前記第2データ要素(GB)の前記第1メモリロケーション(SPGB)に基づいて、前記第2データサブ要素(GB1)の前記第2要素(BE)の絶対メモリアドレスを決定するステップと、
を含む、請求項5または6に記載の方法。 - オブジェクト検証ステップ(239)において、前記第1ポインタオブジェクト(ZO1)は、前記第1データ要素(GA)に含まれるかどうかを検証するステップと、
第3オブジェクト識別ステップ(241)において、前記第1ポインタオブジェクト(ZO1)は、前記第1データ要素(GA)に含まれていない場合、前記第2ポインタオブジェクト(ZO2)を前記第1ポインタオブジェクト(ZO1)として識別するステップと
第2ポインタ記憶ステップ(243)において、前記第1ポインタ要素(Z1)の値を前記第2ポインタ要素(Z2)に書き込むステップと、
をさらに含む、請求項1から8のいずれか1項に記載の方法(200)。 - 前記ポインタ移行ステップ(203)は、
第2ポインタ識別ステップ(245)において、第3ポインタ要素(Z3)を識別するステップであって、
前記第3ポインタ要素(Z3)は、前記第1データ要素(GA)または前記第2データ要素(GB)のいずれにも含まれず、
前記第3ポインタ要素(Z3)は、前記第1データ要素(GA)に含まれる第3ポインタオブジェクト(ZO3)を参照し、
前記第3ポインタオブジェクト(ZO3)は、前記第1データサブ要素(GA1)、第1コンポーネント(AM)、または第1要素(AE)であり、
前記第3ポインタオブジェクト(ZO3)は、第2リレーション(R2)、第3リレーション(R3)または第4リレーション(R4)を介して、第2データサブ要素(GB1)、第2コンポーネント(BM)、または第2要素(BE)に関連付けられる、ステップと、
第2アドレス決定ステップ(247)において、前記第3ポインタオブジェクト(ZO3)に関連付けられた前記第2データサブ要素(GB1)、前記第3ポインタオブジェクト(ZO3)に関連付けられた前記第2コンポーネント(BM)、または前記第2メモリ領域(SPB)内の前記第3ポインタオブジェクト(ZO3)に関連付けられた前記第2要素(BE)の絶対メモリアドレスを決定するステップと、
第3ポインタ記憶ステップ(249)において、前記第3ポインタオブジェクト(ZO3)に関連付けられた前記第2データサブ要素(GB1)、前記第3ポインタオブジェクト(ZO3)に関連付けられた前記第2コンポーネント(BM)、または前記第3ポインタオブジェクト(ZO3)に関連付けられた前記第2要素(BE)の絶対メモリアドレスを前記第3ポインタ要素(Z3)の値として、書き込むステップと、
を含む、請求項2から8および請求項2に従属する請求項9のいずれか1項に記載の方法(200)。 - 関数生成ステップ(251)において、前記第1ポインタ要素(Z1)を前記第2ポインタ要素(Z2)にマッピングするための第1ポインタ移行関数(ZMIG1)を生成するステップをさらに含み、
前記第1ポインタ移行関数(ZMIG1)は、前記第1ポインタタイプのポインタ要素を前記第2ポインタタイプのポインタ要素にマッピングし、前記ポインタ移行ステップ(203)を実行するように構成される、
請求項1から10のいずれか1項に記載の方法(200)。 - 前記関数生成ステップ(251)は、
タイプ識別ステップ(253)において、前記第1ポインタ要素(Z1)の前記第1ポインタタイプと前記第2ポインタ要素(Z2)の前記第2ポインタタイプとを識別するステップを含む、請求項11に記載の方法。 - 第1検証ステップ(255)の前記関数生成ステップ(251)において、前記第1ポインタ移行関数(ZMIG1)が生成可能であったかどうかを検証するステップと、
前記関数生成ステップ(251)において、前記第1ポインタ移行関数(ZMIG1)が生成可能でなかった場合、初期化ステップ(257)において、前記第2ポインタ要素(Z2)を初期値に設定するステップ、および/または、
前記関数生成ステップ(251)において、前記第1ポインタ移行関数(ZMIG1)が生成可能でなかった場合、終了ステップ(259)において、移行をキャンセルするステップと、
をさらに含む、請求項11または12に記載の方法(200)。 - 前記コントローラ(101)は、制御プログラムを変換するためのコンパイラモジュール(109)をさらに含み、
前記関数生成ステップ(251)は、前記コンパイラモジュール(109)によって実行される、請求項11から13のいずれか1項に記載の方法。 - 移行ステップ(261)において、前記第1データ要素(GA)を前記第2データ要素(GB)にマッピングするステップ、
前記第1データサブ要素(GA1)を前記第2データサブ要素(GB1)にマッピングするステップ、
前記第1コンポーネント(AM)を前記第2コンポーネント(BM)にマッピングするステップ、および
前記第1要素(AE)を前記第2要素(BE)にマッピングするステップのうち少なくとも1つのステップと、
前記第2制御プログラム(B)を実行するステップと、
前記第2データ要素(GB)を考慮して、前記第2制御プログラム(B)に基づいてオートメーションシステム(100)を制御するステップと、
をさらに含む、請求項10に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102019134353.4 | 2019-12-13 | ||
DE102019134353.4A DE102019134353A1 (de) | 2019-12-13 | 2019-12-13 | Verfahren zur Datenmigration eines Zeigerelements im Zuge einer Datenmigration eines Programmzustands eines Steuerprogramms eines Automatisierungssystems |
PCT/EP2020/085797 WO2021116428A1 (de) | 2019-12-13 | 2020-12-11 | Verfahren zur datenmigration eines zeigerelements im zuge einer datenmigration eines programmzustands eines steuerprogramms eines automatisierungssystems |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022549529A JP2022549529A (ja) | 2022-11-25 |
JP7303389B2 true JP7303389B2 (ja) | 2023-07-04 |
Family
ID=73834537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022535842A Active JP7303389B2 (ja) | 2019-12-13 | 2020-12-11 | オートメーションシステムの制御プログラムのプログラム状態のデータ移行の過程でのポインタ要素のデータ移行の方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11640293B2 (ja) |
EP (1) | EP4055472B1 (ja) |
JP (1) | JP7303389B2 (ja) |
CN (1) | CN114667503B (ja) |
DE (1) | DE102019134353A1 (ja) |
WO (1) | WO2021116428A1 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000137604A (ja) | 1998-10-30 | 2000-05-16 | Oki Electric Ind Co Ltd | データ引き継ぎシステム |
JP2002507020A (ja) | 1998-03-12 | 2002-03-05 | テレフオンアクチーボラゲツト エル エム エリクソン(パブル) | 障害を生じることなくデータを更新する技術 |
US20020120601A1 (en) | 2001-02-26 | 2002-08-29 | Elmendorf Peter C. | Dynamic seamless reconfiguration of executing parallel software |
US20110224809A1 (en) | 2010-03-09 | 2011-09-15 | Siemens Aktiengesellschaft | Method for Operating an Automation System |
WO2018159691A1 (ja) | 2017-02-28 | 2018-09-07 | 日本電信電話株式会社 | 通信処理装置、情報処理装置、及び、通信処理装置の制御方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19535306A1 (de) * | 1995-09-22 | 1997-03-27 | Siemens Ag | Verfahren zum Konvertieren sich unterscheidender Datenformate |
US6049667A (en) * | 1997-08-15 | 2000-04-11 | International Business Machines Corporation | Computer system, method of compiling and method of accessing address space with pointer of different width therefrom |
NO20021247D0 (no) * | 2002-03-13 | 2002-03-13 | Ericsson Telefon Ab L M | Fremgangsmåte og system for oppgradering av programvare |
US7752617B2 (en) * | 2003-11-20 | 2010-07-06 | International Business Machines Corporation | Apparatus, system, and method for updating an embedded code image |
US20050114853A1 (en) * | 2003-11-26 | 2005-05-26 | Glider Joseph S. | Software upgrade and downgrade in systems with persistent data |
US20070055964A1 (en) * | 2005-09-06 | 2007-03-08 | Morfik Technology Pty. Ltd. | System and method for synthesizing object-oriented high-level code into browser-side javascript |
TWI484413B (zh) * | 2012-04-03 | 2015-05-11 | Mstar Semiconductor Inc | 基於功能性的程式比較方法 |
WO2015020655A1 (en) * | 2013-08-08 | 2015-02-12 | Empire Technology Development Llc | Migration of executing processes |
US10108404B2 (en) * | 2016-10-24 | 2018-10-23 | International Business Machines Corporation | Compiling optimized entry points for local-use-only function pointers |
GB2557366B (en) * | 2016-12-02 | 2020-10-28 | Advanced Risc Mach Ltd | An apparatus and method for transferring data between address ranges in memory |
CN110488738B (zh) * | 2019-07-23 | 2021-04-09 | 中车青岛四方机车车辆股份有限公司 | 一种代码生成方法及装置 |
-
2019
- 2019-12-13 DE DE102019134353.4A patent/DE102019134353A1/de not_active Withdrawn
-
2020
- 2020-12-11 WO PCT/EP2020/085797 patent/WO2021116428A1/de active Search and Examination
- 2020-12-11 EP EP20824223.0A patent/EP4055472B1/de active Active
- 2020-12-11 CN CN202080078086.3A patent/CN114667503B/zh active Active
- 2020-12-11 JP JP2022535842A patent/JP7303389B2/ja active Active
-
2022
- 2022-04-27 US US17/731,138 patent/US11640293B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002507020A (ja) | 1998-03-12 | 2002-03-05 | テレフオンアクチーボラゲツト エル エム エリクソン(パブル) | 障害を生じることなくデータを更新する技術 |
JP2000137604A (ja) | 1998-10-30 | 2000-05-16 | Oki Electric Ind Co Ltd | データ引き継ぎシステム |
US20020120601A1 (en) | 2001-02-26 | 2002-08-29 | Elmendorf Peter C. | Dynamic seamless reconfiguration of executing parallel software |
US20110224809A1 (en) | 2010-03-09 | 2011-09-15 | Siemens Aktiengesellschaft | Method for Operating an Automation System |
WO2018159691A1 (ja) | 2017-02-28 | 2018-09-07 | 日本電信電話株式会社 | 通信処理装置、情報処理装置、及び、通信処理装置の制御方法 |
Also Published As
Publication number | Publication date |
---|---|
EP4055472B1 (de) | 2023-04-19 |
CN114667503A (zh) | 2022-06-24 |
EP4055472A1 (de) | 2022-09-14 |
DE102019134353A1 (de) | 2021-06-17 |
US20220261237A1 (en) | 2022-08-18 |
CN114667503B (zh) | 2023-08-04 |
US11640293B2 (en) | 2023-05-02 |
WO2021116428A1 (de) | 2021-06-17 |
JP2022549529A (ja) | 2022-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6092097A (en) | Parallel processing system with efficient data prefetch and compilation scheme | |
KR101107797B1 (ko) | 프로그램 코드 변환을 위한 공유 코드 캐싱 방법 및 장치 | |
KR100518584B1 (ko) | 공유 라이브러리 시스템 및 상기 시스템 구축 방법 | |
US7412710B2 (en) | System, method, and medium for efficiently obtaining the addresses of thread-local variables | |
RU2676018C2 (ru) | Система и способ для создания выборочных моментальных снимков базы данных | |
EP2246786A1 (en) | Managing a shared memory region | |
JPH03150637A (ja) | パイプライン対応のレジスタ割付け方式 | |
CN103645888A (zh) | 一种自动构建操作***的***及方法 | |
CN103677778A (zh) | 一种CAP文件Classref常量的解析方法 | |
JP7303389B2 (ja) | オートメーションシステムの制御プログラムのプログラム状態のデータ移行の過程でのポインタ要素のデータ移行の方法 | |
CN86103694A (zh) | 缩减指令集的计算机中字节传送的方法和装置 | |
US11748078B1 (en) | Generating tie code fragments for binary translation | |
US9189297B2 (en) | Managing shared memory | |
JP7270112B2 (ja) | 制御プログラムのプログラム状態のデータ移行で自動化システムの制御プログラムを更新するための方法 | |
JP6102136B2 (ja) | モジュール管理装置、モジュール管理システム及びモジュール管理方法 | |
Numrich | F^{--}: A Parallel Extension to Cray Fortran | |
WO2009024907A2 (en) | Data processing with protection against soft errors | |
EP2171591B1 (en) | Efficiently locating transactional code blocks in a transactional memory system | |
US11640372B2 (en) | System and method for providing a container environment in a single file | |
WO2016167797A1 (en) | Morphed instruction according to configuration update | |
CN101216757A (zh) | 一种risc处理器及其数据访存方法 | |
JP7499966B2 (ja) | 制御装置、及び、アドレス管理方法 | |
JP2014149587A (ja) | 情報処理装置およびコンパイラプログラム | |
Rzońca et al. | Interfacing inputs and outputs with IEC 61131-3 control software | |
JP2014149810A (ja) | 情報処理装置およびコンパイラプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A529 | Written submission of copy of amendment under article 34 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A529 Effective date: 20220809 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220809 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20220809 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20221213 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230310 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230606 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230622 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7303389 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |