JPH05289858A - Software synthesizing device - Google Patents

Software synthesizing device

Info

Publication number
JPH05289858A
JPH05289858A JP9286592A JP9286592A JPH05289858A JP H05289858 A JPH05289858 A JP H05289858A JP 9286592 A JP9286592 A JP 9286592A JP 9286592 A JP9286592 A JP 9286592A JP H05289858 A JPH05289858 A JP H05289858A
Authority
JP
Japan
Prior art keywords
parts
program
software
synthesizing
skeleton
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
JP9286592A
Other languages
Japanese (ja)
Inventor
Jiro Okayasu
二郎 岡安
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 Corp
Original Assignee
Toshiba 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 Corp filed Critical Toshiba Corp
Priority to JP9286592A priority Critical patent/JPH05289858A/en
Publication of JPH05289858A publication Critical patent/JPH05289858A/en
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

PURPOSE:To generate a program which can synthesize program parts operated periodically by integrating them into an optimal position, and satisfies a request in respect of both the function and the performance. CONSTITUTION:In the device constituted so that by using providing means 3, 4 for providing parts of an event and an operation by a software(sw) and program(PG) parts operated periodically, necessary parts are obtained from the providing means by analyzing (sw) specifications described in accordance with a state transition model containing a time conception, and also, with regard to the contents of the (sw) specifications, the skeleton of control structure is formed, and moreover, a PG is synthesized by using the skeleton concerned and the parts obtained from the providing means by a synthesizing means 6, this device is constituted so that to the PG parts operated periodically, a period required for its operation and information of an execution time derived by a utilized processing routine are added, and provided with an optimizing means 1 for obtaining an optimal combination for integrating parts for satisfying an operating condition requested by the parts, based on the operation period and information of the execution time with regard to the PG parts to be used, and to the synthesizing means, a function for synthesizing the parts obtained from the providing means by an optimal combination is added.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は機器制御用のソフトウェ
アを生成するソフトウェア合成装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a software synthesizer for generating software for controlling equipment.

【0002】[0002]

【従来の技術】ソフトウェアによる機器制御分野ではハ
ードウェアの制約からOS(オペレーション・システ
ム)を利用することは困難であり、従って、プログラム
の構造は作成者によって様々なものとなっていた。
2. Description of the Related Art In the field of device control by software, it is difficult to use an operating system (OS) due to hardware restrictions, and therefore the structure of programs varies depending on the creator.

【0003】このため、ソフトウェアの開発にあたっ
て、一貫して支援する方法はなく、開発は個人の能力に
依存していた。このような状況を打開すべく、プロセス
の挙動を表現する状態遷移モデルによって仕様を記述す
ることと、予め用意されたプログラム部品(各種事象を
事象別に表わしたソフトウェアの事象部品および各種動
作を動作別に表わしたソフトウェアの動作部品)をこの
状態遷移モデルに合わせて合成することにより、仕様を
直接解釈・実行してプログラムを生成するソフトウェア
合成装置が提案され、利用されている。
Therefore, there is no consistent support for software development, and the development depends on individual ability. In order to overcome such a situation, the specifications are described by a state transition model that expresses the behavior of the process, and the prepared program parts (event parts of software that represent various events by event and various operations by operation) A software synthesizer for directly interpreting and executing specifications to generate a program is proposed and used by synthesizing the operation parts of the represented software) according to this state transition model.

【0004】このソフトウェア合成装置は与えられたソ
フトウェアの仕様を解釈し、その仕様のイベント(事
象)やアクション(動作)に対応したプログラム部品を
データベースより抽出して合成することよりプログラム
を生成するものであるが、これらのプログラム部品が動
作するためのサービスを実現する、周期的に動作するプ
ログラム部品、例えば、入出力の管理や時間のカウント
などは、要求される動作の周期に応じてそれぞれ適宜な
周期フローに組み込まれる必要がある。
This software synthesizing apparatus interprets the specifications of given software and extracts program components corresponding to events (actions) and actions (actions) of the specifications from a database and synthesizes them to generate a program. However, periodically operating program components that realize services for operating these program components, such as input / output management and time counting, are appropriately set according to the required operation period. Need to be integrated into a periodic flow.

【0005】このようなプログラム部品の組み込みは、
周期要求を満たし、且つ、全体としてのフローの釣合を
考慮して行なわねばならず、従って、これは人手に頼る
ことになるが、仕様が複雑になると、すなわち、プログ
ラム部品の数が増えると、作業量そのものが増えるとと
もに、フローの釣合をとる最適化作業が複雑度を増し、
十分な最適化を行なうためには多大な労力と時間を要す
る。
The incorporation of such program parts is
It has to meet the periodic requirement and consider the balance of the flow as a whole. Therefore, this requires manual labor, but if the specifications become complicated, that is, the number of program parts increases. , The amount of work itself increases, the complexity of optimization work to balance the flow,
A great deal of labor and time are required to perform sufficient optimization.

【0006】[0006]

