SlideShare a Scribd company logo
1 of 16
Download to read offline
新しいソフトウェアエンジニアリングの
ためのパターンランゲージに向けて
鷲崎 弘宜
早稲田大学 / 国立情報学研究所 /
株式会社システム情報 / 株式会社エクスモーション
Agile Tour Osaka × miniPLoP 2020 基調講演 2020年12月12日
What is software engineering?
• “Application of systematic, disciplined, quantifiable approach to
development, operation, and maintenance of software” –
SWEBOK 2014
• Guide to the Software Engineering Body of Knowledge (SWEBOK)
2
• Software Requirements
• Software Design
• Software Construction
• Software Testing
• Software Maintenance
• Software Configuration
Management
• Software Engineering
Management
• Software Engineering
Process
• Software Engineering Tools
and Methods
• Software Quality
• Software Engineering
Professional Practice
• Software Engineering
Economics
• Computing Foundations
• Mathematical Foundations
• Engineering Foundations
Vision of SWEBOK 2021 (subject to change)
(Evolution lead: Hironori Washizaki, since 2018-)
https://www.computer.org/volunteering/boards-and-committees/professional-educational-activities/software-engineering-committee/swebok-evolution
• Expansion of SE
– AI/Machine Learning
Engineering
– Restructuring foundation
areas incl. Internet of
Things (IoT)
• Value in SE
– Value proposition
• Dependable SE
– Architecture
– Security
• Modern SE
– Agile
– DevOps 3
Software
Engineering
Value
proposition
AI/ML
Engineering
Foundation
incl. IoT
Architecture Security
Agile & DevOps
Expansion
Value
Dependable
Modern
Paradigm shifts in
“new” software engineering
4
Current New
Scope and
perspective
Software systems Software systems, business,
society and related disciplines
Process Planned, static,
common, and closed
Adaptive, dynamic, diverse,
and open
Focus Specification Value, data, and speed
Thinking Cognitive (logical) or
affective (design)
Cognitive (logical), affective
(design), and conative
(conceptual)
Inference Deduction and
analogy
Deduction, analogy, induction,
and abduction
Hironori Washizaki, Junzo Hagimoto, Kazuo Hamai, Mitsunori Seki, Takeshi Inoue, Shinya Taniguchi, Hiroshi Kobayashi,
Kenji Hiranabe and Eiichi Hanyuda, “Framework and Value-Driven Process of Software Engineering for Business and
Society (SE4BS),” 5th International Conference on Enterprise Architecture and Information Systems (EAIS 2020)
Example: Deduction and induction
5
Goal Data
Model Behavior
Goal Model Behavior Data
Conventional software: Deduction
ML-based software: Induction
H. Maruyama, “Machine Learning Engineering and Reuse of AI Work Products,” The First International Workshop on Sharing
and Reuse of AI Work Products, 2017
Hironori Washizaki, “Towards Software Value Co-Creation with AI”, The 44th IEEE Computer Society Signature Conference
on Computers, Software, and Applications (COMPSAC 2020), Fast Abstract
パターン(言語)が必要!
• 抽象的なパラダイムと具体的な事例
、指示、ツールの橋渡し
– Know-Why(文脈)、What(問題)、How(
解決策)を言語化し、文書化する。
– 解決策や問題点の再利用
– 一貫性のあるアーキテクチャの取得
6
パラダイム
事例
ツール
フレーム
ワーク
作業指示
?
?
• ステークホルダー間の共通言語
– ソフトウェアエンジニア、ハードウェアエ
ンジニア、ネットワークエンジニア、ドメ
インエキスパート、データアナリスト・・・
質問 http://sli.do/ #58755
アンケートhttp://u0u1.net/Urae
7
https://en.wikipedia.org/wiki/Coffeehouse#/media/File:Caf%C3%A9_de_Flore.jpg
https://ja.wikipedia.org/wiki/%E3%82%AB%E3%83%95%E3%82%A7#/media/%E3%83%95%E3%82
%A1%E3%82%A4%E3%83%AB:Former_Foreign_Settlement_of_Kobe_Hyogo_Japan_A55_03s3.jpg
名前: 路上カフェ
解決: 各近隣にカフェが開かれるよう促すこと。カフェにはいくつかの部屋を設け、
にぎやかな歩行路に向けて解放し、座ってコーヒーなどの飲み物を取りながら、
移りゆく世界を眺められるような親しみのある場所に仕立てること。カフェの前面
は、室内からテーブル・セットが街路にそのまま張り出すような作りとすること。
問題: 忙しい都会において、衆目の中で合法
的に腰を下ろし、移りゆく世界をノンビリと眺め
られる場所がほしい。
[Alexander77] C. Alexander他著, 平田翰那訳, “パタン・ランゲージ”, 鹿島出版, 1977
質問 http://sli.do/ #58755
アンケートhttp://u0u1.net/Urae
8
建築におけるパターンランゲージ
◼ 粒度をまたいだ繋がり
◼ 街の中心部には 活動の拠点 として 小さな広
場 を設けよう。その広場には、訪問者や近隣
の人々が気軽に集い落ち着けるように、いくつ
かの 路上のカフェ が集まってひらかれるよう
に奨励しよう。それぞれのカフェは、オープン
エアで楽しめるように 街路への開口 を持たせ
られるとよい ・・・
◼ 同一粒度における繋がり
◼ 快適に暮らせるためには 屋内の陽光 は不可
欠なので、 南向きの屋外 に庭をおきたいな。
さらに、部屋の陽光をたくさんとって快適にす
るために どの部屋も二面採光 にしたい。そう
そう、お客さんにも来てほしいから、 街路への
開口 をもうけて、玄関から寝室までうまく 親
密度の変化 をもたせたいね ・・・
玄関
居間
寝室
庭
建物 口
街
路
街路
広場
カフェ
質問 http://sli.do/ #58755
アンケートhttp://u0u1.net/Urae
9
パターンランゲージとソフトウェア
◼ ソフトウェアコミュニティが学んだこと
◼ 文脈(Know-Why)、問題(What)、解決(How)の言語化・文書化形式
◼ 抽象的なビジョンと、具体的なライブラリ・指示の間の抽象度
◼ 対話の手段、問題・解決の再利用、非機能要求満足とアーキテクチャ一貫
◼ 特にソフトウェア設計、開発プロセス・組織構造
◼ ソフトウェアコミュニティが(あまり)学ばなかったこと [羽生田]
◼ 利害関係者間の合意形成のための共通言語
◼ 利用者参加型の仕組み、生成的
成功事例
文脈: こういうときに
問題: こうしたかったら・こう困っていたら
フォース: こういうことを考慮して
解決: こうしなさい
結果: こうなるでしょう
新たな状況
解決 解決
抽象化 具象化
類似
抽象化
羽生田栄一 監修, パターンワーキンググループ著, "ソフトウェアパターン入門~基礎から応用へ~", ソフトリサーチセンター, 2005.
Problem and goal
• ML and IoT are key enablers of digital transformations.
• Patterns in ML and IoT software design are not well
classified and studied.
• Thus, we conducted a systematic literature review to
reveal landscapes of ML and IoT software design patterns.
10
Machine Learning
Software
engineering
IoT
エグゼクティブサマリ
• 抽象度の異なる様々なIoTアーキテクチャ・デザインパターン
は、十分に分類および研究されていない
• RQ1.学術的な文献では、IoTのアーキテクチャや設計パター
ンはどのように扱われているのか?
– IoTアーキテクチャ・デザインパターンの関連論文32編
• RQ2.既存のIoTアーキテクチャやデザインパターンは本当に
全てIoTパターンなのか?
– 抽出された143パターンのうち、57%が非IoTパターン
• RQ3.IoTアーキテクチャ・デザインパターンは分類できるか?
– 抽象化レベル、ドメイン、品質特性に沿って分類可
• RQ4.IoTアーキテクチャ・デザインパターンはどのようなもの
があるのか?
– 多くのIoTパターンは、相互運用性、セキュリティ、保守性を扱う
– 多くのIoTアーキテクチャパターンはドメイン固有 11
例: IoTアプリケーション多層アーキテクチャ
• 多層アプリケーション向けに軽量な仮想化によるリソース仮想化を提供
12
IoT GatewayIoT Device
/ Application
IoT Device
/ Application
publish IoT Device
/ Application
IoT Device
/ Application
subscribe
Virtual part
Physical part
例: IoTゲートウェイ・イベントサブスクリプション
• IoTゲートウェイにサブスクリプションの仕組みを採用
• センサによって得られたデータと要素間メッセージを非同期かつ相互伝送
機械学習アーキテクチャ・デザインパターンの
全体像に向けて
• RQ1. ML開発者はMLシステム(MLS)の設計をどのように捉えて扱
っているのか?
– 方法: アンケート調査
– 結果: MLアーキテクチャ・デザインパターンについてほとんど知られ
ていない。
• RQ2. 学術論文や灰色文献はMLSの設計をどのように扱っている
のか?
– 方法: 体系的文献調査
– 結果: 学術論文19編、灰色文献19編
• RQ3. MLアーキテクチャ・デザインパターンはどのように分類できる
か?
– 方法: 様々な代表的プロセスの検討
– 結果: MLパイプラインプロセスおよびISO/IEC 12207ソフトウェアライフ
サイクルプロセスによる分類
• RQ4. MLアーキテクチャ・デザインパターンにはどのようなものがあ
るか?
– 方法: 文献からのパターン抽出およびプロセス上での分類
– 結果: 33パターン候補 → 最終的に15パターン抽出
13
Classification of ML design patterns
14
Training data
Trained model
Prediction
(inference)
Infrastructure
Input data
Topology
Different Workloads in
Different Computing
Environments
Distinguish Business Logic
from ML Models
ML Gateway Routing
Architecture
Microservice Architecture for ML
Lambda Architecture
Kappa Architecture
Programming
Data Lake for ML
Separation of
Concerns and
Modularization of
ML Components
Encapsulate ML
models within
Rule-base
Safeguards
Discard PoC Code
Model operations
Parameter-Server Abstraction
Data flows up, Model flow
down
Secure Aggregation
Deployable Canary Model
ML Versioning
Hironori Washizaki, Hironori Takeuchi, Foutse Khomh, Naotake Natori, Takuo Doi, Satoshi Okuda, “Practitioners’ insights on
machine-learning software engineering design patterns: a preliminary study,” 36th IEEE International Conference on
Software Maintenance and Evolution (ICSME 2020), Late Breaking Ideas track
E.g., Distinguish Business Logic from ML Models
• Separate the business logic and the inference engine, loosely
coupling the business logic and ML-specific dataflows.
15
Data LayerLogic LayerPresentation Layer
User
Interface
Database
Data
Collection
Data Lake
Business
Logic
Data
Processing
Inference
Engine
RealWorld
Business
LogicSpecific
MLSpecific
Architectural Layers
Deployed as ML System
Business Logic Data Flow
ML Runtime Data Flow
ML Development Data Flow
Legend
Haruki Yokoyama, Machine Learning System Architectural Pattern for Improving Operational Stability, ICSA-C, 2019
Hironori Washizaki, Foutse Khomh, Yann-Gael Gueheneuc, “Software Engineering Patterns for Machine Learning
Applications (SEP4MLA),” 9th Asian Conference on Pattern Languages of Programs (AsianPLoP 2020)
Summary and future
• Summary
– Paradigm shifts in new software engineering,
especially ML and IoT engineering
– Patterns as bridge and common language for new
software engineering
– Classification of ML and IoT design patterns
• Future
– Classify and relate patterns across over different
disciplines such as ML and IoT
– Build pattern languages
– Open expanded community
16

