DDC-I, Inc.は、アリゾナ州フェニックスに本社を置く非公開企業で、リアルタイムオペレーティングシステムのソフトウェア開発、ソフトウェア開発ツール、および安全性が重要な組み込みアプリケーション向けのソフトウェアサービスを提供しています。同社は、1985 年にデンマークの企業DDC International A/S ( DDC-I A/Sとしても知られる) として設立されました。これは、1980 年代のデンマークのソフトウェア研究開発組織であるDansk Datamatik Centerの商業的な発展形です。アメリカの子会社は 1986 年に設立されました。同社は長年にわたり、プログラミング言語Adaの言語コンパイラを専門としていました。
デンマークのオフィスは2003年に閉鎖され、すべての業務はフェニックスの拠点に移管されました。2008年、DDC-Iは組み込みリアルタイムオペレーティングシステム市場に参入し、その主力製品はDeosです。航空電子機器および軍事用途を対象としたDeosは、DO-178B / DO-178C DAL A規格をはじめとする、航空機搭載システムの安全性が重要なソフトウェアに関する各種規格の認証を取得しています。
DDC International A/S の起源は、1979 年に設立されたデンマークのソフトウェア研究開発組織Dansk Datamatik Centerにあります。この組織は、ソフトウェアの設計と開発において、特に形式手法を含む最新の技術を使用することの価値を実証するために設立されました。そのいくつかのプロジェクトの中には、プログラミング言語Ada用のコンパイラ システムの作成がありました。Ada は実装が難しい言語であり、初期のコンパイラ プロジェクトはしばしば期待外れに終わりました。[ 1 ] しかし、DDC コンパイラの設計はしっかりしており、1984 年 9 月に、米国国防総省が後援するAda Compiler Validation Capability (ACVC) 標準化された言語およびランタイム テスト スイートをVAX / VMSシステム上で初めてクリアしました。 [ 2 ] そのため、この標準を満たした最初のヨーロッパの Ada コンパイラとなりました。[ 3 ] [ 4 ]
Ada プロジェクトの成功により、1985 年に Ada コンパイラ システム製品を商業化することを目的とした DDC International A/S という別の会社が設立されました。[ 5 ]創始者と同様に、デンマークのリンビーに拠点を置いていました。Ole N. Oest が DDC International のマネージング ディレクターに任命されました。[ 6 ] 1986 年に、アメリカの子会社として DDC-I, Inc. が設立されました。[ 7 ]アリゾナ州フェニックス に拠点を置き、米国での販売、顧客サポート、エンジニアリング コンサルティング活動に重点を置いていました。[ 8 ]

DDC-Iは、DACSというAdaコンパイラシステム製品を企業に直接販売する事業を確立した。これは、Adaでプロジェクトを開発するためのソフトウェアとして、また、コンピュータメーカーなどが他のプロセッサやオペレーティングシステム向けに再ホストまたは再ターゲットするためのソースコードとして販売された。[ 9 ] [ 10 ]
最初の事業では、ネイティブコンパイラとクロスコンパイラの両方を販売していましたが、Adaは主に組み込みシステム分野で使用されていたため、後者の方が一般的でした。DDC-Iが開発した最初のクロスコンパイラの1つは、VAX/VMSからIntel 8086およびIntel 80286へのものでした。この取り組みは、1985年初頭にはすでに始まっていました。[ 9 ] これは、イタリアの防衛電子機器会社Seleniaとの合弁事業として始まり、8086および80286アーキテクチャに基づく同社のMARA-860およびMARA-286マルチマイクロプロセッサコンピュータと、汎用組み込みおよびOSホスト8086および80286システムの両方を対象としていました。[ 11 ]この作業は、同社にとって最大の売上を誇る製品ラインの始まりとなりました。DDC-Iは、 Intel 80x86プロセッサ 向けの高品質のAdaクロスコンパイラおよびランタイムシステムで評判を築きました。[ 8 ]
2番目のビジネスでは、DDC OEMコンパイラキットと呼ばれるものを使用しました[ 10 ]。これは、他のホストやターゲットへのコンパイラ、またはVLSIなどの他のツールにAdaフロントエンドを使用することができました。1985年9月にスウェーデンのルンドで開催された会議で、OEMキットの顧客数社がDDC Adaコンパイラリターゲットグループを結成しました[ 12 ] 。このグループ は、1985年から1986年にかけて少なくとも3回の会議を開催しました。初期のOEM顧客には、スウェーデンのルンド大学、 国防資材管理局、エリクソン無線システム、フィンランドのソフトプランとノキア情報システム、イタリアのセレニアとオリベッティ、 英国のICLディフェンスシステムとSTL Ltd 、イスラエルのAitechソフトウェアエンジニアリング、米国のアドバンストコンピュータテクニクス、ロックウェルコリンズ、コントロールデータコーポレーション、ジェネラルシステムズグループなどがありました[ 13 ] 。

