JPH01259424A - ソフトウエア自動生成装置 - Google Patents

ソフトウエア自動生成装置

Info

Publication number
JPH01259424A
JPH01259424A JP8746288A JP8746288A JPH01259424A JP H01259424 A JPH01259424 A JP H01259424A JP 8746288 A JP8746288 A JP 8746288A JP 8746288 A JP8746288 A JP 8746288A JP H01259424 A JPH01259424 A JP H01259424A
Authority
JP
Japan
Prior art keywords
reduction
level
parts
program
synthesis
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
JP8746288A
Other languages
English (en)
Inventor
Kaoru Murase
薫 村瀬
Teruhiko Hiraishi
平石 輝彦
Tomoo Oku
奥 都茂夫
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP8746288A priority Critical patent/JPH01259424A/ja
Publication of JPH01259424A publication Critical patent/JPH01259424A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、ソフトウェアの設計開発に係シ、特に、既存
ソフトウェア部品を再利用して、部品合成をおこない、
さらに部品合成によって生じる冗長性を解消することに
よシ、メモリサイズの制約の厳しい燦境で動作するプロ
グラムを自動生成するのに適したソフトウェア自動生成
装置に関する。
従来の技術 一般に、部品合成法によるソフトウェア自動生成におい
ては、ソフトウェア部品の再利用性の向上、部品記述の
容易性を追求するため、合成されたプログラムコードに
は、冗長性が含まれる。ところが、従来の部品合成法に
よるソフトウェア自動生成装置では、部品合成によりプ
ログラム自動生成ができることに重点をおき、部品合成
に伴うプログラムコードの冗長性は全く考慮されていな
かった。このため、唯一利用できるプログラムサイズ縄
小化手段としては、合成されたプログラムに対して最適
化コンパイラ、アセンブラを使用するしかな力・った。
発明が解決しようとする課題 ところが、プログラムが動作するコンピュータのメモリ
サイズには限界があり、特にメモリサイズて余裕のない
ワンチップマイコンを利用したシステムにおいては、上
記冗長性の問題が解決されないと、ソフトウェア自動生
成技術の実用化は困難となる。また、最適化コンパイラ
、アセンブラでは、部品合成特有の冗長性に充分に対応
できなかったシ、縮小化のパターンが固定されているた
め、ソフトウェア部品の修正、追加によシ新たに縮小化
したいパターンが生じても、対応できないという問題が
あった。
本発明は上記問題点を解決するために、部品合成によっ
て生じる冗長性を部品単体レベル、複数部品レベル、合
成プログラムレベルの3段階に分けた縮小化処理によっ
て解消し、さらに縮小化のパターンを縮小化ルールとし
て記述し、ルールペースに登録して利用することにより
、縮小化のパターンの逐次変更、追加を可能とし、メモ
リサイズの制約の厳しい環境で動作するプログラムを生
成するソフトウェア自動生成装置を提供することを目的
とする。
課謳を解決するだめの手段 上記目的を達成するために本発明のソフトウェア自動生
成装置は、ソフトウェア部品を蓄積する部品データペー
スと、前記部品データベースから所定のソフトウェア部
品を選択する手段と、前記選択手段によって選択したソ
フトウェア部品を合成する手段と、部品合成をおこなう
過程において、部品単体レベルで生じる冗長性を除去す
る手段と、複数部品間にまたがる冗長性を除去する手段
と、合成プログラム全体の冗長性を除去する手段と。
縮小化のパターンをプロダクションルールの形で記述し
た縮小化ルールを蓄積する縮小化ルールペースを備えた
構成である。
作用 本発明は上記した構成により、ソフトウェア部品をとり
こんで部品合成をおこない、プログラムを自動生成する
過程において、部品単体の合成処理が完了したあと、部
品単体レベルの縮小化処理をおこない、さらに複数部品
の合成結果にまたがる冗長性を、複数部品レベルの縮小
化処理をおこなう。上記縮小化工程を繰り返しおこない
、合成プログラムが生成されたあと、合成プログラムレ
ベルの縮小化処理をおこない、生成さtたプログラムを
出力する。
実施例 第1図は本発明の一実施例を示す構成図である。
第1図において、1は部品合成の対象となる部品が格納
されている部品データベース、2は部品データペーヌか
ら、所定のソフトウェア部品を選択して取り込む部品選
択手段、3は取り込まれたソフトウェア部品のヘッダに
記述されている適合化ルールに基づいて適合化処理をお
こない、さらに部品合成をおこなう部品合成手段、4は
部品レベルの縮小化手段、6は複数部品レベルの縮小化
手段、6は合成プログラムレベルの縮小比手段である。
第2図に、本発明のソフトウェア自動生成装置を用いて
、プログラムを生成する手順の一例を示す。まずステッ
プ21で部品データベースよす所定の部品を取シ込む。
取シ込まれた部品のヘッダに記述されている適合化ルー
ルに基づいて、ステップ22で部品の適合化処理をおこ
なう。適合化された結果をステップ23で部品レベルの
縮小化をおこなう。これにより部品単体の合成結果の冗
長性は除去されることになる。上記ステップ21〜23
の処理をすべての部品にたいして適合化処理が完了する
まで繰り返す。
次に、ステップ25で複数部品レベルの縮小化をおこな
う。これによシ複数部品間にまたがる冗長性は除去され
ることになる。次に、ステップ26で合成プログラムレ
ベルの縮小化をおこなう。これによυプログラム全体に
かかわる冗長性は除去される。最後にステップ2了で実
装プログラムを出力する。
第3図は、部品レベルの縮小化の一実施例である。適合
化された結果をみると、33の処理と36の処理が共通
であり冗長性を含んでいることがわかる。そこで、31
〜36の処理は、36〜39の処理へ縮小化される。
第4図は、複数部品レベルの縮小化の一実施例である。
適合化され、部品レベルの縮小化をなされだ部品1、部
品2をみると、42の処理と44の処理が共通で冗長で
あることがわかる。そこで、処理41〜44は、処理4
5〜47へ縮小化される。
第5図は、合成プログラムレベルの縮小化の一実施例で
ある。合成プログラムCPU情報から61のプログラム
コードjmp(絶対ジャンプ命令)はrjmp(相対ジ
ャンプ命令)に置き換える方がプログラムサイズが小さ
くなることがわかる。
そこで、プログラム51はプログラム62へ縮小化され
る。
第6図に縮小化ルールの一例を示す。縮小化ルールは、
いわゆるプロダクションルールの形で記述され、1fブ
ロツクにはマツチングすべきパターンと特殊条件を論理
演力子で結合して記述する。
thenブロックには置換パターンと特殊処理全記述す
る。マツチング処理、特殊条件、特殊処理は関数呼びだ
しの形成で記述し、それぞれ専用の関数を用意すること
によって実現する。
上記実施例によれば、3段階に分けた縮小化手段を用い
て効果的なプログラムサイズの削減が可能となるととも
に、ユーザは縮小化ルールを追加変更することにより随
時、合成するプログラムに応じてプログラムサイズ縮小
化処理を変更することが可能となる。
発明の効果 以」二、実施例から明らかなように本発明は、ソフトウ
ェア開発の初心者でも専門家が作成した縮小化ルールを
利用して効率のよいプログラムを作成できるようなプロ
グラム自動生成装置を提供するものであり、部品合成法
によって自動合成されるプログラムに対して部品レベル
、複数部品レベル、合成プログラムレベルの3段階の縮
小化処理をおこなうことにより合成されたプログラムを
効率化し実用化可能とする優れた効果をもたらすもので
ある。
【図面の簡単な説明】
第1図は本発明の一実施例のソフトウェア自動生成装置
のブロック図、第2図は本装置を用いてプログラムを自
動生成する手順を示すフローチャート・第3図は部品レ
ベルの縮小化の一例を示すフローチャート、第4図は複
数部品レベルの縮小化の一例を示すブロック図、第5図
は合成プログラムレベルの縮小化の一例を示す説明図、
第6図は縮小化ルールの一例を示す説明図である。 1・・・・・・部品データベース、2・・・・・・部品
選択手段、3・・・・・・部品合成手段、4・・・・・
・部品レベルの縮小化手段、5・・・・・・複数部品レ
ベルの縮小化手段、6・・・・・・合成プログラムレベ
ルの縮小化手段、7・・・・・・縮小化ルールペース、
8・・・・・・入出力装置。 代理人の氏名 弁理士 中 尾 敏 男 ほか1名第1
図 第2図 第3図 1 小 1ヒ 豹 ) (糊ホ化債) 第4図 縮、l・化1女のプロララム 第5図 第6図 if (Patterncmp  ( “) then  (Patternset (J N C[
p。b [)ob、lJegu   $

Claims (1)

    【特許請求の範囲】
  1. プログラムコードと合成ルールから成る既存のソフトウ
    ェア部品を蓄積する部品データベースと、前記部品デー
    タベースから所定のソフトウェア部品を選択する手段と
    、前記選択手段によって選択したソフトウェア部品を合
    成する手段と、部品合成をおこなう過程において、部品
    単体レベルで生じる冗長性を除去する手段と、複数部品
    間にまたがる冗長性を除去する手段と、合成プログラム
    全体の冗長性を除去する手段と、縮小化のパターンをプ
    ロダクションルールの形で記述した縮小化ルールを蓄積
    する縮小化ルールベースを備えたことを特徴とするソフ
    トウェア自動生成装置。
JP8746288A 1988-04-08 1988-04-08 ソフトウエア自動生成装置 Pending JPH01259424A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8746288A JPH01259424A (ja) 1988-04-08 1988-04-08 ソフトウエア自動生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8746288A JPH01259424A (ja) 1988-04-08 1988-04-08 ソフトウエア自動生成装置

Publications (1)

Publication Number Publication Date
JPH01259424A true JPH01259424A (ja) 1989-10-17

Family

ID=13915548

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8746288A Pending JPH01259424A (ja) 1988-04-08 1988-04-08 ソフトウエア自動生成装置

Country Status (1)

Country Link
JP (1) JPH01259424A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009181437A (ja) * 2008-01-31 2009-08-13 Casio Comput Co Ltd データ処理装置及びプログラム
US7650585B1 (en) * 2007-09-27 2010-01-19 Xilinx, Inc. Implementing a user design in a programmable logic device with single event upset mitigation
JP2013137838A (ja) * 2013-04-11 2013-07-11 Casio Comput Co Ltd データ処理装置及びプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7650585B1 (en) * 2007-09-27 2010-01-19 Xilinx, Inc. Implementing a user design in a programmable logic device with single event upset mitigation
JP2009181437A (ja) * 2008-01-31 2009-08-13 Casio Comput Co Ltd データ処理装置及びプログラム
JP2013137838A (ja) * 2013-04-11 2013-07-11 Casio Comput Co Ltd データ処理装置及びプログラム

Similar Documents

Publication Publication Date Title
US5826088A (en) System for protecting computer software written in interpreted language
JP3150611B2 (ja) パターン発生装置
CN110673851B (zh) 一种智能合约运行方法、装置及电子设备
JPH01259424A (ja) ソフトウエア自動生成装置
CN116775599A (zh) 数据迁移方法、装置、电子设备、存储介质
CN109697216A (zh) 交易信息处理方法、装置及***
JPH03240837A (ja) デバッグ情報生成装置
Newman et al. Efficient storage, computation, and exposure of computer-generated holograms by electron-beam lithography
JPH0210429A (ja) プログラム構造化処理方式
JPH04172529A (ja) データ中心型ソフトウエア部品によるプログラム自動生成方式
JPH1063552A (ja) コード変換システム
JPH04255027A (ja) コード自動生成装置
JP3232717B2 (ja) 回路記述合成装置
JPH0778100A (ja) データ変換処理装置
JPH03127140A (ja) プログラム動的生成方式
JPH07334399A (ja) 固定長レコード向けコード変換方式
JP3021697B2 (ja) プログラミング言語における例外処理方法
JPH05216926A (ja) エンジニアリングワークステーション装置
JP2003022180A (ja) マイクロコンピュータおよびその動作方法
JPH0390935A (ja) エキスパートシステム構築ツール
JPH1063746A (ja) 表データ自動生成装置
JP2001236243A (ja) デバッグ方法、および、デバッグ用プログラムを記録した記録媒体
JPH0359726A (ja) プログラム単位一括翻訳方式
JP2003140908A (ja) コード変換装置並びにコード変換プログラム
JPH04153741A (ja) 被デバッグプログラムのデバッグにおける逆方向実行方式