More Related Content

What's hot

スマートエスイーセミナー:機外学習応用システムパターンの例
スマートエスイーセミナー:機外学習応用システムパターンの例スマートエスイーセミナー:機外学習応用システムパターンの例
スマートエスイーセミナー:機外学習応用システムパターンの例HironoriTAKEUCHI1
 
ソフトウェアエンジニアリング知識体系SWEBOK最新動向
ソフトウェアエンジニアリング知識体系SWEBOK最新動向ソフトウェアエンジニアリング知識体系SWEBOK最新動向
ソフトウェアエンジニアリング知識体系SWEBOK最新動向Hironori Washizaki
 
機械学習システムの33のアーキテクチャパターンおよびデザインパターン
機械学習システムの33のアーキテクチャパターンおよびデザインパターン機械学習システムの33のアーキテクチャパターンおよびデザインパターン
機械学習システムの33のアーキテクチャパターンおよびデザインパターンHironori Washizaki
 
機械学習エンジニアリング・品質保証 (ESS2018招待講演 鷲崎弘宜)
機械学習エンジニアリング・品質保証 (ESS2018招待講演 鷲崎弘宜)機械学習エンジニアリング・品質保証 (ESS2018招待講演 鷲崎弘宜)
機械学習エンジニアリング・品質保証 (ESS2018招待講演 鷲崎弘宜)Hironori Washizaki
 