後期の開発者は形式手法に精通していないことが多く、コンパイラの開発作業で形式手法を使用しなかった。[ 14 ]これは、コンパイラを再ターゲットにした企業の場合に特に顕著であり、その多くはAda言語に不慣れであった。[ 15 ] [ 16 ]
DDC-I は、 Alsys、TeleSoft、Verdix、Tartan Laboratories、TLD Systemsなど、他のいくつかの Ada コンパイラ企業と同じ市場にありました。[ 4 ] (DDC-I は、これらのどの企業よりも長く事業を継続しました。[ 14 ] ) 他の Ada コンパイラベンダーと同様に、DDC-I のエンジニアの時間の多くは、大規模で難しい ACVC テストに準拠することに費やされました。[ 17 ] [ 18 ]
1988年から数年間、DDC-I のコンサルタントはHoneywell Air Transport Systemsと協力して、DDC-I Ada コンパイラをAMD 29050プロセッサ向けに再ターゲットおよび最適化しました。[ 19 ] [ 20 ]この DDC-I ベースのクロスコンパイラ システムは、ボーイング 777旅客機の主要飛行ソフトウェアの開発に使用されました。[ 8 ] [ 20 ] このソフトウェアは、航空機情報管理システムと呼ばれ、民間または軍事を問わず、Ada が使用されているプロジェクトの中で最もよく知られているものになると思われます。[ 21 ] Honeywell の約 550 人の開発者がこの飛行システムに取り組み、Ada の大きな成功事例として宣伝されました。[ 20 ]

1991年10月、DDC-IがAdvanced Computer Techniquesのベンチャー企業となったInterACTのAdaおよびJOVIAL言語組み込みシステム事業を買収したことが発表された。 [ 22 ] この完全子会社であるニューヨークを拠点とする企業は、 DDC-I本体に吸収される前に、一時的にDDC-Interという名称であった。[ 22 ]これにより、MIL-STD-1750AおよびMIPS R3000プロセッサ用のAdaクロスコンパイラと、MIL-STD-1750AおよびZilog Z8002用のJOVIAL言語クロスコンパイラが製品ラインに加わった。
MIPS R3000 製品は、DDC-I が特に力を入れた製品の一つでした。エンジニアリングの取り組みには、タスクのランデブー時間に関する特定の最適化をコンパイラが自動的に認識する機能が含まれていました。[ 23 ]これは、Ada のタスク モデルを効率的に実装する方法を見つけるために行われた作業の一例です。[ 24 ]また、米国空軍が後援する Common Ada Runtime System (CARTS) プロジェクトでの作業も取り組みの一つで、これは Ada ランタイム 環境に標準インターフェースを提供することを目的としていました。[ 25 ]これにより、アプリケーションは非同期エントリ呼び出しなど、Ada 言語自体には含まれないリアルタイム機能を制御できるようになり、移植性も高いまま維持できました。[ 26 ]
1993年末、ニューヨーク事務所は閉鎖され、その業務はフェニックス事務所に移管された。
1990年代初頭までに、DDC-IはSunOS上のVAX/VMS、 Sun-3、SPARC、UNIX System VおよびOS/2上のIntel 80386用のAdaネイティブコンパイラを提供し、上記のターゲットに加えてMotorola 680x0およびIntel i860用のクロスコンパイラも提供した。[ 27 ] [ 28 ]