【発明が解決しようとする課題】状態遷移モデルに従っ
てソフトウェアの仕様を記述したものを与えると、予め
用意された各種のプログラム部品の中から必要なものを
取り出してこれらをこの状態遷移モデルに合わせて合成
して、プログラムを生成する装置がある。
When a software specification is given according to a state transition model, necessary ones are taken out from various program parts prepared in advance, and these are matched with this state transition model. There is a device that synthesizes and generates a program.

【0007】一方、周期的に動作するプログラム部品、
例えば、入出力の管理や時間のカウントなどは、要求さ
れる動作の周期に応じてそれぞれ適宜な周期フローに組
み込まれる必要がある。
On the other hand, program parts that operate periodically,
For example, input / output management, time counting, and the like need to be incorporated in appropriate periodic flows according to the required operation period.

【0008】このようなプログラム部品の組み込みは、
周期要求を満たし、且つ、全体としてのフローの釣合を
考慮して行なわねばならず、従って、これは人手に頼る
ことになる。
The incorporation of such program parts is
It has to meet the periodic requirements and take into account the balance of the flows as a whole, and thus this is manpower dependent.

【0009】従って、従来の技術では、イベント、アク
ションへのサービスを実現するための、周期的に動作す
るプログラム部品を、どの周期的処理フローに組み込む
かを決定することは、プログラム部品の数が多い場合、
非常に複雑な作業となっていた。
Therefore, in the prior art, the number of program components is used to determine which periodic processing flow is to incorporate a program component that operates periodically to realize a service for an event or an action. If there are many,
It was a very complicated task.

【0010】しかも、プログラム部品の組み込みが適正
でないと、動作周期が要求を満たさずに、機能を実現で
きなかったり、あるいは各周期的フローの釣合がとれ
ず、負荷が集中し、性能の点で不十分なプログラムにな
ってしまう。
Moreover, if the program parts are not properly incorporated, the operation cycle does not meet the requirements and the function cannot be realized, or the respective periodic flows cannot be balanced, the load is concentrated, and the performance is reduced. Will result in an insufficient program.

【0011】そこで、この発明の目的とするところは、
周期的に動作するプログラム部品を自動的に最適な位置
を組み込んで合成することができ、従って、機能面、性
能面ともに要求を満たすプログラムを生成可能なソフト
ウェア合成装置を実現することにある。
Therefore, the object of the present invention is to
It is an object of the present invention to realize a software synthesizing device capable of automatically synthesizing program components that operate periodically and incorporating optimum positions, and thus generating a program that satisfies requirements in terms of both function and performance.

【0012】[0012]

【課題を解決するための手段】上記目的を達成するた
め、本発明は次のように構成する。すなわち、各種事象
を事象別に表わしたソフトウェアの事象部品および各種
動作を動作別に表わしたソフトウェアの動作部品および
周期動作するプログラム部品とを提供する部品提供手段
を用い、ソフトウェアの仕様を時間の概念を含む状態遷
移モデルに従って記述したソフトウェア仕様をもとに、
これを解析して必要な部品を部品提供手段から得、ま
た、前記ソフトウェア仕様の内容について、制御構造の
骨格を形成すると共に、プログラム合成手段によりこの
骨格と前記部品提供手段から得た部品を用いてプログラ
ムを合成する装置において、周期動作するプログラム部
品には、その動作に要求される動作周期情報と、そのプ
ログラム部品が利用される処理ルーチンでの要求される
実行時間情報を付加すると共に、また、使用する周期動
作するプログラム部品について、前記動作周期情報およ
び実行時間情報をもとに、部品の動作周期およびその部
品が利用される処理ルーチンの要求される動作時間の条
件を満たす部品組み込みの組合せを探索する最適化手段
を設け、プログラム合成手段には前記最適組み合わせ条
件下での組み合わせにより前記部品提供手段から得た部
品をプログラム合成する機能を付加した構成とする。
In order to achieve the above object, the present invention is configured as follows. That is, the software specification includes a concept of time, using a part providing means for providing event parts of software representing various events by event, operation parts of software representing various operations by operation, and program parts that perform cyclic operation. Based on the software specifications described according to the state transition model,
By analyzing this, the necessary parts are obtained from the part providing means, and the skeleton of the control structure is formed with respect to the contents of the software specification, and this skeleton and the parts obtained from the part providing means are used by the program synthesizing means. In a device for synthesizing a program by adding operation cycle information required for the operation and execution time information required for a processing routine in which the program part is used, A combination of built-in parts that satisfy the operating cycle of the part and the operating time required by the processing routine in which the part is used, based on the operating cycle information and the execution time information The optimization means for searching for A structure in which an additional function of program synthesizing more components obtained from said component providing means.

【0013】[0013]