パターン(ランゲージ)によるKnow Why/What/How の言語化・文書化と発展, MLSE夏合宿
パターン(ランゲージ)によるKnow Why/What/How の言語化・文書化と発展, MLSE夏合宿パターン(ランゲージ)によるKnow Why/What/How の言語化・文書化と発展, MLSE夏合宿
パターン(ランゲージ)によるKnow Why/What/How の言語化・文書化と発展, MLSE夏合宿Hironori Washizaki
 
機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))
機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))
機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))HironoriTAKEUCHI1
 
機械学習応用アーキテクチャ・デザインパターン概観
機械学習応用アーキテクチャ・デザインパターン概観機械学習応用アーキテクチャ・デザインパターン概観
機械学習応用アーキテクチャ・デザインパターン概観Hironori Washizaki
 
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)Hironori Washizaki
 
機械学習工学と機械学習応用システムの開発@SmartSEセミナー(2021/3/30)
機械学習工学と機械学習応用システムの開発@SmartSEセミナー(2021/3/30)機械学習工学と機械学習応用システムの開発@SmartSEセミナー(2021/3/30)
機械学習工学と機械学習応用システムの開発@SmartSEセミナー(2021/3/30)Nobukazu Yoshioka
 
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
機械学習デザインパターンおよび機械学習システムの品質保証の取り組みHironori Washizaki
 
SQuBOK v3にみる不確実なDX時代の確実な品質技術に向けて- AI&機械学習、アジャイル&DevOps&オープンソース開発を中心に -
SQuBOK v3にみる不確実なDX時代の確実な品質技術に向けて- AI&機械学習、アジャイル&DevOps&オープンソース開発を中心に -SQuBOK v3にみる不確実なDX時代の確実な品質技術に向けて- AI&機械学習、アジャイル&DevOps&オープンソース開発を中心に -
SQuBOK v3にみる不確実なDX時代の確実な品質技術に向けて- AI&機械学習、アジャイル&DevOps&オープンソース開発を中心に -Hironori Washizaki
 
東北大学AIE - 機械学習入門編
東北大学AIE - 機械学習入門編東北大学AIE - 機械学習入門編
東北大学AIE - 機械学習入門編Daiyu Hatakeyama
 
超スマート社会時代のシステム&ソフトウェア品質知識体系 - SQuBOK 2020 における AI、IoT、クラウド、オープンソース、アジャイル、DevO...
超スマート社会時代のシステム&ソフトウェア品質知識体系 - SQuBOK 2020 における AI、IoT、クラウド、オープンソース、アジャイル、DevO...超スマート社会時代のシステム&ソフトウェア品質知識体系 - SQuBOK 2020 における AI、IoT、クラウド、オープンソース、アジャイル、DevO...
超スマート社会時代のシステム&ソフトウェア品質知識体系 - SQuBOK 2020 における AI、IoT、クラウド、オープンソース、アジャイル、DevO...Hironori Washizaki
 
NeurIPS2021から見るメタ学習の研究動向 - 第83回人工知能セミナー (2022.3.7)「AIトレンド・トップカンファレンス報告会(NeurI...
NeurIPS2021から見るメタ学習の研究動向 - 第83回人工知能セミナー (2022.3.7)「AIトレンド・トップカンファレンス報告会(NeurI...NeurIPS2021から見るメタ学習の研究動向 - 第83回人工知能セミナー (2022.3.7)「AIトレンド・トップカンファレンス報告会(NeurI...
NeurIPS2021から見るメタ学習の研究動向 - 第83回人工知能セミナー (2022.3.7)「AIトレンド・トップカンファレンス報告会(NeurI...DeepEyeVision, Inc.
 
機械学習応用システムの開発技術 (機械学習工学) の現状と今後の展望
機械学習応用システムの開発技術(機械学習工学)の現状と今後の展望機械学習応用システムの開発技術(機械学習工学)の現状と今後の展望
機械学習応用システムの開発技術 (機械学習工学) の現状と今後の展望 Nobukazu Yoshioka
 
DXの推進において企業内に求められる人材やデジタル人材の育て方
DXの推進において企業内に求められる人材やデジタル人材の育て方DXの推進において企業内に求められる人材やデジタル人材の育て方
DXの推進において企業内に求められる人材やデジタル人材の育て方Hironori Washizaki
 
Paradigm shifts in QA for AI products
Paradigm shifts in QA for AI productsParadigm shifts in QA for AI products
Paradigm shifts in QA for AI productsYasuharu Nishi
 
(修正)機械学習デザインパターン(ML Design Patterns)の解説
(修正)機械学習デザインパターン(ML Design Patterns)の解説(修正)機械学習デザインパターン(ML Design Patterns)の解説
(修正)機械学習デザインパターン(ML Design Patterns)の解説Hironori Washizaki
 
早稲田大学 理工メディアセンター 機械学習とAI セミナー: 機械学習中級編
早稲田大学 理工メディアセンター 機械学習とAI セミナー: 機械学習中級編早稲田大学 理工メディアセンター 機械学習とAI セミナー: 機械学習中級編
早稲田大学 理工メディアセンター 機械学習とAI セミナー: 機械学習中級編Daiyu Hatakeyama
 
メルペイの与信モデリングで安全・安心のために実践していること
メルペイの与信モデリングで安全・安心のために実践していることメルペイの与信モデリングで安全・安心のために実践していること
メルペイの与信モデリングで安全・安心のために実践していることYuhi Kawakami
 

What's hot (20)

スマートエスイーセミナー:機外学習応用システムパターンの例
スマートエスイーセミナー:機外学習応用システムパターンの例スマートエスイーセミナー:機外学習応用システムパターンの例
スマートエスイーセミナー:機外学習応用システムパターンの例
 
ソフトウェアエンジニアリング知識体系SWEBOK最新動向
ソフトウェアエンジニアリング知識体系SWEBOK最新動向ソフトウェアエンジニアリング知識体系SWEBOK最新動向
ソフトウェアエンジニアリング知識体系SWEBOK最新動向
 
機械学習システムの33のアーキテクチャパターンおよびデザインパターン
機械学習システムの33のアーキテクチャパターンおよびデザインパターン機械学習システムの33のアーキテクチャパターンおよびデザインパターン
機械学習システムの33のアーキテクチャパターンおよびデザインパターン
 
機械学習エンジニアリング・品質保証 (ESS2018招待講演 鷲崎弘宜)
機械学習エンジニアリング・品質保証 (ESS2018招待講演 鷲崎弘宜)機械学習エンジニアリング・品質保証 (ESS2018招待講演 鷲崎弘宜)
機械学習エンジニアリング・品質保証 (ESS2018招待講演 鷲崎弘宜)
 
パターン(ランゲージ)によるKnow Why/What/How の言語化・文書化と発展, MLSE夏合宿
パターン(ランゲージ)によるKnow Why/What/How の言語化・文書化と発展, MLSE夏合宿パターン(ランゲージ)によるKnow Why/What/How の言語化・文書化と発展, MLSE夏合宿
パターン(ランゲージ)によるKnow Why/What/How の言語化・文書化と発展, MLSE夏合宿
 
機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))
機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))
機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))
 
