JPH11338684A - State transition movement system, its generating method and computer readable medium for recording the same system - Google Patents

State transition movement system, its generating method and computer readable medium for recording the same system

Info

Publication number
JPH11338684A
JPH11338684A JP14624798A JP14624798A JPH11338684A JP H11338684 A JPH11338684 A JP H11338684A JP 14624798 A JP14624798 A JP 14624798A JP 14624798 A JP14624798 A JP 14624798A JP H11338684 A JPH11338684 A JP H11338684A
Authority
JP
Japan
Prior art keywords
state
transition
event
component
sequence
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
JP14624798A
Other languages
Japanese (ja)
Inventor
Nobuyuki Ikeda
田 信 之 池
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 JP14624798A priority Critical patent/JPH11338684A/en
Publication of JPH11338684A publication Critical patent/JPH11338684A/en
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a state transition movement system which efficiently develops a new state transition movement system by reusing an existing state transition movement system. SOLUTION: A sequence control system is provided with at least two sequence parts 1 to realize partial movement specifications that are made by dividing a representable movement specification as a state transition diagram, and a connecting part 2 that connects the sequence parts 1. The part 2 switches activation of the parts 1 based on an external event. Further, the part 2 allocates the externally given event to either of each sequence part 1 when the event does not accompany activation switching between the parts 1 and switches activation of the parts 1 and also changes the internal state of the parts 1 when the event accompanies activation switching between the parts 1.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は状態遷移図として表
現可能な動作仕様を実現するシーケンス制御システム等
の状態遷移動作システムに係り、とりわけ既存の状態遷
移動作システムを再利用して新たな状態遷移動作システ
ムを効率的に開発することを可能にする状態遷移動作シ
ステム、その生成方法および状態遷移動作システムを記
録したコンピュータ読み取り可能な記録媒体に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a state transition operation system such as a sequence control system for realizing an operation specification that can be expressed as a state transition diagram, and more particularly to a new state transition by reusing an existing state transition operation system. The present invention relates to a state transition operation system that enables efficient development of an operation system, a generation method thereof, and a computer-readable recording medium recording the state transition operation system.

【0002】[0002]

【従来の技術】従来から、TV制御システム等のように
外部からの入力や内部状態の変化に起因した一連の動作
を制御するシステムとしてシーケンス制御システムが知
られている。このようなシーケンス制御システムの動作
仕様は通常、状態遷移図により記述することができる。
状態遷移図は、状態間の遷移、遷移を引き起こす入力
(イベント)や遷移を引き起こす条件、および遷移に伴
う動作(アクション)等を図式的に表現したものであ
る。なお、状態遷移図により記述される動作仕様を実現
するシーケンス制御システムはコンピュータプログラム
により実装することができる。
2. Description of the Related Art Conventionally, a sequence control system has been known as a system for controlling a series of operations caused by an external input or a change in an internal state, such as a TV control system. The operation specification of such a sequence control system can usually be described by a state transition diagram.
The state transition diagram schematically represents transitions between states, inputs (events) that cause the transition, conditions that cause the transition, and actions (actions) that accompany the transition. Note that a sequence control system that implements the operation specifications described by the state transition diagram can be implemented by a computer program.

【0003】ところで、コンピュータプログラムにより
シーケンス制御システムを実装する場合には、過去に開
発したシーケンス制御システムの動作仕様に新たに機能
を追加してその動作仕様を拡張するという要求がしばし
ば発生する。従来においては、このような場合、状態間
の遷移等を実現するシーケンス制御プログラムの内部を
直接変更することにより、新たなシーケンス制御プログ
ラムを作成していた。
[0003] When a sequence control system is implemented by a computer program, there is often a need to add a new function to the operation specifications of the sequence control system developed in the past to extend the operation specifications. Conventionally, in such a case, a new sequence control program is created by directly changing the inside of the sequence control program that realizes transition between states and the like.

【0004】図23乃至図26は従来のシーケンス制御
システム(TV制御システム)の開発方法を説明するた
めの図である。図23はTV制御システムの動作仕様を
記述した状態遷移図である。図23において、角の丸い
2つのボックスは、TV制御システムがとりうる“電源
OFF”と“選局処理”という2つの状態を表してい
る。また、ボックスをつなぐ矢印は状態間の遷移を表
し、矢印に添えられた記述はその遷移を発生させるイベ
ントとその遷移に伴って実行されるアクションとを表し
ている。なおここでは、3つの遷移が存在している。
“電源OFF”状態から“選局処理”状態への遷移は
“電源ボタン入力”イベントを受け付けたときに発生
し、同時にアクションとして“電源リレーオン”の動作
が行われる。また、“選局処理”状態から“選局処理”
状態への遷移は“選局ボタン入力”イベントを受け付け
たときに発生し、同時にアクションとして“チャンネル
切替え処理”の動作が行われる。さらに、“選局処理”
状態から“電源OFF”状態への遷移は“電源ボタン入
力”イベントを受け付けたときに発生し、同時にアクシ
ョンとして“電源リレーオフ”の動作が行われる。
FIGS. 23 to 26 are views for explaining a method of developing a conventional sequence control system (TV control system). FIG. 23 is a state transition diagram describing operation specifications of the TV control system. In FIG. 23, two boxes with rounded corners represent two states that the TV control system can take, namely, “power off” and “tuning processing”. The arrows connecting the boxes represent transitions between the states, and the description attached to the arrows represents an event that causes the transition and an action executed in accordance with the transition. Here, there are three transitions.
The transition from the “power OFF” state to the “tuning process” state occurs when a “power button input” event is received, and at the same time, an operation of “power relay on” is performed as an action. Also, from the “tuning process” state to the “tuning process”
The transition to the state occurs when the "tuning button input" event is received, and at the same time, the operation of "channel switching processing" is performed as an action. Furthermore, "tuning process"
The transition from the state to the "power OFF" state occurs when the "power button input" event is received, and at the same time, the operation of "power relay off" is performed as an action.

【0005】すなわち、図23に示す状態遷移図には、
電源ボタンと選曲ボタンとを有する単純なTVの動作仕
様が記述されており、電源ボタンの入力によって電源が
入り切りされるとともに、電源ON時には選曲ボタンに
よってチャンネルの切替えが可能であることが示されて
いる。なお、このような動作仕様を実現するシーケンス
制御システムは例えば、プログラミング言語(C++言
語)により図24に示すようなシーケンス制御プログラ
ムとして実装される。
That is, in the state transition diagram shown in FIG.
This document describes the operation specifications of a simple TV having a power button and a music selection button. The power is turned on / off by inputting the power button, and it is shown that the channel can be switched by the music selection button when the power is turned on. I have. Note that a sequence control system that realizes such operation specifications is implemented, for example, as a sequence control program as shown in FIG. 24 in a programming language (C ++ language).

【0006】ここで、このようなシーケンス制御システ
ムに新たに機能を追加してその動作仕様を拡張するとい
う要求が発生した場合を考える。図25は拡張された動
作仕様の一例を記述した状態遷移図である。図25はお
休みタイマボタンを押してから一定時間後に電源をオフ
する“お休みタイマ”の機能が追加された場合を示して
おり、この場合には図23に示す状態遷移図に対して新
たに4つの遷移と2つの状態とが追加されている。ここ
で、“選局処理”状態から“お休みタイマ待ち”状態へ
の遷移は“選局処理”状態で“お休みタイマボタン入
力”イベントを受け付けたときにのみ発生し、同時にア
クションとして“お休みタイマ起動”の動作が行われ
る。また、“お休みタイマ待ち”状態と“時間表示”状
態との間の双方向の遷移は“お休みタイマ待ち”状態で
“表示ボタン入力”イベントを受け付けたときに発生す
る。“お休みタイマ待ち”状態で“表示ボタン入力”イ
ベントを受け付けると、アクションとして“電源OFF
までの時間表示”および“表示タイマ起動”の動作が行
われ、表示タイマのカウントが終了するまでの一定時間
の間、画面上に電源OFFまでの時間が表示される。さ
らに、“お休みタイマ待ち”状態から“電源OFF”状
態への遷移はお休みタイマのカウントが終了した時点で
発生し、アクションとして“電源リレーオフ”の動作が
行われる。
Here, consider a case where a request has been made to add a new function to such a sequence control system to extend its operation specifications. FIG. 25 is a state transition diagram describing an example of the extended operation specification. FIG. 25 shows a case where a function of a "sleep timer" for turning off the power after a certain period of time after pressing the sleep timer button is added. In this case, the state transition diagram shown in FIG. One transition and two states have been added. Here, the transition from the “tuning process” state to the “sleep timer wait” state occurs only when the “sleep timer button input” event is received in the “tuning process” state, and at the same time, the “ The operation of "starting of the rest timer" is performed. Further, the bidirectional transition between the "wait for rest timer" state and the "time display" state occurs when the "display button input" event is received in the "wait for rest timer" state. When the "display button input" event is received in the "wait for rest timer" state, the action is "power off."
The time until the power is turned off is displayed on the screen for a certain period of time until the counting of the display timer is completed. The transition from the "waiting" state to the "power OFF" state occurs when the count of the rest timer ends, and the action of "power relay off" is performed as an action.

【0007】なお、従来においては、このような拡張さ
れた動作仕様を実現するシーケンス制御プログラムを開
発するための方法として、図24に示すようなシーケン
ス制御プログラムの内部を直接変更することにより、図
25に示すような動作仕様を実現する新たなシーケンス
制御プログラムを作成していた。図26はこのような方
法により作成されたシーケンス制御プログラムの一例を
示す図である。なお、図26に示すシーケンス制御プロ
グラムにおいては、3〜4行、11〜12行および34
〜71行が変更されている。
Conventionally, as a method for developing a sequence control program for realizing such an extended operation specification, the sequence control program shown in FIG. 25, a new sequence control program for realizing the operation specifications as shown in FIG. FIG. 26 is a diagram showing an example of a sequence control program created by such a method. In the sequence control program shown in FIG. 26, lines 3 to 4, 11 to 12, and 34
Lines 71 to 71 have been changed.

【0008】[0008]

【発明が解決しようとする課題】上述したように、従来
においては、過去に開発したシーケンス制御システムの
動作仕様に新たに機能を追加してその動作仕様を拡張す
る場合に、既存のシーケンス制御プログラムの内部を直
接変更することにより、新たなシーケンス制御プログラ
ムを作成していた。
As described above, in the prior art, when a new function is added to an operation specification of a sequence control system developed in the past to extend the operation specification, an existing sequence control program is used. A new sequence control program was created by directly changing the inside of the program.

【0009】しかしながら、このような従来のシーケン
ス制御システムの生成方法では、既存のシーケンス制御
プログラムの内部に直接手を入れて修正することとなる
ので、修正対象となるシーケンス制御プログラムを詳細
に理解する必要がある。このため、修正対象となるシー
ケンス制御プログラムの内部が複雑である場合には、多
くの作業工数が必要となり、また作業中に誤りが混入す
る可能性が増加するという問題がある。
However, in such a conventional method of generating a sequence control system, the existing sequence control program is directly modified and modified, so that the sequence control program to be modified is understood in detail. There is a need. For this reason, when the inside of the sequence control program to be corrected is complicated, many man-hours are required, and there is a problem that the possibility of errors being mixed during the work increases.

【0010】また、シーケンス制御プログラムがマスク
ROM等を利用してハードウェア上で実現されているよ
うな場合には、シーケンス制御プログラムを再利用する
場合であっても既存のROMを廃棄して新たにROMを
作成しなければならず、経済的でないという問題があ
る。
In the case where the sequence control program is realized on hardware using a mask ROM or the like, even when the sequence control program is reused, the existing ROM is discarded and a new one is created. However, there is a problem that it is not economical to create a ROM.

【0011】本発明はこのような点を考慮してなされた
ものであり、既存の状態遷移動作システムを再利用して
新たな状態遷移動作システムを効率的に開発することを
可能にする状態遷移動作システム、その生成方法および
状態遷移動作システムを記録したコンピュータ読み取り
可能な記録媒体を提供することを目的とする。
SUMMARY OF THE INVENTION The present invention has been made in view of the foregoing points, and has been made in consideration of the above circumstances. A state transition which enables the efficient development of a new state transition operation system by reusing an existing state transition operation system. An object of the present invention is to provide a computer-readable recording medium on which an operation system, a generation method thereof, and a state transition operation system are recorded.

【0012】[0012]

【課題を解決するための手段】本発明の第1の特徴は、
状態遷移図として表現可能な動作仕様を分割してなる部
分的な動作仕様を実現する少なくとも2つの状態遷移部
品と、前記各状態遷移部品間を接続する接合部品とを備
え、前記接合部品は、外部から与えられたイベントが前
記各状態遷移部品間の起動の切替えを伴わないときには
前記イベントを前記各状態遷移部品のいずれかに振り分
け、前記イベントが前記各状態遷移部品間の起動の切替
えを伴うときには前記各状態遷移部品の起動を切り替え
るとともに、切替え先となる状態遷移部品の内部状態を
変更することを特徴とする状態遷移動作システムであ
る。
A first feature of the present invention is as follows.
At least two state transition components that realize a partial operation specification obtained by dividing an operation specification that can be expressed as a state transition diagram, and a joining component that connects between the state transition components, wherein the joining component is When an event given from the outside does not involve switching of activation between the state transition parts, the event is distributed to any of the state transition parts, and the event involves activation switching between the state transition parts. A state transition operation system characterized by occasionally switching the activation of each state transition part and changing the internal state of the state transition part to be switched.

【0013】本発明の第2の特徴は、第1の状態遷移部
品の動作仕様に基づいて状態の遷移に対応するイベン
ト、遷移元の状態、遷移先の状態およびアクションを含
む遷移データを抽出して第1の遷移データリストを作成
するステップと、要求される状態遷移動作システムの動
作仕様に基づいて状態の遷移に対応するイベント、遷移
元の状態、遷移先の状態およびアクションを含む遷移デ
ータを抽出して第2の遷移データリストを作成するステ
ップと、前記第1の遷移データリストと前記第2の遷移
データリストとの間に共通の遷移データが存在するとき
に、前記第2の遷移データリストに含まれる遷移データ
の中から前記第1の遷移データリストに含まれる遷移元
または遷移先の状態を含まない遷移データを抽出して第
3の遷移データリストを作成するステップと、前記第2
の遷移データリストから前記第1の遷移データリストお
よび前記第3の遷移データリストと重複している部分を
取り除いて第4の遷移データリストを作成するステップ
と、前記第3の遷移データリストに基づいて前記第1の
状態遷移部品とともに用いられる第2の状態遷移部品を
作成するステップと、前記第4の遷移データリストに基
づいて前記第1の状態遷移部品および前記第2の状態遷
移部品間を接続する接合部品を作成するステップとを含
むことを特徴とする状態遷移動作システムの生成方法で
ある。
A second feature of the present invention is to extract transition data including an event corresponding to a state transition, a transition source state, a transition destination state, and an action based on an operation specification of the first state transition component. Creating a first transition data list, and generating transition data including an event corresponding to a state transition, a transition source state, a transition destination state, and an action based on a required operation specification of the state transition operation system. Extracting and creating a second transition data list; and when there is common transition data between the first transition data list and the second transition data list, the second transition data list A transition data that does not include the transition source or transition destination state included in the first transition data list is extracted from the transition data included in the list, and a third transition data list is extracted. And creating a second
Creating a fourth transition data list by removing a portion overlapping the first transition data list and the third transition data list from the third transition data list; and Creating a second state transition part to be used together with the first state transition part, and connecting the first state transition part and the second state transition part based on the fourth transition data list. Creating a joining part to be connected.

