Application Architecture という新しい階層|OpenAAの起源|OpenAAにできること|それを可能にする10の特徴|ライセンス|
OpenAAとは
Application Architecture という新しい階層
OpenAA®の「AA」は、Application Architecture の頭文字であり、本プロジェクトにおいて定義された概念です。
OpenAAは、従来のソフトウェア構造における
- アプリケーション層の下
- フレームワーク層の上
に位置する新しい階層を提唱しています。
この層はしばしば「ミドルウェア」と説明されがちですが、OpenAAが定義するのは単なる技術的中間層ではありません。
それは、個別開発に依存しがちな外観検査ソフトウェアを構造化し、再利用可能にするためのアプリケーション設計基盤です。
OpenAAは、ソフトウェアの“位置”を再定義します。
OpenAAの起源
OpenAAは、30年以上にわたり実装・運用されてきた外観検査ソフトウェア基盤を再構成したものです。
その母体となるのは、外観検査向けに開発されてきた「Regulus64」です。
Regulus64は、実際の製造現場で稼働し続けてきたプロダクションコードベースです。
OpenAAは、この実装資産を単に公開するのではなく、アーキテクチャとして再定義し、再利用可能な構造として再構成したものです。
それはソフトウェアの公開ではなく、構造の公開です。
OpenAAでできること
OpenAAは、外観検査ソフトウェアを単なる個別開発から、構造化された設計へと転換します。
その結果、次のことが可能になります。
小規模から大規模ラインまで同一構造で構築できる
単体の検査装置から、複数工程を含むライン構成まで、同一のアーキテクチャで設計・拡張が可能です。
規模が変わっても構造は変わらない。それがOpenAAの基本思想です。
既存の検査に新しい機能を追加できる
検査対象や要求仕様が変わった場合でも、既存構造を崩さずに機能追加が可能です。
再設計ではなく、拡張によって対応できます。
コンポーネントを置き換えて改善できる
検査精度の向上やアルゴリズム変更が必要な場合でも、該当する機能単位のみを置き換えることが可能です。
全体を作り直す必要はありません。
チームで開発・保守できる
機能単位で分離された構造により、複数のエンジニアが同時に開発・保守を行えます。
属人的な構築から、組織的な開発へと移行できます。
それを可能にする10の特性
構造的基盤
OpenAAは、多数のコンポーネントによって構成されています。しかし、その特徴は単に部品が多いことではありません。
重要なのは、それらがどのような構造で設計されているかです。
OpenAAでは、
- UIと処理を分離したコンポーネント構造
- 命令と実行を通信で接続する内部コマンド設計
- 統一された階層データモデル
- 外部デバイスを抽象化するプラグイン機構
を採用しています。
この設計により、規模や構成が異なっても同一の基盤で構築することが可能になります。
そして、この構造的基盤が次に述べる特性を成立させています。
1 統一性
統一された操作性を提供できる。すべてのコンポーネントで入出力やアーキテクチャーが統一されているため開発効率を上げることができ、画面操作が統一されていることでユーザーによる直感的な操作で様々なシステムを簡単に操作できる
2 機能拡張性
コンポーネントを追加したり変更することで検査システムの機能を自由に拡張できる
3 スケーラブル
検査システムを大規模なものから小規模なものまで適用できる
4 チーム化
複数の開発者で共同して開発、メンテナンスできる。
5 可換性
コンポーネントを別のものに換えることができる。インターフェースが統一されている
6 標準化
手順からデータまで標準化を推進し、その標準化に準拠
7 ポーディング性
Windows、Linux、Macなど異なるOSで動作可能
8 データバージョンの独立性
コンポーネントを別のものに換えることができる。インターフェースが統一されている
9 セキュリティ
データ・通信の暗号化によりセキュリティ性能を向上。インターネットでのデータ流通に向けてもデータを保護できる
10 デバッグ性
デバッグするための機能、ログ表示・出力。開発効率を上げることができる
ライセンス
OpenAAはGNU GPL version 3(GPLv3)に準拠して公開されています