機械学習応用アーキテクチャ・デザインパターン概観
機械学習応用アーキテクチャ・デザインパターン概観機械学習応用アーキテクチャ・デザインパターン概観
機械学習応用アーキテクチャ・デザインパターン概観
 
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
 
機械学習工学と機械学習応用システムの開発@SmartSEセミナー(2021/3/30)
機械学習工学と機械学習応用システムの開発@SmartSEセミナー(2021/3/30)機械学習工学と機械学習応用システムの開発@SmartSEセミナー(2021/3/30)
機械学習工学と機械学習応用システムの開発@SmartSEセミナー(2021/3/30)
 
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
 
SQuBOK v3にみる不確実なDX時代の確実な品質技術に向けて- AI&機械学習、アジャイル&DevOps&オープンソース開発を中心に -
SQuBOK v3にみる不確実なDX時代の確実な品質技術に向けて- AI&機械学習、アジャイル&DevOps&オープンソース開発を中心に -SQuBOK v3にみる不確実なDX時代の確実な品質技術に向けて- AI&機械学習、アジャイル&DevOps&オープンソース開発を中心に -
SQuBOK v3にみる不確実なDX時代の確実な品質技術に向けて- AI&機械学習、アジャイル&DevOps&オープンソース開発を中心に -
 
東北大学AIE - 機械学習入門編
東北大学AIE - 機械学習入門編東北大学AIE - 機械学習入門編
東北大学AIE - 機械学習入門編
 
超スマート社会時代のシステム&ソフトウェア品質知識体系 - SQuBOK 2020 における AI、IoT、クラウド、オープンソース、アジャイル、DevO...
超スマート社会時代のシステム&ソフトウェア品質知識体系 - SQuBOK 2020 における AI、IoT、クラウド、オープンソース、アジャイル、DevO...超スマート社会時代のシステム&ソフトウェア品質知識体系 - SQuBOK 2020 における AI、IoT、クラウド、オープンソース、アジャイル、DevO...
超スマート社会時代のシステム&ソフトウェア品質知識体系 - SQuBOK 2020 における AI、IoT、クラウド、オープンソース、アジャイル、DevO...
 