【0014】本発明の第3の特徴は、状態遷移図として
表現可能な動作仕様を分割してなる部分的な動作仕様を
実現する少なくとも2つの状態遷移部品と、前記各状態
遷移部品間を接続する接合部品とを備え、前記接合部品
は、外部から与えられたイベントが前記各状態遷移部品
間の起動の切替えを伴わないときには前記イベントを前
記各状態遷移部品のいずれかに振り分け、前記イベント
が前記各状態遷移部品間の起動の切替えを伴うときには
前記各状態遷移部品の起動を切り替えるとともに、切替
え先となる状態遷移部品の内部状態を変更することを特
徴とする状態遷移動作システムを記録したコンピュータ
読み取り可能な記録媒体である。
A third feature of the present invention is that at least two state transition parts for realizing a partial operation specification obtained by dividing an operation specification that can be expressed as a state transition diagram, and a connection between the respective state transition parts When the event given from the outside does not involve switching of activation between the state transition parts, the joint part sorts the event to one of the state transition parts, and the event A computer which records a state transition operation system, wherein the activation of each of the state transition parts is switched when the activation of the state transition parts is switched, and the internal state of the state transition part to be switched is changed. It is a readable recording medium.

【0015】本発明の第1乃至第3の特徴によれば、状
態遷移動作システムを再利用して新たな状態遷移動作シ
ステムを生成することができるので、新たな状態遷移動
作システムを効率的に開発することができる。また、こ
のような開発過程で作成された状態遷移部品や接合部品
についても次の新たな開発過程でシーケンス部品として
再利用することができるので、状態遷移動作システムを
サブシステム化(部品化)してシステム開発を効率的に
進めることができる。
According to the first to third aspects of the present invention, a new state transition operation system can be generated by reusing the state transition operation system, so that the new state transition operation system can be efficiently implemented. Can be developed. In addition, since the state transition parts and joint parts created in such a development process can be reused as sequence parts in the next new development process, the state transition operation system is made into a subsystem (parts). System development can proceed efficiently.

【0016】[0016]

【発明の実施の形態】以下、図面を参照して本発明の実
施の形態について説明する。図1乃至図12は本発明に
よる状態遷移動作システムおよびその生成方法の一実施
の形態を示す図である。なお、本実施の形態において
は、状態遷移動作システムをシーケンス制御システムに
適用した場合を例にとり説明する。
Embodiments of the present invention will be described below with reference to the drawings. 1 to 12 are diagrams showing one embodiment of a state transition operation system and a generation method thereof according to the present invention. In the present embodiment, a case where the state transition operation system is applied to a sequence control system will be described as an example.

【0017】まず、図1乃至図3により、シーケンス制
御システムの構成について説明する。
First, the configuration of the sequence control system will be described with reference to FIGS.

【0018】図1に示すように、シーケンス制御システ
ムは、状態遷移図として表現可能な動作仕様を分割して
なる部分的な動作仕様を実現する少なくとも2つのシー
ケンス部品(状態遷移部品)1と、各シーケンス部品1
間を接続する接合部品2とを備え、接合部品2は、外部
から与えられたイベントに基づいてシーケンス部品1の
起動を切り替えることができるようになっている。
As shown in FIG. 1, the sequence control system includes at least two sequence parts (state transition parts) 1 for realizing a partial operation specification obtained by dividing an operation specification that can be expressed as a state transition diagram; Each sequence part 1
And a joining component 2 for connecting between the components. The joining component 2 can switch the activation of the sequence component 1 based on an event given from the outside.

【0019】このうち、各シーケンス部品1は、図2に
示すように、外部から与えられたイベントを受け付ける
イベント入力手段1aと、現在の内部状態を保持する現
在状態ストア手段1eと、イベント入力手段1aにより
受け付けられたイベントに基づいて、現在状態ストア手
段1eに保持されている内部状態を変更するとともに状
態の遷移に伴うアクションを起動する状態変更/アクシ
ョン起動手段1dと、状態変更/アクション起動手段1
dにより起動されたアクションの動作内容を実現するア
クション出力手段1fとを有している。また、各シーケ
ンス部品1は、外部から与えられた状態の指定に応じ
て、現在状態ストア手段1eに保持されている内部状態
を変更する状態指定手段1bと、外部から与えられた状
態の問い合わせに応じて、現在状態ストア手段1eに保
持されている現在の内部状態を返す状態問い合わせ手段
1cと、現在状態ストア手段1eに保持される内部状態
を初期化する初期化手段1gと有している。
As shown in FIG. 2, each of the sequence components 1 includes an event input unit 1a for receiving an externally applied event, a current state storage unit 1e for holding a current internal state, and an event input unit. State change / action start means 1d for changing the internal state currently held in the state storage means 1e and activating an action accompanying a state transition based on the event received by 1a; 1
and action output means 1f for realizing the operation content of the action started by d. In addition, each sequence component 1 has a state designating unit 1b that changes the internal state currently held in the state storage unit 1e according to the designation of the state given from the outside, and an inquiry about the state given from the outside. Accordingly, it has a state inquiry unit 1c for returning the current internal state held in the current state storage unit 1e, and an initialization unit 1g for initializing the internal state held in the current state storage unit 1e.

【0020】一方、接合部品2は、図3に示すように、
外部から与えられたイベントを受け付けるイベント入力
手段2aと、アクティブとなっているシーケンス部品を
表すデータを保持するアクティブ部品データストア手段
2cと、イベント入力手段2aにより受け付けられたイ
ベントと、アクティブ部品データストア手段2cに保持
されているデータとに基づいて、イベントの振分け、各
シーケンス部品1の起動の切替え、および切替え先とな
るシーケンス部品1の内部状態の変更を行うイベント対
応処理手段2bとを有している。また、接合部品2は、
各シーケンス部品1との間でイベント、内部状態の変更
要求、および内部状態の問い合わせ要求の通信を行う部
品通信手段2dを有している。さらに、接合部品2は、
イベント対応処理手段2bにより各シーケンス部品1の
起動の切替えが行われるときに必要に応じて起動される
アクションの動作内容を実現するアクション出力手段2
eと、アクティブ部品データストア手段1cに保持され
ているシーケンス部品を表すデータを初期化して部品利
用開始時にアクティブとなるシーケンス部品を設定する
とともに、部品通信手段2dにより通信が行われる通信
路を確保する初期化手段2fとを有している。
On the other hand, as shown in FIG.
An event input unit 2a for receiving an externally applied event; an active component data storage unit 2c for holding data representing an active sequence component; an event received by the event input unit 2a; An event handling unit 2b for allocating events, switching the start of each sequence component 1, and changing the internal state of the sequence component 1 to be switched based on the data held in the unit 2c. ing. Also, the joining component 2
A component communication unit 2d communicates with each sequence component 1 for events, internal state change requests, and internal state inquiry requests. Furthermore, the joining component 2
Action output means 2 for realizing the contents of an action to be started as needed when the start of each sequence component 1 is switched by the event handling processing means 2b
e and the data representing the sequence component held in the active component data storage means 1c are initialized to set the sequence component to be active at the start of use of the component, and to secure a communication path for communication by the component communication means 2d. And initialization means 2f.

【0021】次に、図4乃至図8により、このような構
成からなるシーケンス制御システムの生成方法について
説明する。なお、ここでは、図4に示すような動作仕様
を実現する既存のシーケンス制御システムをシーケンス
部品として再利用して、プログラミング言語(C++言
語)により、図5に示すような動作仕様を実現するシー
ケンス制御システムを生成する場合を例にとり説明す
る。
Next, a method of generating a sequence control system having such a configuration will be described with reference to FIGS. Here, an existing sequence control system for realizing the operation specifications as shown in FIG. 4 is reused as a sequence component, and a sequence for realizing the operation specifications as shown in FIG. 5 by a programming language (C ++ language). The case where a control system is generated will be described as an example.

【0022】図6に示すように、まず、既存のシーケン
ス部品(第1の状態遷移部品)の動作仕様に基づいて状
態の遷移に対応するイベント、遷移元の状態、遷移先の
状態およびアクションを含む遷移データを抽出して部品
シーケンス仕様(第1の遷移データリスト)を作成する
(ステップ101)。
As shown in FIG. 6, first, an event corresponding to a state transition, a state of a transition source, a state of a transition destination and an action are determined based on the operation specifications of an existing sequence component (first state transition component). The included transition data is extracted to create a component sequence specification (first transition data list) (step 101).

【0023】ここで、「シーケンス仕様」とは、動作仕
様を記述した状態遷移図と同等の内容を集合の概念を用
いて表現したものである。具体的には、状態遷移図にお
ける状態の遷移を、イベント、遷移元の状態、遷移先の
状態およびアクションの4つの要素を含む遷移データで
表現し、動作仕様全体はこの遷移データの集合として表
現する。ここで、図4に示すような状態遷移図をシーケ
ンス仕様で表現すると次の仕様1のようになる。
Here, the "sequence specification" expresses the same content as a state transition diagram describing an operation specification by using the concept of a set. Specifically, a state transition in a state transition diagram is represented by transition data including four elements of an event, a transition source state, a transition destination state, and an action, and the entire operation specification is represented as a set of the transition data. I do. Here, when the state transition diagram as shown in FIG. 4 is expressed by a sequence specification, the following specification 1 is obtained.

【0024】仕様1: {<event1,α,β,action1>,<even
t2,β,α,action2>} なお、図4に示すような状態遷移図により記述される動
作仕様は、再利用しようとする既存のシーケンス制御シ
ステム(シーケンス部品)の動作仕様であるので、ここ
では上記仕様1を部品シーケンス仕様と呼ぶ。
Specification 1: {<event1, α, β, action1>, <even
t2, β, α, action2>} Since the operation specification described by the state transition diagram as shown in FIG. 4 is the operation specification of an existing sequence control system (sequence component) to be reused, Then, the above specification 1 is referred to as a component sequence specification.

【0025】次に、要求されるシーケンス制御システム
の動作仕様に基づいて状態の遷移に対応するイベント、
遷移元の状態、遷移先の状態およびアクションを含む遷
移データを抽出して要求シーケンス仕様(第2の遷移デ
ータリスト)を作成する(ステップ102)。
Next, an event corresponding to a state transition based on a required operation specification of the sequence control system,
A request sequence specification (second transition data list) is created by extracting transition data including a transition source state, a transition destination state, and an action (step 102).

【0026】ここで、要求シーケンス仕様とは、これか
ら実現しようとするシーケンス制御システムの動作仕様
をシーケンス仕様として表現したものである。ここで、
図5に示す状態遷移図により記述される動作仕様を実現
しようとする場合には、要求シーケンス仕様は次の仕様
2のようになる。 仕様2: {< event1,α,β,action1>,<event2,β,α,ac
tion2>,< event3,γ,α,action3>,<event4,β,γ,actio
n4>,< event1,γ,δ,action5>,<event2,δ,γ,action6
>}
Here, the required sequence specification expresses the operation specification of the sequence control system to be realized as a sequence specification. here,
When the operation specifications described by the state transition diagram shown in FIG. 5 are to be realized, the required sequence specifications are as shown in the following specification 2. Specification 2: {<event1, α, β, action1>, <event2, β, α, ac
tion2>, <event3, γ, α, action3>, <event4, β, γ, actio
n4>, <event1, γ, δ, action5>, <event2, δ, γ, action6
>}

【0027】次に、既存のシーケンス部品が再利用可能
であるか否かを判定する(ステップ103)。ここで、
要求されるシーケンス制御システムを実現するときに既
存のシーケンス部品が再利用可能であるためには、部品
シーケンス仕様に含まれる遷移データと要求シーケンス
仕様に含まれる遷移データとの間に共通の遷移データが
存在する必要がある(再利用条件)。なお、共通の遷移
データとは、遷移元の状態、遷移先の状態およびアクシ
ョンの4つの要素が全て等しいという意味である。
Next, it is determined whether or not the existing sequence component can be reused (step 103). here,
In order for existing sequence components to be reusable when implementing the required sequence control system, common transition data between the transition data included in the component sequence specification and the transition data included in the required sequence specification Must exist (reuse condition). Note that the common transition data means that the four elements of the transition source state, the transition destination state, and the action are all equal.

【0028】上述したステップ103において、部品シ
ーケンス仕様と要求シーケンス仕様との間に共通の遷移
データが存在して既存のシーケンス部品が再利用可能で
あることが判定されたときには、要求シーケンス仕様に
含まれる遷移データの中から部品シーケンス仕様に現れ
る遷移元または遷移先の状態を含まない遷移データを抽
出して差分シーケンス仕様(第3の遷移データリスト)
を作成する(ステップ104)。
In step 103 described above, when it is determined that common transition data exists between the part sequence specification and the required sequence specification and the existing sequence part can be reused, it is included in the required sequence specification. Sequence data that does not include the state of the transition source or transition destination appearing in the part sequence specification from the transition data to be executed and extracts the difference sequence specification (third transition data list)
Is created (step 104).

【0029】ここで、差分シーケンス仕様とは、要求シ
ーケンス仕様と部品シーケンス仕様との差分を抽出した
シーケンス仕様である。具体的には、要求シーケンス仕
様に含まれる遷移データの中から部品シーケンス仕様に
現れる遷移元または遷移先の状態を含まない遷移データ
を抽出したものである。なお、上記仕様1を部品シーケ
ンス仕様、上記仕様2を要求シーケンス仕様とする場合
には、差分シーケンス仕様は次の仕様3のようになる
(図7参照)。 仕様3: {< event1,γ,δ,action5>,<event2,δ,γ,ac
tion6>} 次に、要求シーケンス仕様から部品シーケンス仕様およ
び差分シーケンス仕様と重複している部分を取り除いて
接合シーケンス仕様(第4の遷移データリスト)を作成
する(ステップ105)。
Here, the difference sequence specification is a sequence specification in which a difference between the required sequence specification and the component sequence specification is extracted. Specifically, transition data that does not include the transition source or transition destination state appearing in the component sequence specification is extracted from the transition data included in the request sequence specification. When the above specification 1 is a part sequence specification and the above specification 2 is a required sequence specification, the difference sequence specification becomes the following specification 3 (see FIG. 7). Specification 3: {<event1, γ, δ, action5>, <event2, δ, γ, ac
tion6>} Next, a part that overlaps with the part sequence specification and the difference sequence specification is removed from the request sequence specification to create a joint sequence specification (fourth transition data list) (step 105).

【0030】ここで、接合シーケンス仕様とは、部品シ
ーケンス仕様を実現するシーケンス部品と差分シーケン
ス仕様を実現するシーケンス部品とを接続するためのシ
ーケンス仕様である。具体的には、要求シーケンス仕様
のうち部品シーケンス仕様にも差分シーケンス仕様にも
含まれない遷移データの集合である。なお、なお、上記
仕様1を部品シーケンス仕様、上記仕様2を要求シーケ
ンス仕様とする場合には、接合シーケンスは次の仕様4
のようになる(図8参照)。 仕様4: {<event3,γ,α,action3>, <event4,β,γ,ac
tion4>}
Here, the joining sequence specification is a sequence specification for connecting a sequence component realizing the component sequence specification and a sequence component realizing the difference sequence specification. Specifically, it is a set of transition data that is not included in the part sequence specification or the difference sequence specification among the required sequence specifications. When the above specification 1 is a part sequence specification and the above specification 2 is a required sequence specification, the joining sequence is the following specification 4.
(See FIG. 8). Specification 4: {<event3, γ, α, action3>, <event4, β, γ, ac
tion4>}

【0031】その後、差分シーケンス仕様に基づいて既
存のシーケンス部品とともに用いられる新たなシーケン
ス部品(第2の状態遷移部品)を作成するとともに(ス
テップ106)、接合シーケンス仕様に基づいて既存の
シーケンス部品および新たなシーケンス部品間を接続す
る接合部品を作成する(ステップ107)。
Thereafter, a new sequence component (second state transition component) to be used together with the existing sequence component is created based on the differential sequence specification (step 106), and the existing sequence component and the new sequence component are created based on the joining sequence specification. A joining component for connecting the new sequence components is created (step 107).