1990年代初頭、DDC-Iは、広範囲にわたるAda 95言語標準改訂版のコンパイラシステムの再設計に取り組みました。彼らは新しいオブジェクトベースのプログラミング設計を採用し、 VDM-SLを使用して形式手法のアプローチにも引き続き従いました。[ 29 ] この作業は、欧州共同体ベースのオープンマイクロプロセッサイニシアティブのグローバル言語および統一環境プロジェクト(OMI/GLUE)のスポンサーシップの下で行われ、DDC-Iの役割は、Ada 95をより多くのプラットフォームに迅速に展開することを目的として、アーキテクチャ中立配布フォーマット(ANDF)中間形式をターゲットとするコンパイラを作成することでした。 [ 29 ] [ 30 ] この作業の一環として、DDC-Iは国防評価研究局と協力して、ANDFの機能の一部を拡張し、Adaと急速に成長しているプログラミング言語C++のセマンティクスを表現できるようにしました。[ 31 ]境界チェックの排除 など、Ada固有の分野での作業は、最適な実行時パフォーマンスを得るために行われた。[ 32 ]
Adaソフトウェア環境は当初、有望な市場だと考えられていた。[ 33 ] しかし、Adaコンパイラ事業は困難な事業であることが判明した。[ 34 ] この時期、1987年から1997年にかけて、米国政府はAdaの使用を義務付けていたが、一部免除が認められていた。[ 35 ] 汎用プログラミングにおけるこの言語の利点の多くは、一般的なソフトウェアエンジニアリングコミュニティや教育者にはそうは認識されていなかった。[ 36 ] 販売状況は厳しく、定期的に小規模な人員削減が行われた。他のAdaツールプロバイダーの間で統合が進む中、DDC-Iは独立企業として存続した。[ 37 ]
いずれにせよ、DDC-I は社内[ 38 ]および社外での使用において、Ada 言語の熱心な支持者でした。1993 年に同社のエンジニアの 1 人が発表した論文では、Ada 95 のオブジェクト指向機能が C++ の機能よりも優れていると評価し、注目を集めました。[ 39 ]ノースロップ・グラマン・エレクトロニック・システムズおよび米国空軍と共同で、高度に最適化された Ada 生成コードのデバッグ能力を向上させるための作業が行われました。[ 40 ]

