JP2809174B2 - デバッグ装置 - Google Patents

デバッグ装置

Info

Publication number
JP2809174B2
JP2809174B2 JP8041037A JP4103796A JP2809174B2 JP 2809174 B2 JP2809174 B2 JP 2809174B2 JP 8041037 A JP8041037 A JP 8041037A JP 4103796 A JP4103796 A JP 4103796A JP 2809174 B2 JP2809174 B2 JP 2809174B2
Authority
JP
Japan
Prior art keywords
trace
event detection
information
program
consistency
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.)
Expired - Fee Related
Application number
JP8041037A
Other languages
English (en)
Other versions
JPH09231101A (ja
Inventor
政広 福田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
Nippon Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP8041037A priority Critical patent/JP2809174B2/ja
Publication of JPH09231101A publication Critical patent/JPH09231101A/ja
Application granted granted Critical
Publication of JP2809174B2 publication Critical patent/JP2809174B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はデバッグ装置に関
し、特にトレースメモリを用いた組み込みシステム用の
デバッグ装置に関する。
【0002】
【従来の技術】近年、マイクロプロセッサやマイクロコ
ントローラなどの性能向上にともなって、従来複数のマ
イクロプロセッサを使用していた処理が単一のマイクロ
プロセッサだけで対応できるようになりつつある。
【0003】このような状況で有効なソフトウェアにリ
アルタイムOSがある。複数の処理に対応する複数のア
プリケーションを、個々のアプリケーションの独立性を
保ったまま稼働させるために使用する。そのようなリア
ルタイムOSの一例としてここではITRON OSを
取り上げて説明する。
【0004】ITRONでは、タスクを表1に示す7つ
の状態のうちのどれかになるように管理する。
【0005】
【表1】
【0006】また、表1の各状態がどのように変化する
かを示す状態遷移図を図3に示す。組み込みシステムに
OSを使用して稼働させる場合、OSが管理するさまざ
まな資源(タスク,フラグ,セマフォ,メールボック
ス,メモリプール,メモリブロック)などは、OSによ
って様々な状態の間を遷移させられ、かつ、必ずOSに
よって一貫性を保たれながら状態遷移をする。
【0007】一例として、ITRON準拠のOSである
RX116におけるOS資源データの管理状態を示す概
念図である図4を参照して、このOS資源データがどの
ように管理されているかを説明すると、この図ではタス
ク101〜124とを示し、これらタスク101〜12
4は、RUN,READ,SLEEP(WAITに含ま
れる),SUSPEND,WAIT−SUSPENDな
どの内のいずれかの状態になっており、状態遷移途中の
状態で存在してはならない。
【0008】また、これらタスク101〜124は、上
記各状態対応のタスク登録(レディ)キュー1000
と、フラグ登録キュー1001(フラグ2001,20
02を含む)と、セマフォ登録キュー1002(セマフ
ォ2003,2004を含む)と、メールボックス登録
キュー1003(メールボックス(メッセージ)200
5,2006を含む)と、メモリプール登録キュー10
04(メモリプール(メモリブロック)2007,20
08を含む)と、タイマキュー1005とのいずれかに
接続されている。
【0009】ここで、レディキュー1000に接続され
たタスク101はRUN状態のタスクであり、タスク1
02はレディキュー1000のプライオリティ1に接続
されたタスク(READY状態) のタスクであり、以下
タスク103,104,105はそれぞれレディキュー
1000のプライオリティ2,3,3に接続されたRE
ADY状態のタスクである。また、タスク106,10
7,108,109,110,111はそれぞれフラグ
2001,セマフォ2003,メッセージ2005,メ
モリブロック2007,メッセージ2005,メモリブ
ロック2007の各キューに接続されWAIT(待ち)
状態である。
【0010】また、タスク112は登録キューのみに接
続されDORMANT状態である。同様にタスク11
3,114,115,116,117はそれぞれメッセ
ージ待ち,セマフォ待ち,タイマ待ち,セマフォ待ち,
メッセージの各キューに接続されWAIT状態である。
【0011】タスク118は登録キューのみに接続され
SUSPEND状態であり、タスク119,120,1
21はそれぞれセマフォ,タイマの各キューに接続さ
れ、タスク122はスリープしておりいずれもWAIT
状態である。
【0012】タスク123はタイマキューに接続されW
AIT−SUSPEND状態である。タスク124はス
リープしておりWAIT−SUSPEND状態である。
【0013】タスク115,120の後にタスク122
を周期的に起床するためのタイマ管理ブロック201,
202を接続してある。また、メールボックス2006
にはメッセージ301,302を示す。
【0014】このように、RUNあるいはREADY状
態のタスク例えばタスク101はタスク登録(レディ)
キュー1000に接続されていなければならず、SLE
EP状態のタスク例えばタスク115はタイマキュー1
005に接続されていなければならない。さらにフラグ
待ち状態のタスク106ならフラグ(待ちキュー)20
01あるいは2002に接続されていなければならな
い。リアルタイムOSは、タイムアウト処理を実現する
ために一定周期で起動されるクロックハンドラを持って
いる。このクロックハンドラは、時間待ち状態のタスク
がタイムアップしたかどうかを判定し、タイムアップし
ている場合には時間待ちキューから外し、SUSPEN
D状態でなければレディキュー1000に接続する。こ
のようにリアルタイムOSはOS資源データを操作す
る。上述の一貫性はシステム稼働中常に維持されていな
ければならない。
【0015】しかしながら、リアルタイムOSの開発途
中においては、あってはならない状況も発生し得る。
【0016】例えば、一定時間経過後に起床すべきタス
クが起床してこない事例を考える。リアルタイムOSの
開発途上においては、タスクが実行可能状態であるにも
かかわらずタイマキューに接続されたままという事態や
どのキューにも接続されていないという事態が発生し得
る。
【0017】このような事態が発生した場合、タイマハ
ンドラや割り込み中から発行可能なシステムコールのコ
ードの見直し作業のみならず、クロックハンドラや個々
のシステムコール全般においても行なわねばならない。
何故ならば、割り込みおよび状態によって実行されるプ
ログラムの順序が時々刻々と動的に変化するからであ
る。プログラムの様々な箇所で別のプログラムに制御が
移される可能性を持っている。
【0018】特開平1−106143号公報(文献1)
記載の従来のデバッグ装置は、プログラムの実行履歴を
格納するトレースメモリ1と、トレースメモリ1が一杯
になったことを検出するフルデテクタ2と、タスク実行
時に発生したイベントを検出するイベント検出手段3
と、検出したイベントに応答してトレースメモリ1への
履歴書き込みの停止/ 継続を制御するトレースメモリ制
御手段5とを備える。
【0019】次に、図5を参照して、従来のデバッグ装
置の動作について説明すると、この従来のデバッグ装置
は、トレースメモリ1を複数のバンクに分割し、それぞ
れのメモリバンクをイベント検出手段3でイベント条件
と関連付けることによって、イベント毎のトレース結果
を効率的に残すことが可能であり、これにより、トレー
ス情報を印刷したり、写真撮影する手間を省くことが可
能であると主張している。
【0020】しかし、この従来のデバッグ装置では、障
害箇所が特定化できているという前提条件が存在して始
めて機能する。障害箇所が特定できない場合には、トレ
ースメモリバンクとイベント条件を関連付けることがで
きず、結果として、所望の効果を得ることができない。
【0021】
【発明が解決しようとする課題】上述した従来のデバッ
グ装置は、リアルタイムシステムにおけるデータが時々
刻々と書き換えられている上にトレースメモリの容量は
有限であるので、トレースメモリにすべてのアクセス履
歴を残すことは不可能であるため、どのプログラムアド
レスでどのデータに対してどのような操作をしたかを知
ることは大変困難であるという欠点があった。
【0022】さらに、割り込みによって、実行プログラ
ムの順序が動的に変化する結果、不具合原因は全プログ
ラム領域に存在し得るため、不具合箇所の特定が大変困
難であるという欠点があった。
【0023】
【課題を解決するための手段】本発明の第1のデバッグ
装置は、プログラムの実行履歴であるトレース情報を格
納するトレース記憶手段と、前記トレース記憶手段が満
杯状態となったことを検出し満杯情報を出力する満杯検
出手段と、前記満杯情報および前記プログラムの実行時
に発生したイベントを検出しイベント検出情報を出力す
るイベント検出手段と、前記イベント検出情報に応答し
て前記トレース記憶手段への前記トレース情報の書き込
みの停止/ 継続を制御するトレース記憶制御手段とを備
え、前記プログラムの複数の処理に対応する複数のアプ
リケーションの各々の独立性を保持しながら管理対象の
複数の資源を予め定めた複数の状態間を遷移させこの状
態の一貫性を維持させるよう制御するリアルタイムオペ
レーションシステムで稼働される組込みシステムをデバ
ッグするデバッグ装置において、起動制御命令の供給に
応答して起動され前記一貫性をチエックし一貫性チエッ
ク結果をイベント検出手段に通知する一貫性チェックプ
ログラムを備え、前記イベント検出手段が、前記起動制
御命令を出力し前記一貫性チエック結果に応答して前記
トレース情報の書き込みの停止/ 継続を制御することを
特徴とするものである。
【0024】本発明の第2のデバッグ装置は、プログラ
ムの実行履歴であるトレース情報を格納するトレース記
憶手段と、一定周期で起動されこの一定周期のクロック
を供給するクロックハンドラ処理手段と、前記プログラ
ムの実行時に発生したイベントを検出しイベント検出情
報を出力するイベント検出手段と、前記イベント検出情
報に応答して前記トレース記憶手段への前記トレース情
報の書き込みの停止/継続を制御するトレース記憶制御
手段とを備え、前記プログラムの複数の処理に対応する
複数のアプリケーションの各々の独立性を保持しながら
管理対象の複数の資源を予め定めた複数の状態間を遷移
させこの状態の一貫性を維持させるよう制御するリアル
タイムオペレーションシステムで稼働される組込みシス
テムをデバッグするデバッグ装置において、前記一定周
期が、前記トレース記憶手段の前記トレース情報の一巡
期間よりも短かく設定され、前記クロックに同期して起
動され前記一貫性をチエックし一貫性チエック結果をイ
ベント検出手段に通知する一貫性チェックプログラムを
備え、前記イベント検出手段が、前記起動制御命令を出
力し前記一貫性チエック結果に応答して前記トレース情
報の書き込みの停止/ 継続を制御することを特徴とする
ものである。
【0025】
【発明の実施の形態】次に、本発明の第1の実施の形態
を図5と共通の構成要素は共通の文字を付して同様にブ
ロックで示す図1を参照すると、この図に示す本実施の
形態のデバッグ装置は、従来と共通のトレースメモリ1
と、フルデテクタ2と、トレースメモリ制御手段5とに
加えて、イベント検出手段3の代りにイベント検出手段
3Aと、イベント検出手段3Aによって起動されリアル
タイムOSが維持すべき一貫性をチェックしチエック結
果をイベント検出手段に通知するチェックプログラム4
とを備える。
【0026】次に、図1を参照して本実施の形態の動作
について説明すると、従来と同様に図4に示すRX11
6のOS資源データの管理システムを対象とする。
【0027】ここでは、タスク101,タスク102,
タスク103,タスク104,タスク105に関して説
明し、それぞれが一定周期で「起床」と「待ち」を繰り
返しているとする。すなわち、タスク登録(レディ)キ
ュー1000とタイマキュー1005との間の往復を反
復しているとする。
【0028】上記システムにおいてタスク101が起床
しなくなる事例を考える。この事例の要因である不具合
が、アプリケーションプログラム側あるいはリアルタイ
ムOSのいずれの方にも存在する場合があり得る。ここ
では、特に、リアルタイムOSの開発途中を想定し、し
たがって、リアルタイムOSに不具合が存在する場合を
考える。従来の技術で説明したように、リアルタイムO
Sは、OS資源データの一貫性を維持しながらシステム
を稼働させなければならない。
【0029】一般に、リアルタイムシステムにおいて発
生する不具合の原因は全プログラム領域に存在し得る。
割り込みハンドラから呼び出されるシステムコールに不
具合がある場場合やクロックハンドラに不具合がある場
合、あるいは個々のシステムコールに起因する場合など
多岐にわたる。
【0030】まず、従来と同様に、トレースメモリ1は
プログラムの実行毎にその実行履歴を格納する。トレー
スメモリ1が一杯になった時点で、フルデテクタ2はそ
の状態を検出し、イベント検出手段3Aにその旨を通知
する。この通知に応答してイベント検出手段3は、チェ
ックプログラム4を起動する。このチェックプログラム
4はリアルタイムOSが維持すべき一貫性をチェックす
るように使用者によって用意される。
【0031】一貫性のチェックについては上述の従来の
技術で説明したが、ここで、さらに詳細に説明すると、
RUNあるいはREADY状態のタスク、例えばタスク
101はのレディキュー1000に接続されていなけれ
ばならない。さらに、レディキュー1000に接続され
ているものはタスクの状態がREADYでなければなら
ない。また、SLEEP状態のタスク、例えばタスク1
15はタイマキュー1005に接続されていなければな
らず、タイマキュー1005に接続されているタスクは
SLEEP状態でなければならない。また、フラグ待ち
状態のタスク106ならフラグ(待ちキュー)2001
あるいは2002のいずれかに接続されていなければな
らず、フラグ2001あるいは2002に接続されてい
るタスクはフラグ待ち状態でなければならない。さら
に、繰り返し述べることになるが、上記の一貫性はシス
テム稼働中常に維持されていなければならない。以上で
詳細に説明したようなチェックを、上記起床不能の問題
のあるタスク101に関し、チェックプログラム2を用
いて実施する。チェックプログラム2を実行することに
よりこのタスクタスク101に関して、不整合状態にな
っているかどうかを検出できる。例えば、レディ状態な
のにタイマキュー1005に存在していたり、どのキュ
ーにも存在していないという状態になっている場合にそ
れを検出できる。ここで、レディ状態であるかどうかは
タスク101を管理する内部変数を調べることでチェッ
ク可能である。また、どのキューに属しているかはタス
ク101のキューのリンク先をたどることで可能であ
る。
【0032】チェックプログラム2の一貫性チエックの
結果、トレースメモリ1を停止する必要がある場合はそ
の旨をイベント検出手段3Aに通知する。イベント検出
手段3Aは、必要に応じてトレースメモリ制御手段5に
トレースを停止する旨を通知する。
【0033】これにより、不具合箇所がトレースメモリ
1に残った状態でこのトレースメモリ1への書き込みを
停止することができる。したがって、明らかに不具合箇
所を容易に特定できる。
【0034】次に、本発明の第2の実施の形態を図1と
共通の構成要素は共通の文字を付して同様にブロックで
示す図2を参照すると、この図に示す本実施の形態のデ
バッグ装置の上述の第1の実施の形態との相違点は、ト
レースメモリ1が一杯になったことを検出するフルデテ
クターを持たず、その代りに一定周期で実行されるクロ
ックハンドラ入口処理であるクロックハンドラ6と、チ
エックブログラム4の代りのチエックプログラム4A
と、イベント検出手段3Bと、クロックハンドラ本来の
処理であるクロック処理7と、クロックハンドラ出口処
理であるレット8とを備えることである。
【0035】ここでも第1の実施例と同一の状況、すな
わち、図4に示すRX116のOS資源データの管理シ
ステムを対象とし、タスク101,タスク102,タス
ク103,タスク104,タスク105のそれぞれが一
定周期で「起床」と「待ち」を反復、すなわち、タスク
登録キュー1000とタイマキュー1005との間の往
復を反復しているとする。
【0036】同様に、タスク101が起床しなくなり、
さらに、原因としてリアルタイムOSに不具合が存在す
る場合を考える。
【0037】図2を参照して本実施の形態の動作につい
て説明すると、まず、クロックハンドラ6の起動周期
を、トレースメモリ1が一巡するよりも短い周期に設定
しておく。クロックハンドラ6は一定周期で起動されて
いるために、チェックプログラム4Aも一定周期で定常
的に起動される。第1の実施の形態と同様にチエックプ
ログラム4AでリアルタイムOSの維持すべき一貫性を
チェックする。上述のように、リアルタイムOSを使用
するリアルタイムシステムがクロックハンドラを保持し
ているということを利用することによって、トレースメ
モリ1が一杯になる前に周期的にチェックプログラムを
起動できる。
【0038】一貫性チェックに関しては、従来および第
1の実施の形態で詳細に説明したためここでは省略す
る。
【0039】チェックプログラム4Aの一貫性チエック
結果、トレースメモリ1を停止する必要がある場合はそ
の旨をイベント検出手段3Bに通知する。イベント検出
手段3Bは、必要に応じてトレースメモリ制御手段5に
トレースを停止する旨を通知する。
【0040】これにより、第1の実施の形態と同様に、
不具合箇所がトレースメモリ1に残った状態で書き込み
を停止できるので、上記不具合箇所を容易に特定でき
る。
【0041】
【発明の効果】以上説明したように、本発明のデバッグ
装置は、OSの維持すべき一貫性をチエックし一貫性チ
エック結果をイベント検出手段に通知する一貫性チェッ
クプログラムを備え、イベント検出手段が、上記一貫性
チエック結果に応答してトレース情報の書き込みの停止
/ 継続を制御することにより、不具合の発生したプログ
ラムアドレスおよび不具合発生時にどのようなデータを
操作していたかを知ることができるため、上記不具合箇
所を容易に発見できるという効果がある。
【0042】また、時々刻々とデータが書き換えられ、
プログラムの順序が動的に変化するリアルタイムシステ
ムにおけるプログラムの不具合を非常に効果的に発見で
きるデバッグ方法を提供できるという効果があある。
【図面の簡単な説明】
【図1】本発明のデバッグ装置の第1の実施の形態を示
すブロック図である。
【図2】本発明のデバッグ装置の第2の実施の形態を示
すブロック図である。
【図3】リアルタイムOSの一例におけるタスクの状態
の変化を示す状態遷移図である。
【図4】リアルタイムシステムの一例におけるOS資源
データの管理状態を示す概念図である。
【図5】従来のデバッグ装置の一例を示すブロック図で
ある。
【符号の説明】
1 トレースメモリ 2 フルデテクタ 3,3A,3B イベント検出手段 4,4A チエックプログラム 5 トレースメモリ制御手段 6 クロックハンドラ入口処理 7 クロック処理 8 レット処理 101〜124 タスク 1000 タスク登録(レディ)キュー 1001 フラグ登録キュー 1002 セマフォ登録キュー 1003 メールボックス登録キュー 1004 メモリプール登録キュー 1005 タイマキュー 2001,2002 フラグ

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 プログラムの実行履歴であるトレース情
    報を格納するトレース記憶手段と、前記トレース記憶手
    段が満杯状態となったことを検出し満杯情報を出力する
    満杯検出手段と、前記満杯情報および前記プログラムの
    実行時に発生したイベントを検出しイベント検出情報を
    出力するイベント検出手段と、前記イベント検出情報に
    応答して前記トレース記憶手段への前記トレース情報の
    書き込みの停止/ 継続を制御するトレース記憶制御手段
    とを備え、前記プログラムの複数の処理に対応する複数
    のアプリケーションの各々の独立性を保持しながら管理
    対象の複数の資源を予め定めた複数の状態間を遷移させ
    この状態の一貫性を維持させるよう制御するリアルタイ
    ムオペレーションシステムで稼働される組込みシステム
    をデバッグするデバッグ装置において、 起動制御命令の供給に応答して起動され前記一貫性をチ
    エックし一貫性チエック結果をイベント検出手段に通知
    する一貫性チェックプログラムを備え、 前記イベント検出手段が、前記起動制御命令を出力し前
    記一貫性チエック結果に応答して前記トレース情報の書
    き込みの停止/ 継続を制御することを特徴とするデバッ
    グ装置。
  2. 【請求項2】 プログラムの実行履歴であるトレース情
    報を格納するトレース記憶手段と、一定周期で起動され
    この一定周期のクロックを供給するクロックハンドラ処
    理手段と、前記プログラムの実行時に発生したイベント
    を検出しイベント検出情報を出力するイベント検出手段
    と、前記イベント検出情報に応答して前記トレース記憶
    手段への前記トレース情報の書き込みの停止/ 継続を制
    御するトレース記憶制御手段とを備え、前記プログラム
    の複数の処理に対応する複数のアプリケーションの各々
    の独立性を保持しながら管理対象の複数の資源を予め定
    めた複数の状態間を遷移させこの状態の一貫性を維持さ
    せるよう制御するリアルタイムオペレーションシステム
    で稼働される組込みシステムをデバッグするデバッグ装
    置において、 前記一定周期が、前記トレース記憶手段の前記トレース
    情報の一巡期間よりも短かく設定され、 前記クロックに同期して起動され前記一貫性をチエック
    し一貫性チエック結果をイベント検出手段に通知する一
    貫性チェックプログラムを備え、 前記イベント検出手段が、前記起動制御命令を出力し前
    記一貫性チエック結果に応答して前記トレース情報の書
    き込みの停止/ 継続を制御することを特徴とするデバッ
    グ装置。
JP8041037A 1996-02-28 1996-02-28 デバッグ装置 Expired - Fee Related JP2809174B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8041037A JP2809174B2 (ja) 1996-02-28 1996-02-28 デバッグ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8041037A JP2809174B2 (ja) 1996-02-28 1996-02-28 デバッグ装置

Publications (2)

Publication Number Publication Date
JPH09231101A JPH09231101A (ja) 1997-09-05
JP2809174B2 true JP2809174B2 (ja) 1998-10-08

Family

ID=12597214

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8041037A Expired - Fee Related JP2809174B2 (ja) 1996-02-28 1996-02-28 デバッグ装置

Country Status (1)

Country Link
JP (1) JP2809174B2 (ja)

Also Published As

Publication number Publication date
JPH09231101A (ja) 1997-09-05

Similar Documents

Publication Publication Date Title
US6006247A (en) Method and system for scheduling threads and handling exceptions within a multiprocessor data processing system
TW484097B (en) Method and system for transparent time-based selective software rejuvenation
CN100361081C (zh) 处理多线程/多任务/多处理器的方法
US7043729B2 (en) Reducing interrupt latency while polling
CN107273141A (zh) 嵌入式实时操作系统
CN108536531B (zh) 一种基于单片机的任务调度和电源管理方法
US6625636B1 (en) Job protection within a distributed processing system having subsystem downtime
US5884021A (en) Computer system having a checkpoint and restart function
JP2007164421A (ja) 並列処理装置及び並列処理方法及び並列処理プログラム
JP2809174B2 (ja) デバッグ装置
JP2965075B2 (ja) プログラム実行状態監視方法
CN115756622A (zh) 芯片控制方法及芯片
JP2007503642A (ja) マイクロコントローラを支持し監視する回路装置及び方法
JP3122371B2 (ja) 計算機システム
JP3604171B2 (ja) プロセス自動再起動処理方式
CN113220541B (zh) 一种多核处理器的内存巡检方法及系统
JP2005182594A (ja) コンピュータ及びプログラム
JPH1139178A (ja) 計算機システム及び計算機システムにおけるチェックポイントスレッド方法
CN116662117A (zh) 基于定时器监控linux系统的方法、装置及存储介质
JP2004118412A (ja) 割込み管理装置、割込み管理方法、プログラム開発支援装置及びプログラム開発支援方法
JP2002007172A (ja) ストール監視装置及びストール監視方法並びにストール監視プログラムを記録した記録媒体
JPH09305440A (ja) エラー処理方法
JPH11353193A (ja) マルチプログラミング実行制御方法
JP3709050B2 (ja) データ更新システム
JPH11272501A (ja) デバッガの処理方法およびリアルタイムosの処理方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980630

LAPS Cancellation because of no payment of annual fees