【0032】ここで、部品シーケンス仕様に対応する既
存のシーケンス部品、差分シーケンス仕様に対応する新
たなシーケンス部品、および接合シーケンス仕様に対応
する接合部品は、例えばプログラミング言語(C++言
語)によりプログラムとして実装される。なお、これら
のプログラムは、コンピュータ上のメモリやハードディ
スク等の内部記憶装置、およびフレキシブルディスクや
CD−ROM等の外部記憶装置のようなコンピュータ読
み取り可能な各種の記録媒体に格納され、コンピュータ
上のCPU(中央演算処理装置)から逐次読み出されて
実行される。
Here, an existing sequence component corresponding to the component sequence specification, a new sequence component corresponding to the difference sequence specification, and a junction component corresponding to the junction sequence specification are implemented as programs in, for example, a programming language (C ++ language). Is done. Note that these programs are stored in various computer-readable recording media such as an internal storage device such as a memory or a hard disk on a computer, and an external storage device such as a flexible disk or a CD-ROM. (Central processing unit) and are sequentially read and executed.

【0033】部品シーケンス仕様または差分シーケンス
仕様のいずれかに対応するシーケンス部品1は、図2に
示すように、イベント入力手段1a、状態指定手段1
b、状態問い合わせ手段1c、状態変更/アクション起
動手段1d、現在状態ストア手段1e、アクション出力
手段1f、および初期化手段1gを有している。
As shown in FIG. 2, the sequence component 1 corresponding to either the component sequence specification or the difference sequence specification includes an event input unit 1a and a state designation unit 1.
b, status inquiry means 1c, status change / action activation means 1d, current status storage means 1e, action output means 1f, and initialization means 1g.

【0034】図2に示すシーケンス部品1において、イ
ベント入力手段1aは外部からシーケンス部品1に対し
てイベントを入力するためのものであり、プログラム上
ではイベントの発生時に外部から起動される関数や、O
Sやプログラミング言語の提供するイベントディスパッ
チ関数等により実現される。イベント入力手段1aはイ
ベントの入力を状態変更/アクション起動手段1dに通
知する。状態変更/アクション起動手段1dは入力され
たイベントに基づいて内部状態の変更とアクションの起
動とを部品シーケンス仕様または差分シーケンス仕様に
従って行うためのものであり、現在状態ストア手段1e
に保持されている現在の内部状態と、入力されたイベン
トとに基づいて、遷移すべき次の状態と起動すべきアク
ションとを求め、状態の変更が必要な場合には現在状態
ストア手段1eに保持されている内部状態を次の状態に
書き換え、またアクションの起動が必要な場合にはアク
ション出力手段1fにアクションの起動を通知する。ア
クション出力手段1fは個々のアクションの動作内容を
実現するためのものであり、プログラム上ではアクショ
ンの動作内容を実現する関数等で実現され、状態変更/
アクション起動手段1dによるアクションの起動の通知
はこれらの関数の呼出し等により実現される。現在状態
ストア手段1eはプログラム上では現在の内部状態を保
持する変数として実現される。状態指定手段1bは、外
部から状態が指定された場合に現在状態ストア手段1e
に保持されている値を指定状態に対応する値に書き換え
るためのものであり、プログラム上では変数である現在
状態ストア手段1eに保持されている値を書き換える関
数等により実現される。状態問い合わせ手段1cは現在
の内部状態を外部に通知するためのものであり、プログ
ラム上では変数である現在状態ストア手段1eに保持さ
れている値を参照して現在の内部状態を表す値を返す関
数や、引数として与えられた状態に対応する値に対して
現在がその状態であるか否かをブール値で返す関数等に
より実現される。初期化手段1gは現在状態ストア手段
1eに保持されている内部状態を初期化するためのもの
であり、プログラム上では部品利用開始前に起動され現
在状態ストア手段1eに保持されている値を初期状態に
対応する値に書き換える関数等により実現される。
In the sequence component 1 shown in FIG. 2, the event input means 1a is for inputting an event to the sequence component 1 from the outside. O
This is realized by S or an event dispatch function provided by a programming language. The event input unit 1a notifies the state change / action start unit 1d of the input of the event. The state change / action activating means 1d is for performing the change of the internal state and the activation of the action based on the input event in accordance with the component sequence specification or the differential sequence specification.
The next state to be transitioned and the action to be activated are determined based on the current internal state held in the storage unit and the input event, and when the state needs to be changed, the current state is stored in the current state storage unit 1e. The held internal state is rewritten to the next state, and when it is necessary to activate the action, the action output unit 1f is notified of the activation of the action. The action output means 1f is for realizing the operation content of each action. The action output means 1f is realized by a function or the like for realizing the operation content of the action on the program, and performs the status change /
Notification of the activation of the action by the action activation means 1d is realized by calling these functions or the like. The current state storage means 1e is realized on the program as a variable that holds the current internal state. The state designating means 1b, when a state is designated from the outside, stores the current state storing means 1e.
Is rewritten to a value corresponding to the designated state, and is realized by a function or the like which rewrites a value stored in the current state storage means 1e which is a variable in a program. The state inquiry means 1c is for notifying the current internal state to the outside, and returns a value representing the current internal state by referring to a value stored in the current state storage means 1e which is a variable in the program. This is realized by a function or a function that returns a Boolean value indicating whether or not the current state is a state corresponding to a state given as an argument. The initializing means 1g is for initializing the internal state held in the current state storing means 1e. The program is activated before starting the use of the parts and initializes the value held in the current state storing means 1e. This is realized by a function or the like that rewrites a value corresponding to a state.

【0035】一方、接合シーケンス仕様に対応する接合
部品2は、図3に示すように、イベント入力手段2a、
イベント対応処理手段2b、アクティブ部品データスト
ア手段2c、部品通信手段2d、アクション出力手段2
e、および初期化手段2fを有している。
On the other hand, as shown in FIG. 3, the joining part 2 corresponding to the joining sequence specification has event input means 2a,
Event response processing means 2b, active component data storage means 2c, component communication means 2d, action output means 2
e, and initialization means 2f.

【0036】図3に示す接合部品2において、イベント
入力手段2aは外部から接合部品2に対してイベントを
入力するためのものであり、プログラム上ではイベント
発生時に外部から起動される関数や、OSやプログラミ
ング言語の提供するイベントディスパッチ関数等により
実現される。イベント入力手段2aは要求シーケンス仕
様に含まれる全てのイベントを受け付けるものであり、
例えば1つのイベントの入力を1つの関数の呼出しによ
って行うような場合には要求シーケンス仕様に含まれる
全てのイベントに対応する関数を作成する。イベント入
力手段2aはイベントの入力をイベント対応処理手段2
bに通知する。イベント対応処理手段2bはイベント入
力手段2aにより受け付けられたイベントが各シーケン
ス部品1間の起動の切替えを伴わないときにはイベント
を各シーケンス部品1のいずれかに振り分け、イベント
が各シーケンス部品1間の起動の切替えを伴うときには
各シーケンス部品1の起動を切り替えるとともに、各シ
ーケンス部品1の内部状態を変更する。
In the joining part 2 shown in FIG. 3, the event input means 2a is for inputting an event to the joining part 2 from the outside. And an event dispatch function provided by a programming language. The event input unit 2a receives all events included in the request sequence specification,
For example, when one event is input by calling one function, functions corresponding to all events included in the request sequence specification are created. The event input means 2a inputs the event input to the event response processing means 2
Notify b. When the event received by the event input unit 2a does not involve switching of activation between the sequence components 1, the event handling unit 2b distributes the event to one of the sequence components 1, and the event is activated between the sequence components 1. Is switched, the activation of each sequence component 1 is switched, and the internal state of each sequence component 1 is changed.

【0037】図9はイベント入力手段2aおよびイベン
ト対応処理手段2b等における処理内容を説明するため
のフローチャートである。図9に示すように、初期化手
段2fによる初期化処理が終了した後(ステップ20
1)、イベント入力手段2aによりイベントを受け付け
る(ステップ202)。そして、イベント対応処理手段
2bにおいて、入力されたイベントと、アクティブ部品
データストア手段2eに保持されている現在アクティブ
となっているシーケンス部品を表すデータとに基づいて
部品切替え条件を判定する(ステップ203)。ここ
で、部品切替え条件とは、分割された部品シーケンス仕
様および差分シーケンス仕様のそれぞれを実現する各シ
ーケンス部品を切り替えて動作させる必要があるか否か
を判定するものである。具体的には、入力されたイベン
トをe、アクティブなシーケンス部品の現在の状態をS
とするとき、eをイベント(第1要素)、Sを遷移元の
状態(第2要素)とする遷移データが接合シーケンス仕
様に存在するか否かを判定する。
FIG. 9 is a flow chart for explaining the processing contents of the event input means 2a, the event correspondence processing means 2b and the like. As shown in FIG. 9, after the initialization processing by the initialization means 2f is completed (step 20).
1) An event is received by the event input means 2a (step 202). Then, the event correspondence processing unit 2b determines the component switching condition based on the input event and the data representing the currently active sequence component held in the active component data storage unit 2e (step 203). ). Here, the component switching condition is to determine whether it is necessary to switch and operate each sequence component that realizes each of the divided component sequence specification and the differential sequence specification. Specifically, the input event is represented by e, and the current state of the active sequence component is represented by S.
Then, it is determined whether or not transition data having e as an event (first element) and S as a transition source state (second element) exists in the joining sequence specification.

【0038】ここで、部品切替え条件が成立した場合に
は、該当する遷移データのアクションをアクション出力
手段2eにより実行するとともに(ステップ204)、
切替え先となるシーケンス部品1の内部状態を、部品通
信手段2dおよびシーケンス部品1の状態指定手段1b
により、該当する遷移データの遷移先の状態(第3要
素)に変化させる(ステップ205)。また同時に、切
替え先となるシーケンス部品を表すデータをアクティブ
部品データストア手段2cに設定する(ステップ20
6)。なお、ステップ204乃至206の処理の順序は
任意である。
Here, when the component switching condition is satisfied, the action of the corresponding transition data is executed by the action output means 2e (step 204).
The internal state of the sequence component 1 to be switched is determined by the component communication unit 2d and the state designation unit 1b of the sequence component 1.
As a result, the state of the corresponding transition data is changed to the transition destination state (third element) (step 205). At the same time, data representing the sequence component to be switched is set in the active component data storage unit 2c (step 20).
6). Note that the order of the processing of steps 204 to 206 is arbitrary.

【0039】一方、部品切替え条件が成立しない場合に
は、アクティブ部品データストア手段2cを参照してア
クティブなシーケンス部品を求め、部品通信手段2dに
より、そのアクティブなシーケンス部品に対してイベン
トを送信する。
On the other hand, if the component switching condition is not satisfied, an active sequence component is obtained by referring to the active component data storage means 2c, and an event is transmitted to the active sequence component by the component communication means 2d. .

【0040】なお、初期化手段2fは、プログラム上で
はアクティブ部品データストア手段2cに保持されてい
るデータを部品利用開始時にアクティブとなるシーケン
ス部品を表すデータに書き換えるとともに、部品通信手
段2dにより通信が行われる通信路を確保する関数等に
より実現される。
The initialization means 2f rewrites the data stored in the active component data storage means 2c into data representing a sequence component which becomes active at the start of use of the component, and the communication by the component communication means 2d. This is realized by a function or the like for securing a communication path to be performed.

【0041】図10乃至図12は部品シーケンス仕様に
対応する既存のシーケンス部品、差分シーケンス仕様に
対応する新たなシーケンス部品、および接合シーケンス
仕様に対応する接合部品のそれぞれをプログラミング言
語(C++言語)によりプログラムとして実装した場合
の一例を示す図である。
FIGS. 10 to 12 show an existing sequence component corresponding to the component sequence specification, a new sequence component corresponding to the differential sequence specification, and a junction component corresponding to the junction sequence specification in a programming language (C ++ language). It is a figure showing an example at the time of implementing as a program.

【0042】図10に示すクラスComponentは、上記仕
様1の部品シーケンス仕様(図4参照)を実現するシー
ケンス部品1を実装するためのプログラムである。図1
0において、イベント入力手段1aは関数event1(),ev
ent2()に対応している。外部からのイベントの入力はこ
れらの関数を呼び出すことにより行われる。アクション
出力手段1fは関数action1(),action2()に対応してい
る。これらの関数の内部では、例えば出力バッファへの
データの出力やタイマの起動等の様々なアクションが実
装されるが、ここでは詳細な説明は省略する。現在状態
ストア手段1eは変数stateにより実現される。変数sta
teは値として“Alpha”または“Beta”をとり、それぞ
れの値をとったときにシーケンス部品Componentの現在
の状態が“α”または“β”となる(図4参照)。初期
化手段1gは初期化関数Component()として実現され、
これによりクラスComponentのインスタンスの生成時に
変数stateの値が“Alpha”に設定される。このような初
期化関数Component()の働きにより、シーケンス部品Com
ponentの初期状態が“α”として設定される。状態変更
/アクション出力手段1dは関数event1(),event2()の
関数本体プログラムにより実現されている。関数event1
(),event2()は関数呼出しが発生する度に、現在のstat
eの値に基づいて次のstateへの変化を求め、状態の遷移
が必要な場合にはその値を書き換える。状態指定手段1
bは関数setState()により実現される。この関数は引数
として与えられた値をstateに代入することより指定状
態への変更を実現している。また、状態問い合わせ手段
1cは、関数isState()により実現される。この関数は
現在の状態が引数として与えられた状態であるか否かを
判定し、その結果を返す。
The class Component shown in FIG. 10 is a program for mounting the sequence component 1 for realizing the component sequence specification of the above specification 1 (see FIG. 4). FIG.
0, the event input means 1a outputs the function event1 (), ev
It corresponds to ent2 (). Input of events from outside is performed by calling these functions. The action output means 1f corresponds to the functions action1 () and action2 (). Various actions such as output of data to an output buffer and activation of a timer are implemented inside these functions, but detailed description thereof is omitted here. The current state storing means 1e is realized by a variable state. Variable sta
te takes “Alpha” or “Beta” as a value, and when each value is taken, the current state of the sequence component Component becomes “α” or “β” (see FIG. 4). The initialization means 1g is realized as an initialization function Component (),
As a result, the value of the variable state is set to “Alpha” when an instance of the class Component is generated. By the operation of the initialization function Component (), the sequence component Com
The initial state of ponent is set as “α”. State change
The / action output means 1d is realized by a function body program of functions event1 () and event2 (). Function event1
(), Event2 () is the current stat every time a function call occurs
The change to the next state is obtained based on the value of e, and if a state transition is required, the value is rewritten. State designation means 1
b is realized by the function setState (). This function implements the change to the specified state by assigning the value given as an argument to state. The state inquiry means 1c is realized by the function isState (). This function determines whether the current state is the state given as an argument and returns the result.

【0043】図11に示すクラスComplementは、上記仕
様3の差分シーケンス仕様(図7参照)を実現するシー
ケンス部品1を実装するためのプログラムである。図1
1に示すように、このプログラムの構造は図10に示す
プログラムの構造と略同一であるので、詳細な説明は省
略する。
The class Complement shown in FIG. 11 is a program for mounting the sequence component 1 for realizing the difference sequence specification of the above specification 3 (see FIG. 7). FIG.
As shown in FIG. 1, since the structure of this program is substantially the same as the structure of the program shown in FIG. 10, detailed description will be omitted.

【0044】図12に示すクラスSwitcherは、上記仕様
4の接合シーケンス仕様(図8参照)を実現する接合部
品2を実装するためのプログラムである。図12におい
て、イベント入力手段2aは関数event1()〜event4()に
対応している。外部からのイベントの入力はこれらの関
数を呼び出すことにより行われる。アクティブ部品デー
タストア手段2cは変数ComponentActiveFlag,Complem
entActiveFlagにより実現される。これらの変数はそれ
ぞれシーケンス部品Component,Complementに対応し、
値が1であるときにはそのシーケンス部品がアクティブ
であることを表し、値が0であるときにはそのシーケン
ス部品がアクティブでないことを表している。部品通信
手段2dはシーケンス部品へのポインタ変数であるcomp
onent,complementにより実現される。これらにはそれ
ぞれシーケンス部品Componentのインスタンスと、シー
ケンス部品Complementのインスタンスのアドレスとが保
持される。C++言語ではポインタ変数を介してインス
タンスの関数を呼び出すことができる。このため、接合
部品Switcherはそれぞれのインスタンスの関数として実
現されたシーケンス部品のイベント入力手段1a、状態
指定手段1bおよび状態問い合わせ手段1cにこれらの
ポインタ変数を用いてアクセスすることができる。
The class Switcher shown in FIG. 12 is a program for mounting the joining component 2 that realizes the joining sequence specification 4 (see FIG. 8). In FIG. 12, the event input means 2a corresponds to functions event1 () to event4 (). Input of events from outside is performed by calling these functions. The active component data storing means 2c includes variables ComponentActiveFlag, Complem
Implemented by entActiveFlag. These variables correspond to the sequence components Component and Complement, respectively.
When the value is 1, it indicates that the sequence component is active, and when the value is 0, it indicates that the sequence component is not active. The component communication means 2d is a comp which is a pointer variable to the sequence component.
It is realized by onent and complement. Each of these holds the instance of the sequence component Component and the address of the instance of the sequence component Complement. In the C ++ language, a function of an instance can be called through a pointer variable. For this reason, the joint component Switcher can access the event input unit 1a, the state designation unit 1b, and the state inquiry unit 1c of the sequence component realized as a function of each instance using these pointer variables.

