TOPPERS Project Newsletter

第9号(2006年3月20日発行)

TOPPERSプロジェクト
http://www.toppers.jp/

目次

TOPPERS/JSP リリース1.4.2 を公開
TINET リリース1.3と今後の方針
TOPPERS対応 Eclipse 開発環境完成
FDMPカーネル 一般公開開始
FlexRay通信ソフトウェア早期リリース開始
TOPPERS開発者会議
TOPPERSビジネス用メーリングリスト新設
TOPPERSカンファレンス2006
参加のお誘い
お問い合わせ先

TOPPERS/JSP リリース1.4.2 を公開

TOPPERSプロジェクトは,TOPPERS/JSPカーネルの新バージョン リリース 1.4.2 を2005年12月28日より配布を開始しました.今回のリリースは大幅なカーネル修 正はありませんが,開発環境やサポートプロセッサの追加などが主な変更になり ます.前リリースとの主な違いを以下に列挙します.

  • M32C (ルネサス社の開発環境 ) の追加
  • V850 の追加
  • H8 (ルネサス社の開発環境 ) の追加
  • H8S (ルネサス社の開発環境 ) の追加
  • MIPS3, POWERPC32, H8S ( GNU開発環境 ) を参考実装に
  • xxx_unrename.h の define を _JSP_UNRENAME_H_ に修正
  • Makefile中のLANGマクロが,ロケール関連の環境変数と当たるため, PROGRAM_LANGに名称変更
  • sil.hからkernel.hをインクルードするように変更
  • genoffsetでdwordディレクティブを追加
  • makedep : gcc-3.xに対応
  • syslogでlong型を出力するための %ld, %lx をサポート
  • H8サポートの大幅な修正

TINET リリース1.3と今後の方針

TINETは,組込みシステム向けオープンソースTCP/IPプロトコルスタックとして, 苫小牧工業高等専門学校で研究・開発し,2004年2月の公開以来,2006年2月末ま でに約6,000件のダウンロード実績のあるプロトコルスタックです.2006年2月7 日に公開を開始したリリース1.3では,TCPの処理機能と,必要とするメモリ容量 を削減するための改良を行いました.

<TINET リリース1.3機能紹介>

タスクからのTimeWait状態のTCP通信端点分離機能

TCP通信端点は,ソケットインタフェースにおけるファイルディスクリプタと異 なり,TCPの接続状態が完全に終了するまで再利用可能とはなりません.TCP/IP プロトコルの仕様に従うと,接続状態が完全に終了するまで数分かかる場合があ ります.サーバ側から切断する応用プログラム ( WWWなど ) のタスクでは,タ イムアウトするまで,次の接続要求を受信することができません.これらの対策 として,複数のTCP通信端点と,これと同数のタスクを用意することで対策可能 だと考えられます.しかし,この方法では多くのメモリリソースが必要となり, 組込み用途には受け入れられないと考えました.そこで,TINETリリース1.3では, TimeWait状態のTCP通信端点をタスクから切り離すことにより,タスクが待ち状 態にならないようにする機能を追加しました.この方法を採用したことにより, 複数の通信端点を用意する方法と比較し,必要とするメモリリソースは1/5程度 に抑えることに成功しました.

TCP通信端点の送受信ウィンドバッファの省コピー機能

ITRON TCP/IP API仕様では,TCP通信端点を生成する静的APIで,送受信ウィンド バッファの先頭アドレスの指定に,NADRを指定すると,プロトコルスタックで, 送受信ウィンドバッファを確保することになっています.TINETリリース1.2以前 では,送受信ウィンドバッファの先頭アドレスの指定に,NADRを指定できない制 約がありました.TINETリリース1.3では,この制約を撤廃するとともに,プロト コルデータを保持するネットワークバッファを,そのまま送受信ウィンドバッフ ァとすることで,TINET内部で,データのコピーを省くよう改良しました.特に, 省コピーAPIを使用することにより,APIにおけるデータのコピーも行わないこと も可能です.この省コピー機能により,必要とするメモリ容量が大幅に削減する ことができました.

機能RAMROM計(byte)
TCP1,51022,46823,978
ICMP01,3861,386
IP0940940
ARP1602,5062,666
TCP/IP 共通機能843,5723,656
汎用通信機能1,1702,7923,962
イーサネット2,1363,9966,132
ネットワークバッファ1,9261,7423,668
小計6,98639,40246,388
応用プログラム2,2768,82411,100
カーネル4,96630,19835,164
合計14,22878,42492,652

