JP6917169B2 - コンピュータプログラム及びコンピュータシステム - Google Patents

コンピュータプログラム及びコンピュータシステム Download PDF

Info

Publication number
JP6917169B2
JP6917169B2 JP2017067750A JP2017067750A JP6917169B2 JP 6917169 B2 JP6917169 B2 JP 6917169B2 JP 2017067750 A JP2017067750 A JP 2017067750A JP 2017067750 A JP2017067750 A JP 2017067750A JP 6917169 B2 JP6917169 B2 JP 6917169B2
Authority
JP
Japan
Prior art keywords
block
source program
modification
object file
generate
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
Application number
JP2017067750A
Other languages
English (en)
Other versions
JP2018169887A (ja
Inventor
加藤 雅一
雅一 加藤
塩田 広
広 塩田
浩紀 森本
浩紀 森本
後藤 博
博 後藤
雅斗 武井
雅斗 武井
崇史 加藤
崇史 加藤
卓彌 服部
卓彌 服部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Industrial Products and Systems Corp
Original Assignee
Toshiba Industrial Products and Systems Corp
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 Toshiba Industrial Products and Systems Corp filed Critical Toshiba Industrial Products and Systems Corp
Priority to JP2017067750A priority Critical patent/JP6917169B2/ja
Publication of JP2018169887A publication Critical patent/JP2018169887A/ja
Application granted granted Critical
Publication of JP6917169B2 publication Critical patent/JP6917169B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明の実施形態は、プログラムの製造方法、及びコンピュータシステムのアップデート方法に関する。
例えば変圧器電気設計システムにおいて、当該システムを構築するプログラムとして例えばFORTRANにより記述されたプログラムが使用されている場合がある。FORTRANは科学技術計算に適したプログラム言語として高い評価を受けているが、FORTRANを扱うことができる人材が枯渇しつつあり、当該システムに使用するプログラムのうち、修正が必要な部分を修正しつつ延命して当該プログラムを使用することが困難となっている。
特開2009−151613号公報
実施形態は、上記課題に鑑みたものであり、コンピュータシステムに使用するプログラムの一部を修正しつつ延命させることが可能なコンピュータプログラム、及びコンピュータシステムを提供する。
実施形態に係るコンピュータプログラムは、CPU及び入力部を有するコンピュータシステムの前記CPUに実行されるコンピュータプログラムであって、Fortranで記述された複数のソースプログラムブロックを有するソースプログラムの中から前記入力部への入力に応じて修正の対象となる前記ソースプログラムブロックを修正対象ブロックとして切り出し、切り出された前記修正対象ブロックをC言語に書き換えた後、前記入力部への入力に応じて前記修正対象ブロックの内容を修正して修正ブロックを生成する切り出し修正処理と、前記修正ブロックをコンパイルして修正オブジェクトファイルを生成するとともに、前記ソースプログラムのうち前記修正対象ブロックを除いた部分を残余ブロックとし前記残余ブロックをコンパイルしてオブジェクトファイルを生成するコンパイル処理と、前記オブジェクトファイルと前記修正オブジェクトファイルとをリンクして実行プログラムを生成するリンク処理と、を前記CPUに実行させることができる。
コンピュータシステムの概略構成を示すブロック図 ソースプログラムの概略構成を示す図 ソースプログラムからの修正を行うブロックの切り出しの概略構成を示す図 コンパイル手順の概略構成を示す図 コンパイル手順の概略構成を示す図 リンク手順の概略構成を示す図 処理手順の流れを示すフロー図
以下、実施形態について図面に基づいて説明する。実施形態の説明において実質的に同一の構成部位には同一の符号を付し、説明を省略する。
図1は実施形態で用いられるコンピュータシステムの概略構成を示す図である。図2は、ソースプログラム10の概略構成を示す図である。図3はソースプログラム10から修正対象ブロックF3を切り出す手順を示す図である。図4は、ソースプログラムブロックF1〜Fnのうち、修正対象ブロックF3を切り出した残余部分のコンパイル手順を示す図である。図5は、修正対象ブロックF3の書き換え、修正、及びコンパイルを行う手順を示す図である。図6は、生成したオブジェクトファイルFと修正オブジェクトファイルC3−objをリンクして実行ファイルを生成する際のリンク手順を示す図である。図7は処理手順の流れを示すフロー図である。
図1に示すように、コンピュータシステム12は制御部16、表示部24、入力部26及び格納部28を備えている。制御部16はマイクロコンピュータ14を主体として構築されており、切り出し修正処理部18、コンパイル処理部20及びリンク処理部22を備えている。
マイクロコンピュータ14はCPU、RAM及びROM等の記憶部、I/O等により構成されている。マイクロコンピュータ14は、例えばROMに格納されたコンピュータプログラムを読み込み、CPUにおいて実行させることにより、切り出し修正処理部18、コンパイル処理部20、リンク処理部22等の各処理部の各機能を実現している。切り出し修正処理部18、コンパイル処理部20、リンク処理部22の各処理部については後述する。
本実施形態に係るコンピュータシステム12は、静止誘導機器として例えば変圧器に用いられる鉄心の各種設計値を計算するための変圧器電気設計システムである。このシステムは、例えば、鉄心を構成する鋼板薄帯の膜厚、幅、巻回数、巻回芯寸法等の最適設計値を計算する。
表示部24は例えば液晶画面であり、各種情報を視認可能に表示する。入力部26は例えばキーボードであり、コンピュータシステム12に、命令、パラメータ、その他の情報を入力するための入力部として機能する。格納部28は例えばハードディスクドライブであり、マイクロコンピュータ14において処理するための様々のデータや、計算結果を格納するための格納部として機能する。また、格納部28に、コンピュータシステム12において実行されるプログラムファイルを格納してもよい。
本実施形態における処理は以下のように実行される。図1〜図7に示すように、ソースプログラム10はソースプログラムブロックF1〜Fnを備えている。各ソースプログラムブロックF(F1〜Fn)はソースプログラム10を構成する機能単位を概念的に表示している。ソースプログラムブロックF1〜Fnは、例えば、鉄心に用いる鋼板薄帯の、膜厚計算ブロック、幅計算ブロック、巻回数計算ブロック、等である。ソースプログラム10は例えば第1のプログラム言語であるFortranにより構築されている。
ここでは、例えば、修正対象ブロックF3について修正の必要が生じた場合を想定する。また、ソースプログラム10のうち、修正対象ブロックF3を除いた部分を残余ブロックFrと称する。
まず、コンピュータシステム12の切り出し修正処理部18は、入力部26からの入力に応じてソースプログラムブロックF1〜Fnから修正対象ブロックF3を選択し、修正対象ブロックF3を切り出す(S1)。次に、切り出し修正処理部18は、入力部26からの入力に応じて、修正対象ブロックF3の内容を修正するが、詳細には以下のように処理する。
切り出し修正処理部18は、図5に示すように、切り出された修正対象ブロックF3に相当する部分を、第2のプログラム言語として例えばC言語により書き換える。そして、入力部26からの入力に応じて、必要部分を修正し、修正ブロックC3を生成する(S2)。次に、コンパイル処理部20は、修正ブロックC3をコンパイルし、修正オブジェクトファイルC−objを生成する(S3)。
また、コンパイル処理部20は、残余ブロックFrをコンパイルし、オブジェクトファイルF−objを生成する(S4)。なお、ステップS3とS4の順序は入れ替えてもよい。次いで、リンク処理部22は図5に示すように、オブジェクトファイルF−objと修正オブジェクトファイルC−objをリンクし、実行プログラムPを生成する(S5)。
以上の手順により、目的の実行プログラムPを製造し、この実行プログラムPをコンピュータシステム12にインストールすることによりコンピュータシステム12のアップデートを行う。
その後は、この実行プログラムPを用いて、鉄心の各パラメータ構成を計算する。しかし、また暫く経過して、次に、新たな修正箇所として、例えばソースプログラムブロックF4の修正の必要が生じた場合には、ソースプログラムブロックF4について、修正対象ブロックF3について行った上記処理と同様の処理を行う。以後、同様の場合には順次修正ブロックを切り出し、上記の処理を行うことにより順次コンピュータシステム12をアップデートすることができる。
上記に説明した実施形態に係るプログラムの製造方法、及び、コンピュータシステム12のアップデート方法によれば、以下の効果を奏する。
実施形態によれば、ソースプログラム10のうち、修正が必要な修正対象ブロックF3を切り出し、この部分だけ第2プログラム言語で書き換え及び必要部分の修正を行うことにより修正ブロックC3を生成する。残余ブロックFrは第1プログラム言語のままコンパイル処理部20によりコンパイルし、修正ブロックC3は第2プログラム言語でコンパイルされる。そして、生成されたオブジェクトファイルをリンクさせることにより、目的の実行プログラムPを取得する。従って、第1プログラム言語を使用することはできないが、第2プログラム言語を使用可能な技術者が、ソースプログラム10のうち必要部分のみを修正し、目的の実行プログラムPを生成することが可能となる。また、この実行プログラムPを用いてコンピュータシステム12をアップデートすることができるため、コンピュータシステム12を延命することができる。
ソースプログラム10全体の使用言語の更新を完了するには相当の時間を要するが、上記の構成によれば、修正が不要な部分は第1プログラム言語のままで残し、修正が必要な部分のみを第2プログラム言語に置き換えて、第1プログラム言語部分と第2プログラム言語部分が混在した状態でコンパイルすることにより所望の実行ファイルを得ることができる。これにより、日常の処理を止めることなく、プログラム、及び、コンピュータシステムを順次アップデートしていくことが可能となる。
以上のように、実施形態は、コンピュータシステム12として、変圧器に用いられる鉄心の各種設計値を計算するための変圧器電気設計システムを想定して説明したがこれに限定されることはない。発明の趣旨を逸脱しない範囲で、広く様々なコンピュータシステムに適用することができる。
以上のように、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
10…ソースプログラム、12…コンピュータシステム、14…マイクロコンピュータ、16…制御部、18…切り出し修正処理部、20…コンパイル処理部、22…リンク処理部、24…表示部、26…入力部、28…格納部、F1〜Fn…ソースプログラムブロック、F3…修正対象ブロック、C3…修正ブロック、C−obj…修正オブジェクトファイル、Fr…残余ブロック、F−obj…オブジェクトファイル、P…実行プログラム、

Claims (2)

  1. CPU及び入力部を有するコンピュータシステムの前記CPUに実行されるコンピュータプログラムであって、
    Fortranで記述された複数のソースプログラムブロックを有するソースプログラムの中から前記入力部への入力に応じて修正の対象となる前記ソースプログラムブロックを修正対象ブロックとして切り出し、切り出された前記修正対象ブロックをC言語に書き換えた後、前記入力部への入力に応じて前記修正対象ブロックの内容を修正して修正ブロックを生成する切り出し修正処理と、
    前記修正ブロックをコンパイルして修正オブジェクトファイルを生成するとともに、前記ソースプログラムのうち前記修正対象ブロックを除いた部分を残余ブロックとし前記残余ブロックをコンパイルしてオブジェクトファイルを生成するコンパイル処理と、
    前記オブジェクトファイルと前記修正オブジェクトファイルとをリンクして実行プログラムを生成するリンク処理と、
    を前記CPUに実行させることができるコンピュータプログラム。
  2. CPU及び入力部と、
    Fortranで記述された複数のソースプログラムブロックを有するソースプログラムの中から修正の対象となる前記ソースプログラムブロックを修正対象ブロックとして切り出し、切り出された前記修正対象ブロックをC言語に書き換えた後、前記入力部からの入力に応じて前記修正対象ブロックの内容を修正して修正ブロックを生成する切り出し修正処理部と、
    前記修正ブロックをコンパイルして修正オブジェクトファイルを生成するとともに、前記ソースプログラムのうち前記修正対象ブロックを除いた部分を残余ブロックとし前記残余ブロックをコンパイルしてオブジェクトファイルを生成するコンパイル処理部と、
    前記オブジェクトファイルと前記修正オブジェクトファイルとをリンクして実行プログラムを生成するリンク処理部と、
    を備えるコンピュータシステム。
JP2017067750A 2017-03-30 2017-03-30 コンピュータプログラム及びコンピュータシステム Active JP6917169B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017067750A JP6917169B2 (ja) 2017-03-30 2017-03-30 コンピュータプログラム及びコンピュータシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017067750A JP6917169B2 (ja) 2017-03-30 2017-03-30 コンピュータプログラム及びコンピュータシステム

Publications (2)

Publication Number Publication Date
JP2018169887A JP2018169887A (ja) 2018-11-01
JP6917169B2 true JP6917169B2 (ja) 2021-08-11

Family

ID=64018856

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017067750A Active JP6917169B2 (ja) 2017-03-30 2017-03-30 コンピュータプログラム及びコンピュータシステム

Country Status (1)

Country Link
JP (1) JP6917169B2 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05346858A (ja) * 1992-06-12 1993-12-27 Sony Corp プログラム編集方法
JPH06282443A (ja) * 1993-03-26 1994-10-07 Sony Corp プログラム編集方法と装置
JPH11195001A (ja) * 1997-12-26 1999-07-21 Nec Corp Cobolアプリケーションとアプレットとの連携方式及びコンピュータ読み取り可能な記録媒体
US6314557B1 (en) * 1998-12-14 2001-11-06 Infineon Technologies Development Center Tel Aviv Ltd Hybrid computer programming environment
JP4009517B2 (ja) * 2002-10-18 2007-11-14 株式会社アドバンテスト プログラム開発支援装置およびコンパイル方法
JP4529368B2 (ja) * 2003-04-08 2010-08-25 株式会社富士通ゼネラル 冷媒の熱物性の算出プログラム、この算出プログラムを利用した熱交換量を演算するためのシミュレーションプログラムおよびこれらのプログラムを記録した記録媒体
JP5813600B2 (ja) * 2012-08-29 2015-11-17 京セラドキュメントソリューションズ株式会社 アプリケーション開発装置及びアプリケーション開発ツール

Also Published As

Publication number Publication date
JP2018169887A (ja) 2018-11-01

Similar Documents

Publication Publication Date Title
Ku et al. Mixed integer programming models for job shop scheduling: A computational analysis
Katsifodimos et al. Apache flink: Stream analytics at scale
US11194550B2 (en) System and method for migrating legacy software to a system common architecture
CN105446712B (zh) 一种应用程序缺陷修补方法及装置
Akeb et al. An augmented beam search-based algorithm for the circular open dimension problem
Brown et al. Cost-directed refactoring for parallel Erlang programs
CN107111505B (zh) 用于在并行异构系统上执行算法的系统和方法
WO2018047620A1 (ja) 実行可能プログラム作成装置、実行可能プログラム作成方法、および、実行可能プログラム作成プログラム
Aledo et al. Parallel discrete dynamical systems on independent local functions
JP6917169B2 (ja) コンピュータプログラム及びコンピュータシステム
US20230107200A1 (en) Program generation apparatus, program generation method and program
JP2019219741A5 (ja)
JP6481515B2 (ja) 情報処理装置、コンパイル方法、及びコンパイラプログラム
JP6205934B2 (ja) プログラマブルコントローラシステム、その支援装置、プログラム
JP6541902B1 (ja) プログラム管理システム、プログラミング支援装置、プログラム管理方法、およびプログラミング支援プログラム
US9286196B1 (en) Program execution optimization using uniform variable identification
Mosaner Machine learning to ease understanding of data driven compiler optimizations
CN109933758A (zh) 图表的展示方法、装置、电子设备和计算机可读存储介质
JP5205988B2 (ja) Plcのグローバル変数定義方式
WO2016122340A1 (en) Systems and methods for constructing distributed programs
JP2006092106A (ja) 予測装置及び予測方法並びにプログラム
KR101527578B1 (ko) 소프트웨어 개발 장치 및 그 방법
Takizawa et al. A customizable auto-tuning scenario with user-defined code transformations
Dodt et al. Improved framework for the maintenance of the JET intershot analysis chain
JP2016081097A (ja) プログラマブルコントローラシステム、その支援装置、プログラマブルコントローラ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191219

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210323

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210517

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: 20210629

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210719

R150 Certificate of patent or registration of utility model

Ref document number: 6917169

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250