【0045】初期化手段2fは初期化関数Switcher()と
して実現される。初期化関数Switcher()は引数としてシ
ーケンス部品Componentのインスタンスのアドレスと、
シーケンス部品Complementのインスタンスのアドレスと
をとり、それぞれを部品通信手段2dであるポインタ変
数component,complementに代入する。これにより、部
品通信手段2dは初期化され、シーケンス部品Componen
t,Complementにアクセスするために利用することが可
能となる。また、初期化関数Switcher()はアクティブ部
品データストア手段2cである変数ComponentActiveFla
g,ComplementActiveFlagの値をそれぞれ1および0に
設定する。これにより、アクティブなシーケンス部品を
Componentに初期化する。
The initialization means 2f is realized as an initialization function Switcher (). The initialization function Switcher () takes the address of the instance of the sequence component Component as an argument,
The address of the instance of the sequence component Complement is taken, and each is substituted for the pointer variables component and complement, which are the component communication means 2d. As a result, the component communication means 2d is initialized, and the sequence component Componen
t, can be used to access Complement. Further, the initialization function Switcher () is a variable ComponentActiveFla that is the active component data storage unit 2c.
g and ComplementActiveFlag are set to 1 and 0, respectively. This allows active sequence components to be
Initialize to Component.

【0046】イベント対応処理手段2bは関数event
3(),event4()の関数本体プログラムにより実現され
る。部品切替え条件の判定は、関数event3(),event4()
の内部の2つのif文で実現される。部品切替え条件の
成立時のアクションの実行の処理、切替え先となるシー
ケンス部品の内部状態を変更する処理、および切替え先
となるシーケンス部品をアクティブとして他をインアク
ティブとする処理は、関数event3()の関数本体プログラ
ムでは関数action3()の呼出し、ポインタ変数component
で指定されるシーケンス部品への関数setState()の呼出
し、変数ComponentActiveFlag,ComplementActiveFlag
の書き換えにより実現される。また、関数event4()の関
数本体プログラムでは関数action4()の呼出し、ポイン
タ変数complementで指定されるシーケンス部品への関数
setState()の呼出し、変数ComponentActiveFlag,Compl
ementActiveFlagの書き換えにより実現される。一方、
部品切替え条件の不成立時の処理は、関数event1(),ev
ent2()の内部におけるアクティブなシーケンス部品への
イベント受付け関数event1(),event2()の呼出しにより
実現される。なお、アクション出力手段2eには、関数
action3(),action4()が対応している。
The event correspondence processing means 2b has a function event
It is realized by the function body program of 3 () and event4 (). The function event3 (), event4 ()
This is realized by two if statements inside. The process of executing the action when the component switching condition is satisfied, the process of changing the internal state of the sequence component to be switched, and the process of making the sequence component to be switched active and inactive the other are the function event3 () Call the function action3 (), the pointer variable component
Function setState () call to the sequence component specified by, variables ComponentActiveFlag, ComplementActiveFlag
Is realized by rewriting. In the function body program of the function event4 (), the function action4 () is called and the function to the sequence component specified by the pointer variable complement is
Call setState (), variables ComponentActiveFlag, Compl
This is realized by rewriting ementActiveFlag. on the other hand,
The processing when the component switching condition is not satisfied is defined by the functions event1 (), ev
This is realized by calling the event receiving functions event1 () and event2 () to the active sequence component inside ent2 (). The action output means 2e has a function
action3 () and action4 () correspond.

【0047】このように本実施の形態によれば、図4に
示すような動作仕様(部品シーケンス仕様)を実現する
既存のシーケンス制御システムを再利用して、図5に示
すような動作仕様(要求シーケンス仕様)を実現するシ
ーケンス制御システムを生成することができるので、新
たなシーケンス制御システムを効率的に開発することが
できる。
As described above, according to the present embodiment, the existing sequence control system for realizing the operation specifications (part sequence specifications) as shown in FIG. Since a sequence control system that realizes the required sequence specification can be generated, a new sequence control system can be efficiently developed.

【0048】また、このような開発過程で作成されたシ
ーケンス部品(図11参照)や接合部品(図12参照)
についても次の新たな開発過程でシーケンス部品として
再利用することができるので、シーケンス制御システム
をサブシステム化(部品化)してシステム開発を効率的
に進めることができる。
The sequence parts (see FIG. 11) and the joint parts (see FIG. 12) created in such a development process.
Can also be reused as a sequence component in the next new development process, so that the sequence control system can be made into a subsystem (component) to efficiently advance system development.

【0049】なお、上述した実施の形態においては、本
発明をシーケンス制御システムに適用した場合について
説明したが、これに限らず、コンパイラの字句解析シス
テムのような各種の状態遷移動作システムについても同
様にして適用することができる。
In the above-described embodiment, the case where the present invention is applied to a sequence control system has been described. However, the present invention is not limited to this, and various state transition operation systems such as a lexical analysis system of a compiler are also applicable. And can be applied.

【0050】[0050]

【実施例】次に、図1乃至図12に示すシーケンス制御
システムの具体的実施例について述べる。
Next, a specific embodiment of the sequence control system shown in FIGS. 1 to 12 will be described.

【0051】第1の実施例 まず、図13乃至図19により、図1乃至図12に示す
シーケンス制御システムをTV制御システムに適用した
実施例について説明する。なお、ここでは、図13に示
すような状態遷移図により記述される動作仕様を実現す
るシーケンス制御システムを開発した後、このシーケン
ス制御システムをシーケンス部品として再利用して、図
14に示すような状態遷移図により記述される動作仕様
を実現するシーケンス制御システムを生成する場合につ
いて説明する。
First Embodiment First, an embodiment in which the sequence control system shown in FIGS. 1 to 12 is applied to a TV control system will be described with reference to FIGS. Here, after developing a sequence control system that realizes the operation specifications described by the state transition diagram as shown in FIG. 13, this sequence control system is reused as a sequence component, and as shown in FIG. A case in which a sequence control system that realizes the operation specifications described by the state transition diagram will be described.

【0052】図15は図13に示す動作仕様を実現する
シーケンス部品TvSequence1をプログラミング言語(C
++言語)により実装した場合の一例を示す図である。
図13に示す状態遷移図においては、“電源ボタン入
力”と“選局ボタン入力”という2種類のイベントが存
在するので、これらのイベントを受け付けるようイベン
ト入力手段1aを作成する。イベントの入力はプログラ
ム上では関数の呼出しに対応させることができる。図1
5に示すプログラムにおいては、イベント入力手段1a
として2つの関数powerButtonEvent(),selectButtonEv
ent()を有し、それぞれ外部からの“電源ボタン入力”
イベントおよび“選局ボタン入力”イベントの入力をこ
れらの関数の外部からの呼出しとして受け付けることが
できる。イベントが入力されると、イベントに対応した
状態の変更とアクションの起動とが状態変更/アクショ
ン起動手段1dにより行われるが、図15に示すプログ
ラムでは関数powerButtonEvent(),selectButtonEven
t()の関数本体プログラムがこれに対応する。例えば、
関数powerButtonEvent()の関数本体プログラムとして実
現されている状態変更/アクション起動手段1dでは、
if文による条件分岐により、変数stateが“POWER_OF
F”であるか“TUNING”であるかに基づいて、現在の状
態が“電源オフ”状態であるか“選局処理”状態である
かが判定され、それぞれの状態に応じてイベントに対応
する状態の変更とアクションの起動とが行われるように
なっている。
FIG. 15 shows a sequence component TvSequence1 for realizing the operation specifications shown in FIG.
++ language).
In the state transition diagram shown in FIG. 13, there are two types of events, “input of power button” and “input of channel selection button”, and therefore, the event input unit 1a is created to accept these events. The input of an event can correspond to a function call on a program. FIG.
In the program shown in FIG. 5, the event input means 1a
Two functions powerButtonEvent (), selectButtonEv
It has ent (), each of which has “power button input” from outside
The input of the event and the “tuning button input” event can be accepted as a call from outside of these functions. When an event is input, a state change / action activation means 1d changes the state corresponding to the event and activates the action. In the program shown in FIG. 15, the functions powerButtonEvent (), selectButtonEven
The function body program of t () corresponds to this. For example,
In the state change / action start means 1d realized as a function body program of the function powerButtonEvent (),
The variable state is set to "POWER_OF"
Based on whether the current state is "F" or "TUNING", it is determined whether the current state is the "power-off" state or the "tuning process" state, and an event corresponding to each state is determined. The state is changed and the action is activated.

【0053】また、アクションの動作内容を実現するア
クション出力手段1fは、“電源リレーオン”、“電源
リレーオフ”および“チャンネル切替え処理”のアクシ
ョンにそれぞれ対応する関数powerOn(),powerOff(),s
etChannel(char ch)として実現されている。それぞれの
関数の関数本体プログラムはここでは省略しているが、
TV制御システムでは実デバイスである制御用ICに対
して動作を指令するデータを送信するためのプログラム
やそのようなサブルーチンの呼出しといった実際の処理
が実装される。シーケンス部品の現在の状態を保持する
現在状態ストア手段1eは変数stateとして実現されて
いる。変数stateは列挙型Stateの変数であり、値として
“POWER_OFF”または“TUNING”をとるが、それぞれの
値をとったときにシーケンス部品の現在の状態が“電源
OFF”状態または“選局処理”状態となることが示さ
れる。外部から状態を強制的に変更する状態指定手段1
bと、外部から状態について問い合わせを行う状態問い
合わせ手段1cはそれぞれ関数setState(State tmpStat
e),isState(State tmpState)として実現されている。
関数setState(State tmpState)は引数として与えられた
値を関数本体プログラム中で変数stateに代入すること
により指定状態への変更を実現している。また、関数is
State(State tmpState)は引数として与えられた値を関
数本体プログラム中で現在の状態の値を保持する変数st
ateと比較し、その結果を真理値として返すことによ
り、外部の関数の呼出し側に現在の状態についての情報
を受け渡すようになっている。
The action output means 1f for realizing the action contents of the action includes functions powerOn (), powerOff (), s corresponding to the actions of "power relay on", "power relay off", and "channel switching processing", respectively.
Implemented as etChannel (char ch). Although the function body program of each function is omitted here,
In a TV control system, a program for transmitting data for instructing an operation to a control IC, which is an actual device, and actual processing such as calling of such a subroutine are implemented. The current state storing means 1e for holding the current state of the sequence component is realized as a variable state. The variable state is a variable of the enumeration type State, and takes "POWER_OFF" or "TUNING" as a value. When each value is taken, the current state of the sequence component is "power OFF" state or "tuning process". State is indicated. State specifying means 1 for forcibly changing the state from outside
b and the state inquiring means 1c for inquiring about the state from outside are respectively a function setState (State tmpStat
e), implemented as isState (State tmpState).
The function setState (State tmpState) realizes a change to a specified state by substituting a value given as an argument into a variable state in a function body program. Also, the function is
State (State tmpState) is a variable st that holds the value of the current state in the function body program with the value given as an argument
By comparing with ate and returning the result as a truth value, information about the current state is passed to the caller of the external function.

【0054】なお、部品の状態を初期化する初期化手段
1gは初期化関数TvSequence1()として実現されてお
り、ここでは関数本体プログラム中で変数stateに“POW
ER_OFF”の値を代入することにより、状態を“電源OF
F”状態に初期化している。
The initialization means 1g for initializing the state of the component is realized as an initialization function TvSequence1 (). In this case, "POW" is added to the variable state in the function body program.
By substituting the value of “ER_OFF”, the status is changed to “power OFF”.
Initialized to F "state.

【0055】次に、図15に示すようなTV制御システ
ムが既に存在するときに、このTV制御システムをシー
ケンス部品として再利用して、図14に示す状態遷移図
により記述される動作仕様を実現するTV制御システム
を生成する手順について説明する。
Next, when the TV control system as shown in FIG. 15 already exists, this TV control system is reused as a sequence component to realize the operation specifications described by the state transition diagram shown in FIG. A procedure for generating a TV control system to be performed will be described.

【0056】図6に示すように、まず、既存のシーケン
ス部品の動作仕様に基づいて部品シーケンス仕様を作成
する(ステップ101)。具体的には、図13に示す状
態遷移図中の遷移を抜き出し、個々の遷移ごとに遷移に
対応するイベント、遷移元の状態、遷移先の状態および
アクションの4つの要素を含む遷移データとし、この遷
移データの集合として部品シーケンス仕様を作成する。
なお、図13に示す状態遷移図には“電源OFF”状態
から“選局処理”状態への遷移、“選局処理”状態から
“電源OFF”状態への遷移、“選局処理”状態から
“選局処理”状態への遷移という3つの遷移が存在する
ので、部品シーケンス仕様はこれらの遷移に対応する3
つの遷移データの集合として次の仕様5のように作成さ
れる。 仕様5:{<電源ボタン入力,電源OFF,選局処理,電
源リレーオン>,<電源ボタン入力,選局処理,電源OF
F,電源リレーオフ>,<選局ボタン入力,選局処理,選
局処理,チャンネル切替え処理>}
As shown in FIG. 6, first, a component sequence specification is created based on the operation specification of an existing sequence component (step 101). Specifically, transitions in the state transition diagram shown in FIG. 13 are extracted, and transition data including four elements of an event corresponding to the transition, a transition source state, a transition destination state, and an action for each transition, A part sequence specification is created as a set of the transition data.
Note that the state transition diagram shown in FIG. 13 includes a transition from the “power OFF” state to the “tuning processing” state, a transition from the “tuning processing” state to the “power OFF” state, and a transition from the “tuning processing” state. Since there are three transitions to the “tuning process” state, the component sequence specification
It is created as a set of two transition data as shown in the following specification 5. Specification 5: {<power button input, power OFF, tuning process, power relay ON>, <power button input, tuning process, power OF
F, power relay off>, <tuning button input, tuning process, tuning process, channel switching process>}

