SDL
はじめに
近年、iモード、EZアクセスなど、新しい移動通信システムの開発がさかんに行われています。
これら通信システムは高速、大容量、移動通信を行うので、有線、無線リソースの管理、ユーザ情報の管理、が必要となります。
この結果、通信ソフトウェアは大規模、複雑になっています。また、市場競争の激化から、開発期間の短縮も要求されています。
このような、通信ソフトウェア設計には、SDL、MSCという言語が広く使われています。
SDL、MSCはITU−T等の国際機関で20年来にわたり開発、標準化が進められており、国際標準となっています。
それは、検証によってその正確性が保たれているからです。
SDLの概要
SDLとは Specification and Description Language の略で、通信プロトコルの設計に使われる仕様記述言語です。
SDLには3つの特徴があります。
・図形表現の言語なので直感的に見て理解し易い
直感的に見て理解し易いので、大規模、複雑なソフトウェアでも開発期間の短縮が図れます。
・形式的言語なので曖昧さがない
形式的であるので曖昧さがなく、ユーザがインプリメントする前に設計が正しく動くことを証明でき、高信頼性が満足されます。
このため、設計品質・生産性を向上します。
・オブジェクト指向
オブジェクト指向であるのでイベント駆動型システムの記述に適し、通信システムのようなリアルタイムシステムの仕様を記述するのに適しています。
MSCの概要
MSCとはMessage Sequence Chartの略です。電文を順番に示す図で、シーケンス図とも呼びます。
MSCにも3つの特徴があります。
・SDL同様に図形的であり、複雑な動的振る舞いを表すのに適しています。
・形式言語である点もSDL同様で、明確な、曖昧のない記述方法は理解が容易です。
・MSCはSDLシステムの動的な振る舞いの記述に対して強力な補完となります。
標準化
ITU−T(国際電気通信連合電気通信標準化部門)で開発、標準化されている国際標準です。
SDLは勧告Z.100で、第一版は1976年に出され、その最新版はSDL96です。
MSCは勧告Z.120で、第一版は1992年に出されました。
SDLはITU−Tの他、ETSI(欧州電気通信標準化機構)、インマルサット(国際海事衛星機構)、インテルサット(国際通信衛星機構)等で、
それらの標準作成に使われています。更に、ISO(国際標準化機構)でも承認されています。
SDLの商用ツール
大きく分けて次の「タウ」と「オブジェクトジオード」の2つがありましたが、
オブジェクトジオードの開発元がテレロジックに買収されました。
タウについてのリンクを以下に載せます。
開発元 テレロジック
日本法人 日本テレロジック
代理店 NTT−AT
データメディアプロダクツ、
仕様記述言語
テレロジック社のホームページにSDLの説明文があったので、訳してみました。
和訳が正しいかどうかは保証しません。ちなみに、翻訳ソフトは使っていません。
あなたの方法に狂いはないか
おそらくあなたは我々の言語を話すに違いない。
ソフトウェア設計の要求に合うように開発された、その要求というのも複雑で、競争が激しい通信業界におけるものであるが、SDLはその中でただ一つグラフィカルな仕様言語であり、形式とオブジェクト指向との両方である。その強さは構造、振る舞い、リアルタイムデータの記述、そして「通信」システムへの貢献、数学的な精密さで、曖昧をなくし、システムを完全にする。
形式を省略するのは割に合わない
SDLは言語であり、記述又は方法ではない。ほとんどの方法は発明の過程を記述するばかりで、発明そのものを記述していない。また、それらは動作についてはほとんど述べられていない。これがSDLの強みで、どんな方法であっても「形式化」させることができる。アイデアと実行のギャップを埋めることによって。話し言葉のように、SDLの特徴は文法である。規則が形式的定義するのは、各シンボルの後ろにある意味と、コンセプトである。そして、言語の各部がどのように一緒にあてはまるかを規定する。SDLの形式文法は、仕様全体にわたって精密さを守らせる。と言うのは、本質的に曖昧さを含んではいけないからである。
なぜ形式仕様言語を使うのか
形式言語が可能とすることは、システム仕様と設計全体の作ること、そして、インプリメントする前にその設計がちゃんと動くことを証明することである。SDLは以下を統合することによって、これらを達成する。
・上手く定義された概念
・明確、正確な仕様
・完全、正確、矛盾のない仕様を決定する際の基礎、仕様をインプリメントする際の適合
・証明、確認、シミュレーション、試験のサポートをするツール
・アプリケーションの生成を従来のコーディングフェーズをせずにサポートするコンピュータ
実世界アプリケーションの産業の強さ
SDLの直感的な、視覚的な構文は、学術的領域から引き離す。そして商業的システム開発の領域に整然と置く。実のところ、SDLは視覚的であり、形式的でもあるので、長い間選択されてきて、大規模なリアルタイムシステムの開発に使われている。複雑な設計と、インプリメントのチャレンジによって性格づけられているところのシステムに。SDLの使用によって、設計者が処理することが出来るのは実世界の圧力、即ち品質保証と、製品を市場へより早く出さなければいけないという圧力である。
もちろん、オブジェクト指向
SDLのサポートするのはオブジェクト指向設計であり、そこで使用するのは抽象データ型であるが、それはオブジェクト指向プログラム言語のクラスに相当する。そして専門化?と継承が許されているが、それはSDL概念のほとんどで使用されているものである。オブジェクト指向であるため、SDLが設計者に対して提供するのは、より概念的なメカニズムによるシステム設計である。また提供するのは動作の継承、(コードではなくて)モデルの再利用の能力である。そして更に提供するのは、要求を攻略するのに強力な助けである。
SDLはどこから来た
1972年、15のメンバーによる勉強会で、CCITTにおけるいくつかの国(米国を含む)と大規模電気通信企業、例えばベルコア、エリクソン、モトローラなどが始めた研究は、電気通信産業における標準仕様言語についてである。言語の第一版が発行されたのは1976年で、続いて新版が4年毎に1992年まで出されてきた。そこでSDLはオブジェクト指向となった。
テレロジックがSDLを利用する10大理由
1.形式−デザインワークを証明できる
2.オブジェクト指向
3.明確で曖昧さがない
4.国際標準(ITU−T Z.100)
5.図表表現
6.極端に直感的−簡単に使用でき、覚えられる
7.開発過程を短縮できる
8.複雑で競合のある電気通信の世界で証明されている
9.成熟し、ドキュメントのしっかりしている言語である
10.時間と同時発生を表現する−リアルタイムの相互システムを完璧に
FAQ
Q.SDLはオブジェクト指向か
A.その通り
Q.どのように
A.抽象データ型はオブジェクト指向プログラミング言語のクラスに相当する。また、構造的概念(ブロック、プロセス)もSDLにおいて継承することができる。
Q.SDLはどのように他のプログラミング言語や記述法と異なるのか
A.SDLは豊富な文法によって、振る舞いを記述し、曖昧さがない。記述法は文法的能力を持たないので、設計がどう働くかを証明できない。また、プログラミング言語は仕様よりもインプリメンテーションを取り扱う。
Q.SDLのような仕様言語を使うことの利益は
A.SDLによって解決できるのは、設計上の問題、それもインプリメント上の制約から独立したものである。それで、設計技術に焦点を当てると、設計の評価、仕上げをインプリメントの問題と合わせずに行うことが出来る。
Q.SDLを扱えるようになるのにどれくらいの教育が要るか
A.基本的概念の習得に専門外の人で約3時間。技術者が実際に使用するのに1〜2週間。専門家になるには、1ヶ月。SDLは実際は、他のプログラム言語に比べて全く難しくない。プログラム言語とは違って、技術者でなくても理解することが出来る。
Q.なぜSDLはリアルタイムシステムの開発に使われるのか
A.SDLが含むのは時間と同時発生の概念であり、それはリアルタイムシステムの基本要素だからである。また、複雑なシステムは概してSDLの正確さを必要とするが、それは開発を実用的にするためである。
Q.SDLの将来の展開は
A.現在、SDLは成熟した、しっかりした言語であり、(マイナーな進歩はあるが)現在の型を2000年まではそのままで保つ。その時、SDLはメジャーなアップデートをするが、そこに含まれるのは…。
Q.今日誰がSDLを使っているのか
A.数万のユーザーが千以上の会社に世界的にいる。その中に含まれるのは、AT&T、ジーメンス、エリクソン、モトローラ、…、そして増えてきているのが大学とアジアの企業である。
その他関連リンク
・ SDLフォーラム SDL専門家の集まりか
・ CATT−Melba96 メルボルン大学で作ったツール
Informationに戻る
トップページに戻る