Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DX 時代の IoT ・ AI ・サステナブル ソフトウェアエンジニアリング

DX 時代の IoT ・ AI ・サステナブル ソフトウェアエンジニアリング

鷲崎弘宜, "DX時代の IoT ・ AI ・サステナブル ソフトウェアエンジニアリング", スマートエスイーセミナー: DX時代のIoT・AI・サステナブル ソフトウェアエンジニアリング, 2023年2月15日

Hironori Washizaki

February 15, 2023
Tweet

More Decks by Hironori Washizaki

Other Decks in Technology

Transcript

  1. DX時代のIoT・AI・サステナブル
    ソフトウェアエンジニアリング
    鷲崎弘宜
    早稲田大学 / 国立情報学研究所 / システム情報 / エクスモーション
    IEEE Computer Society 1st Vice President
    [email protected]
    V20230215
    2023年2月15日
    スマートエスイーセミナー
    1

    View Slide

  2. 目次
    • SWEBOK V4
    • IoTソフトウェアエンジニアリング
    • AI/MLソフトウェアエンジニアリング
    • サステナブル・ソフトウェアエンジニアリング
    • まとめ
    2

    View Slide

  3. Guide to the Software Engineering
    Body of Knowledge (SWEBOK)
    http://swebokwiki.org
    • 歴史: 2001 v1, 2004 v2, 2005 ISO/IEC Technical Report,
    2014 v3, 2022 v4 Beta, 2023 v4 Final soon!
    • 目的
    – Guiding learners, researchers and practitioners to identify and
    have common understanding on “generally-accepted-
    knowledge” in software engineering
    – Defining boundary of software engineering and related
    disciplines
    – Providing foundations for certifications and educational
    curriculum
    • 採用
    – IEEE-CS software professional certification programs based on
    SWEBOK (Associate Software Developer, Professional
    Software Developer, Professional Software Engineering
    Master)
    – ISO/IEC 24773-4: Certification of software and systems
    engineering professionals - Part 4: Software engineering
    – Software Engineering Competency Model (SWECOM)
    Activities
    (and
    practices)
    Body of
    Knowledge
    Islands of
    Knowledge

    View Slide

  4. SWEBOK GuideのV3からV4への進化
    • 現代的ソフトウェアエンジニアリングの反映、プラクティスの更新、知識・新領域の成長
    • 公開レビュー https://www.computer.org/volunteering/boards-and-committees/professional-educational-activities/software-engineering-
    committee/swebok-evolution
    Requirements
    Design
    Construction
    Testing
    Maintenance
    Configuration Management
    Engineering Management
    Process
    Models and Methods
    Quality
    Professional Practice
    Economics
    Computing Foundations
    Mathematical Foundations
    Engineering Foundations
    Requirements
    Architecture
    Design
    Construction
    Testing
    Operations
    Maintenance
    Configuration Management
    Engineering Management
    Process
    Models and Methods
    Quality
    Security
    Professional Practice
    Economics
    Computing Foundations
    Mathematical Foundations
    Engineering Foundations
    SWEBOK V3 SWEBOK V4
    Agile,
    DevOps
    Agile testing
    ・・・
    Agile security
    ・・・
    AI → SE
    IoT
    IoT

    View Slide

  5. 新知識領域: ソフトウェアアーキテクチャ

    View Slide

  6. 新知識領域: ソフトウェア運用

    View Slide

  7. 新知識領域: ソフトウェアセキュリティ

    View Slide

  8. 主要な現代的エンジニアリングの側面
    8
    知識領域 アジャイル・DevOps IoT AI/ML
    アーキテクチャ
    アーキテクチャプロセ
    スの応答性メトリクス
    テスト アジャイルテスト IoTテスト
    運用
    IEEE Std 2675: IEEE
    Standard for DevOps
    セキュリティ
    アジャイルセキュリティ
    プラクティス
    IoTセキュリティ
    コンピューティング
    基礎
    AI for SE, SE for AI

    View Slide

  9. 目次
    • SWEBOK V4
    • IoTソフトウェアエンジニアリング
    • AI/MLソフトウェアエンジニアリング
    • サステナブル・ソフトウェアエンジニアリング
    • まとめ
    9

    View Slide

  10. DXを支える広義のIoTとAI/ML
    10
    広義のIoT
    サービス
    サービス化
    データ駆動
    データ循環
    ビッグ
    データ
    フィード
    バック
    データ収集
    AI
    データ必須
    活用環境
    IoTシステム活用
    IoT
    基盤技術
    組織

    社会
    ビジネスや価値
    イノベーション
    プロセス
    鷲崎弘宜, 内平直志, “IoT時代のイノベーションマネジメント教育”, 研究・イノベーション学会誌, 特集テーマ「IoT時代のイノベーションマネジメント」, Vol. 33, No. 4, pp.1-7, 2018.
    IoTソフトウェア
    エンジニアリング

    View Slide

  11. IoTの課題とソフトウェアエンジニアリング
    • 調査: A Systematic Mapping study on Internet of Things challenges (SERP4IoT’19)
    – IoTの課題(challenge)を扱う76編の論文を特定、うち論文誌掲載45編
    11
    Aleksandr A. Lepekhin, Alexandra Borremans, Igor V. Ilin, Sami Jantunen: A systematic mapping study on internet of things challenges. [email protected] 2019
    課題 主要な話題 ソフトウェアエンジニアリング上の取り組み
    多様な応用
    機会とコンテ
    キスト
    • ヘルスケア(9編)、スマートシティ(7)、
    スマートファクトリー(5)、家庭・スポー
    ツ他(4)
    • プライバシ、セキュリティ、セーフティ
    • デバイスの多様性
    • コンテキスト・アウェアIoTサービス、環境考慮
    によるグリーンIoT
    • リアルタイムデータを扱えるモデリングフレー
    ムワーク
    • (プロダクトライン)
    通信技術 • 通信における低消費電力、高スケーラ
    ビリティ、低遅延、M2M・D2D通信
    • (QoS制御、センサ分散配置最適化、データ集
    約など)
    相互運用性
    • 動的、変化
    • 資源発見・選択、構成・接続の正しさ
    • 状態モニタリングとレジリエンス
    • 自己完結マイクロサービス化
    • 構成のハイレベルな記述と自動化、モデル駆
    動開発
    • 自動修正・再構成、セマンティックWeb
    • アーキテクチャ・デザインパターン

    View Slide

  12. IoTの課題とソフトウェアエンジニアリング(つづき)
    12
    Aleksandr A. Lepekhin, Alexandra Borremans, Igor V. Ilin, Sami Jantunen: A systematic mapping study on internet of things challenges. [email protected] 2019
    課題 主要な話題 ソフトウェアエンジニアリング上の取り組み
    セキュリティ
    • 多様なデバイス、環境、頻繁な変

    • 技術、組織、方法論上の課題
    • セキュアなプロセステーラリング
    • 認証・認可アーキテクチャ、モデルベース
    • ファームウェア修正・更新
    • (アクセス制御、暗号化、キー配布、ポリシー)
    データとプライバ

    • ビッグデータの3V(量、速度、種
    類)
    • ノイズやセンサエラーに起因する
    データの不確実性
    • データプライバシ、個人情報保護
    • セマンティックWeb技術を通じたIoTデータの意味
    的アノテーション
    • (データ・アクセス プライバシ技術全般)
    IoT開発上の考

    • 組織上の課題
    • バッテリー、消費電力
    • デバイスの多様性、組み合わせ
    • 継続的配備の必要性
    • 多様な利害関係者、サイロ
    • IoTビジネス・エコシステムの不十
    分な理解
    • エンタープライズアーキテクチャへの統合
    • バッテリー・消費電力の明示的扱い
    • ビジュアルプログラミング言語
    • ミドルウェア、(モデル駆動、プロダクトライン)
    • アジャイル開発
    • ユニバーサル・参加型デザイン
    • エコシステムにおける人間関係・トラスト

    View Slide

  13. モデル駆動IoT開発の例
    13
    P. Patel and D. Cassou, Enabling High-level Application Development for the Internet of Things, JSS 103, 2015.
    • 関心事の分離
    – ドメイン
    – 機能
    – 配備
    – プラットフォーム

    View Slide

  14. モデル駆動IoT開発の例(つづき)
    • モデル変換
    とコード生成
    – 関心事ごと
    のドメイン
    特化言語
    – マッピング
    とリンク
    14
    P. Patel and D. Cassou, Enabling High-level Application Development for the Internet of Things, JSS 103, 2015.

    View Slide

  15. IoTアーキテクチャ・デザインパターンの体系的調査
    • 抽象度の異なる様々なIoTアーキテクチャ・デザインパターンは、十分に分類
    および研究されていない
    • RQ1.学術的な文献では、IoTのアーキテクチャや設計パターンはどのように扱
    われているのか?
    – IoTアーキテクチャ・デザインパターンの関連論文32編
    • RQ2.既存のIoTアーキテクチャやデザインパターンは本当に全てIoTパターン
    なのか?
    – 抽出された143パターンのうち、57%が非IoTパターン
    • RQ3.IoTアーキテクチャ・デザインパターンは分類できるか?
    – 抽象化レベル、ドメイン、品質特性に沿って分類可
    • RQ4.IoTアーキテクチャ・デザインパターンはどのようなものがあるのか?
    – 多くのIoTパターンは、相互運用性、セキュリティ、保守性を扱う
    – 多くのIoTアーキテクチャパターンはドメイン固有
    15
    Hironori Washizaki, Shinpei Ogata, Atsuo Hazeyama, Takao Okubo, Eduardo B. Fernandez, Nobukazu Yoshioka, “Landscape of
    Architecture and Design Patterns for IoT Systems,” IEEE Internet of Things Journal, Vol. 7, No. 10, pp.10091 – 10101, 2020

    View Slide

  16. 例: IoTゲートウェイ・イベントサブスクリプション
    • IoTゲートウェイにサブスクリプションの仕組みを採用
    • センサによって得られたデータと要素間メッセージを非同
    期かつ相互に伝送可能
    16
    R. Tkaczyk, K. Wasielewska, M. Ganzha, M. Paprzycki, W. Pawlowski, P. Szmeja, and G. Fortino, “Cataloging design patterns for
    internet of things artifact integration,” in 2018 IEEE International Conference on Communications Workshops, ICC Workshops 2018
    IoT Gateway
    IoT Device
    / Application
    IoT Device
    / Application
    publish IoT Device
    / Application
    IoT Device
    / Application
    subscribe
    Virtual part
    Physical part

    View Slide

  17. アジャイル開発・DevOpsと動的品質
    • 対象: データ、ソフト、システム
    – クローズよりもオープンへ
    – 静的よりも動的へ
    • プロセス
    – アジャイル&DevOpsが標準
    – 計画よりも変化へ
    • 基準
    – 単純・確実から複雑・不確実へ
    – 100%よりも95%の正しさとリスクへ
    – 要求よりも価値へ
    17
    プロセス参考: 産業技術総合研究所サイバーフィジカルセキュリティ研究センター テクニカルレポート CPSEC-TR-
    2020001, 機械学習品質マネジメントガイドライン, https://www.cpsec.aist.go.jp/achievements/aiqm/
    構想・企画
    システム定義
    リスク分析
    要求定義
    データ準備
    プロト開発
    実験・評価
    利用終了
    性能監視
    運用
    統合検査
    データ準備
    修正
    データ収集
    本開発
    品質検査
    改修
    品質
    検査
    システ
    ム更新
    PoC
    アジャイル
    Dev
    Ops

    View Slide

  18. 目次
    • SWEBOK V4
    • IoTソフトウェアエンジニアリング
    • AI/MLソフトウェアエンジニアリング
    • サステナブル・ソフトウェアエンジニアリング
    • まとめ
    18

    View Slide

  19. AI/MLとソフトウェアエンジニアリング
    • ソフトウェアエンジニアリングにおける
    AIの応用(AI for SE)
    – 人間の開発者の行動を再現して高品質
    ・効率的開発
    – 曖昧な要求の解決から保守性の予測ま
    で全開発段階に
    – 特に、欠陥予測、テストケース生成、脆
    弱性分析、プロセス評価など
    – 課題: 不確実で確率的な挙動
    – 課題: 十分にラベル付けされ構造化さ
    れたデータセットの必要性
    • AIシステムのためのソフトウェアエンジ
    ニアリング(SE for AI)
    – 振る舞いが学習データに基づく点が従
    来とは異なる
    – データサイエンティストとソフトウェアエ
    ンジニアの学際的共同チーム
    – 大規模で変化するデータセットに焦点を
    当てたソフトウェア進化
    – 倫理・公平性 要求工学
    – 機械学習デザインパターンなど
    19
    SE AI
    AI for SE
    SE for AI
    Hironori Washizaki, et al., The Guide to the Software Engineering Body of Knowledge (SWEBOK Guide), V4, 2023

    View Slide

  20. AI for SEの傾向
    • 背景
    – 社会の基盤としてソフトウェアシステムが大規模化および複雑化,繋がり,極端に不確実
    – 探索的な開発や頻繁な変更,拡張,環境適応
    • 品質の作り込みや検証・評価・改善・管理の活動も自ずと探索的および適応的
    – 汎化性能を備えた機械学習による新たな対象や状況へのデータ駆動による適応
    – メタヒューリスティクスである遺伝的アルゴリズム(Genetic Algorithm; GA)による探索
    20
    鷲崎弘宜, 機械学習を中心としたAI活用によるソフトウェアの品質保証, システム/制御/情報, Vol. 66, No. 5, pp. 1-7, 2022.
    目的 要求 設計・実装 テスト・品質管理 保守
    予測 要求品質評

    多目的設計品
    質 予 測 、 改 訂
    予測
    テスト工数予測
    欠陥予測
    品質評価
    保守工数予測
    特定 要求分類
    要求検証
    アーキテクチャ
    自己適応
    再利用
    テスト優先順位
    欠陥限局
    脆弱性検出
    欠陥報告管理
    デザインパター
    ン検出
    追跡関係特定
    変換 要求要約 自動プログラミ
    ング
    テスト生成
    自動プログラム修

    リファクタリング
    深層学習
    CNN
    欠陥報告
    可視化
    .. using 19990914 build
    on win98 using ..
    .. this mean the problem
    was with their web ..
    修正時間・短
    修正時間・長

    View Slide

  21. SE for AIの傾向
    • 調査: Software Engineering for AI-Based Systems: A Survey (TOSEM’22)
    – 2010-2020に248編の論文、うち2/3以上は2018年以降
    – 対象: 一般、ならびに自動車が大部分
    – 品質特性: ディペンダビリティ、セーフティの扱いが多い
    – 領域: テスト、品質が多い。保守などは軽視。データ関連が頻出研究課題。
    21
    Silverio Martínez-Fernández, Justus Bogner, Xavier Franch, Marc Oriol, Julien Siebert, Adam Trendowicz, Anna Maria Vollmer, Stefan Wagner:
    Software Engineering for AI-Based Systems: A Survey. ACM Trans. Softw. Eng. Methodol. 31(2): 37e:1-37e:59 (2022)

    View Slide

  22. SE for AIの傾向: 領域別
    22
    Silverio Martínez-Fernández, Justus Bogner, Xavier Franch, Marc Oriol, Julien Siebert, Adam Trendowicz, Anna Maria Vollmer, Stefan Wagner:
    Software Engineering for AI-Based Systems: A Survey. ACM Trans. Softw. Eng. Methodol. 31(2): 37e:1-37e:59 (2022)
    領域 数 傾向
    要求 17 • AIに特化した新しい品質特性への注目
    • 確率的な結果や曖昧さを扱う仕様や表記法(例:部分仕様)
    • AIのための要求工学プロセスの取り組みは限定的
    設計 34 • 安全性や信頼性などに対応する設計戦略
    • マイクロサービスとしてのモデル共有など、具体的なAI基盤
    • システムレベルではパターン、設計標準、リファレンスアーキテクチャの提案は少ない
    構築 23 • 構築上の課題とガイドライン
    • ツールやプラットフォームの提案あり、成熟度や、選択の根拠、採用など不十分
    テスト 115 • テストケース(55件)、うちテストケース生成(40)とテストケース選択(12)
    • テスト手法: メタモルフィックテストが最多(16件)、ファジング(6)、ミューテーションテスト(5)
    • テストメトリクスに関する論文では新規カバレッジ基準提案が多い(14)
    保守 6 • ほとんどない
    • AIシステムのバグやデバッグ関連。

    View Slide

  23. SE for AIの傾向: 領域別(つづき)
    23
    Silverio Martínez-Fernández, Justus Bogner, Xavier Franch, Marc Oriol, Julien Siebert, Adam Trendowicz, Anna Maria Vollmer, Stefan Wagner:
    Software Engineering for AI-Based Systems: A Survey. ACM Trans. Softw. Eng. Methodol. 31(2): 37e:1-37e:59 (2022)
    領域 数 傾向
    プロセ

    31 • ソフトウェアエンジニアやデータサイエンティストを含む学際的なチーム形成
    • 多くのプロセスは大企業によるAIシステムの初期の経験に基づくアドホックな構築
    • モデルレベルでのAIパイプラインに焦点を当てた研究あり(6件)
    • プロセス関連のサポートとしてツール(6)やフレームワーク(3)
    モデ
    ル・手

    38 • AIコンポーネントを用いたCPSの検証と妥当性確認(18件)
    • セーフティ、自動運転領域の取り組みが多い
    品質 59 • ISO 25000やISO 26262などの国際規格の更新必要性の提起
    • 多くはMLの品質特性、フレームワーク、品質保証、認証に焦点
    その

    4 • マネジメント、経済、構成管理、プロフェッショナルプラクティス

    View Slide

  24. 機械学習システムの設計例
    • スマホで拾った音について楽器の種類を特定し、種類
    に応じた記録や対応を実現したい。
    • しかし、スマホのメモリや性能は限られており、大きな深
    層学習モデルは載りそうにない。どうすればよいか?
    24
    転移学習
    したモデル
    転移学習
    したモデル
    小さな
    判別モ
    デル
    小さな
    判別モ
    デル
    何もしない
    特定
    結果
    パターン 問題 解決
    2段階予測
    Two-Phase
    Predictions
    もともと大規模で複雑なモデルの性能
    を、エッジデバイスや分散デバイスに
    デプロイした場合も維持する必要性
    利用の流れを2つの段階に分けて、シンプ
    ルな段階のみをエッジ上で実行
    転移学習
    Transfer
    Learning
    複雑な機械学習モデルを訓練する
    ために必要となる大規模データセッ
    トの不足
    訓練済みモデルの一部の層を取り出し
    て重みを凍結し、訓練対象とせずに類
    似問題の解決のため新モデルで利用
    • スマホ上の小さなモデルでは音が楽器かどうか判定し、楽
    器の場合にのみクラウド上の大きなモデルで種類を特定す
    る 2段階予測 としよう。
    • 特定にあたり、様々な音データによる既存の訓練済みモデ
    ルを用いて転移学習 したモデルを用いよう。
    Valliappa Lakshmanan, Sara Robinson, Michael Munn著, 鷲崎弘宜, 竹内広宜, 名取直毅, 吉岡信和 訳, “機械学習デザインパターン – データ準備、モデル構築、MLOps
    の実践上の問題と解決”(原著 “Machine Learning Design Patterns”), オライリージャパン, 2021. https://www.amazon.co.jp/dp/4873119561

    View Slide

  25. 機械学習デザインパターン MLDP, SEP4MLA
    • 機械学習デザインパターン Machine Learning
    Design Patterns (Valliappa Lakshmanan, Sara
    Robinson, Michael Munn (Google)) [MLDP]
    – Googleプラットフォーム上でのMLの使いこなしや設計
    • 機械学習アプリケーションのためのソフトウェア
    エンジニアリングパターン Software Engineering
    Patterns for ML Applications [SEP4MLA]
    – 系統的文献調査に基づきアーキテクチャや運用パタ
    ーン中心+信頼性・説明性関係、eAI (Engineerable) と
    しての後者の拡充方向性
    25
    [MLDP] Valliappa Lakshmanan, Sara Robinson, Michael Munn著, 鷲崎弘宜, 竹内広宜, 名取直毅, 吉岡信和 訳, “機械学習デザインパターン – データ準備、モデル構築、
    MLOpsの実践上の問題と解決”(原著 “Machine Learning Design Patterns”), オライリージャパン, 2021. https://www.amazon.co.jp/dp/4873119561
    [SEP4MLA] Hironori Washizaki, Foutse Khomh, Yann-Gael Gueheneuc, Hironori Takeuchi, Naotake Natori, Takuo Doi, Satoshi Okuda, “Software Engineering
    Design Patterns for Machine Learning Applications,” IEEE Computer, Vol. 55, No. 3, pp. 1-9, 2022

    View Slide

  26. メタモルフィックテスト
    • メタモルフィック関係に基づき大量に試験
    • 入力への変化により、出力の変化を予想できる関係
    – 例: A の検索結果数 ≧ A かつ B の検索結果数
    – 例: sin(x) = sin(x + 360度)
    26
    入力の変化 出力の変化
    並び変え
    無し
    ノイズの追加
    意味的に同じもの
    統計的に同じもの
    経験的に近いもの 僅か
    定数の加算、乗算 定数の加算、乗算
    狭める 部分集合
    全く異なるもの 互いに素
    参考: S. Segura et al., "Metamorphic Testing of RESTful Web APIs," IEEE Transactions on Software Engineering, 2017
    参考: C. Murphy, “Applications of Metamorphic Testing”, http://www.cis.upenn.edu/~cdmurphy/pubs/MetamorphicTesting-Columbia-17Nov2011.ppt
    26
    自動運転車の場合 [Tian’18]
    Y Tian, et al., DeepTest: Automated Testing of Deep-Neural-
    Network-driven Autonomous Cars, ICSE 2018
    https://arxiv.org/pdf/1708.08559.pdf

    View Slide

  27. 検証データによ
    る平均値
    誤認識データ
    による平均値
    最優先で修正す
    べきニューロン
    ニューラルネットワークデバッグ(修正)
    • 再訓練, オンライン学習, データ拡充: 生成 [a]、選択 [b]、拡張 [c]など
    • 特定サンプルに応じたパラメータ直接変更 [d][e]
    27
    [a] Generative adversarial nets, NIPS 2014
    [b] MODE: automated neural network model debugging via state differential analysis and input selection, ESEC/FSE 2018
    [c] Autoaugment: Learning augmentation policies from data, arXiv:1805.09501, 2019,
    [d] 松井 健, 鵜林 尚靖, 佐藤 亮介, 亀井 靖高, 敵対的サンプルに対するニューラルネットワークモデルの学習無し修正とその評価, JSSST大会 2019,
    [e] Search Based Repair of Deep Neural Networks, arXiv:1912.12463, 2019

    View Slide

  28. メタモデル
    28
    従来の
    開発
    フレームワークに基づく
    開発
    要求
    ・制

    1. Prioritization for 60KM signs accuracy using
    DNN Repair tools should also be conducted for
    the blinking scenarios while protecting higher
    lower speed sign accuracy. (誤り)
    2. Data augmentation should be employed to
    emulate blurry 60 KM sign data. (過剰)
    データ・
    コード・
    結果
    デー

    デー

    追跡性を欠き、
    一貫したままで
    の改訂が難し

    システム及び
    MLコンポーネ
    ントの安全性解
    析対策困難
    ソリューションの
    選択や適用に
    根拠を欠く
    安全性を含む
    様々な側面間
    の整合性を維
    持したままでの
    開発保守困難
    システ
    ムアー
    キテク
    チャ
    MLモデ

    価値・要求・制

    アーキテクチャ
    [AI.VP1] Improved
    safety of driving:

    Reduce accident
    from
    human
    error

    Improve welfare
    of drivers
    [AI.RP]
    M
    itigate/avoid risk
    in self-driving such
    as crash with other
    vehicles and
    objects.
    [AI.D] Camera
    data in
    highway
    including:
    •[AI.D1] Lane
    mark data
    •[AI.D2] Other
    vehicle data
    •[AI.D3] Traffic
    sign data
    •[AI.Sk1]
    Computer vision
    •[AI.Sk2] Traffic
    safety
    •[AI.O1]
    Number of
    incidents
    caused by
    system
    failure.
    •[AI.I1]Car sensor
    system
    •[AI.I2] Car control
    system
    •[AI.St1] Traffic
    authorities
    •[AI.St2] Car maker
    •[AI.St3] Highway
    users
    •[AI.Cu1] Self-
    driving car driver
    •[AI.Cu2] Self-
    driving car
    passengers
    •[AI.Co1] Data labeling fee
    •[AI.Co2] Development and testing
    cost
    •[AI.R1] SaaS
    [ML.VP1 🡨
    AI.VP1]
    Provide reliable
    real-time object
    detection system
    for driving
    decision making in
    highway (incl.
    traffic sign
    detection and
    lane/vehicle
    detection)
    • [ML.DS1] Procured
    datasets
    • [ML.DS2] Internal
    database from
    collection during
    operation
    • [ML.DC1] Open and
    commercial datasets
    • [ML.DC2] Data
    collected during
    operation (image and
    identification result)
    • [ML.F1 🡨
    AI.D1/AI.D3]
    Bounding box
    for object (incl.
    other vehicles
    or signs)
    • [ML.F2 🡨
    AI.D2] Ridge
    detection for
    lane detection
    [ML.BM1]
    Models will be
    developed,
    tested, and
    deployed to cars
    monthly
    • [ML.PT1] Input:
    image from sensors
    • [ML.PT2 ← AI.D]
    Output: traffic signs,
    lane marking,
    vehicles, and
    pedestrians.
    [ML.De1] Use
    prediction results
    for decision-
    making in self-
    driving system
    [ML.IS1]
    Using test data,
    achieve very high
    recall and high
    precision in
    following condition:
    night, rainy, and
    general condition
    Datasets is split into
    80:20 ratio
    [ML.MP1]
    Prediction should
    be made in
    batches real
    time.
    [ML.M1] Input data monitoring
    [CMP3] Main Control Unit
    [CMP1]
    Camera
    System
    [CMP2] Human-Machine Interface
    [CMP2.1] System
    Control
    [CMP2.1] Driver
    Warning Indicator
    [CMP1.1] Front
    Camera
    [CMP1.2] Right
    Camera
    [CMP1.2] Left
    Camera
    [CMP3.1] Image
    Pre-processing
    [CMP3.2] Sign
    Detection Model
    [G10]
    [CMP3.3] Sign
    Post-processing
    [CMP3.4]
    Prediction
    Container
    [CMP3.5]
    Scenario
    Manager
    [CMP3.6]
    Trajectory
    Prediction
    [CMP4] Vehicle System
    [CMP4.1] Powertrain
    System
    [CMP4.2] Braking
    System
    [CMP4.3] Steering
    System
    [CMP3.X] Vehicle
    Detection Model
    [G.6]
    [CMP3.X] Lane
    Detection Model
    [G.8]
    [CMP3.X]
    Controller
    [G.7]
    [CMP3.X] Lane
    Post-processing
    [CMP3.X] Vehicle
    Post-processing
    Signs in front of ego-car
    should be identified with
    99 % accurate
    G10. Detect necessary
    traffic signs on highway
    G12. Detect near
    speed limit signs
    within 0.5KM in
    front of ego-car
    G13. Detect near
    no-entry signs
    within 0.5KM in
    front of ego-car
    G14. Detect 60
    KM limit signs G15. Detect 80
    KM limit signs
    G17. 60 KM
    sign model
    accuracy >=
    99% [ML.IS1]
    G18. 60 KM
    sign model
    robustness (to
    be defined
    later) [ML.IS1]
    G16. Detect 100
    KM stop signs
    G19. 80 KM
    sign model
    accuracy >=
    99% [ML.IS1]
    G20. 80 KM
    sign model
    robustness
    [ML.IS1]
    G21. 100 KM
    sign model
    accuracy
    [ML.IS1]
    G22. 100 KM
    sign model
    robustness
    [ML.IS1]
    …..
    G11. Detect speed
    limit and no-entry
    signs based on
    given situation XX
    GYY. Detect …
    signs based on
    given situation YY
    Ego-car speed is
    80KM
    Accuracy of important
    object
    GZZ. Detect far-off
    speed limit signs
    within 2.0KM in
    front of ego-car
    [Cmp3] メインコン
    トロールユニット
    [Cmp3.2] 標識検知シス
    テム
    [Cmp1] カメラシステム
    認識結果
    認識画像
    画像リクエスト
    検出開始
    環境条件
    ゴー
    ルモ
    デル

    パターン

    AIキャ
    ンバス
    D. ソリューションガ
    イド: eAI技術群の
    使いこなし
    C. 安全性解析・リ
    スク評価: 安全・信
    頼を主軸に
    A. 安全性を組み
    入れた多面的分
    析・設計プロセス:
    現場一気通貫採
    用可、変更への
    適応・改訂容易
    多側面モデ
    リングツー

    B. 多面的・統合
    モデリングツー
    ル: 複雑なAI要求
    の顕在・整合化
    JST未来社会eAIプロジェクト:
    高品質AIを実現するフレームワークに向けて
    Jati Husen, Hironori Washizaki, Nobukazu Yoshioka, Hnin Tun, Yoshiaki Fukazawa and Hironori Takeuchi, “Metamodel-Based Multi-View Modeling
    Framework for Machine Learning Systems,” 11th International Conference on Model-Based Software and Systems Engineering (MODELSWARD 2023)

    View Slide

  29. 目次
    • SWEBOK V4
    • IoTソフトウェアエンジニアリング
    • AI/MLソフトウェアエンジニアリング
    • サステナブル・ソフトウェアエンジニアリング
    • まとめ
    29

    View Slide

  30. グリーン&サステナブル・ソフトウェアエンジニアリングとは
    Green and Sustainable Software Engineering
    • サステナビリティ: 資源を枯渇させることなく、将来の
    世代のことを考えながら発展していくこと [国連]
    – 環境: 水、土地、空気、鉱物、生態系などの天然資源保
    護と社会保全
    – 社会: 社会的組織の連帯、サービス、連帯におけるコミュ
    ニティ(例えば社会や人々の持続性への振る舞いや態
    度への影響)
    – 経済: 資産や付加価値の維持(例えばグリーンソフトウェ
    アの費用対効果)
    • サステナブルSEにおける追加側面 [a]
    – 個人: 個人の資本の維持(健康、スキル、サービスへの
    アクセスなど)
    – 技術: ソフトウェアシステムの寿命や変化する状況やニ
    ーズに応じた進化(例えば低消費電力化)
    30
    [a] Towards a common understanding of sustainable software development, SBE, 2022
    [b] Delft University of Technology, Sustainable Software Engineering, https://luiscruz.github.io/course_sustainableSE/2022/

    View Slide

  31. グリーン&サステナブル・ソフトウェアエンジニアリングとは(つづき)
    Green and Sustainable Software Engineering
    • ソフトウェアの開発、展開、使用に起因する経済、社会、人類、環境
    への直接的および間接的な影響、持続的な開発への影響 [a]
    • ソフトウェアプロジェクトを設計、構築、リリースする際の長期的な影
    響(特に環境、社会、個人、経済、技術に関わる持続可能性)に対
    処する包括的な学問分野 [b]
    • 環境負荷を低減しながらユーザのニーズを満たす、信頼性と耐久
    性のあるソフトウェアの開発 [c]
    – ソフトウェアエンジニアリングの持続可能性への結びつけ
    – 持続可能なソフトウェアの開発・保守方法は、環境に優しいソフトウェアプロ
    ダクトにつながる可能性あり
    31
    [a] Birgit Penzenstadler, “Towards a Definition of Sustainability in and for Software Engineering,” SAC’13 March 18-22, 2013
    [b] Delft University of Technology, Sustainable Software Engineering, https://luiscruz.github.io/course_sustainableSE/2022/
    [c] Green and Sustainable Software Engineering - a Systematic Mapping Study, SBQS, 2018

    View Slide

  32. グリーン・サステナブルSEの傾向
    • 調査: Green and Sustainable Software Engineering - a Systematic Mapping Study (SBQS’18)
    – 2017年までに75件の論文、SE研究者の関心は高まりつつある
    – 構築、テスト、保守に関する多くの取り組み
    – 研究と実践の整合性を高める必要性について共通合意
    32
    Green and Sustainable Software Engineering - a Systematic Mapping Study, SBQS, 2018
    グリーンプラクティス
    の認識
    サステナビリティ要求
    消費電力のテスト
    消費電力の設計
    消費電力の保守
    消費電力へのグリーン
    プラクティスの影響
    消費電力モニタリング
    ・最適化
    意識したコーディング
    持続的プロセスモデル

    View Slide

  33. 消費電力に関係する設計や保守の例
    33
    ソフトウェアの省エネ化
    • 低消費電力化の仕組みのアスペクト指向による横断的自動合成
    • 環境リスク緩和性を含むソフトウェア品質の測定評価と改善
    ソフトウェア開発の省エネ化
    • 部品化・再利用・自動生成による開
    発作業の効率化と利用電力削減
    プログラム
    モジュール
    低消費電力化アスペクト
    自動合成
    void around():call(void
    LDC_linetrace(void)){
    float turn=p_gain*(…);

    0
    2
    4
    6
    8
    10
    -1600
    -1400
    -1200
    -1000
    -800
    -600
    -400
    -200
    0
    状態
    電圧[mV]
    時間[mS]
    通常運用時の電圧変化
    0
    2
    4
    6
    8
    10
    -1600
    -1400
    -1200
    -1000
    -800
    -600
    -400
    -200
    0
    状態
    電圧[mV]
    時間[mS]
    低消費電力化後
    状態
    バッテリ
    電圧値
    自動合成を通じ
    た消費電力抑制
    設計
    資産
    パターン 部品
    再利用
    新規
    開発
    過去の
    開発
    プログラム
    要求
    組立て
    アスペクト
    基盤
    拡張
    合成
    新規開発の大部分を再利
    用で実現し開発効率化
    “アスペクト指向プログラミングによる高性能・低消費電力化” SIGSS 2014 “A Technique for Automatic Component Extraction,” Science of
    Computer Programming, 56(1-2), 2005
    抽出
    抽象化

    View Slide

  34. サステナブルSEの教育の兆し
    • Software Development Sustainability (Kharkiv Aviation
    Institute, Software Engineering Master Program)
    – ソフトウェアプロダクトと開発プロセスの両面におけるサステナ
    ビリティの扱い
    – 特に、サステナブルな開発(経済面、社会面、環境面、技術面)
    、グリーンITシステム・ソフトウェア、および、エコシステム [a]
    • Software Engineering and Green IT (Vrije Universiteit
    Amsterdam, Master program)
    – 大規模・複雑なソフトウェアシステムの進化の管理、品質や環
    境上の影響の評価、価値やサステナビリティにおける潜在性の
    定量化、ローカルあるいは分散環境下における開発の組織化
    – サステナビリティに向けたソフトウェアの役割(エネルギー効率
    面、社会-技術面、環境面、経済面)の扱い。 [b]
    34
    [a] Ihor Turkin and Yuliya Vykhodets, “Software Engineering Master’s Program and Green IT: the Design of the Software Engineering Sustainability Course,” 9th IEEE International
    Conference on Dependable Systems, Services and Technologies (DESSERT’2018)
    [b] https://studiegids.vu.nl/en/Master/2020-2021/computer-science-joint-degree

    View Slide

  35. サステナブルSEの識別と展望
    • 調査: Towards a common understanding of sustainable software
    development (SBES’22)
    – 文献調査、産業界サーベイ結果の質的分析、Ground Theory適用
    • 提言
    – サステナビリティの技術、環境、社会上の関心はソフトウェア開発ライフサイク
    ルのあらゆる段階に存在する。
    – ソフトウェアエンジニアは、開発の初期フェーズでサステナビリティ要求を考慮
    すべきである
    – サステナビリティに焦点を当てた利害関係者エンゲージメントが必要である
    – ソフトウェア品質要求を通じてサステナブルなソフトウェア開発をサポートできる
    – サステナビリティの関心は、プロジェクトにおいてトレードオフを発生させる可能
    性がある
    35
    Towards a common understanding of sustainable software development, SBE, 2022

    View Slide

  36. 目次
    • SWEBOK V4
    • IoTソフトウェアエンジニアリング
    • AI/MLソフトウェアエンジニアリング
    • サステナブル・ソフトウェアエンジニアリング
    • まとめ
    36

    View Slide

  37. まとめ
    • SWEBOK Guide V4
    – 新知識領域: アーキテクチャ、運用、セキュリティ
    – 現代的な取り組みと技術領域拡充: アジャイル、IoT、AI/ML
    • IoTソフトウェアエンジニアリング
    – 課題と取組み: 応用機会、通信、相互運用性、セキュリティ、データとプライバシ
    、IoT開発考慮
    – グリーンIoTへの発展
    – IoTビジネスや人々、エコシステムの扱いの拡充が必要
    • AI/MLソフトウェアエンジニアリング
    – AI for SE:欠陥予測、テストケース生成、脆弱性分析、プロセス評価など
    – SE for AI: テスト、品質が多い。保守などは軽視。データ関連が頻出研究課題。
    手薄な領域の取り組みや、融合的・全体的な取り組み強化へ。
    • サステナブル・ソフトウェアエンジニアリング
    – 関心は高まりつつある。構築、テスト、保守に関する多くの取り組み。
    – 研究と実践の整合性を高める必要性
    – サステナブルSE教育の兆し 37

    View Slide

  38. 再掲: DXを支える広義のIoTとAI/ML
    38
    広義のIoT
    サービス
    サービス化
    データ駆動
    データ循環
    ビッグ
    データ
    フィード
    バック
    データ収集
    AI
    データ必須
    活用環境
    IoTシステム活用
    IoT
    基盤技術
    組織

    社会
    ビジネスや価値
    イノベーション
    プロセス
    鷲崎弘宜, 内平直志, “IoT時代のイノベーションマネジメント教育”, 研究・イノベーション学会誌, 特集テーマ「IoT時代のイノベーションマネジメント」, Vol. 33, No. 4, pp.1-7, 2018.
    IoTソフトウェア
    エンジニアリング

    View Slide

  39. 39
    IoTソフトウェア
    エンジニアリン

    IoTデータに対するAI/ML
    適用のソフトウェアシステ
    ムのエンジニアリング
    IoTに基づき持続的な環境・
    社会に資するソフトウェアシ
    ステムのエンジニアリング
    (およびその持続性)
    AI/MLに基づき持続的な環境・社会
    に資するソフトウェアシステムのエ
    ンジニアリング(およびその持続性)

    View Slide

  40. スマートエスイー: IoT/AI/DXリカレント教育
    https://www.waseda.jp/inst/smartse/
    40

    View Slide

  41. IoT/AIコース全体: 領域横断の技術体系と教育
    2023年度受講生募集中(2/26まで、4-9月開講)
    © 2021Waseda University enPiT-Pro SmartSE
    41
    ビジネス
    アプリ
    ケーション
    情報処理
    通信・物理
    必要な視点
    領域を超えた循環と
    総合的アプローチ
    ビジネス・価値
    との繋がり
    目標や状況に対応可能な
    体系と学びやすさ
    スマートエスイー
    による解決
    フルスタック体系
    共通例題&IoT/クラウド
    ビジネス・デザイン思考
    PBL&修了制作
    柔軟な組み合わせ&
    オンライン配信
    スマート
    IoT
    システム・
    ビジネス
    入門
    修了制作
    企業におけ
    る実課題の
    分析・解決
    グローバル
    開発実習
    スマート
    IoT
    システム
    開発実習
    IoT
    イノベーション
    IoTとシステムズ
    アプローチ
    IoT版ビジネス
    モデル・仮説検証
    プログラム
    品質エ














    組込み・



















    分散シ
















    法令
    機械学習 深層学習
    ビッグデータ
    マネジメント・
    アナリティクス
    推論・
    知識処理・
    自然言語処理
    無線通信・
    IoT通信・
    センサネットワーク
    クラウド基盤
    構築演習
    センサ
    組込み・IoTプロ
    フェッショナル
    システムオブ
    システムズ・
    品質アーキ
    テクト
    クラウド・ビジネス
    イノベーター

    View Slide