【作用】このような構成において、各種事象を事象別に
表わしたソフトウェアの事象部品および各種動作を動作
別に表わしたソフトウェアの動作部品および周期動作す
るプログラム部品とを提供する部品提供手段を用い、ソ
フトウェアの仕様を時間の概念を含む状態遷移モデルに
従って記述したソフトウェア仕様をもとに、これを解析
して必要な部品を部品提供手段から得、また、前記ソフ
トウェア仕様の内容について、制御構造の骨格を形成す
ると共に、プログラム合成手段によりこの骨格と前記部
品提供手段から得た部品を用いてプログラムを合成する
が、本装置おいては、周期動作するプログラム部品に
は、その動作に要求される動作周期情報と、そのプログ
ラム部品が利用される処理ルーチンでの要求される実行
時間情報を付加してあり、最適化手段は使用する周期動
作するプログラム部品について、前記動作周期情報およ
び実行時間情報をもとに、部品の動作周期およびその部
品が利用される処理ルーチンの要求される動作時間の条
件を満たす部品組み込みの組合せを探索する。そして、
プログラム合成手段は最適化手段が探索した前記最適組
み合わせ条件下での組み合わせにより、前記部品提供手
段から得た部品をプログラム合成する。
In such a configuration, the software component is provided using the software event component that represents various events by event, the software operation component that represents various operations by action, and the cyclically operating program component. Based on the software specification that describes the specification according to the state transition model including the concept of time, this is analyzed to obtain the necessary parts from the part providing means, and the content of the software specification forms the skeleton of the control structure. At the same time, the program synthesizing means synthesizes the program by using this skeleton and the parts obtained from the parts providing means. And add the required execution time information in the processing routine in which the program part is used. According to the operation cycle information and the execution time information, the optimizing means determines, based on the operation cycle information and the execution time information, the operation cycle condition of the part and the operation time condition of the processing routine in which the part is used. Search for a combination of built-in components that meets the requirements. And
The program synthesizing means program-synthesizes the parts obtained from the parts providing means by the combination under the optimum combination condition searched by the optimizing means.

【0014】本発明においては、制御ソフトウェアの仕
様を状態遷移モデルに基づいて擬似言語により記述して
おき、また、その仕様の中で現われるイベント(事
象)、アクション(動作)をプログラム部品をプログラ
ム部品として実現しておく。そして、周期動作するプロ
グラム部品には前記動作周期情報および実行時間情報を
付加してある。ソフトウェア仕様と部品を用いて仕様の
解釈・実行が行われるが、このとき、イベント、アクシ
ョンを実現するためには、それに対応した部品と、周期
的にサービスを提供するプログラム部品(プロセス部
品)が必要となる。
In the present invention, the specifications of the control software are described in a pseudo language based on the state transition model, and the events (actions) and actions (actions) appearing in the specifications are programmed as program parts. It is realized as. The operation cycle information and the execution time information are added to the program parts that operate cyclically. Interpretation and execution of specifications is performed using software specifications and parts. At this time, in order to realize events and actions, parts corresponding to them and program parts (process parts) that periodically provide services are provided. Will be needed.

【0015】プロセス部品は、予め要求されるサービス
の周期がわかっているので、仕様実行プログラム骨格に
おける、それぞれが要求される周期動作のルーチンに組
み込めば、制御ソフトウェアは合成されることになる
が、各周期処理フローにはそれぞれがどの程度の時間内
に一連の処理を実行し終えなければならないかと云う制
約があり、この制約を満たさなければ、制御ソフトウェ
アとしての機能を果たすことができない。
Since the cycle of the service required for the process component is known in advance, the control software will be synthesized if it is incorporated into the routine of the required periodic operation in the skeleton of the specification execution program. Each cyclic processing flow has a constraint on how long each of them has to finish executing a series of processes, and if it does not satisfy this constraint, it cannot function as control software.

【0016】そこで、本発明では部品に関する要求を満
たし、且つ、周期処理フローの制約を満たすような部品
配置の組合せを探索することにより、プロセス部品の合
成を最適化する。
Therefore, in the present invention, the synthesis of the process parts is optimized by searching for a combination of parts arrangements that satisfies the requirements concerning the parts and the constraints of the periodic processing flow.

【0017】図2にあるように、プロセス部品はそれぞ
れ処理周期の要求に応じてプログラムスケルトン(骨
格)の周期フロー(処理ルーチン)に配置されるわけで
あるが、単に要求を満たすように配慮した場合、組み込
まれるプロセス部品のサイズが大き過ぎて、制約された
時間内にそのフローを終了することができない場合が起
こり得る。
As shown in FIG. 2, the process components are arranged in the cyclic flow (processing routine) of the program skeleton (skeleton) according to the request of the processing cycle. In that case, it may happen that the size of the incorporated process component is too large to finish the flow in a limited time.

【0018】このとき、その制約を満たせないフロー上
のプロセス部品を、サービス周期要求を満たす範囲内
で、すなわち、本来の周期の約数となるより速い周期
で、フロー間の配置移動を行なうことにより、プログラ
ム合成の最適化を実現している。従って、この発明によ
れば、周期的に動作するプログラム部品を自動的に最適
な位置に組み込んで合成することができ、機能面、性能
面ともに要求を満たすプログラム合成が可能なソフトウ
ェア合成装置を実現できる。
At this time, the process components on the flows that cannot meet the constraints are moved between the flows within a range that satisfies the service cycle request, that is, at a faster cycle that is a divisor of the original cycle. This realizes optimization of program composition. Therefore, according to the present invention, it is possible to realize a software synthesizing apparatus capable of automatically synthesizing and synthesizing cyclically operating program parts at optimal positions, and capable of synthesizing programs satisfying both functional and performance requirements. it can.