その他の必要メモリ容量削減機能
  • TCPとUDPのノンブロッキングコールの無効化
    ノンブロッキングコールを使用しない場合は,TCPとUDPのノンブロッキングコー ル機能を組込まないことができます.
  • TCP受付口の無効化
    クライアント機能のみで構成され,相手からの接続要求を受け付けないのであれば,TCP受付口は不要であり,このTCP受付口と,処理関数を組込まないことができます.
  • TCPとUDPのAPIライブラリ化
    TCPとUDPのAPI関数をライブラリ化し,呼び出されることのないAPI関数は組込ま れないようにしました.
TCPヘッダのトレース出力機能

送受信するTCPセグメントのTCPヘッダとTCP通信端点の情報を出力する機能を公 開しました.ネットワーク上のプロトコルのやり取りを表示することができるた め,デバッグ等に活用できます.

<組込みシステム向けネットワーク接続ソフトウェア群の開発>

この研究は,平成17,18年度に北海道立工業試験場が中心となり,名古屋大学, 道内企業,苫小牧工業高等専門学校と共同で以下の研究・開発を実施しています.

  1. TINETの機能追加 ( ITRON TCP/IP APIの拡張機能 )
  2. 応用プログラム開発 ( DNS Resolver,DHCPクライアント等 )
  3. 組込み向けWWWサーバ
  4. ITRON用IPSecのサブセット仕様
  5. 組込みネットワークソフトウェアの信頼性検証技術
  6. 製品への適用と評価

TINETに関しては,実装完了機能から順次TOPPERSプロジェクトから早期リリース し,最終的にTINETリリース1.4として公開します.また,その他の機能に関して は,TINETへの組込み方法を検討し,オープンソースで公開する予定です.最後 に,更にその後の研究・開発のテーマとして,ソケットインタフェースへの対応 やIPv4とIPv6のデュアルスタック化など考えていますが,バグの少ない枯れたソ フトを目指して,TINETの改良も進めて行きたいと考えています.

TOPPERS対応 Eclipse 開発環境完成

<開発環境の昨今>

統合環境と質の転換

今から15年ほど前,会社に並ぶ標準機はNEC製 PC9801で,OSはMS-DOS,ウインド ウシステムはありませんでした.さまざまなワードプロセッサソフトウェアとい くつかの表計算ソフトウェアがあり,利用者はお気に入りの環境を使っていまし た.この環境には,豊かな多様性がありましたが,いくつかの問題もありました. 一番大きな問題は,操作の統一性,連続性です.昨今は,ワードプロセッサの文 書の中に,表計算ソフトのワークシート,もしくはグラフを容易に埋め込む事が できます.しかし15年前は,表計算ソフトの結果をプリンタで出力し,一回ソフ トウェアを終了し,ワードプロセッサソフトウェアを立ち上げ,紙に書いた内容 を元に罫線でグラフを描く.今の我々から見ると,なんて面倒な世界でしょうか. しかも,似た機能を持つワードプロセッサは複数種類あって,少しずつ操作手順 が違うときています.当時の我々は苦々しく思いながら,「そういうものだ」と 納得していました.しかし,今さら当時のような環境で文章を書く気になるでし ょうか?

組込み開発現場に目を移すと,ソフトウェアの運用形態が,15年前のオフィスソ フトウェアと似た状況だと思いませんか?現在複数のデバッグ用ハードウェアが あり,コントロールソフトも多種多様です.ツール間の連携は十分でなく,各フ ェーズでそれぞれユーザインタフェースが違う操作を要求されることがあります. これは開発効率やソフトウェアの信頼性にも影響する可能性があります.逆説的 に,生成される製品の開発効率や信頼性を上げるためには,ツールの整備が大切 と言えます.ツールだけが全てを解決する訳ではありませんが,ツールによって 開発の質が転換することは確かです.

TOPPERSで今すぐ使える統合開発環境

現在の開発ツールは,統合開発環境と呼ぶに相応しいものも登場してきています. しかし,それらの多くは,ツールベンダが推奨する(大抵はツールベンダが販売 している)ターゲットオペレーティングシステムに最適化されており,TOPPERSカ ーネルがその恩恵に預かるには少なからずの手間がかかります.

Eclipse/CDT

オープンソース統合開発環境フレームワークEclipseは数多くの言語の開発環境 として利用できます.例えば,CDTというC/C++開発環境がEclipse上に提供され ています.CDTは必要最低限の機能を提供しており,少し頑張れば,TOPPERSカー ネルのビルドも行えます.TOPPERSプロジェクト会員である(株)アルファプロジ ェクトは,ほぼ素のCDTを用いた開発キットを有償配布しています.