【0057】次に、要求されるTV制御システムの動作
仕様に基づいて要求シーケンス仕様を作成する(ステッ
プ102)。具体的には、図14に示す状態遷移図に対
応する要求シーケンス仕様を作成する。作成の方法は上
述したステップ101と同様であり、得られる要求シー
ケンス仕様は次の仕様6のようになる。この仕様6の要
求シーケンス仕様には図14に示す状態遷移図に含まれ
る7つの遷移に対応して7つの遷移データがある。な
お、6番目の遷移データでは、2つのアクションを括弧
で括っているが、これは1つの遷移に対して2つのアク
ションがあることを表している。 仕様6:{<電源ボタン入力,電源OFF,選局処理,電
源リレーオン>,<電源ボタン入力,選局処理,電源OF
F,電源リレーオフ>,<選局ボタン入力,選局処理,選
局処理,チャンネル切替え処理><お休みタイマボタン入
力,選局処理,お休みタイマ待ち,お休みタイマ起動
>,<お休みタイマカウント終了,お休みタイマ待ち,電
源OFF,電源リレーオン>,<表示ボタン入力,お休み
タイマ待ち,時間表示,(電源OFFまでの時間表示,
表示タイマ起動)>,<表示タイマカウント終了,時間表
示,お休みタイマ待ち,表示消去>}
Next, a required sequence specification is created based on the required operation specification of the TV control system (step 102). Specifically, a request sequence specification corresponding to the state transition diagram shown in FIG. 14 is created. The method of creation is the same as in step 101 described above, and the resulting required sequence specification is as shown in specification 6 below. The request sequence specification of the specification 6 has seven transition data corresponding to the seven transitions included in the state transition diagram shown in FIG. In the sixth transition data, two actions are enclosed in parentheses, which indicates that there are two actions for one transition. Specification 6: {<power button input, power OFF, tuning process, power relay ON>, <power button input, tuning process, power OF
F, power relay off>, <tuning button input, tuning process, tuning process, channel switching process><sleep timer button input, tuning process, sleep timer wait, sleep timer start
>, <Stop timer count end, sleep timer wait, power OFF, power relay ON>, <display button input, sleep timer wait, time display, (time display until power OFF,
Display timer start)>, <display timer count end, time display, rest timer wait, display clear>

【0058】次に、既存のシーケンス部品が再利用可能
であるか否かを判定する(ステップ103)。ここで、
再利用条件とは、上述したように、部品シーケンス仕様
に含まれる遷移データと要求シーケンス仕様に含まれる
遷移データとの間に共通の遷移データが存在することで
ある。ここで、部品シーケンス仕様である上記仕様5と
要求シーケンス仕様である上記仕様6とを比較すると、
上記仕様5に含まれる3つの遷移データが上記仕様6の
3番目までのそれぞれの遷移データと等しいことが分か
る。従って、図15に示すシーケンス部品は再利用可能
であると判定される。
Next, it is determined whether or not the existing sequence component can be reused (step 103). here,
As described above, the reuse condition is that common transition data exists between the transition data included in the component sequence specification and the transition data included in the required sequence specification. Here, when the above-mentioned specification 5 which is a part sequence specification is compared with the above-mentioned specification 6 which is a required sequence specification,
It can be seen that the three transition data included in the above specification 5 are equal to the respective transition data up to the third in the above specification 6. Therefore, it is determined that the sequence component shown in FIG. 15 is reusable.

【0059】この場合、上記仕様6の要求シーケンス仕
様に含まれる遷移データの中から上記仕様5の部品シー
ケンス仕様に現れる遷移元または遷移先の状態を含まな
い遷移データを抽出して差分シーケンス仕様を作成する
(ステップ104)。ここで、上記仕様5の部品シーケ
ンス仕様に現れる遷移元または遷移先の状態は“電源O
FF”状態と“選局処理”状態であり、これらの状態を
含まない遷移データを上記仕様6の要求シーケンス仕様
に含まれる遷移データの中から抽出すると、得られる差
分シーケンス仕様は次の仕様7のようになる。 仕様7:{<表示ボタン入力,お休みタイマ待ち,時間表
示,(電源OFFまでの時間表示,表示タイマ起動)>,<
表示タイマカウント終了,時間表示,お休みタイマ待
ち,表示消去>}
In this case, from the transition data included in the required sequence specification of the above specification 6, transition data not including the state of the transition source or the transition destination appearing in the part sequence specification of the above specification 5 is extracted, and the difference sequence specification is made. It is created (step 104). Here, the state of the transition source or the transition destination appearing in the component sequence specification of the above specification 5 is “power supply O
FF "state and" tuning processing "state. When transition data not including these states is extracted from the transition data included in the request sequence specification of the above specification 6, the obtained difference sequence specification is the following specification 7. Specification 7: {<Display button input, rest timer wait, time display, (time display until power OFF, display timer start)>, <
Display timer end, time display, rest timer wait, display erase>}

【0060】次に、上記仕様6の要求シーケンス仕様か
ら上記仕様5の部品シーケンス仕様および上記仕様7の
差分シーケンス仕様と重複している部分を取り除いて次
の仕様8のような接合シーケンス仕様を作成する(ステ
ップ105)。 仕様8:{<お休みタイマボタン入力,選局処理,お休み
タイマ待ち,お休みタイマ起動>,<お休みタイマカウン
ト終了,お休みタイマ待ち,電源OFF,電源リレーオ
ン>}
Next, a part that overlaps with the part sequence specification of the above specification 5 and the difference sequence specification of the above specification 7 is removed from the required sequence specification of the above specification 6, and a joining sequence specification such as the following specification 8 is created. (Step 105). Specification 8: {<rest timer button input, channel selection processing, rest timer wait, rest timer start>, <rest timer count end, rest timer wait, power OFF, power relay ON>}

【0061】その後、上記仕様7の差分シーケンス仕様
に基づいて既存のシーケンス部品とともに用いられる新
たなシーケンス部品を作成するとともに(ステップ10
6)、上記仕様8の接合シーケンス仕様に基づいて既存
のシーケンス部品および新たなシーケンス部品間を接続
する接合部品を作成する(ステップ107)。
Thereafter, a new sequence component to be used together with the existing sequence component is created based on the difference sequence specification of the above specification 7 (step 10).
6) Based on the joining sequence specification 8 described above, a joining component for connecting an existing sequence component and a new sequence component is created (step 107).

【0062】図16は上記仕様7の差分シーケンス仕様
を実現するシーケンス部品TvSequence2をプログラミン
グ言語(C++言語)により実装した場合の一例を示す
図である。なお、図16に示すプログラムの構造は図1
5に示すプログラムの構造とほぼ同一である。
FIG. 16 is a diagram showing an example of a case where the sequence component TvSequence2 for realizing the difference sequence specification of the above specification 7 is implemented in a programming language (C ++ language). The structure of the program shown in FIG.
5 has almost the same structure as the program shown in FIG.

【0063】上記仕様7の差分シーケンス仕様において
は、“表示ボタン入力”と“表示タイマカウント終了”
という2種類のイベントが存在するので、これらのイベ
ントを受け付けるようイベント入力手段1aを作成す
る。イベントの入力はプログラム上では関数の呼出しに
対応させることができる。図16に示すプログラムにお
いては、イベント入力手段1aとして2つの関数displa
yButtonEvent(),displayTimeOverEvent()を有し、それ
ぞれ外部からの“表示ボタン入力”イベントおよび“表
示タイマカウント終了”イベントの入力をこれらの関数
の外部からの呼出しとして受け付けることができる。イ
ベントが入力されると、イベントに対応した状態の変更
とアクションの起動とが状態変更/アクション起動手段
1dにより行われるが、図16に示すプログラムでは関
数displayButtonEvent(),displayTimeOverEvent()の関
数本体プログラムがこれに対応する。例えば、関数disp
layButtonEvent()の関数本体プログラムとして実現され
ている状態変更/アクション起動手段1dでは、if文
による条件分岐により、変数stateが“SLEEP_TIMER”で
あるか“TIME_DISPLAY”であるかに基づいて、現在の状
態が“お休みタイマ待ち”状態であるか“時間表示”状
態であるかが判定され、“お休みタイマ待ち”状態であ
ったときにのみイベントに対応する状態の変更とアクシ
ョンの起動とが行われるようになっている。
In the difference sequence specification of the above specification 7, "input of display button" and "end of display timer count"
Since there are two types of events, the event input unit 1a is created to accept these events. The input of an event can correspond to a function call on a program. In the program shown in FIG. 16, two functions displa are used as the event input means 1a.
It has yButtonEvent () and displayTimeOverEvent (), and can receive externally input "display button input" event and "display timer count end" event as external calls to these functions. When an event is input, the state change / action activation means 1d changes the state corresponding to the event and activates the action. In the program shown in FIG. 16, the function body program of the functions displayButtonEvent () and displayTimeOverEvent () Corresponds to this. For example, the function disp
In the state change / action initiating means 1d implemented as a function body program of layButtonEvent (), the current state is determined based on whether the variable state is "SLEEP_TIMER" or "TIME_DISPLAY" by a conditional branch by an if statement. Is determined to be in the "waiting for rest timer" state or the "time display" state, and only when in the "waiting for rest timer" state, the state corresponding to the event is changed and the action is started. It has become.

【0064】また、アクションの動作内容を実現するア
クション出力手段1fは、“電源OFFまでの時間表
示”、“表示タイマ起動”および“表示消去”のアクシ
ョンにそれぞれ対応する関数displayTime(),startDisp
layTimer(),eraseTime()として実現されている。それ
ぞれの関数の関数本体プログラムはここでは省略してい
るが、TV制御システムでは実デバイスである制御用I
Cに対して動作を指令するデータを送信するためのプロ
グラムやそのようなサブルーチンの呼出しといった実際
の処理が実装される。シーケンス部品の現在の状態を保
持する現在状態ストア手段1eは変数stateとして実現
されている。変数stateは列挙型Stateの変数であり、値
として“SLEEP_TIMER”または“TIME_DISPLAY”をとる
が、それぞれの値をとったときにシーケンス部品の現在
の状態が“お休みタイマ待ち”状態または“時間表示”
状態となる。外部から状態を強制的に変更する状態指定
手段1bと、外部から状態について問い合わせを行う状
態問い合わせ手段1cはそれぞれ関数setState(State t
mpState),isState(State tmpState)として実現されて
いる。関数setState(State tmpState)は引数として与え
られた値を関数本体プログラム中で変数stateに代入す
ることにより指定状態への変更を実現している。また、
関数isState(State tmpState)は引数として与えられた
値を関数本体プログラム中で現在の状態の値を保持する
変数stateと比較し、その結果を真理値として返すこと
により、外部の関数の呼出し側に現在の状態についての
情報を受け渡すようになっている。
The action output means 1f for realizing the action contents of the action includes functions displayTime () and startDisp corresponding to the actions of "display time until power-off", "display timer start" and "display erase", respectively.
Implemented as layTimer () and eraseTime (). Although the function body program of each function is omitted here, in the TV control system, the control I
An actual process such as a program for transmitting data for instructing C to operate or a call of such a subroutine is implemented. The current state storing means 1e for holding the current state of the sequence component is realized as a variable state. The variable state is a variable of the enumeration type State, and takes the value “SLEEP_TIMER” or “TIME_DISPLAY”. When the respective values are taken, the current state of the sequence component is “Waiting for timer for rest” or “Time display”. "
State. The state specifying means 1b forcibly changing the state from the outside and the state inquiring means 1c for inquiring about the state from the outside are respectively a function setState (State t
mpState) and isState (State tmpState). The function setState (State tmpState) realizes a change to a specified state by substituting a value given as an argument into a variable state in a function body program. Also,
The function isState (State tmpState) compares the value given as an argument with the variable state which holds the value of the current state in the function body program, and returns the result as a truth value to the external function caller. It passes information about the current state.

【0065】なお、部品の状態を初期化する初期化手段
1gは初期化関数TvSequence2()として実現されてお
り、ここでは関数本体プログラム中で変数stateに“SLE
EP_TIMER”の値を代入することにより、状態を“お休み
タイマ待ち”状態に初期化している。
The initialization means 1g for initializing the state of the component is realized as an initialization function TvSequence2 (). In this case, "SLE" is added to the variable state in the function body program.
By substituting the value of “EP_TIMER”, the state is initialized to “wait for a rest timer”.

【0066】図17は上記仕様8の接合シーケンス仕様
を実現する接合部品TvSwitcherをプログラミング言語
(C++言語)により実装した場合の一例を示す図であ
る。図17に示すプログラムにおいては、アクティブ部
品データストア手段2cは列挙型ActiveSequenceの変数
activeSequenceとして実現されている。変数activeSequ
enceは値として“SEQ1”または“SEQ2”をとり、それぞ
れの値は現在アクティブとなっているシーケンス部品Tv
Sequence1またはシーケンス部品TvSequence2に対応して
いる。部品通信手段2dはシーケンス部品へのポインタ
変数であるseq1Ptr,seq2Ptrにより実現される。これら
にはそれぞれシーケンス部品TvSequence1のインスタン
スのアドレスと、シーケンス部品TvSequence2のインス
タンスのアドレスが保持される。C++言語ではポイン
タ変数を介してインスタンスの関数を呼び出すことがで
きる。このため、接合部品TvSwitcherはそれぞれのイン
スタンスの関数として実現されたシーケンス部品のイベ
ント入力手段1a、状態指定手段1bおよび状態問い合
わせ手段1cにこれらのポインタ変数を用いてアクセス
することができる。
FIG. 17 is a diagram showing an example of a case where the joining part TvSwitcher for realizing the joining sequence specification of the above specification 8 is implemented in a programming language (C ++ language). In the program shown in FIG. 17, the active component data storing means 2c is a variable of the enumeration type ActiveSequence.
Implemented as activeSequence. Variable activeSequ
ence takes "SEQ1" or "SEQ2" as a value, and each value is the currently active sequence component Tv.
It corresponds to Sequence1 or sequence component TvSequence2. The component communication means 2d is realized by seq1Ptr and seq2Ptr which are pointer variables to sequence components. These hold the address of the instance of the sequence component TvSequence1 and the address of the instance of the sequence component TvSequence2, respectively. In the C ++ language, a function of an instance can be called through a pointer variable. Therefore, the joining component TvSwitcher can access the event input unit 1a, the state specifying unit 1b, and the state inquiry unit 1c of the sequence component realized as a function of each instance using these pointer variables.

【0067】アクション出力手段2eは上記仕様8の接
合シーケンス仕様に含まれるアクションの実行の処理を
記述するが、図17に示す接合部品TvSwitcherでは“電
源リレーオフ”および“お休みタイマ起動”のアクショ
ンのそれぞれに対応する関数powerOff(),startSleepTi
mer()として実現されている。それぞれの関数の関数本
体プログラムはここでは省略しているが、TV制御シス
テムでは実デバイスである制御用ICに対して動作を指
令するデータを送信するためのプログラムやそのような
サブルーチンの呼出しといった処理が実装される。
The action output means 2e describes the process of executing the action included in the joining sequence specification of the above specification 8. In the joining component TvSwitcher shown in FIG. 17, the action of the action of "power relay off" and "start of the sleep timer" is performed. Corresponding functions powerOff (), startSleepTi
Implemented as mer (). Although a function body program of each function is omitted here, in a TV control system, a program for transmitting data for instructing an operation to a control IC, which is an actual device, and a process such as calling of such a subroutine. Is implemented.

【0068】初期化手段2fは初期化関数TvSwitcher(T
vSequence1* apSeq1, TvSequence2*apSeq2)として実現
されている。この初期化関数は引数としてシーケンス部
品TvSequence1のインスタンスのアドレスと、シーケン
ス部品TvSequence2のインスタンスのアドレスとを受け
取り、これを部品通信手段2dであるポインタ変数seq1
Ptr,seq2Ptrに代入する。また、この初期化関数はアク
ティブ部品データストア手段2cである変数activeSequ
enceに“SEQ1”を代入することにより、アクティブとな
るシーケンス部品をシーケンス部品TvSequence1に初期
化している。
The initialization means 2f includes an initialization function TvSwitcher (T
vSequence1 * apSeq1, TvSequence2 * apSeq2). This initialization function receives, as arguments, the address of the instance of the sequence component TvSequence1 and the address of the instance of the sequence component TvSequence2, and stores them in the pointer variable seq1 which is the component communication means 2d.
Assign to Ptr and seq2Ptr. This initialization function is a variable activeSequ
By substituting "SEQ1" for the ence, the sequence component to be activated is initialized to the sequence component TvSequence1.

【0069】ここで、接合部品TvSwitcherは要求シーケ
ンス仕様に含まれる全てのイベントの入力が可能である
必要がある。従って、上記仕様6に含まれる“電源ボタ
ン入力”、“選局ボタン入力”、“お休みタイマカウン
ト終了”、“お休みボタン入力”、“表示ボタン入
力”、および“表示タイマカウント終了”の6つのイベ
ントについて入力が可能である必要があり、このため上
述したシーケンス部品TvSequence1,TvSequence2と同様
にそれぞれのイベントの入力に対応する関数をイベント
入力手段2aとして実現する。これらの関数はpowerBut
tonEvent(),selectButtonEvent(char ch),displayBut
tonEvent(),displayTimeOverEvent(),sleepButtonEve
nt(),sleepTimeOverEvent()である。
Here, the joining component TvSwitcher needs to be able to input all events included in the required sequence specification. Therefore, “power button input”, “tuning button input”, “sleep timer count end”, “sleep timer button input”, “display button input”, and “display timer count end” included in the above specification 6 are included. It is necessary to be able to input six events. Therefore, a function corresponding to the input of each event is realized as the event input means 2a, similarly to the sequence components TvSequence1 and TvSequence2 described above. These functions are powerBut
tonEvent (), selectButtonEvent (char ch), displayBut
tonEvent (), displayTimeOverEvent (), sleepButtonEve
nt () and sleepTimeOverEvent ().