【0019】[0019]

【実施例】以下、本発明の一実施例について、図面を参
照して説明する。本発明においては、制御ソフトウェア
の仕様を状態遷移モデルに基づいて擬似言語により記述
しておく。また、その仕様の中で現われるイベント、ア
クションをプログラム部品として実現して用意しておく
ことにより、制御ソフトウェアの仕様を解釈し、必要な
プログラム部品を選択して合成することで、仕様を満た
す制御ソフトウェアを生成する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings. In the present invention, the specifications of the control software are described in a pseudo language based on the state transition model. In addition, by implementing the events and actions that appear in the specifications as program parts and preparing them, the specifications of the control software are interpreted, and the necessary program parts are selected and combined to achieve control that meets the specifications. Generate software.

【0020】このとき、制御ソフトウェアの仕様に現わ
れるイベントやアクションを実現するためには、それに
対応したプログラム部品を選んで用いるだけでは不十分
であり、周期的にサービスを提供するプログラム部品が
必要となる。このような部品を以後、プロセス部品と呼
ぶ。
At this time, in order to realize the event or action appearing in the specifications of the control software, it is not enough to select and use a program component corresponding to it, and a program component that periodically provides a service is required. Become. Hereinafter, such a part is referred to as a process part.

【0021】このようなプロセス部品は、予め要求され
るサービスの周期がわかっているので、仕様実行プログ
ラムのスケルトンの、それぞれが要求される周期のフロ
ーに組み込めば、制御ソフトウェアは合成されることに
なる。しかし、各周期処理フローにはそれぞれがどの程
度の時間内に一連の処理を実行し終えなければならない
かと云う制約があり、この制約を満たさなければ、制御
ソフトウェアとしての機能を果たすことができない。
Since the cycle of the service required for such a process component is known in advance, the control software can be synthesized by incorporating it into the flow of the required cycle of the skeleton of the specification execution program. Become. However, each cyclic processing flow has a constraint that it must complete a series of processes within what time, and if it does not satisfy this constraint, it cannot function as control software.

【0022】そこで、本発明では部品に関する要求を満
たし、且つ、周期処理フローの制約を満たすような部品
配置の組合せを計算して探り出し、最適な配置に組み替
えることにより、プロセス部品の合成を最適化する。
Therefore, in the present invention, the synthesis of the process parts is optimized by calculating and finding the combination of the parts arrangements that satisfy the requirements concerning the parts and satisfying the constraint of the periodic processing flow, and rearranging the combination to the optimum arrangement. To do.

【0023】図1は本発明の最適合成装置のシステム構
成を示すブロック図である。図において、1は最適化部
であり、2はソフトウェア仕様、3はイベント、アクシ
ョン部品群、4はプロセス部品群、5は周期処理フロー
情報、6は合成部、7は仕様実行プログラムのスケルト
ン、8は仕様実行プログラムである。
FIG. 1 is a block diagram showing the system configuration of the optimum synthesis apparatus of the present invention. In the figure, 1 is an optimization unit, 2 is a software specification, 3 is an event, an action component group, 4 is a process component group, 5 is periodic processing flow information, 6 is a synthesis unit, 7 is a skeleton of a specification execution program, Reference numeral 8 is a specification execution program.

【0024】ソフトウェア仕様2は生成したいプログラ
ムの仕様を擬似言語で記述したものであり、プログラマ
によって用意される。イベント、アクション部品群3は
各種の事象や動作を個別にプログラムモジュールとして
用意したもので、例えば、擬似言語で記述されたモジュ
ールであり、データベースに検索可能に記憶されてい
る。
The software specification 2 describes the specifications of the program to be generated in a pseudo language and is prepared by the programmer. The event / action component group 3 is prepared by individually preparing various events and actions as program modules, and is, for example, a module described in a pseudo language, and is stored in a database in a searchable manner.

【0025】プロセス部品群4は周期的にサービスを提
供するプログラム部品である各種プロセス部品であり、
これも例えば、擬似言語で記述されたモジュールであっ
て、データベースに記憶されている。
The process component group 4 is various process components that are program components that periodically provide services.
This is also a module described in a pseudo language and is stored in the database.

【0026】仕様実行プログラムスケルトン7は状態遷
移に基づくソフトウェア仕様の記述を、例えば、手続き
型のプログラムコードに変換する処理を行うことによっ
て形成された制御構造の骨格、あるいはソフトウェア仕
様から制御に関する仕様を状態遷移表として構成したも
のであり、上記ソフトウェア仕様2を用いてプログラム
コード変換処理したものをスケルトンとして別途与える
か、あるいはプログラムコード変換処理の機能手段を用
意してこれより得るようにする。周期処理フロー情報5
は組み込み先である周期処理フローの要求される実行時
間の情報を保持したものである。
The specification execution program skeleton 7 generates a skeleton of a control structure formed by converting a description of a software specification based on a state transition into a procedural program code, or a specification related to control from a software specification. It is configured as a state transition table, and the program code conversion processing using the software specification 2 is separately provided as a skeleton, or a functional means for program code conversion processing is prepared and obtained. Periodic processing flow information 5
Holds information on the required execution time of the periodic processing flow that is the installation destination.