<PizzaFactory3登場>

TOPPERSプロジェクトの理事会員である(資)もなみソフトウェアは,TOPPERSカー ネル開発に特化した統合開発環境PizzaFactory3 を開発しました. PizzaFactory3 は,Eclipse/CDT をベースとして,TOPPERSカーネルに最適な環 境を提供します.

高速コンパイラ

PizzaFactory2はGNUベース環境と比較し,10倍程度高速なビルドを実現していま した.PizzaFactory3もこの高速コンパイラ技術をそのまま継承しています.

マネージドビルドベース

Eclipse/CDTには,makefileを明示的に記述するスタンダードビルドと, makefileを自動生成する先進的なマネージドビルドの2つのビルドモデルに対応 しています.PizzaFactory3 はマネージドビルドルールも採用することによりビ ルドリソース管理工数を軽減し,従来のスタンダードビルドベース開発の敷居を 低くすることを実現しています.一方,makefileの断片を追加することが可能で, 痒いところに手が届く環境を提供しています.

小規模組込み向けデバッガインタフェース

Eclipse/CDTは,デスクトップ/サーバアプリケーションの開発を前提としている 部分がいくつかあり,その一つにデバッガインタフェースがあります.小規模組 込みが用いるフリースタンディング環境への対応は,CDTに付属のデバッガイン タフェースでは不十分です.PizzaFactory3 では,デバッガインタフェースに拡 張を加えました.

ビルドツールの構成管理

ソースコードの構成管理は,信頼性を高めるための第一歩であり,Eclipseはソ ースコードの構成管理ツールとの統合がなされています.さらに高信頼性を確保 するためには,ビルドツールの構成管理も重要です.しかし,ツールの構成管理 の支援機能はEclipseや他の組込み向け統合開発環境の多くも実現できていませ ん.

PizzaFactory3 では,ビルドツールをEclipseのプラグイン構成管理機能と統合 し,ビルドツールの構成管理を実現しました.さらに,ビルドツールをプラグイ ンと同様に配信する機能も備えています.複数の開発者がいる環境で構成を揃え る事が容易になります.

無償バージョンの提供

PizzaFactory3 の中心部分は,独立行政法人情報処理推進機構(以下IPA)のオー プンソースソフトウェア活用基盤整備事業により開発された成果物を利用してい ます.PizzaFactory3 は有償な製品ですが,TOPPERSカーネルをビルドしデバッ グするための中心部分はソースコードも含め無償で提供されます.3月末に TOPPERSプロジェクト会員向けに早期リリースされます.

FDMPカーネル 一般公開開始

TOPPERSプロジェクトでは,次世代のリアルタイムOS開発の一環として,μITRON 仕様準拠のリアルタイムOS ( RTOS ) を,機能分散マルチプロセッサ向けに機能 拡張したTOPPERS/FDMPカーネルの仕様検討・実装・評価を進めてきました.この 度,その開発成果をオープンソースソフトウェアとして,3月22日より一般配布 することになりました.FDMPカーネルの開発の一部は,IPAの2004年度未踏ソフ トウェア創造事業の採択テーマの1つである,「マルチプロセッサシステムに対 応したシステムレベル開発環境の開発」の一環として開発されました.

<FDMPカーネルの主な特徴>

  • 機能分散マルチプロセッサ上でのアプリケーション開発を効率化
  • μITRON仕様OS向けのソフトウェア資産が活用可能
  • 性能を重視した実装
  • 新たなターゲットプロセッサへのポーティングが容易

<ターゲットシステム>

プロセッサメーカ
Nios2アルテラ
Microblazeザイリンクス

<開発環境>

FDMPカーネルは,GCCなどのGNU開発環境を,標準のソフトウェア開発環境として います.インライン関数やインラインアセンブラ機能など, GCCの拡張機能を用 いている部分があります.

FlexRay通信ソフトウェア早期リリース開始

TOPPERS会員である(株)ヴィッツと(株)サニー技研は,次世代車載LAN規格である FlexRay通信用ソフトウェアセットを3月末からTOPPERSプロジェクト会員向けに 早期リリースいたします.このソフトウェアセットは,次世代車両用の標準的な LANとして最有力であるFlexRay 通信を実現するものであり,名古屋大学の高田 研究室および国内の自動車メーカの協力を得て開発しました.