【0070】イベントが入力されると、これに対応する
処理がイベント対応処理手段2bにより行われるが、図
17に示すプログラムではイベント入力手段2aである
関数の関数本体プログラムがこれに対応する。イベント
対応処理手段2bでは受け付けたイベントと現在の状態
とに基づいて部品切替え条件の判定処理、部品切替え条
件が成立した場合の処理と不成立な場合の処理とを行
う。
When an event is input, processing corresponding to the event is performed by the event processing unit 2b. In the program shown in FIG. 17, a function body program of the function which is the event input unit 2a corresponds to this. The event handling unit 2b performs a component switching condition determination process based on the received event and the current state, a process when the component switching condition is satisfied, and a process when the component switching condition is not satisfied.

【0071】まず、部品切替え条件の判定処理について
は、入力されたイベントをe、アクティブなシーケンス
部品の現在の状態をSとするとき、eをイベント(第1
要素)、Sを遷移元の状態(第2要素)とする遷移デー
タが接合シーケンス仕様に存在するか否かを判定する。
ここでは、接合シーケンス仕様は2つの遷移データから
構成されているので、接合シーケンス仕様中の遷移デー
タにおけるイベントと遷移元の状態との組みは <お休み
タイマボタン入力,選局処理> と <お休みタイマカウン
ト終了,お休みタイマ待ち> に限定できる。
First, in the process of determining the component switching condition, when the input event is e and the current state of the active sequence component is S, e is the event (first
Element), and determine whether or not transition data having S as a transition source state (second element) exists in the joining sequence specification.
In this case, since the joining sequence specification is composed of two transition data, the combination of the event and the transition source state in the transition data in the joining sequence specification is <sleep timer button input, channel selection processing> and <O. It is possible to limit the timer to the end of the rest timer and wait for the rest timer.

【0072】従って、部品切替え条件の判定処理は、入
力されたイベントが“お休みタイマカウント終了”また
は“お休みボタン入力”であるときのみで十分であり、
それ以外のイベントが入力されたときには部品切替え条
件は不成立である。言い換えれば、関数sleepButtonEve
nt(),sleepTimeOverEvent()以外の関数の呼出しによる
イベント入力は関数が呼び出された時点で部品切替え条
件が不成立であることが確定しているので、部品切替え
条件の判定処理を省略することができる。従って、関数
sleepButtonEvent(),sleepTimeOverEvent()の関数本体
プログラム中にのみこの判定処理を組み込んでいる。
Therefore, it is sufficient to judge the component switching condition only when the input event is “end of the rest timer count” or “input of the rest button”.
If any other event is input, the component switching condition is not satisfied. In other words, the function sleepButtonEve
As for the event input by calling a function other than nt () and sleepTimeOverEvent (), it is determined that the component switching condition is not satisfied at the time the function is called, so the process of determining the component switching condition can be omitted. . Therefore, the function
This judgment processing is incorporated only in the sleepButtonEvent () and sleepTimeOverEvent () function body programs.

【0073】例えば、関数sleepButtonEvent()の関数本
体プログラムでは2重に入れ子になったif文の外側の
条件判定でアクティブ部品データストア手段2cである
変数activeSequenceを参照して“選局処理”状態を持つ
方のシーケンス部品がアクティブであるか否かを判定
し、さらに内側のif文でこのシーケンス部品の状態問
い合わせ手段1cであるisState()関数を呼び出すこと
により、現在の状態が“選局処理”状態であるか否かを
判定している。これにより、関数が呼ばれた時点で“お
休みタイマボタン入力”イベントの入力は判明している
ことと合わせ、入力されたイベントが“お休みタイマボ
タン入力”であり、かつアクティブな部品の現在の状態
が“選局処理”であるという部品切替え条件の判定を実
現している。
For example, in the function body program of the function sleepButtonEvent (), the condition selection outside the doubly nested if statement refers to the variable activeSequence which is the active component data storage means 2 c to change the “tuning process” state. It is determined whether the owning sequence component is active or not, and the inner state if statement calls the isState () function, which is the state inquiry means 1c of this sequence component, so that the current state is "tuning process". It is determined whether it is in the state. As a result, the input of the “rest timer button input” event is known at the time the function is called, and the input event is “rest timer button input” and the current Is determined to be a "tuning process".

【0074】部品切替え条件が成立した場合、入力され
たイベントに対応するアクションの起動、アクティブな
シーケンス部品の切替え、新しくアクティブとなったシ
ーケンス部品の内部状態の変更という3つの処理が必要
になる。関数sleepButtonEvent()の関数本体プログラム
ではイベントの入力に対応するアクションの起動として
アクション出力手段2eの関数startSleepTimer()を呼
び出し、アクティブなシーケンス部品の切り替えとして
アクティブ部品データストア手段2cに新しくアクティ
ブとなるシーケンス部品を表すデータを代入し、新しく
アクティブとなったシーケンス部品の内部状態の変更の
ために部品通信手段2dであるポインタ変数seq1Ptrを
用いてsetState()関数を呼び出すことにより、アクティ
ブなシーケンス部品の状態を“お休みタイマ待ち”状態
に設定している。
When the component switching condition is satisfied, three processes are required: activation of an action corresponding to the input event, switching of the active sequence component, and change of the internal state of the newly activated sequence component. In the function body program of the function sleepButtonEvent (), the function startSleepTimer () of the action output means 2e is called as activation of an action corresponding to the input of an event, and a sequence to be newly activated in the active component data storage means 2c as switching of active sequence components. By substituting the data representing the component and calling the setState () function using the pointer variable seq1Ptr, which is the component communication means 2d, to change the internal state of the newly activated sequence component, the state of the active sequence component is changed. Is set to the “Waiting timer wait” state.

【0075】部品切替え条件が不成立な場合、接合部品
TvSwitcherが受け取ったイベントを現在アクティブなシ
ーケンス部品に対して入力する処理を行う。例えば、関
数powerButtonEvent()では、この関数が呼び出された時
点で部品切替え条件は不成立であることが確定している
ので、関数本体プログラムでは部品切替え条件が不成立
な場合の処理のみを実装している。ただし、“電源ボタ
ン入力”イベントを受け付けるのは上記仕様5の部品シ
ーケンス仕様を実現するシーケンス部品のみであるの
で、このシーケンス部品がアクティブな場合にのみこの
シーケンス部品に対してイベントを送信するようになっ
ている。
If the component switching condition is not satisfied, the
Performs processing to input the event received by TvSwitcher to the currently active sequence component. For example, in the function powerButtonEvent (), it is determined that the component switching condition is not satisfied at the time this function is called, so the function body program implements only the process when the component switching condition is not satisfied. . However, since only the sequence component that realizes the component sequence specification of the above specification 5 accepts the "power button input" event, the event is transmitted to this sequence component only when this sequence component is active. Has become.

【0076】次に、このようにして生成されたTV制御
システムの作用について説明する。
Next, the operation of the TV control system thus generated will be described.

【0077】図15および図16に示す各シーケンス部
品、および図17に示す接合部品は、C++言語のクラ
スとして実現されており、これらを利用する際にはこれ
らのクラスのインスタンスを生成する。この際、初期化
関数として実現された各部品の初期化手段1g,2fが
動作する。これにより、図15に示すシーケンス部品Tv
Sequence1では“電源OFF”状態に、図16に示すシ
ーケンス部品TvSequence2では“お休みタイマ待ち”状
態に初期化される。また、接合部品TvSwitcherでは、部
品通信手段2dであるポインタ変数に各シーケンス部品
TvSequence1,TvSequence2のインスタンスのアドレスを
代入することにより、接合部品と各シーケンス部品との
通信路を確保するともに、アクティブ部品データストア
手段2cである変数activeSequenceにシーケンス部品Tv
Sequence1がアクティブであることを示す値“SEQ1”を
代入する。
The sequence components shown in FIGS. 15 and 16 and the joining components shown in FIG. 17 are realized as C ++ language classes, and when these are used, instances of these classes are generated. At this time, the initialization means 1g and 2f of each component implemented as the initialization function operate. Thereby, the sequence component Tv shown in FIG.
The sequence component TvSequence2 shown in FIG. 16 is initialized to a "power off" state, and the sequence component TvSequence2 shown in FIG. Also, in the joining component TvSwitcher, each sequence component is stored in a pointer variable which is the component communication means 2d.
By substituting the addresses of the instances of TvSequence1 and TvSequence2, a communication path between the joining component and each sequence component is secured, and the sequence component Tv is stored in the variable activeSequence that is the active component data storage means 2c.
Substitute the value "SEQ1" indicating that Sequence1 is active.

【0078】以上のような初期化処理が終了すると、T
V制御システムはイベントを受け付けることが可能とな
る。外部からのイベントはイベント入力手段2aである
各関数を呼び出すことにより行われる。以下、イベント
が呼び出されてからの処理の流れをいくつかの場合を想
定して説明する。
When the initialization processing as described above is completed, T
The V control system can receive the event. An external event is performed by calling each function as the event input means 2a. Hereinafter, the flow of processing after the event is called will be described assuming some cases.

【0079】まず、第1に、シーケンス部品TvSequence
1がアクティブでかつ“電源OFF”状態のときに“電
源ボタン入力”イベントを入力した場合の処理の流れに
ついて説明する。
First, the sequence component TvSequence
A description will be given of the flow of processing when the “power button input” event is input when 1 is active and in the “power OFF” state.

【0080】“電源ボタン入力”イベントの入力は接合
部品TvSwitcherの関数powerButtonEvent()を呼び出すこ
とにより行われる。関数powerButtonEvent()は“電源ボ
タン入力”イベントを受け付けるための接合部品TvSwit
cherのイベント入力手段2aである。関数powerButtonE
vent()が呼び出されると、イベント対応処理手段2bに
おいて“電源ボタン入力”イベントに対応した動作が判
定されて実行される。この場合、上述したように、イベ
ントが入力された時点で部品切替え条件は不成立である
ので、このイベントのアクティブなシーケンス部品への
転送のみが行われる。“電源ボタン入力”イベントを受
け付けるのはシーケンス部品TvSequence1のみであるの
で、イベント対応処理はシーケンス部品TvSequence1が
現在アクティブであるか否かを判定する。シーケンス部
品TvSequence1がアクティブである場合には、シーケン
ス部品TvSequence1の“電源ボタン入力”イベントを受
け付けるイベント入力手段1aである関数powerButtonE
vent()を呼び出す。シーケンス部品TvSequence1は、そ
の関数powerButtonEvent()が呼び出されると、イベント
入力手段1aにおいて現在状態ストア手段1eである変
数stateを参照し、現在の状態が“電源OFF”状態で
あるか否かを判定する。“電源OFF”状態である場合
には、“電源リレーオン”アクションを実行するアクシ
ョン出力手段1fである関数powerOn()を呼び出す。な
お、以上の処理の流れを図19のイベントトレース図に示
す。
The input of the "power button input" event is performed by calling the function powerButtonEvent () of the joint component TvSwitcher. The function powerButtonEvent () is a joint component TvSwit to accept the "power button input" event
cher's event input means 2a. Function powerButtonE
When vent () is called, the operation corresponding to the “power button input” event is determined and executed by the event handling processing unit 2b. In this case, as described above, since the component switching condition is not satisfied when the event is input, only this event is transferred to the active sequence component. Since only the sequence component TvSequence1 receives the “power button input” event, the event handling process determines whether the sequence component TvSequence1 is currently active. When the sequence component TvSequence1 is active, the function powerButtonE which is the event input unit 1a that receives the “power button input” event of the sequence component TvSequence1
Call vent (). When the function powerButtonEvent () is called, the sequence component TvSequence1 refers to the variable state, which is the current state storage means 1e, in the event input means 1a, and determines whether or not the current state is the "power OFF" state. . In the case of the "power OFF" state, the function powerOn () which is the action output means 1f for executing the "power relay on" action is called. The above processing flow is shown in the event trace diagram of FIG.

【0081】次に、第2に、シーケンス部品TvSequence
1がアクティブでかつ“選局処理”状態のときに“お休
みタイマボタン入力”イベントを入力した場合の処理の
流れについて説明する。
Next, second, the sequence component TvSequence
A description will be given of the flow of processing when the "sleep timer button input" event is input when 1 is active and in the "tuning processing" state.

【0082】お休みタイマボタン入力”イベントの入力
は接合部品TvSwitcherの関数sleepButtonEvent()を呼び
出すことにより行われる。関数SleepButtonEvent()は
“お休みタイマボタン入力”イベントを受け付けるため
の接合部品TvSwitcherのイベント入力手段2aである。
関数sleepButtonEvent()が呼び出されると、イベント対
応処理手段2bにおいて“お休みタイマボタン入力”イ
ベントに対応した動作が判定されて実行される。この場
合、まず、部品切替え条件が判定されるが、“お休みタ
イマボタン入力”イベントが入力されたときの部品切替
え条件は「TvSequence1がアクティブであり、かつ“選
局処理”状態である」ことである。この部品切替え条件
を判定するため、接合部品TvSwitcherはまず、アクティ
ブ部品データストア手段2cである変数activeSequence
を参照し、この値が“SEQ1”であるか否かを判定するこ
とにより、シーケンス部品TvSequence1がアクティブで
あるか否かを判断する。さらに、シーケンス部品TvSequ
ence1がアクティブである場合には、このシーケンス部
品TvSequence1が“選局処理”状態であることを判定す
るため、シーケンス部品TvSequence1との通信を行うた
めの部品通信手段2dであるポインタ変数seq1Ptrを介
してシーケンス部品TvSequence1の状態問い合わせ手段
1bである関数isState()に対して、“選局処理”状態
を示す“TvSequence1::TUNING”という値を引数に与え
て呼び出す。シーケンス部品TvSequence1はこの関数isS
tate()の呼出しに対して、引数として渡された値が現在
状態ストア手段1eの現在の値と等しいか否かの真理値
を関数の戻り値として返す。接合部品TvSwitcherはこれ
を受けて、シーケンス部品TvSequence1の状態が“選局
処理”である場合、部品切替え条件が成立したと判定
し、“お休みタイマボタン入力”イベントに対応するア
クションである“お休みタイマ起動”アクションの実
行、アクティブなシーケンス部品となるTvSequence2へ
の切替え、シーケンス部品TvSequence2の状態の“お休
みタイマ待ち”状態への強制的な変更を行う。“お休み
タイマ起動”アクションの実行はこれに対応するアクシ
ョン出力手段2eである関数startSleepTimer()の呼出
しにより行われる。また、アクティブなシーケンス部品
の切替えはアクティブ部品データストア手段2cである
変数activeSequenceの値をTvSequence2がアクティブで
あることを表す値である“SEQ2”に変更することにより
行われる。また、状態の強制的な変更はシーケンス部品
TvSequence1,TvSequence2との通信を行うための部品通
信手段2dであるポインタ変数seq2Ptrを介してシーケ
ンス部品TvSequence2の状態指定手段1bである関数set
State()に対して、“お休みタイマ待ち”状態を表す値
“TvSequence2::SLEEP_TIMER”を引数に与えて呼び出す
ことにより行われる。シーケンス部品TvSequence2では
関数setState()が呼び出されると、現在状態ストア手段
1eである変数stateに引数で渡された値“TvSequence
2::SLEEP_TIMER”を代入することにより、状態を“お休
みタイマ待ち”状態に変更する。なお、以上の処理の流
れを図19のイベントトレース図に示す。
The input of the "sleep timer button input" event is performed by calling the function sleepButtonEvent () of the connection component TvSwitcher. The function SleepButtonEvent () is an event of the connection component TvSwitcher for receiving the "sleep timer button input" event. Input means 2a.
When the function sleepButtonEvent () is called, an operation corresponding to the “sleep timer button input” event is determined and executed by the event handling processing unit 2b. In this case, the component switching condition is determined first, but the component switching condition when the “sleep timer button input” event is input is “TvSequence1 is active and“ tuning process ”state”. It is. In order to determine the component switching condition, the joining component TvSwitcher first determines the variable activeSequence
To determine whether or not the sequence component TvSequence1 is active by determining whether or not this value is “SEQ1”. Furthermore, the sequence component TvSequ
When ence1 is active, in order to determine that the sequence component TvSequence1 is in the “tuning process” state, the sequence component TvSequence1 is communicated with the sequence component TvSequence1 via the pointer variable seq1Ptr which is the component communication means 2d. The function isState (), which is the state inquiry means 1b of the sequence component TvSequence1, is called with the value "TvSequence1 :: TUNING" indicating the "tuning process" state given as an argument. The sequence component TvSequence1 uses this function isS
In response to the call of tate (), a truth value indicating whether or not the value passed as the argument is equal to the current value of the current state storage means 1e is returned as the return value of the function. In response to this, when the state of the sequence component TvSequence1 is “tuning process”, the joining component TvSwitcher determines that the component switching condition is satisfied, and determines that the action corresponding to the “sleep timer button input” event is “O”. The execution of the “sleep timer start” action, the switching to the active sequence component TvSequence2, and the forced change of the state of the sequence component TvSequence2 to the “sleep timer wait” state are performed. The execution of the "sleep timer activation" action is performed by calling the function startSleepTimer () which is the corresponding action output means 2e. The switching of the active sequence component is performed by changing the value of the variable activeSequence, which is the active component data storage means 2c, to "SEQ2" which is a value indicating that TvSequence2 is active. In addition, forced change of status is performed by
A function set, which is the state specifying means 1b of the sequence component TvSequence2, via the pointer variable seq2Ptr which is the component communication means 2d for performing communication with TvSequence1, TvSequence2
This is performed by giving State () a value “TvSequence2 :: SLEEP_TIMER” representing the state of “waiting for a rest timer” as an argument. In the sequence component TvSequence2, when the function setState () is called, the value “TvSequence” passed as an argument to the variable state which is the current state storage means 1e.
By changing "2 :: SLEEP_TIMER", the state is changed to "waiting for a rest timer". The above processing flow is shown in the event trace diagram of FIG.