【0027】最適化部1は擬似言語により記述されて与
えられたソフトウェア仕様2を解読して、このソフトウ
ェア仕様2から必要なイベント、アクションを求め、そ
れに対応したプログラム部品をイベント、アクション部
品群3から検索すると共に、検索した部品を実現するた
めのサービスを提供するプロセス部品をプロセス部品群
4から検索するものである。
The optimizing unit 1 decodes a given software specification 2 described in a pseudo language, obtains necessary events and actions from the software specification 2, and determines program parts corresponding to the events and actions as event and action parts group 3 The process parts group 4 is searched for a process part that provides a service for realizing the searched part.

【0028】プロセス部品群4には各部品周期要求が記
述されており、この要求情報と周期処理フロー情報5か
ら得た周期処理フローに関する実行時間制約情報を用い
て最適化部1は実行時間制約を満たす組み合わせとなる
ようにプロセス部品を配置すると云った最適化を行な
う。合成部6は仕様実行プログラムスケルトン7と、各
種部品を用いて、仕様実行プログラム8の合成が行なわ
れる。
Each part cycle request is described in the process part group 4, and the optimizing unit 1 uses the execution time restriction information based on the request information and the execution time restriction information on the cyclic processing flow obtained from the cyclic processing flow information 5. Optimization is performed by arranging the process parts so that the combination satisfies the above conditions. The synthesis unit 6 synthesizes the specification execution program 8 by using the specification execution program skeleton 7 and various parts.

【0029】このような構成において、擬似言語により
記述された制御用プログラムのソフトウェア仕様2を最
適化部1に与えると、最適化部1はこの与えられたソフ
トウェア仕様2を解読して、このソフトウェア仕様2か
ら必要なイベント、アクションを求め、それに対応した
プログラム部品をイベント、アクション部品群3から検
索すると共に、検索した部品を実現するためのサービス
を提供するプロセス部品をプロセス部品群4から検索す
る。
In such a configuration, when the software specification 2 of the control program written in the pseudo language is given to the optimizing unit 1, the optimizing unit 1 decodes the given software specification 2 and the software The required event and action are obtained from the specification 2, and the corresponding program part is searched from the event and action part group 3 and the process part that provides the service for realizing the searched part is searched from the process part group 4. ..

【0030】そして、最適化部1はプロセス部品群4に
各部品周期要求が記述されていることから、この要求情
報と周期処理フロー情報5から得た周期処理フローに関
する実行時間制約情報を用いて、実行時間制約を満たす
組み合わせとなるようにプロセス部品を配置すると云っ
た最適化を行なう。
Since each part cycle request is described in the process part group 4, the optimizing unit 1 uses the request time information and the execution time constraint information about the cycle process flow obtained from the cycle process flow information 5. The optimization is performed by arranging the process parts so that the combination satisfies the execution time constraint.

【0031】最適化が終わると次は合成部6において仕
様実行プログラムスケルトン7と、各種部品を用いて、
仕様実行プログラム8の合成を行なう。すなわち、合成
部6は仕様実行プログラムの骨格に対して各種部品を組
み込み、プログラムを生成する。
After the optimization is completed, next, in the synthesizing section 6, the specification execution program skeleton 7 and various parts are used.
The specification execution program 8 is synthesized. That is, the synthesis unit 6 incorporates various parts into the skeleton of the specification execution program to generate the program.

【0032】図2は最適化部1の動作を概念的に示した
ものである。図を参照して説明すると、プロセス部品群
4の中から検索されたプロセス部品は、それぞれの周期
要求に従って、まず、各フローに配置される。
FIG. 2 conceptually shows the operation of the optimizing unit 1. Explaining with reference to the figure, the process components retrieved from the process component group 4 are first arranged in each flow according to their respective cycle requests.

【0033】次にフローの制約の満たされない部分を解
消するために、フロー間で周期の速い方向にプログラム
部品を移動しながら、周期要求と実行時間制約を満たす
配置を探してゆく。
Next, in order to eliminate the portion where the flow constraint is not satisfied, the program parts are moved in the direction of faster cycle between the flows, and an arrangement that satisfies the cycle request and the execution time constraint is searched for.

【0034】図3のフローチャートを用いて最適化部1
における最適化処理のアルゴリズム例を説明するが、こ
れと異なる処理を行なって、別の配置を得ることも可能
である(仕様実行装置の構成に関する評価尺度を定義
し、精密な意味での最適化を行なうことも可能であ
る)。
The optimizing unit 1 will be described with reference to the flowchart of FIG.
An example of the optimization processing algorithm in the above is explained, but it is also possible to perform a different processing to obtain another arrangement. (Define an evaluation scale for the configuration of the specification execution unit, and perform optimization in a precise sense. It is also possible to do).