同時に、同社は製品ラインの拡大と強化を試みた。RAISE ツールセットが利用可能になり、リアルタイム システムの設計ツールである Cedar も利用可能になった。また、アプリケーションの状態/イベント部分を開発および実行するためのツールであるBeologicも提供され、これはBang & Olufsenからライセンス供与され、Ada コンパイラ システムと統合されていた。[ 41 ] 最大の取り組みは C++ の方向であった。DDC-I は、組み込みアプリケーションのオブジェクト レベルの直接サポートを目的としたC++ ベースのリアルタイム オペレーティングシステムである 1st Object Exec の提供を開始した。 [ 42 ] 1993~94 年にかけて相当な努力がなされたにもかかわらず、1st Object Exec は市場で普及しなかった。
Ada が確固たる足場を築いた唯一の分野は、航空宇宙などのリアルタイム、高信頼性、高完全性、安全性が重要なアプリケーションでした。[ 43 ] [ 35 ] [ 44 ] Honeywell や他の顧客との経験に基づき、DDC-I は、Ada 言語とランタイム機能を安全性が重要な認証の要件、特にDO-178B (航空機システムおよび機器認証におけるソフトウェアの考慮事項) 規格の 要件にマッピングする専門知識を獲得し、そのプロセスに必要なツールを提供しました。 [ 45 ] 1997 年に Ada の義務化が取り消された後も、このようなアプリケーションは継続されました。 [ 35 ] 例えば、1997 年に同社は、ボーイング/シコルスキー RAH-66 コマンチで使用されるソフトウェアを開発するために、シコルスキー エアクラフトとボーイング ディフェンス & スペース グループのヘリコプター部門との共同契約を獲得しました。[ 46 ]
1998年3月、DDC-Iはテキサス・インスツルメンツから、 Intel i960、Motorola 680x0、およびMIL-STD-1750Aターゲット向けのTartan Adaコンパイラの開発、販売、マーケティング権を取得した。 [ 47 ]
2000年に、DDC-IのSCORE(Safety-Critical, Object-oriented, Real-time Embedded)向け混合言語統合開発環境の一部としてプログラミング言語Cが追加されたことで、混合言語開発のサポートが追加されました。 [ 48 ] ANDFフォーマット、DWARF標準化デバッグフォーマット、およびターゲットボードのデバッグモニタとの通信用のOMIプロトコルを活用することで、SCOREはリアルタイムアプリケーション開発者向けに共通の構築およびデバッグ環境を提供することができました。[ 48 ] 2003年にSCOREに組み込みC++ のサポートが追加され、その時点でIntel x86およびPower PCプロセッサ上のさまざまなターゲットボードシナリオと統合できるようになりました。[ 49 ] ANDF用のCおよび組み込みC++コンパイラは、TenDRA Compiler のライセンス契約から提供されました(後にDDC-Iがこれらのコンパイラの保守者になりました)。その後、旧型の1750AおよびTMS320C4xプロセッサ向けのAda 95サポートがSCOREに追加されました。[ 50 ]
2003年4月までに、業界がアダから離れ、航空機産業の地位が低下したことが影響し、DDC-Iは大きな財政的損失を被った。DDC-Iはリンビーのデンマーク事務所を閉鎖し、すべての業務をフェニックスに移すことを決定した。[ 51 ]
2005年9月、同社はLynuxWorks出身のボブ・モリスを社長兼最高経営責任者に任命した。[ 52 ] オエストは最高技術責任者になった。[ 53 ] 2006年4月、DDC-Iはフェニックス北部の新しいオフィスに移転し、事業拡大に伴い、前年比で40~50%の収益増を見込んでいると発表した。[ 54 ]
2006 年以来、同社は安全上重要な Java のJava Expert Groupに貢献してきました。[ 55 ] この作業は、Java のリアルタイム仕様をベースに、十分な決定性を提供するために使用する言語とライブラリのサブセットとコーディング規則を規定しており、同社の代表者は、安全性が重要なアプリケーション向けの言語として Java が Ada または C++ と同等かそれ以上になる可能性があると考えています。[ 56 ] 同社は、安全性が重要な Java プロファイルが、防衛産業が老朽化したソフトウェアおよびハードウェア アプリケーションの問題に対処するのに役立つものと考えています。[ 57 ] 2008 年までに、DDC-I は Ada をレガシー言語 と呼び、顧客が新しいソリューションに移行するのを支援する半自動化ツールと専門サービスを提供していました。[ 53 ]
2008 年 11 月、同社はDeos と HeartOS という 2 つの製品で組み込みリアルタイムオペレーティングシステム(RTOS) 市場に参入しました。 [ 58 ] [ 59 ] [ 60 ]どちらもHoneywell Internationalで開発された基盤となるソフトウェア技術に基づいており、すでに多くの商用機や軍用機に導入されています。[ 58 ] この取り組みの一環として、DDC-I は Deos を設計した Honeywell の主要エンジニアリング スタッフの一部を採用しました。[ 58 ] DDC-I と同じ RTOS 市場セグメントの他の企業には、LynuxWorks、Wind River Systems、SYSGO、Express Logicなどがあります。[ 61 ]
Deos RTOSは、主に軍事および航空電子機器分野のハイエンドで安全性が重視されるアプリケーションで使用されています。[ 62 ] 2008年にRTOS市場セグメントに参入して以来、Deosに関連する製品とサービスは、DDC-Iの中核事業および研究開発投資の主要分野となりました。Deos製品ラインへの主要な取り組みと主な追加機能、および導入年は以下のとおりです。
FACE の OSS プロファイルへの準拠作業の一部は、OAR Corporation および宇宙や物理学の分野でよく使用されるオープンソースベースのリアルタイムオペレーティングシステムRTEMSとの協力によって行われました。 [ 62 ] Deos は ARINC 653 のサポートを提供し、RTEMS はPOSIXインターフェースを完全にカバーします。[ 67 ]
安全性が重要な航空電子機器ソフトウェアの DO-178 認証は、時間と費用がかかるプロセスであるため、Deos のもう 1 つの重点は再利用性です。[ 72 ] DDC-I は、時間と空間の操作に関して Deos を分割するために、かなりのエンジニアリングを行いました。[ 62 ]分割やその他の定義機能を使用することで、安全性が重要なソフトウェア開発者は、ソフトウェアを変更したり、費用のかかる再認証活動を発生させたりすることなく、新しいシステムで再利用するためにソフトウェアを再構成および適応させることができます。[ 73 ]