NeurIPS2021から見るメタ学習の研究動向 - 第83回人工知能セミナー (2022.3.7)「AIトレンド・トップカンファレンス報告会(NeurI...
NeurIPS2021から見るメタ学習の研究動向 - 第83回人工知能セミナー (2022.3.7)「AIトレンド・トップカンファレンス報告会(NeurI...NeurIPS2021から見るメタ学習の研究動向 - 第83回人工知能セミナー (2022.3.7)「AIトレンド・トップカンファレンス報告会(NeurI...
NeurIPS2021から見るメタ学習の研究動向 - 第83回人工知能セミナー (2022.3.7)「AIトレンド・トップカンファレンス報告会(NeurI...
 
機械学習応用システムの開発技術 (機械学習工学) の現状と今後の展望
機械学習応用システムの開発技術(機械学習工学)の現状と今後の展望機械学習応用システムの開発技術(機械学習工学)の現状と今後の展望
機械学習応用システムの開発技術 (機械学習工学) の現状と今後の展望
 
DXの推進において企業内に求められる人材やデジタル人材の育て方
DXの推進において企業内に求められる人材やデジタル人材の育て方DXの推進において企業内に求められる人材やデジタル人材の育て方
DXの推進において企業内に求められる人材やデジタル人材の育て方
 
Paradigm shifts in QA for AI products
Paradigm shifts in QA for AI productsParadigm shifts in QA for AI products
Paradigm shifts in QA for AI products
 
(修正)機械学習デザインパターン(ML Design Patterns)の解説
(修正)機械学習デザインパターン(ML Design Patterns)の解説(修正)機械学習デザインパターン(ML Design Patterns)の解説
(修正)機械学習デザインパターン(ML Design Patterns)の解説
 
早稲田大学 理工メディアセンター 機械学習とAI セミナー: 機械学習中級編
早稲田大学 理工メディアセンター 機械学習とAI セミナー: 機械学習中級編早稲田大学 理工メディアセンター 機械学習とAI セミナー: 機械学習中級編
早稲田大学 理工メディアセンター 機械学習とAI セミナー: 機械学習中級編
 
メルペイの与信モデリングで安全・安心のために実践していること
メルペイの与信モデリングで安全・安心のために実践していることメルペイの与信モデリングで安全・安心のために実践していること
メルペイの与信モデリングで安全・安心のために実践していること
 

Similar to 新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて

Machine Learning Operations (MLOps): Overview, Definition, and Architecture
Machine Learning Operations (MLOps): Overview, Definition, and ArchitectureMachine Learning Operations (MLOps): Overview, Definition, and Architecture
Machine Learning Operations (MLOps): Overview, Definition, and ArchitectureTakuya Minagawa
 
データ分析に必要なスキルをつけるためのツール~Jupyter notebook、r連携、機械学習からsparkまで~
データ分析に必要なスキルをつけるためのツール~Jupyter notebook、r連携、機械学習からsparkまで~データ分析に必要なスキルをつけるためのツール~Jupyter notebook、r連携、機械学習からsparkまで~
データ分析に必要なスキルをつけるためのツール~Jupyter notebook、r連携、機械学習からsparkまで~The Japan DataScientist Society
 
機械学習 - MNIST の次のステップ
機械学習 - MNIST の次のステップ機械学習 - MNIST の次のステップ
機械学習 - MNIST の次のステップDaiyu Hatakeyama
 
機械学習アーキテクチャ・デザインパターン
機械学習アーキテクチャ・デザインパターン機械学習アーキテクチャ・デザインパターン
機械学習アーキテクチャ・デザインパターンHironori Washizaki
 
ソフトウェアエンジニアリングとEssenceの広がり
ソフトウェアエンジニアリングとEssenceの広がりソフトウェアエンジニアリングとEssenceの広がり
ソフトウェアエンジニアリングとEssenceの広がりHironori Washizaki
 
20190924 沖縄ISCO AI セミナー: AIを自分の糧とするためのコツ
20190924 沖縄ISCO AI セミナー: AIを自分の糧とするためのコツ20190924 沖縄ISCO AI セミナー: AIを自分の糧とするためのコツ
20190924 沖縄ISCO AI セミナー: AIを自分の糧とするためのコツDaiyu Hatakeyama
 
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデートHironori Washizaki
 
Iot algyan jhirono 20190111
Iot algyan jhirono 20190111Iot algyan jhirono 20190111
Iot algyan jhirono 20190111Hirono Jumpei
 
Open Cloud Innovation2016 day1(これからのデータ分析者とエンジニアに必要なdatascienceexperienceツールと...
Open Cloud Innovation2016 day1(これからのデータ分析者とエンジニアに必要なdatascienceexperienceツールと...Open Cloud Innovation2016 day1(これからのデータ分析者とエンジニアに必要なdatascienceexperienceツールと...
Open Cloud Innovation2016 day1(これからのデータ分析者とエンジニアに必要なdatascienceexperienceツールと...Atsushi Tsuchiya
 
『アプリケーション アーキテクチャ ガイド2.0』のガイド
『アプリケーション アーキテクチャ ガイド2.0』のガイド『アプリケーション アーキテクチャ ガイド2.0』のガイド
『アプリケーション アーキテクチャ ガイド2.0』のガイドKentaro Inomata
 
ノーコーディングでAIサービスを使ってみた話
ノーコーディングでAIサービスを使ってみた話ノーコーディングでAIサービスを使ってみた話
ノーコーディングでAIサービスを使ってみた話典子 松本
 
DRIVE CHARTを支えるAI技術
DRIVE CHARTを支えるAI技術DRIVE CHARTを支えるAI技術
DRIVE CHARTを支えるAI技術Yusuke Uchida
 
キャリアコンサルタント向け「企業で求められるITスキルの実態」と実践スキル向上研修
キャリアコンサルタント向け「企業で求められるITスキルの実態」と実践スキル向上研修キャリアコンサルタント向け「企業で求められるITスキルの実態」と実践スキル向上研修
キャリアコンサルタント向け「企業で求められるITスキルの実態」と実践スキル向上研修Daiyu Hatakeyama
 
アジャイルにモデリングは必要か
アジャイルにモデリングは必要かアジャイルにモデリングは必要か
アジャイルにモデリングは必要かHiromasa Oka
 
情報システム概論 Kanban Pizza Game
情報システム概論 Kanban Pizza Game情報システム概論 Kanban Pizza Game
情報システム概論 Kanban Pizza GameYoshiaki Rikitake
 
自社でつくれる生産性向上ツール 必要だと思ったらすぐに作れるビジネスアプリ
自社でつくれる生産性向上ツール 必要だと思ったらすぐに作れるビジネスアプリ自社でつくれる生産性向上ツール 必要だと思ったらすぐに作れるビジネスアプリ
自社でつくれる生産性向上ツール 必要だと思ったらすぐに作れるビジネスアプリ典子 松本
 

Similar to 新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて (20)

Machine Learning Operations (MLOps): Overview, Definition, and Architecture
Machine Learning Operations (MLOps): Overview, Definition, and ArchitectureMachine Learning Operations (MLOps): Overview, Definition, and Architecture
Machine Learning Operations (MLOps): Overview, Definition, and Architecture
 
組込みSW開発技術研究会キックオフミーティング
組込みSW開発技術研究会キックオフミーティング組込みSW開発技術研究会キックオフミーティング
組込みSW開発技術研究会キックオフミーティング
 
データ分析に必要なスキルをつけるためのツール~Jupyter notebook、r連携、機械学習からsparkまで~
データ分析に必要なスキルをつけるためのツール~Jupyter notebook、r連携、機械学習からsparkまで~データ分析に必要なスキルをつけるためのツール~Jupyter notebook、r連携、機械学習からsparkまで~
データ分析に必要なスキルをつけるためのツール~Jupyter notebook、r連携、機械学習からsparkまで~
 
機械学習 - MNIST の次のステップ
機械学習 - MNIST の次のステップ機械学習 - MNIST の次のステップ
機械学習 - MNIST の次のステップ
 
機械学習アーキテクチャ・デザインパターン
機械学習アーキテクチャ・デザインパターン機械学習アーキテクチャ・デザインパターン
機械学習アーキテクチャ・デザインパターン
 
ソフトウェアエンジニアリングとEssenceの広がり
ソフトウェアエンジニアリングとEssenceの広がりソフトウェアエンジニアリングとEssenceの広がり
ソフトウェアエンジニアリングとEssenceの広がり
 
Ms retail update ra 20191030
Ms retail update ra 20191030Ms retail update ra 20191030
Ms retail update ra 20191030
 
20190924 沖縄ISCO AI セミナー: AIを自分の糧とするためのコツ
20190924 沖縄ISCO AI セミナー: AIを自分の糧とするためのコツ20190924 沖縄ISCO AI セミナー: AIを自分の糧とするためのコツ
20190924 沖縄ISCO AI セミナー: AIを自分の糧とするためのコツ
 
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート
 
Iot algyan jhirono 20190111
Iot algyan jhirono 20190111Iot algyan jhirono 20190111
Iot algyan jhirono 20190111
 
Open Cloud Innovation2016 day1(これからのデータ分析者とエンジニアに必要なdatascienceexperienceツールと...
Open Cloud Innovation2016 day1(これからのデータ分析者とエンジニアに必要なdatascienceexperienceツールと...Open Cloud Innovation2016 day1(これからのデータ分析者とエンジニアに必要なdatascienceexperienceツールと...
Open Cloud Innovation2016 day1(これからのデータ分析者とエンジニアに必要なdatascienceexperienceツールと...
 
『アプリケーション アーキテクチャ ガイド2.0』のガイド
『アプリケーション アーキテクチャ ガイド2.0』のガイド『アプリケーション アーキテクチャ ガイド2.0』のガイド
『アプリケーション アーキテクチャ ガイド2.0』のガイド
 
ノーコーディングでAIサービスを使ってみた話
ノーコーディングでAIサービスを使ってみた話ノーコーディングでAIサービスを使ってみた話
ノーコーディングでAIサービスを使ってみた話
 
DRIVE CHARTを支えるAI技術
DRIVE CHARTを支えるAI技術DRIVE CHARTを支えるAI技術
DRIVE CHARTを支えるAI技術
 
キャリアコンサルタント向け「企業で求められるITスキルの実態」と実践スキル向上研修
キャリアコンサルタント向け「企業で求められるITスキルの実態」と実践スキル向上研修キャリアコンサルタント向け「企業で求められるITスキルの実態」と実践スキル向上研修
キャリアコンサルタント向け「企業で求められるITスキルの実態」と実践スキル向上研修
 
自然言語処理紹介(就職編)
自然言語処理紹介(就職編)自然言語処理紹介(就職編)
自然言語処理紹介(就職編)
 
アジャイルにモデリングは必要か
アジャイルにモデリングは必要かアジャイルにモデリングは必要か
アジャイルにモデリングは必要か
 
【de:code 2020】 AutoML ではじめる機械学習の民主化
【de:code 2020】 AutoML ではじめる機械学習の民主化【de:code 2020】 AutoML ではじめる機械学習の民主化
【de:code 2020】 AutoML ではじめる機械学習の民主化
 
情報システム概論 Kanban Pizza Game
情報システム概論 Kanban Pizza Game情報システム概論 Kanban Pizza Game
情報システム概論 Kanban Pizza Game
 
自社でつくれる生産性向上ツール 必要だと思ったらすぐに作れるビジネスアプリ
自社でつくれる生産性向上ツール 必要だと思ったらすぐに作れるビジネスアプリ自社でつくれる生産性向上ツール 必要だと思ったらすぐに作れるビジネスアプリ
自社でつくれる生産性向上ツール 必要だと思ったらすぐに作れるビジネスアプリ
 

More from Hironori Washizaki

IEEE Computer Society 2024 Technology Predictions Update
IEEE Computer Society 2024 Technology Predictions UpdateIEEE Computer Society 2024 Technology Predictions Update
IEEE Computer Society 2024 Technology Predictions UpdateHironori Washizaki
 
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会Hironori Washizaki
 
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideIEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideHironori Washizaki
 
TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用
TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用
TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用Hironori Washizaki
 
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225Hironori Washizaki
 
Joseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about ArchitectureJoseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about ArchitectureHironori Washizaki
 
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...Hironori Washizaki
 
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向Hironori Washizaki
 
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~Hironori Washizaki
 
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集Hironori Washizaki
 
スマートエスイーコンソーシアムの概要と2021年度成果紹介
スマートエスイーコンソーシアムの概要と2021年度成果紹介スマートエスイーコンソーシアムの概要と2021年度成果紹介
スマートエスイーコンソーシアムの概要と2021年度成果紹介Hironori Washizaki
 
対応性のある運用のパターン
対応性のある運用のパターン対応性のある運用のパターン
対応性のある運用のパターンHironori Washizaki
 
モデル訓練のパターン
モデル訓練のパターンモデル訓練のパターン
モデル訓練のパターンHironori Washizaki
 
パターンのつながりとAI活用成熟度
パターンのつながりとAI活用成熟度パターンのつながりとAI活用成熟度
パターンのつながりとAI活用成熟度Hironori Washizaki
 
データ表現のパターン
データ表現のパターンデータ表現のパターン
データ表現のパターンHironori Washizaki
 
機械学習デザインパターンの必要性と機械学習ライフサイクル
機械学習デザインパターンの必要性と機械学習ライフサイクル機械学習デザインパターンの必要性と機械学習ライフサイクル
機械学習デザインパターンの必要性と機械学習ライフサイクルHironori Washizaki
 
Software Engineering Patterns for Machine Learning Applications
Software Engineering Patterns for Machine Learning ApplicationsSoftware Engineering Patterns for Machine Learning Applications
Software Engineering Patterns for Machine Learning ApplicationsHironori Washizaki
 
Rubric-based Assessment of Programming Thinking Skills and Comparative Evalua...
Rubric-based Assessment of Programming Thinking Skills and Comparative Evalua...Rubric-based Assessment of Programming Thinking Skills and Comparative Evalua...
Rubric-based Assessment of Programming Thinking Skills and Comparative Evalua...Hironori Washizaki
 
Smart SE: Recurrent Education Program of IoT and AI for Business
Smart SE: Recurrent Education Program of IoT and AI for BusinessSmart SE: Recurrent Education Program of IoT and AI for Business
Smart SE: Recurrent Education Program of IoT and AI for BusinessHironori Washizaki
 
Analysis of IoT Pattern Descriptions (SERP4IoT 2021)
Analysis of IoT Pattern Descriptions (SERP4IoT 2021)Analysis of IoT Pattern Descriptions (SERP4IoT 2021)
Analysis of IoT Pattern Descriptions (SERP4IoT 2021)Hironori Washizaki
 

More from Hironori Washizaki (20)

IEEE Computer Society 2024 Technology Predictions Update
IEEE Computer Society 2024 Technology Predictions UpdateIEEE Computer Society 2024 Technology Predictions Update
IEEE Computer Society 2024 Technology Predictions Update
 
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会
 
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideIEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
 
TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用
TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用
TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用
 
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225
 
Joseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about ArchitectureJoseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about Architecture
 
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...
 
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向
 
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
 
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集
 
スマートエスイーコンソーシアムの概要と2021年度成果紹介
スマートエスイーコンソーシアムの概要と2021年度成果紹介スマートエスイーコンソーシアムの概要と2021年度成果紹介
スマートエスイーコンソーシアムの概要と2021年度成果紹介
 
対応性のある運用のパターン
対応性のある運用のパターン対応性のある運用のパターン
対応性のある運用のパターン
 
モデル訓練のパターン
モデル訓練のパターンモデル訓練のパターン
モデル訓練のパターン
 
パターンのつながりとAI活用成熟度
パターンのつながりとAI活用成熟度パターンのつながりとAI活用成熟度
パターンのつながりとAI活用成熟度
 
データ表現のパターン
データ表現のパターンデータ表現のパターン
データ表現のパターン
 
機械学習デザインパターンの必要性と機械学習ライフサイクル
機械学習デザインパターンの必要性と機械学習ライフサイクル機械学習デザインパターンの必要性と機械学習ライフサイクル
機械学習デザインパターンの必要性と機械学習ライフサイクル
 
Software Engineering Patterns for Machine Learning Applications
Software Engineering Patterns for Machine Learning ApplicationsSoftware Engineering Patterns for Machine Learning Applications
Software Engineering Patterns for Machine Learning Applications
 
Rubric-based Assessment of Programming Thinking Skills and Comparative Evalua...
Rubric-based Assessment of Programming Thinking Skills and Comparative Evalua...Rubric-based Assessment of Programming Thinking Skills and Comparative Evalua...
Rubric-based Assessment of Programming Thinking Skills and Comparative Evalua...
 
Smart SE: Recurrent Education Program of IoT and AI for Business
Smart SE: Recurrent Education Program of IoT and AI for BusinessSmart SE: Recurrent Education Program of IoT and AI for Business
Smart SE: Recurrent Education Program of IoT and AI for Business
 
Analysis of IoT Pattern Descriptions (SERP4IoT 2021)
Analysis of IoT Pattern Descriptions (SERP4IoT 2021)Analysis of IoT Pattern Descriptions (SERP4IoT 2021)
Analysis of IoT Pattern Descriptions (SERP4IoT 2021)
 

新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて

  • 1. 新しいソフトウェアエンジニアリングの ためのパターンランゲージに向けて 鷲崎 弘宜 早稲田大学 / 国立情報学研究所 / 株式会社システム情報 / 株式会社エクスモーション Agile Tour Osaka × miniPLoP 2020 基調講演 2020年12月12日
  • 2. What is software engineering? • “Application of systematic, disciplined, quantifiable approach to development, operation, and maintenance of software” – SWEBOK 2014 • Guide to the Software Engineering Body of Knowledge (SWEBOK) 2 • Software Requirements • Software Design • Software Construction • Software Testing • Software Maintenance • Software Configuration Management • Software Engineering Management • Software Engineering Process • Software Engineering Tools and Methods • Software Quality • Software Engineering Professional Practice • Software Engineering Economics • Computing Foundations • Mathematical Foundations • Engineering Foundations
  • 3. Vision of SWEBOK 2021 (subject to change) (Evolution lead: Hironori Washizaki, since 2018-) https://www.computer.org/volunteering/boards-and-committees/professional-educational-activities/software-engineering-committee/swebok-evolution • Expansion of SE – AI/Machine Learning Engineering – Restructuring foundation areas incl. Internet of Things (IoT) • Value in SE – Value proposition • Dependable SE – Architecture – Security • Modern SE – Agile – DevOps 3 Software Engineering Value proposition AI/ML Engineering Foundation incl. IoT Architecture Security Agile & DevOps Expansion Value Dependable Modern
  • 4. Paradigm shifts in “new” software engineering 4 Current New Scope and perspective Software systems Software systems, business, society and related disciplines Process Planned, static, common, and closed Adaptive, dynamic, diverse, and open Focus Specification Value, data, and speed Thinking Cognitive (logical) or affective (design) Cognitive (logical), affective (design), and conative (conceptual) Inference Deduction and analogy Deduction, analogy, induction, and abduction Hironori Washizaki, Junzo Hagimoto, Kazuo Hamai, Mitsunori Seki, Takeshi Inoue, Shinya Taniguchi, Hiroshi Kobayashi, Kenji Hiranabe and Eiichi Hanyuda, “Framework and Value-Driven Process of Software Engineering for Business and Society (SE4BS),” 5th International Conference on Enterprise Architecture and Information Systems (EAIS 2020)
  • 5. Example: Deduction and induction 5 Goal Data Model Behavior Goal Model Behavior Data Conventional software: Deduction ML-based software: Induction H. Maruyama, “Machine Learning Engineering and Reuse of AI Work Products,” The First International Workshop on Sharing and Reuse of AI Work Products, 2017 Hironori Washizaki, “Towards Software Value Co-Creation with AI”, The 44th IEEE Computer Society Signature Conference on Computers, Software, and Applications (COMPSAC 2020), Fast Abstract
  • 6. パターン(言語)が必要! • 抽象的なパラダイムと具体的な事例 、指示、ツールの橋渡し – Know-Why(文脈)、What(問題)、How( 解決策)を言語化し、文書化する。 – 解決策や問題点の再利用 – 一貫性のあるアーキテクチャの取得 6 パラダイム 事例 ツール フレーム ワーク 作業指示 ? ? • ステークホルダー間の共通言語 – ソフトウェアエンジニア、ハードウェアエ ンジニア、ネットワークエンジニア、ドメ インエキスパート、データアナリスト・・・
  • 7. 質問 http://sli.do/ #58755 アンケートhttp://u0u1.net/Urae 7 https://en.wikipedia.org/wiki/Coffeehouse#/media/File:Caf%C3%A9_de_Flore.jpg https://ja.wikipedia.org/wiki/%E3%82%AB%E3%83%95%E3%82%A7#/media/%E3%83%95%E3%82 %A1%E3%82%A4%E3%83%AB:Former_Foreign_Settlement_of_Kobe_Hyogo_Japan_A55_03s3.jpg 名前: 路上カフェ 解決: 各近隣にカフェが開かれるよう促すこと。カフェにはいくつかの部屋を設け、 にぎやかな歩行路に向けて解放し、座ってコーヒーなどの飲み物を取りながら、 移りゆく世界を眺められるような親しみのある場所に仕立てること。カフェの前面 は、室内からテーブル・セットが街路にそのまま張り出すような作りとすること。 問題: 忙しい都会において、衆目の中で合法 的に腰を下ろし、移りゆく世界をノンビリと眺め られる場所がほしい。 [Alexander77] C. Alexander他著, 平田翰那訳, “パタン・ランゲージ”, 鹿島出版, 1977
  • 8. 質問 http://sli.do/ #58755 アンケートhttp://u0u1.net/Urae 8 建築におけるパターンランゲージ ◼ 粒度をまたいだ繋がり ◼ 街の中心部には 活動の拠点 として 小さな広 場 を設けよう。その広場には、訪問者や近隣 の人々が気軽に集い落ち着けるように、いくつ かの 路上のカフェ が集まってひらかれるよう に奨励しよう。それぞれのカフェは、オープン エアで楽しめるように 街路への開口 を持たせ られるとよい ・・・ ◼ 同一粒度における繋がり ◼ 快適に暮らせるためには 屋内の陽光 は不可 欠なので、 南向きの屋外 に庭をおきたいな。 さらに、部屋の陽光をたくさんとって快適にす るために どの部屋も二面採光 にしたい。そう そう、お客さんにも来てほしいから、 街路への 開口 をもうけて、玄関から寝室までうまく 親 密度の変化 をもたせたいね ・・・ 玄関 居間 寝室 庭 建物 口 街 路 街路 広場 カフェ
  • 9. 質問 http://sli.do/ #58755 アンケートhttp://u0u1.net/Urae 9 パターンランゲージとソフトウェア ◼ ソフトウェアコミュニティが学んだこと ◼ 文脈(Know-Why)、問題(What)、解決(How)の言語化・文書化形式 ◼ 抽象的なビジョンと、具体的なライブラリ・指示の間の抽象度 ◼ 対話の手段、問題・解決の再利用、非機能要求満足とアーキテクチャ一貫 ◼ 特にソフトウェア設計、開発プロセス・組織構造 ◼ ソフトウェアコミュニティが(あまり)学ばなかったこと [羽生田] ◼ 利害関係者間の合意形成のための共通言語 ◼ 利用者参加型の仕組み、生成的 成功事例 文脈: こういうときに 問題: こうしたかったら・こう困っていたら フォース: こういうことを考慮して 解決: こうしなさい 結果: こうなるでしょう 新たな状況 解決 解決 抽象化 具象化 類似 抽象化 羽生田栄一 監修, パターンワーキンググループ著, "ソフトウェアパターン入門~基礎から応用へ~", ソフトリサーチセンター, 2005.
  • 10. Problem and goal • ML and IoT are key enablers of digital transformations. • Patterns in ML and IoT software design are not well classified and studied. • Thus, we conducted a systematic literature review to reveal landscapes of ML and IoT software design patterns. 10 Machine Learning Software engineering IoT
  • 11. エグゼクティブサマリ • 抽象度の異なる様々なIoTアーキテクチャ・デザインパターン は、十分に分類および研究されていない • RQ1.学術的な文献では、IoTのアーキテクチャや設計パター ンはどのように扱われているのか? – IoTアーキテクチャ・デザインパターンの関連論文32編 • RQ2.既存のIoTアーキテクチャやデザインパターンは本当に 全てIoTパターンなのか? – 抽出された143パターンのうち、57%が非IoTパターン • RQ3.IoTアーキテクチャ・デザインパターンは分類できるか? – 抽象化レベル、ドメイン、品質特性に沿って分類可 • RQ4.IoTアーキテクチャ・デザインパターンはどのようなもの があるのか? – 多くのIoTパターンは、相互運用性、セキュリティ、保守性を扱う – 多くのIoTアーキテクチャパターンはドメイン固有 11
  • 12. 例: IoTアプリケーション多層アーキテクチャ • 多層アプリケーション向けに軽量な仮想化によるリソース仮想化を提供 12 IoT GatewayIoT Device / Application IoT Device / Application publish IoT Device / Application IoT Device / Application subscribe Virtual part Physical part 例: IoTゲートウェイ・イベントサブスクリプション • IoTゲートウェイにサブスクリプションの仕組みを採用 • センサによって得られたデータと要素間メッセージを非同期かつ相互伝送
  • 13. 機械学習アーキテクチャ・デザインパターンの 全体像に向けて • RQ1. ML開発者はMLシステム(MLS)の設計をどのように捉えて扱 っているのか? – 方法: アンケート調査 – 結果: MLアーキテクチャ・デザインパターンについてほとんど知られ ていない。 • RQ2. 学術論文や灰色文献はMLSの設計をどのように扱っている のか? – 方法: 体系的文献調査 – 結果: 学術論文19編、灰色文献19編 • RQ3. MLアーキテクチャ・デザインパターンはどのように分類できる か? – 方法: 様々な代表的プロセスの検討 – 結果: MLパイプラインプロセスおよびISO/IEC 12207ソフトウェアライフ サイクルプロセスによる分類 • RQ4. MLアーキテクチャ・デザインパターンにはどのようなものがあ るか? – 方法: 文献からのパターン抽出およびプロセス上での分類 – 結果: 33パターン候補 → 最終的に15パターン抽出 13
  • 14. Classification of ML design patterns 14 Training data Trained model Prediction (inference) Infrastructure Input data Topology Different Workloads in Different Computing Environments Distinguish Business Logic from ML Models ML Gateway Routing Architecture Microservice Architecture for ML Lambda Architecture Kappa Architecture Programming Data Lake for ML Separation of Concerns and Modularization of ML Components Encapsulate ML models within Rule-base Safeguards Discard PoC Code Model operations Parameter-Server Abstraction Data flows up, Model flow down Secure Aggregation Deployable Canary Model ML Versioning Hironori Washizaki, Hironori Takeuchi, Foutse Khomh, Naotake Natori, Takuo Doi, Satoshi Okuda, “Practitioners’ insights on machine-learning software engineering design patterns: a preliminary study,” 36th IEEE International Conference on Software Maintenance and Evolution (ICSME 2020), Late Breaking Ideas track
  • 15. E.g., Distinguish Business Logic from ML Models • Separate the business logic and the inference engine, loosely coupling the business logic and ML-specific dataflows. 15 Data LayerLogic LayerPresentation Layer User Interface Database Data Collection Data Lake Business Logic Data Processing Inference Engine RealWorld Business LogicSpecific MLSpecific Architectural Layers Deployed as ML System Business Logic Data Flow ML Runtime Data Flow ML Development Data Flow Legend Haruki Yokoyama, Machine Learning System Architectural Pattern for Improving Operational Stability, ICSA-C, 2019 Hironori Washizaki, Foutse Khomh, Yann-Gael Gueheneuc, “Software Engineering Patterns for Machine Learning Applications (SEP4MLA),” 9th Asian Conference on Pattern Languages of Programs (AsianPLoP 2020)
  • 16. Summary and future • Summary – Paradigm shifts in new software engineering, especially ML and IoT engineering – Patterns as bridge and common language for new software engineering – Classification of ML and IoT design patterns • Future – Classify and relate patterns across over different disciplines such as ML and IoT – Build pattern languages – Open expanded community 16