【0035】まず、S11で合成の対象となっているプ
ロセス部品全てを、仮想的に要求通りフローの上に配置
する。この段階で全フローの実行時間制約が満たされて
いれば(S12)、最適化は終了する(S13)。
First, all the process parts to be combined in S11 are virtually placed on the flow as requested. If the execution time constraints of all flows are satisfied at this stage (S12), the optimization ends (S13).

【0036】満たされていないときはそれらのフローの
うち、周期のいちばん遅いフローを見つけ出す(S1
4)。見つけたフローが本ソフトウェア合成装置の持つ
周期処理フローの中で最も速いものであったなら(S1
5)、それ以上、どう最適化を行なってもプロセス部品
の周期の要求を満たすことはできないので、最適化不可
能として終了する(S16)。見つけたフローが一番速
いものでなければ、そのフローまだ移動されていない部
品を一つ見つけ(S17)、一レベル速いフローに移動
する(S18)。
If the flow is not satisfied, the flow with the latest cycle is found out from those flows (S1).
4). If the found flow is the fastest in the periodic processing flow of the software synthesizer (S1
5) Further, no matter how the optimization is performed, it is not possible to satisfy the request for the cycle of the process component, and the optimization is terminated (S16). If the found flow is not the fastest flow, one part not yet moved in the flow is found (S17), and the flow moves to the one level faster flow (S18).

【0037】速いレベルの移動ならば、必ず周期要求は
満たされるので、適切さを失うことはない。移動後は全
フローの実行時間制約が満たされているかを再び確認
し、同様の処理を終了まで繰り返す。
If the movement is at a high level, the periodic requirement is always satisfied, so that the suitability is not lost. After the movement, it is confirmed again whether the execution time constraints of all the flows are satisfied, and the same processing is repeated until the end.

【0038】このように、本発明は各種事象を事象別に
表わしたソフトウェアの事象部品および各種動作を動作
別に表わしたソフトウェアの動作部品および周期動作す
るプログラム部品とを提供する部品提供手段を用い、ソ
フトウェアの仕様を時間の概念を含む状態遷移モデルに
従って記述したソフトウェア仕様をもとに、これを解析
して必要な部品を部品提供手段から得、また、前記ソフ
トウェア仕様の内容について、制御構造の骨格を形成す
ると共に、プログラム合成手段によりこの骨格と前記部
品提供手段から得た部品を用いてプログラムを合成する
が、本装置おいては、周期動作するプログラム部品に
は、その動作に要求される動作周期情報と、そのプログ
ラム部品が利用される処理ルーチンでの要求される実行
時間情報を付加してあり、最適化手段は使用する周期動
作するプログラム部品について、前記動作周期情報およ
び実行時間情報をもとに、部品の動作周期およびその部
品が利用される処理ルーチンの要求される動作時間の条
件を満たす部品組み込みの組合せを探索する。そして、
プログラム合成手段は最適化手段が探索した前記最適組
み合わせ条件下での組み合わせにより、前記部品提供手
段から得た部品をプログラム合成すると云うものであ
る。
As described above, the present invention uses the component providing means for providing the event component of software which represents various events by event, the operating component of software which represents various actions by operation, and the program component which periodically operates, by using software. Based on a software specification that describes the specifications of the software according to a state transition model that includes the concept of time, and obtains the necessary parts from the parts providing means by analyzing the software specification. While the program is formed, the program is synthesized by the program synthesizing means using the skeleton and the parts obtained from the parts providing means. Information and the execution time information required for the processing routine in which the program part is used According to the operation cycle information and the execution time information, the optimizing means determines, based on the operation cycle information and the execution time information, the operation cycle condition of the part and the operation time condition of the processing routine in which the part is used. Search for a combination of built-in components that meets the requirements. And
The program synthesizing means program-synthesizes the parts obtained from the parts providing means by the combination under the optimum combination condition searched by the optimizing means.

【0039】本発明においては、制御ソフトウェアの仕
様を状態遷移モデルに基づいて擬似言語により記述して
おき、また、その仕様の中で現われるイベント(事
象)、アクション(動作)をプログラム部品をプログラ
ム部品として実現しておき、周期動作するプログラム部
品には前記動作周期情報および実行時間情報を付加して
ある。ソフトウェア仕様と部品を用いて仕様の解釈・実
行が行われるが、このとき、イベント、アクションを実
現するためには、それに対応した部品と、周期的にサー
ビスを提供するプログラム部品(プロセス部品)が必要
となる。
In the present invention, the specifications of the control software are described in a pseudo language based on the state transition model, and the events (actions) and actions (actions) appearing in the specifications are programmed as program parts. The operation cycle information and the execution time information are added to the cyclically operating program parts. Interpretation and execution of specifications is performed using software specifications and parts. At this time, in order to realize events and actions, parts corresponding to them and program parts (process parts) that periodically provide services are provided. Will be needed.