FlexRay通信の特徴は,従来のCAN通信に代表されるイベント駆動型通信ではなく, タイムトリガ駆動型の通信であることです.そのため従来のリアルタイムOS ( RTOS ) では実現が困難でした.今回公開するソフトウェアセットは,FlexRay通 信を実現する通信ミドルウェアばかりでなく,タイムトリガ駆動型に対応した RTOS として,TT-OS (Time Triggered Operating System ) も含まれています. 車両用のタイムトリガ駆動型OSは,欧州を中心に組織化されたOSEK/VDX から, OSEKtime ( Time-triggered Operating System ) の仕様が策定および公開され ています.今回リリースするTT-OSは,OSEKtimeとは仕様も性格も異なるOSとな ります.この違いは,仕様検討時に想定した制御対象でFlexRay通信を利用する にはどのような要求や機能が必要かを国内の自動車メーカにヒヤリング調査をし, OSEKtime の仕様は必ずしも自動車メーカが望んでいる仕様でないことを確信し たため,OSEKtime 仕様は参考程度とし,新規に仕様の策定をしたためです.

OSEKtime 仕様は,タイムトリガ駆動されるタスクが最優先であり,非タイムト リガ処理は,タイムトリガ処理の空き時間に実行されます.すなわち,非タイム トリガ処理は例え割込み処理であっても,タイムトリガ処理が優先される仕様で す.この性質をそのまま車両制御に用いた場合,制御処理がタイムトリガ通信に より阻害されることとなり,緊急を要する処理には利用が難しいことを意味しま す.TT-OSはこれらの特徴を改善し,タイムトリガ処理とイベントトリガ処理が 両立できることを重視した仕様となっています.

また,FlexRay通信ミドルウェアは,FlexRayデバイスドライバ,FlexRay-NM ( Network Management ) ,TT-COM ( Time Triggered Communication ) から構成 されています.TT-COM は,OSEK/VDX から公開されているFT-COM ( Fault Torrerant Communication ) 機能を参考に,FlexRay通信に求められる通信ミド ルウェアに必要な機能に対応しています.また,FlexRay-NMと呼ぶネットワーク 監視機能も同時に開発し,車両内で重要となるノードの接続状況やノードの WakeUp/Sleep 機能など,基本となるネットワーク監視機能に対応しています.

今回早期リリースするソフトウェアセットの対応プロセッサは,ルネサス製M32C であり,対応するFlexRayデバイスはルネサス製FlexRayデバイスとなります.こ れらのソフトウェアセットはTOPPERSライセンスによるオープンソース公開とな りますが,デバイスドライバ部のみ,ライセンスの問題により,当分の間はバイ ナリオブジェクトでの提供になります.

TOPPERS開発者会議

2006年3月17日〜18日,「ヤマハリゾートつま恋」にてTOPPERS開発者会議を開催 しました.会議には,TOPPERSプロジェクトの開発成果物を開発したり,サポー トを担当していただいているメンバー17名が参加しました.参加者はμITRONの フルセットカーネルであるTOPPERS/FI4 ( Full set ITRON 4 ) や次世代の高信 頼カーネルである TOPPERS/HRP ( High Reliability Profile ) カーネルのコー ドレビューを行い,熱い議論を繰り広げました.

TOPPERSビジネス用メーリングリスト新設

TOPPERSプロジェクトでは,会員からの告知用メーリングリストを新設すること にいたしました.このメーリングリストは,会員間の情報交換や各種募集の場所 として利用していただけます.

メーリングリスト名:
business@toppers.jp
メーリングリスト趣旨:
  • 会員間でのビジネスマッチングの場である.
  • 一方的な宣伝ではなく,ビジネス/開発パートナー募集などを主な内容とする.
登録/投稿の方法:
  • 登録できるのは会員のみ.会員は自由に登録が可能. (他のML同様にWebより登録できます)
  • 投稿は事務局のみとし,会員は事務局宛に送付を依頼する.

登録会員の皆様に不要な案内や迷惑な案内にならないよう,上記の趣旨に沿った 内容のみを事務局より送付いたします.会員間の有効かつ効果的な情報交換の場 として活用していただければ幸いです.

TOPPERSカンファレンス2006

TOPPERSプロジェクトでは,2006年5月26日にタワーホール船堀 ( 東京都江戸川区 ) において,TOPPERSカンファレンス2006 ( 以下,カンファレンス ) の開催を予定しています. 第3回を迎える本カンファレンスのテーマは,「HiQOS ( High Quality Open Source ) です.Open SourceかつHigh QualityなRTOSの探求を意図しています.これまでありそうで実際には無かった新たなオープンソースの創造を予感するキャッチフレーズでTOPPERSプロジェクトの存在価値・目指すべき方向性が一言で表現されています.