【0083】このように第1の実施例によれば、シーケ
ンス部品TvSequnce1が既に存在する場合に、シーケンス
部品TvSequence1の内部を変更することなく、追加的な
部品TvSequence2,TvSwitcherを新たに作成することに
より、図14に示すような拡張した動作仕様を実現する
TV制御システムを生成することができる。これによ
り、TV制御システムの開発者は既存のシーケンス部品
TvSequece1の内部について詳細に理解する必要はなく、
図13に示すような状態遷移図により記述される動作仕
様のみを把握することにより開発を進めることができる
ので、新たなTV制御システムを効率的に開発すること
が可能となる。
As described above, according to the first embodiment, when a sequence component TvSequence1 already exists, additional components TvSequence2 and TvSwitcher are newly created without changing the inside of the sequence component TvSequence1. A TV control system that realizes an extended operation specification as shown in FIG. 14 can be generated. This allows developers of TV control systems to use existing sequence components.
You don't need to understand the details inside TvSequece1,
Since the development can be advanced by grasping only the operation specifications described by the state transition diagram as shown in FIG. 13, a new TV control system can be efficiently developed.

【0084】第2の実施例 次に、図20乃至図22により、図1乃至図12に示す
シーケンス制御システムの別の実施例について説明す
る。なお、ここでは、図10乃至図12に示すシーケン
ス部品および接合部品を、オブジェクト指向言語である
C++言語でなく、関数型言語であるC言語で実装する
場合について説明する。
Second Embodiment Next, another embodiment of the sequence control system shown in FIGS. 1 to 12 will be described with reference to FIGS. Here, a case will be described in which the sequence parts and the joint parts shown in FIGS. 10 to 12 are implemented not in C ++, which is an object-oriented language, but in C, which is a functional language.

【0085】図20に示すプログラムは、上記仕様1の
部品シーケンス仕様(図4参照)を実現するシーケンス
部品である。図20において、イベント入力手段1aは
関数Component_E1(),Component_E2()に対応している。
外部からのイベントの入力はこれらの関数を呼び出すこ
とにより行われる。アクション出力手段1fは関数Comp
onent_A1(),Component_A2()に対応している。これらの
関数の内部では、例えば出力バッファへのデータの出力
やタイマの起動等の様々なアクションが実装されるが、
ここでは詳細な説明は省略する。現在状態ストア1eは
グローバル変数Component_stateにより実現される。グ
ローバル変数Component_stateは値として“Alpha”また
は“Beta”をとり、それぞれの値をとったときにシーケ
ンス部品Componentの現在の状態が“α”または“β”
となる(図4参照)。初期化手段1gは初期化関数init
Component()として実現される。この初期化関数はシー
ケンス部品を利用するときに外部から呼び出されること
により、グローバル変数Component_stateの値を“Alph
a”にし、このシーケンス部品の初期状態を“α”に設
定する。状態変更/アクション出力手段1dは関数Compo
nent_E1(),Component_E2()の関数本体プログラムによ
り実現されている。関数Component_E1(),Component_E2
()は関数呼出しが発生する度に、現在のstateの値に基
づいて、次のstateへの変化を求め、状態遷移が必要な
場合にはその値を書き換える。状態指定手段1bは関数
Component_setState()により実現される。この関数は引
数として与えられた値をstateを代入することにより指
定状態への変化を実現している。また、状態問い合わせ
手段1cは関数Component_isState()により実現され
る。この関数は現在の状態が引数として与えられた状態
であるか否かを判定し、その結果を返す。
The program shown in FIG. 20 is a sequence component for realizing the component sequence specification of the above specification 1 (see FIG. 4). In FIG. 20, the event input unit 1a corresponds to the functions Component_E1 () and Component_E2 ().
Input of events from outside is performed by calling these functions. The action output means 1f is a function Comp
It corresponds to onent_A1 () and Component_A2 (). Various actions such as outputting data to the output buffer and starting a timer are implemented inside these functions.
Here, detailed description is omitted. The current state store 1e is realized by the global variable Component_state. The global variable Component_state takes "Alpha" or "Beta" as a value, and when the respective value is taken, the current state of the sequence component Component is "α" or "β".
(See FIG. 4). The initializing means 1g includes an initialization function init
Implemented as Component (). This initialization function is called from the outside when using a sequence component, and changes the value of the global variable Component_state to “Alph
a), and sets the initial state of this sequence component to “α.” The state change / action output unit 1 d uses the function Compo
This is realized by the function body programs of nent_E1 () and Component_E2 (). Function Component_E1 (), Component_E2
() Finds a change to the next state based on the value of the current state every time a function call occurs, and rewrites the value when a state transition is required. State specifying means 1b is a function
Implemented by Component_setState (). This function realizes the change to the specified state by substituting the value given as an argument into the state. The state inquiry means 1c is realized by the function Component_isState (). This function determines whether the current state is the state given as an argument and returns the result.

【0086】図21に示すプログラムは、上記仕様3の
差分シーケンス仕様(図7参照)を実現するシーケンス
部品である。図21に示すように、このプログラムの構
造は図20に示すプログラムの構造と略同一であるの
で、詳細な説明は省略する。
The program shown in FIG. 21 is a sequence component for realizing the difference sequence specification (see FIG. 7) of the above specification 3. As shown in FIG. 21, the structure of this program is substantially the same as the structure of the program shown in FIG. 20, and a detailed description thereof will be omitted.

【0087】図22に示すプログラムは、上記仕様4の
接合シーケンス仕様(図8参照)を実現する接合部品で
ある。図22において、イベント入力手段2aは関数Sw
ithcer_E1()〜Swithcer_E4()に対応している。外部から
のイベントの入力はこれらの関数を呼び出すことにより
行われる。アクティブ部品データストア2cは変数Swit
cher_activeSequenceにより実現される。この変数は値
として“COMPONENT”または“COMPLEMENT”をとり、そ
れぞれの値をとったときにシーケンス部品Componentま
たはComplementのいずれかがアクティブであることを表
している。部品通信手段2dはここでは各シーケンス部
品のイベント入力手段1a、状態指定手段1b、および
状態問い合わせ手段1cである各関数が兼ねている。す
なわち、各関数はC言語の外部関数として定義されてい
るので、例えばシーケンス部品Componentの関数Compone
net_isState()を接合部品Switcherの関数Switcher_E3()
から直接呼び出すことができる。
The program shown in FIG. 22 is a joining part for realizing the joining sequence specification (see FIG. 8) of the above specification 4. In FIG. 22, the event input means 2a has a function Sw
It corresponds to ithcer_E1 ()-Swithcer_E4 (). Input of events from outside is performed by calling these functions. Active parts data store 2c is a variable Swit
Implemented by cher_activeSequence. This variable takes “COMPONENT” or “COMPLEMENT” as a value, and indicates that either the sequence component Component or Complement is active when each value is taken. In this case, the component communication unit 2d is also used by each function as the event input unit 1a, the state designation unit 1b, and the state inquiry unit 1c of each sequence component. That is, since each function is defined as an external function in the C language, for example, the function Compone of the sequence component Component
net_isState () is a function of joining part Switcher Switcher_E3 ()
Can be called directly from.

【0088】初期化手段2fは初期化関数initSwitcher
()により実現される。初期化関数initSwitcher()はアク
ティブ部品データストア手段2cである変数Switcher_a
ctiveSequenceの値を“COMPONENT”に初期化する。これ
により、アクティブなシーケンス部品をComponentに初
期化する。
The initialization means 2f includes an initialization function initSwitcher
(). The initialization function initSwitcher () is a variable Switcher_a which is the active component data storage means 2c.
Initialize the value of ctiveSequence to “COMPONENT”. Thereby, the active sequence component is initialized to Component.

【0089】イベント対応処理手段2bは関数Switcher
_E3(),Switcher_E4()の関数本体プログラムにより実現
されている。部品切替え条件の判定は、Switcher_E
3(),Switcher_E4()の内部の2つのif文で実現されて
いる。部品切替え条件の成立時のアクションの実行の処
理、切替え先となるシーケンス部品の内部状態を変更す
る処理、および切替え先となるシーケンス部品をアクテ
ィブとして他をインアクティブとする処理は、関数Swit
cher_E3()の本体プログラムでは関数Switcher_A3()の呼
出し、関数Componnent_setState()の呼出し、変数Switc
her_activeSequenceの“COMPONENT”への値の書き換え
により実現される。また、関数Switcher_E4()の関数本
体プログラムでは関数Switcher_A4()の呼出し、関数Com
plement_setState()の呼出し、変数Switcher_activeSeq
uenceの“COMPLEMENT”への値の書き換えにより実現さ
れる。一方、部品切替え条件の不成立時の処理は、関数
Switcher_E1(),Switcher_E2()の内部におけるアクティ
ブなシーケンス部品へのイベント受付け関数Component_
E1(),Complement_E1()の呼出しにより実現される。な
お、アクション出力手段2eには関数Switcher_A3(),S
witcher_A4()が対応している。
The event correspondence processing means 2b is a function Switcher
_E3 () and Switcher_E4 () are implemented by function body programs. Judgment of component switching condition is Switcher_E
This is realized by two if statements inside 3 () and Switcher_E4 (). The process of executing the action when the component switching condition is satisfied, the process of changing the internal state of the sequence component to be switched, and the process of making the sequence component to be switched active and inactive the other are the functions Swit
In the main program of cher_E3 (), call the function Switcher_A3 (), call the function Componnent_setState (),
This is realized by rewriting the value of her_activeSequence to “COMPONENT”. In the function body program of the function Switcher_E4 (), the function Switcher_A4 () is called and the function
Call plement_setState (), variable Switcher_activeSeq
This is realized by rewriting the value of uence to “COMPLEMENT”. On the other hand, when the component switching condition is not satisfied,
Event_receiving function for the active sequence components inside Switcher_E1 () and Switcher_E2 ()
This is realized by calling E1 () and Complement_E1 (). The action output means 2e has the function Switcher_A3 (), S
witcher_A4 () is supported.

【0090】このように、第2の実施例によれば、関数
型言語であるC言語によっても、第1の実施例と同様に
新たなシーケンス制御システムを生成することができ、
サブシステム化(部品化)によりシステム開発を効率的
に進めることができる。
As described above, according to the second embodiment, a new sequence control system can be generated in the same manner as in the first embodiment by using the C language which is a functional language.
System development can be efficiently promoted by sub-systems (parts).

【0091】[0091]

【発明の効果】以上説明したように本発明によれば、状
態遷移動作システムを再利用して新たな状態遷移動作シ
ステムを生成することができるので、新たな状態遷移動
作システムを効率的に開発することができる。また、こ
のような開発過程で作成された状態遷移部品や接合部品
についても次の新たな開発過程でシーケンス部品として
再利用することができるので、状態遷移動作システムを
サブシステム化(部品化)してシステム開発を効率的に
進めることができる。
As described above, according to the present invention, a new state transition operation system can be generated by reusing the state transition operation system, so that a new state transition operation system can be efficiently developed. can do. In addition, since the state transition parts and joint parts created in such a development process can be reused as sequence parts in the next new development process, the state transition operation system is made into a subsystem (parts). System development can proceed efficiently.

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

【図1】本発明による状態遷移動作システム(シーケン
ス制御システム)の一実施の形態を示すブロック図。
FIG. 1 is a block diagram showing an embodiment of a state transition operation system (sequence control system) according to the present invention.

【図2】図1に示すシーケンス部品の詳細を示すブロッ
ク図。
FIG. 2 is a block diagram showing details of a sequence component shown in FIG. 1;

【図3】図1に示す接合部品の詳細を示すブロック図。FIG. 3 is a block diagram showing details of a joining component shown in FIG. 1;

【図4】再利用される既存のシーケンス制御システム
(シーケンス部品)の動作仕様を記述した状態遷移図。
FIG. 4 is a state transition diagram describing operation specifications of an existing sequence control system (sequence parts) to be reused.

【図5】要求されるシーケンス制御システムの動作仕様
を記述した状態遷移図。
FIG. 5 is a state transition diagram describing required operation specifications of the sequence control system.

【図6】図1に示すシーケンス制御システムの生成方法
を説明するためのフローチャート。
FIG. 6 is a flowchart for explaining a generation method of the sequence control system shown in FIG. 1;

【図7】図4および図5の状態遷移図に基づいて作成さ
れた差分シーケンス仕様に対応する状態遷移図。
FIG. 7 is a state transition diagram corresponding to a difference sequence specification created based on the state transition diagrams of FIGS. 4 and 5;

【図8】図4および図5の状態遷移図に基づいて作成さ
れた接合シーケンス仕様に対応する状態遷移図。
FIG. 8 is a state transition diagram corresponding to the joining sequence specification created based on the state transition diagrams of FIGS. 4 and 5;

【図9】図1および図3に示す接合部品における処理内
容を説明するためのフローチャート。
FIG. 9 is a flowchart for explaining processing contents in the joining component shown in FIGS. 1 and 3;

【図10】図4に示す動作仕様を実現するシーケンス部
品を実装するためのプログラムの一例を示す図。
FIG. 10 is a view showing an example of a program for mounting a sequence component for realizing the operation specifications shown in FIG. 4;

【図11】図7に示す動作仕様を実現するシーケンス部
品を実装するためのプログラムの一例を示す図。
FIG. 11 is a diagram showing an example of a program for mounting a sequence component for realizing the operation specifications shown in FIG. 7;

【図12】図8に示す動作仕様を実現する接合部品を実
装するためのプログラムの一例を示す図。
FIG. 12 is a view showing an example of a program for mounting a joint component realizing the operation specifications shown in FIG. 8;