【0040】プロセス部品は、予め要求されるサービス
の周期がわかっているので、仕様実行プログラム骨格に
おける、それぞれが要求される周期動作のルーチンに組
み込めば、制御ソフトウェアは合成されることになる
が、各周期処理フローにはそれぞれがどの程度の時間内
に一連の処理を実行し終えなければならないかと云う制
約があり、この制約を満たさなければ、制御ソフトウェ
アとしての機能を果たすことができない。
Since the process parts know the required service cycle in advance, the control software will be synthesized by incorporating them into the routines of the required cyclic operation in the skeleton of the specification execution program. Each cyclic processing flow has a constraint on how long each of them has to finish executing a series of processes, and if it does not satisfy this constraint, it cannot function as control software.

【0041】そこで、本発明では部品に関する要求を満
たし、且つ、周期処理フローの制約を満たすような部品
配置の組合せを探索することにより、プロセス部品の合
成を最適化するが、図2に示したように、プロセス部品
はそれぞれ処理周期の要求に応じてプログラムスケルト
ン(骨格)の周期フロー(処理ルーチン)に配置される
わけであるが、単に要求を満たすように配慮した場合、
組み込まれるプロセス部品のサイズが大き過ぎて、制約
された時間内にそのフローを終了することができない場
合が起こり得る。
Therefore, in the present invention, the synthesis of the process parts is optimized by searching for a combination of parts arrangements that satisfies the requirements concerning the parts and the constraints of the periodic processing flow. As described above, each process component is arranged in the cyclic flow (processing routine) of the program skeleton (skeleton) according to the request of the processing cycle.
It may happen that the size of the process components incorporated is too large to finish the flow in a constrained time.

【0042】このとき、その制約を満たせないフロー上
のプロセス部品を、サービス周期要求を満たす範囲内
で、すなわち、本来の周期の約数となるより速い周期
で、フロー間の配置移動を行なうことにより、プログラ
ム合成の最適化を実現している。
At this time, the process components on the flows that cannot meet the constraints are moved between the flows within a range that satisfies the service cycle request, that is, at a faster cycle that is a divisor of the original cycle. This realizes optimization of program composition.

【0043】本発明は、ソフトウェア仕様に応じて必要
な部品を組み込む合成段階で、状態遷移の仕様に現われ
るイベント、アクション部品へのサービスのために周期
的に動作するプログラム部品の組み込み位置を選択する
ことにより合成されるプログラムを、機能,性能の両面
で最適化することを目的としたもので、周期動作するプ
ログラム部品の動作周期要求を予め明記しておくこと
と、組み込み先である周期処理フローの実行時間を要求
を明記しておくことにより、部品の動作周期を満たし、
且つ、周期処理フローの動作時間を満たす部品組み込み
の組合せを自動探索することができ、従って、この発明
によれば、周期的に動作するプログラム部品を自動的に
最適な位置に組み込んで合成することができ、機能面、
性能面ともに要求を満たすプログラム合成が可能なソフ
トウェア合成装置を実現できる。尚、本発明は上記し、
かつ、図面に示す実施例に限定することなく、その要旨
を変更しない範囲内で適宜変形して実施し得るものであ
る。
According to the present invention, at the synthesizing stage in which necessary parts are installed in accordance with the software specifications, an installation position of a program part which operates periodically for servicing an event or action part appearing in the specification of state transition is selected. The purpose is to optimize the program to be synthesized in terms of both function and performance. Specify the operation cycle requirements of the program parts that operate cyclically in advance, and set the cyclic processing flow that is the installation destination. By specifying the execution time of the requirement, the operation cycle of the component is satisfied,
In addition, it is possible to automatically search for a combination of embedded parts that satisfies the operation time of the cyclic processing flow. Therefore, according to the present invention, a program part that operates periodically is automatically installed in an optimum position and synthesized. Is possible, functional side,
It is possible to realize a software synthesizing device capable of synthesizing a program that satisfies requirements in terms of performance. The present invention has been described above,
Moreover, the present invention is not limited to the embodiments shown in the drawings, and can be appropriately modified and carried out within the scope of the invention.

【0044】[0044]

【発明の効果】以上詳述したように、本発明によれば、
要求される機能を満たし、且つ、性能的にも最適な制御
プログラムを自動的に合成することが可能となり、これ
により、制御用ソフトウェア開発の生産性と信頼性が大
幅に向上する。
As described in detail above, according to the present invention,
It is possible to automatically synthesize a control program that satisfies the required functions and is also optimal in terms of performance, which greatly improves the productivity and reliability of control software development.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施例を示すブロック図。FIG. 1 is a block diagram showing an embodiment of the present invention.

【図2】プロセス部品がプログラムスケルトン(骨格)
の周期フロー(処理ルーチン)に配置される様子を説明
するための図。
[Figure 2] Process parts are program skeletons (skeleton)
FIG. 6 is a diagram for explaining a state of being arranged in the periodic flow (processing routine) of FIG.

【図3】最適化処理のアルゴリズム例を説明するフロー
チャート。
FIG. 3 is a flowchart illustrating an algorithm example of optimization processing.

【符号の説明】[Explanation of symbols]