■日 時:2006年5月26日 ( 金 ) 10:00−20:30 ( 9:30受付開始)
■会 場:タワーホール船堀
     東京都江戸川区船堀4-1-1 / TEL 03-5676-2211
■主 催:NPO法人 TOPPERSプロジェクト
■定 員:140名 ( 先着順にて受付 )
■参加費:会員:10,000円/ 非会員:15,000円/ 学生: 5,000円
■参加申込:Webよりお申込ください.(準備中)
■問合せ先:TOPPERSプロジェクト事務局 ( 担当:真鍋 )

<プログラム>

[基調講演]
「TOPPERSプロジェクトの活動と今後(仮)」
  高田広章 ( TOPPERSプロジェクト会長/名古屋大学 )

[オーバービューセッション]
「TOPPER採用製品開発のためのオープンソース統合開発環境」
  邑中雅樹 ( ( 資 ) もなみソフトウェア )
「マルチプロセッサに対するTOPPERSプロジェクトでの取り組み」
  本田 晋也 ( 名古屋大学 )
「組込みソフトウェア教育におけるTOPPERSの使い方」
  山本雅基 ( 名古屋大学 )
その他2講演程度を予定しています.

[チュートリアルセッション]
「TOPPERSカーネルベースのOSに求められる品質とその検証方法」
  渡辺雄一 ( ( 株 ) エーアイコーポレーション )
「FlexRay通信ミドルウェアの解説と活用事例紹介」
  服部博行( ( 株 ) ヴィッツ )

オーバービューとチュートリアルはパラレルセッションとなります。ご希望のプログラムをお選びください.

[特別講演]
「数理的技法のフィールドワーク」
木下 佳樹 ( 産業技術総合研究所 システム検証研究センター )

[懇親会 & ミニ展示 ]
ライトニング・トーク
TOPPERS of the Year 発表

<第2回TOPPERS of the Year>

2005年4月〜2006年3月において,TOPPERSプロジェクトが世間から大きな注目を 集めるきっかけとなった活動に栄誉を与え表彰します.

<ライトニング・トーク>

数分間の短い発表を入れ代わり立ち代り行うライトニング・トークセッションを 企画しています.新しいアイディア,ちょっと変わった切り口,少々強引な議論, 伝えたいことがある等,短い時間で聴衆を湧かせていただけるような講演・トー クを期待しています.登壇していただける発表希望者を募集いたします.詳細は TOPPERSカンファレンス2006の参加者募集案内をご覧ください.

参加のお誘い

TOPPERSプロジェクトでは,プロジェクトの趣旨に賛同してくださる方の参加を待っています.プロジェクトの会員となることで,次のようなメリットがあります.

  • プロジェクトにおけるソフトウェア開発に参加できる
  • プロジェクトで開発したソフトウェアを早期に入手できる
  • プロジェクトで開発するソフトウェアに対して要望をだせる
  • プロジェクトの主催・共催するセミナに会員費用で参加できる

NPO法人の会員には,主に団体を対象とした正会員と,個人を対象とした準会員に加えて,プロジェクトに貢献して戴ける教育機関・公的機関・非営利団体・個人で会費を支払うことが難しい方を対象とした特別会員の制度を用意しています.

TOPPERSプロジェクトに何らかの形で貢献されたい方,プロジェクトで開発したソフトウェアをお使いの方,プロジェクトに興味をお持ちの方は,是非入会をご検討ください.

お問い合わせ先

TOPPERS プロジェクトに関するご質問や入会の申込みは,下記事務局宛にお願いします.また,プロジェクトのウェブサイト(http://www.toppers.jp/)には,活動の詳細を紹介する資料を置いていますので,ぜひご参照ください.

編集後記

最後までお付き合いくださりありがとうございます.5月にはプロジェクトの祭典であるカンファレンスを企画しています.皆様のご参加をお待ちしております.

ニュースレターへのご意見がございましたら, (株)ヴィッツ服部( hat @witz-inc.co.jp )まで,ご連絡いただければ幸いです.


NPO法人TOPPERSプロジェクト
http://www.toppers.jp/
社団法人 日本システムハウス協会内
〒103-0007 東京都中央区日本橋浜町1-8-12 東実年金会館8F
TEL&FAX (03)3865-5616 Email: secretariat@toppers.jp