【図13】再利用される既存のTV制御システム(シー
ケンス部品)の動作仕様を記述した状態遷移図。
FIG. 13 is a state transition diagram describing operation specifications of an existing TV control system (sequence parts) to be reused.

【図14】要求されるTV制御システムの動作仕様を記
述した状態遷移図。
FIG. 14 is a state transition diagram describing required operation specifications of the TV control system.

【図15】図13に示す動作仕様を実現するシーケンス
部品を実装するためのプログラムの一例を示す図。
FIG. 15 is a view showing an example of a program for mounting a sequence component for realizing the operation specifications shown in FIG. 13;

【図16】差分シーケンス仕様を実現するシーケンス部
品を実装するためのプログラムの一例を示す図。
FIG. 16 is a diagram showing an example of a program for mounting a sequence component for realizing a difference sequence specification.

【図17】接合シーケンス仕様を実現するシーケンス部
品を実装するためのプログラムの一例を示す図。
FIG. 17 is a diagram illustrating an example of a program for mounting a sequence component that realizes a joining sequence specification.

【図18】TV制御システムにおける処理の流れの一例
を説明するためのイベントトレース図。
FIG. 18 is an event trace diagram for explaining an example of a processing flow in the TV control system.

【図19】TV制御システムにおける処理の流れの別の
例を説明するためのイベントトレース図。
FIG. 19 is an event trace diagram for explaining another example of the processing flow in the TV control system.

【図20】図4に示す動作仕様を実現するシーケンス部
品を実装するためのプログラムの別の例を示す図。
20 is a diagram showing another example of a program for mounting a sequence component that realizes the operation specifications shown in FIG. 4;

【図21】図7に示す動作仕様を実現するシーケンス部
品を実装するためのプログラムの別の例を示す図。
21 is a diagram showing another example of a program for mounting a sequence component that realizes the operation specifications shown in FIG. 7;

【図22】図8に示す動作仕様を実現する接合部品を実
装するためのプログラムの別の例を示す図。
FIG. 22 is an exemplary view showing another example of a program for mounting a joint component realizing the operation specifications shown in FIG. 8;

【図23】シーケンス制御システム(TV制御システ
ム)の動作仕様の一例を記述した状態遷移図。
FIG. 23 is a state transition diagram describing an example of an operation specification of a sequence control system (TV control system).

【図24】図23に示すシーケンス制御システムをプロ
グラミング言語(C++言語)により実装した場合のシ
ーケンス制御プログラムの一例を示す図。
24 is a diagram showing an example of a sequence control program when the sequence control system shown in FIG. 23 is implemented in a programming language (C ++ language).

【図25】図23に示すシーケンス制御システム(TV
制御システム)に“お休みタイマ”の機能を追加した場
合の動作仕様の一例を記述した状態遷移図。
25 is a sequence control system (TV) shown in FIG.
FIG. 10 is a state transition diagram describing an example of an operation specification when a function of a “sleep timer” is added to the control system.

【図26】図24に示すシーケンス制御プログラムの内
部を変更して作成した、図25に示す動作仕様を実現す
るシーケンス制御プログラムの一例を示す図。
FIG. 26 is a diagram showing an example of a sequence control program for realizing the operation specifications shown in FIG. 25, which is created by changing the inside of the sequence control program shown in FIG. 24.

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

1 シーケンス部品(状態遷移部品) 1a イベント入力手段 1b 状態指定手段 1c 状態問い合わせ手段 1d 状態変更/アクション起動手段 1e 現在状態ストア手段 1f アクション出力手段 1g 初期化手段 2 接合部品 2a イベント入力手段 2b イベント対応処理手段 2c アクティブ部品データストア手段 2d 部品通信手段 2e アクション出力手段 2f 初期化手段 1 Sequence part (state transition part) 1a Event input means 1b State designation means 1c State inquiry means 1d State change / action activation means 1e Current state storage means 1f Action output means 1g Initialization means 2 Joint parts 2a Event input means 2b Event handling Processing means 2c Active component data storage means 2d Component communication means 2e Action output means 2f Initialization means

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】状態遷移図として表現可能な動作仕様を分
割してなる部分的な動作仕様を実現する少なくとも2つ
の状態遷移部品と、 前記各状態遷移部品間を接続する接合部品とを備え、 前記接合部品は、外部から与えられたイベントが前記各
状態遷移部品間の起動の切替えを伴わないときには前記
イベントを前記各状態遷移部品のいずれかに振り分け、
前記イベントが前記各状態遷移部品間の起動の切替えを
伴うときには前記各状態遷移部品の起動を切り替えると
ともに、切替え先となる状態遷移部品の内部状態を変更
することを特徴とする状態遷移動作システム。
1. A system comprising: at least two state transition parts for realizing a partial operation specification obtained by dividing an operation specification that can be expressed as a state transition diagram; and a joining part for connecting the state transition parts. The joining component, when an externally applied event does not involve switching of activation between the state transition components, distributes the event to any of the state transition components,
A state transition operation system, wherein when the event involves switching of activation between the state transition parts, the activation of each state transition part is switched, and the internal state of the state transition part to be switched to is changed.
【請求項2】前記各状態遷移部品は、外部から与えられ
たイベントを受け付けるイベント入力手段と、 現在の内部状態を保持する現在状態ストア手段と、 前記イベント入力手段により受け付けられたイベントに
基づいて、前記現在状態ストア手段に保持されている内
部状態を変更する状態変更手段と、 外部から与えられた状態の指定に応じて、前記現在状態
ストア手段に保持されている内部状態を変更する状態指
定手段と、 外部から与えられた状態の問い合わせに応じて、前記前
記現在状態ストア手段に保持されている現在の内部状態
を返す状態問い合わせ手段とを有し、 前記接合部品は、外部から与えられたイベントを受け付
けるイベント入力手段と、 アクティブとなっている状態遷移部品を表すデータを保
持するアクティブ部品データストア手段と、 前記イベント入力手段により受け付けられたイベント
と、前記アクティブ部品データストア手段に保持されて
いるデータとに基づいて、イベントの振分け、前記各状
態遷移部品の起動の切替え、および切替え先となる状態
遷移部品の内部状態の変更を行うイベント対応処理手段
と、 前記各状態遷移部品との間でイベント、内部状態の変更
要求、および内部状態の問い合わせ要求の通信を行う部
品通信手段とを有することを特徴とする請求項1記載の
状態遷移動作システム。
2. Each of the state transition components includes an event input unit for receiving an externally applied event, a current state storage unit for holding a current internal state, and an event received by the event input unit. State changing means for changing an internal state held in the current state storing means, and state specifying means for changing an internal state held in the current state storing means in accordance with designation of an externally provided state Means, and a state inquiry means for returning a current internal state held in the current state storage means in response to an inquiry about a state given from outside, wherein the joining part is provided from outside. Event input means for receiving an event, and active component data for holding data representing active state transition components A storing unit, based on the event received by the event input unit and the data held in the active component data storing unit, distribution of an event, switching of activation of each of the state transition components, and a switching destination. And a component communication unit that communicates an event, an internal state change request, and an internal state inquiry request with each of the state transition components. 2. The state transition operation system according to claim 1, wherein:
【請求項3】前記各状態遷移部品は、前記イベント入力
手段により受け付けられたイベントに基づいて、状態の
遷移に伴うアクションを起動するアクション起動手段
と、 前記アクション起動手段により起動されたアクションの
動作内容を実現するアクション出力手段とをさらに有
し、 前記接合部品は、前記イベント対応処理手段により前記
各状態遷移部品の起動の切替えが行われるときに起動さ
れるアクションの動作内容を実現するアクション出力手
段をさらに有することを特徴とする請求項2記載の状態
遷移動作システム。
3. An action activating means for activating an action associated with a state transition on the basis of an event received by the event input means, wherein each of the state transition components includes: an operation of the action activated by the action activating means; Further comprising: action output means for realizing the contents, wherein the joint part is an action output for realizing an operation content of an action started when the activation of each of the state transition parts is switched by the event handling processing means. 3. The state transition operation system according to claim 2, further comprising means.
【請求項4】前記各状態遷移部品は、前記現在状態スト
ア手段に保持されている内部状態を初期化する初期化手
段をさらに有し、 前記接合部品は、前記アクティブ部品データストア手段
に保持されている状態遷移部品を表すデータを初期化す
るとともに、前記部品通信手段により通信が行われる通
信路を確保する初期化手段をさらに有することを特徴と
する請求項2または3記載の状態遷移動作システム。
4. Each of the state transition components further includes initialization means for initializing an internal state held in the current state storage means, and the joint component is held in the active component data storage means. 4. The state transition operation system according to claim 2, further comprising: initialization means for initializing data representing the state transition component being operated and for securing a communication path for performing communication by the component communication means. .
【請求項5】第1の状態遷移部品の動作仕様に基づいて
状態の遷移に対応するイベント、遷移元の状態、遷移先
の状態およびアクションを含む遷移データを抽出して第
1の遷移データリストを作成するステップと、 要求される状態遷移動作システムの動作仕様に基づいて
状態の遷移に対応するイベント、遷移元の状態、遷移先
の状態およびアクションを含む遷移データを抽出して第
2の遷移データリストを作成するステップと、 前記第1の遷移データリストと前記第2の遷移データリ
ストとの間に共通の遷移データが存在するときに、前記
第2の遷移データリストに含まれる遷移データの中から
前記第1の遷移データリストに含まれる遷移元または遷
移先の状態を含まない遷移データを抽出して第3の遷移
データリストを作成するステップと、 前記第2の遷移データリストから前記第1の遷移データ
リストおよび前記第3の遷移データリストと重複してい
る部分を取り除いて第4の遷移データリストを作成する
ステップと、 前記第3の遷移データリストに基づいて前記第1の状態
遷移部品とともに用いられる第2の状態遷移部品を作成
するステップと、 前記第4の遷移データリストに基づいて前記第1の状態
遷移部品および前記第2の状態遷移部品間を接続する接
合部品を作成するステップとを含むことを特徴とする状
態遷移動作システムの生成方法。
5. A first transition data list by extracting transition data including an event corresponding to a state transition, a transition source state, a transition destination state, and an action based on an operation specification of a first state transition component. And extracting the transition data including the event corresponding to the state transition, the state of the transition source, the state of the transition destination and the action based on the required operation specification of the state transition operation system, and performing the second transition Creating a data list; and when there is common transition data between the first transition data list and the second transition data list, the transition data included in the second transition data list Extracting transition data not including the transition source or transition destination state included in the first transition data list from there, and creating a third transition data list Creating a fourth transition data list by removing a portion of the second transition data list that overlaps with the first transition data list and the third transition data list; and the third transition Creating a second state transition part to be used with the first state transition part based on a data list; and the first state transition part and the second state based on the fourth transition data list Creating a joining part that connects the transition parts to each other.
【請求項6】状態遷移図として表現可能な動作仕様を分
割してなる部分的な動作仕様を実現する少なくとも2つ
の状態遷移部品と、 前記各状態遷移部品間を接続する接合部品とを備え、 前記接合部品は、外部から与えられたイベントが前記各
状態遷移部品間の起動の切替えを伴わないときには前記
イベントを前記各状態遷移部品のいずれかに振り分け、
前記イベントが前記各状態遷移部品間の起動の切替えを
伴うときには前記各状態遷移部品の起動を切り替えると
ともに、切替え先となる状態遷移部品の内部状態を変更
することを特徴とする状態遷移動作システムを記録した
コンピュータ読み取り可能な記録媒体。
6. At least two state transition parts for realizing a partial operation specification obtained by dividing an operation specification that can be expressed as a state transition diagram, and a joining part for connecting the state transition parts to each other, The joining component, when an externally applied event does not involve switching of activation between the state transition components, distributes the event to any of the state transition components,
A state transition operation system comprising: switching the activation of each state transition part when the event involves switching of activation between the state transition parts; and changing an internal state of the state transition part to be switched to. A computer-readable recording medium that has been recorded.
JP14624798A 1998-05-27 1998-05-27 State transition movement system, its generating method and computer readable medium for recording the same system Pending JPH11338684A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14624798A JPH11338684A (en) 1998-05-27 1998-05-27 State transition movement system, its generating method and computer readable medium for recording the same system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14624798A JPH11338684A (en) 1998-05-27 1998-05-27 State transition movement system, its generating method and computer readable medium for recording the same system

Publications (1)

Publication Number Publication Date
JPH11338684A true JPH11338684A (en) 1999-12-10

Family

ID=15403428

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14624798A Pending JPH11338684A (en) 1998-05-27 1998-05-27 State transition movement system, its generating method and computer readable medium for recording the same system

Country Status (1)

Country Link
JP (1) JPH11338684A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7554685B2 (en) 2002-07-26 2009-06-30 Ricoh Company, Ltd. Image forming apparatus, information processing apparatus, program execution method and program producing method
JP2009230713A (en) * 2008-03-25 2009-10-08 Nec Corp Message processing method, message processor, and program
US7707567B2 (en) 2005-09-14 2010-04-27 Sony Corporation Information processing method, information-processing apparatus, recording medium, and program
US7774778B2 (en) 2004-02-25 2010-08-10 Panasonic Corporation Device control apparatus, device control method, and computer-readable recording medium recorded with device control program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7554685B2 (en) 2002-07-26 2009-06-30 Ricoh Company, Ltd. Image forming apparatus, information processing apparatus, program execution method and program producing method
US7774778B2 (en) 2004-02-25 2010-08-10 Panasonic Corporation Device control apparatus, device control method, and computer-readable recording medium recorded with device control program
US7707567B2 (en) 2005-09-14 2010-04-27 Sony Corporation Information processing method, information-processing apparatus, recording medium, and program
JP2009230713A (en) * 2008-03-25 2009-10-08 Nec Corp Message processing method, message processor, and program

Similar Documents

Publication Publication Date Title
US7406592B1 (en) Method, system, and apparatus for efficient evaluation of boolean expressions
US6922827B2 (en) Iterative software development environment with prioritized build rules
US5940616A (en) Tracker class for object-oriented programming environments
US6523169B1 (en) Method for testing system components of an object-oriented program
US20020069400A1 (en) System for reusable software parts for supporting dynamic structures of parts and methods of use
US6931521B2 (en) Data processing apparatus generates initialization schedule by sorting module order according to number of its dependencies for initializing data affecting execution of operational instructions
KR20010032633A (en) Method of generating application specific integrated circuits using a programmable hardware architecture
RU2211482C2 (en) Software shell methods and systems
EP1238338A1 (en) Open debugging environment
JPH0635709A (en) Object class specifying device, widget and realizing method thereof
US7043715B1 (en) Method and apparatus for customizing software
US7689999B2 (en) Sharing dynamically changing resources in software systems
US20020174082A1 (en) Reusable parts for assembled software systems
JPH11338684A (en) State transition movement system, its generating method and computer readable medium for recording the same system
CA2244394C (en) Data processing method and apparatus for handling exception events in application programs
JP5115160B2 (en) Program development support apparatus, program development support method, and program development support program
GB2323944A (en) Parallel data processing system
US6922834B1 (en) Data processing apparatus, data processing method, and program providing medium
CN113485686A (en) Method and device for generating information system program, electronic device and storage medium
WO1999030230A1 (en) Naturally parallel computing system and method
US11520597B2 (en) Operating system architecture for microkernel generations support
Tyszberowicz et al. OBSERV-a prototyping language and environment combining object oriented approach, state machines and logic programming
JPH1011315A (en) In-circuit emulator device and in-circuit emulation method
Seban An overview of object-oriented design and C++
JP2000315155A (en) Data processor, data processing method, and program provision medium

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Effective date: 20040309

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040510

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040601

A521 Written amendment

Effective date: 20040729

Free format text: JAPANESE INTERMEDIATE CODE: A523

A02 Decision of refusal

Effective date: 20040824

Free format text: JAPANESE INTERMEDIATE CODE: A02

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041018

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Effective date: 20041028

Free format text: JAPANESE INTERMEDIATE CODE: A911

A912 Removal of reconsideration by examiner before appeal (zenchi)

Effective date: 20041126

Free format text: JAPANESE INTERMEDIATE CODE: A912