1…最適化部、2…ソフトウェア仕様、3…イベント,
アクション部品群、4…プロセス部品群、5…周期処理
フロー情報、6…合成部、7…仕様実行プログラムスケ
ルトン、8…仕様実行プログラム。
1 ... Optimizer, 2 ... Software specification, 3 ... Event,
Action component group, 4 ... Process component group, 5 ... Periodic processing flow information, 6 ... Synthesizing unit, 7 ... Specification execution program skeleton, 8 ... Specification execution program.

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 各種事象を事象別に表わしたソフトウェ
アの事象部品および各種動作を動作別に表わしたソフト
ウェアの動作部品および周期動作するプログラム部品と
を提供する部品提供手段を用い、ソフトウェアの仕様を
時間の概念を含む状態遷移モデルに従って記述したソフ
トウェア仕様をもとに、これを解析して必要な部品を部
品提供手段から得、また、前記ソフトウェア仕様の内容
について、制御構造の骨格を形成すると共に、プログラ
ム合成手段によりこの骨格と前記部品提供手段から得た
部品を用いてプログラムを合成する装置において、 周期動作するプログラム部品には、その動作に要求され
る動作周期情報と、そのプログラム部品が利用される処
理ルーチンでの要求される実行時間情報を付加すると共
に、 また、使用する周期動作するプログラム部品について、
前記動作周期情報および実行時間情報をもとに、部品の
動作周期およびその部品が利用される処理ルーチンの要
求される動作時間の条件を満たす部品組み込みの組合せ
を探索する最適化手段を設け、 プログラム合成手段には前記最適組み合わせ条件下での
組み合わせにより、前記部品提供手段から得た部品をプ
ログラム合成する機能を付加した構成とすることを特徴
とするソフトウェア合成装置。
1. A software specification part for providing event parts of software representing various events by event, operation parts of software representing various operations by operation, and program parts that perform cyclic operation, and software specifications are set according to time. Based on the software specification described according to the state transition model including the concept, this is analyzed to obtain the necessary parts from the parts providing means, and the contents of the software specifications form the skeleton of the control structure and the program. In a device for synthesizing a program using the skeleton by the synthesizing unit and the component obtained from the component providing unit, the action period information required for the action and the program component are used for the periodically operating program component. In addition to adding the required execution time information in the processing routine, The operation will be program parts,
Based on the operation cycle information and the execution time information, there is provided an optimizing means for searching for a combination of parts that satisfies the operation cycle of the part and the operation time required for the processing routine in which the part is used. A software synthesizing apparatus characterized in that the synthesizing means has a function of synthesizing the program obtained from the component providing means by a program under combination under the optimum combination condition.
JP9286592A 1992-04-13 1992-04-13 Software synthesizing device Pending JPH05289858A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9286592A JPH05289858A (en) 1992-04-13 1992-04-13 Software synthesizing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9286592A JPH05289858A (en) 1992-04-13 1992-04-13 Software synthesizing device

Publications (1)

Publication Number Publication Date
JPH05289858A true JPH05289858A (en) 1993-11-05

Family

ID=14066327

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9286592A Pending JPH05289858A (en) 1992-04-13 1992-04-13 Software synthesizing device

Country Status (1)

Country Link
JP (1) JPH05289858A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008305398A (en) * 2007-06-05 2008-12-18 Intel Corp Dynamic linking and loading of post-processing kernel

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008305398A (en) * 2007-06-05 2008-12-18 Intel Corp Dynamic linking and loading of post-processing kernel
US8843913B2 (en) 2007-06-05 2014-09-23 Intel Corporation Dynamic linking and loading of post-processing kernels
US9465629B2 (en) 2007-06-05 2016-10-11 Intel Corporation Dynamic linking and loading of post-processing kernels

Similar Documents

Publication Publication Date Title
Walker et al. Behavioral transformation for algorithmic level IC design
JP3315857B2 (en) Compiler with general front end and dynamically loadable back end
US20070168984A1 (en) Compiling system, debugging system and program development system
US7913224B2 (en) Device for the automated generation of program code
KR100550733B1 (en) Vehicle-mounted information processing device and storage medium
JPH05289858A (en) Software synthesizing device
US6934947B1 (en) Visual tool for developing real time task management code
EP1327189B1 (en) A method for hierarchical specification of scheduling in system-level simulations
US5765148A (en) Database processing apparatus and database processing method for variable length objects, and computer-readable memory medium for storing database processing program
US20210263715A1 (en) Support device and non-transient computer-readable recording medium recording support program
JPH0667871A (en) Automatic program updating system
JP3019874B2 (en) Program generation / synthesis apparatus and method
JP2001075792A (en) Method for preparing program by automatic preparation of makefile
JP3606114B2 (en) Production control system
JPH0390933A (en) Automatic generating system for software program
Mäki-Turja et al. Towards Efficient Development of Embedded Real-Time Systems, the Component Based Approach.
JPH0969041A (en) Generation support method for software component
JPH04165533A (en) Data information offering device
Bondarev et al. A toolkit for design and performance analysis of real-time component-based software systems
Walker et al. Increasing user interaction during high-level synthesis
JPH06242933A (en) Program document maintenance device
JPH02231638A (en) Message processing method for object directivity data base control system
JPH05289857A (en) Program generating method
JPH0210430A (en) Online program generating system
JPH0588898A (en) Option value setting method, ai tool system and language processing tool system