SlideShare ist ein Scribd-Unternehmen logo
1 von 12
Downloaden Sie, um offline zu lesen
Patterns for New Software
Engineering: Machine Learning and
IoT Engineering Patterns
Hironori Washizaki
Waseda University / NII / SYSTEM INFORMATION /
eXmotion
AsianPLoP 2020, Keynote, Sep 3rd 2020
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
New SE needs pattern (language)!
• Bridge between abstract paradigms and
concrete cases/tools
– Verbalizing and documenting Know-Why
(context), What (problem) and How (solution)
– Reusing solutions and problems
– Getting consistent architecture
6
Paradigm
Case
Tool
FW
Instruction
?
?
• Common language among stakeholders
– Software engineers, hardware engineers,
network engineers, domain experts, data
analysist …
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.
7
Machine Learning
Software
engineering
IoT
Classification of IoT design patterns
• Most of IoT design patterns are applicable to any domain
• Many IoT architecture patterns exist for specific domains
– Unique nature of IoT adoption in specific domains appears at
the architecture level
• Major quality attributes: Interoperability, security and
maintainability
8
Domain specificity
Type Non-IoT General IoT Domain-specific IoT Total
Architecture style 22 2 1 25
Architecture pattern 7 1 15 23
Design pattern 53 38 4 95
Total 82 41 20 143
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, pp.1-12, 2020
(Early Access) https://ieeexplore.ieee.org/document/9120234
E.g.: IoT Gateway Event Subscription
• Employ a subscription mechanism into the IoT gateway
• Allowing asynchronous and mutual transmissions of data
obtained by sensors at the destination and the message
between artifacts
9
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 GatewayIoT Device
/ Application
IoT Device
/ Application
publish IoT Device
/ Application
IoT Device
/ Application
subscribe
Virtual part
Physical part
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
Classification of ML design patterns
10
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
Lambda Architecture
Kappa Architecture
Programming
Data Lake
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.
11
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
12

Weitere ähnliche Inhalte

Was ist angesagt?

Visual Definition of Instructional Design and Technology
Visual Definition of Instructional Design and TechnologyVisual Definition of Instructional Design and Technology
Visual Definition of Instructional Design and Technology
suhat
 
CCK08: Instructional Design
CCK08: Instructional DesignCCK08: Instructional Design
CCK08: Instructional Design
Dolors Capdet
 
Reverse Engineering
Reverse EngineeringReverse Engineering
Reverse Engineering
dswanson
 
Project-based Collaborative Learning of Software Patterns
Project-based Collaborative Learning of Software PatternsProject-based Collaborative Learning of Software Patterns
Project-based Collaborative Learning of Software Patterns
Zoran Jeremic
 
Technology in Mathematics and Science IDT285
Technology in Mathematics and Science IDT285Technology in Mathematics and Science IDT285
Technology in Mathematics and Science IDT285
psych369
 

Was ist angesagt? (20)

Visual Definition of Instructional Design and Technology
Visual Definition of Instructional Design and TechnologyVisual Definition of Instructional Design and Technology
Visual Definition of Instructional Design and Technology
 
CCK08: Instructional Design
CCK08: Instructional DesignCCK08: Instructional Design
CCK08: Instructional Design
 
Reverse Engineering
Reverse EngineeringReverse Engineering
Reverse Engineering
 
Brochure
BrochureBrochure
Brochure
 
Aied99 a toolstalk_murray
Aied99 a toolstalk_murrayAied99 a toolstalk_murray
Aied99 a toolstalk_murray
 
Learning Technology for Improving Teaching Quality at Scale
Learning Technology for Improving Teaching Quality at ScaleLearning Technology for Improving Teaching Quality at Scale
Learning Technology for Improving Teaching Quality at Scale
 
Make Learning Big Data Work For You
Make Learning Big Data Work For YouMake Learning Big Data Work For You
Make Learning Big Data Work For You
 
Supporting_Teachers_to_use_ICT_EnhancedLearning
Supporting_Teachers_to_use_ICT_EnhancedLearningSupporting_Teachers_to_use_ICT_EnhancedLearning
Supporting_Teachers_to_use_ICT_EnhancedLearning
 
Project-based Collaborative Learning of Software Patterns
Project-based Collaborative Learning of Software PatternsProject-based Collaborative Learning of Software Patterns
Project-based Collaborative Learning of Software Patterns
 
Fuzzy Set Theory and Fuzzy Logic for Activities Automation in Engineering Edu...
Fuzzy Set Theory and Fuzzy Logic for Activities Automation in Engineering Edu...Fuzzy Set Theory and Fuzzy Logic for Activities Automation in Engineering Edu...
Fuzzy Set Theory and Fuzzy Logic for Activities Automation in Engineering Edu...
 
What Is Instructional Design?
What Is Instructional Design?What Is Instructional Design?
What Is Instructional Design?
 
Conventicle 2013 Digital Technologies Australia, England & the Literature
Conventicle 2013 Digital Technologies Australia, England & the LiteratureConventicle 2013 Digital Technologies Australia, England & the Literature
Conventicle 2013 Digital Technologies Australia, England & the Literature
 
Extreme Apprenticeship Meets Playful Design at Operating System Labs: A Case ...
Extreme Apprenticeship Meets Playful Design at Operating System Labs: A Case ...Extreme Apprenticeship Meets Playful Design at Operating System Labs: A Case ...
Extreme Apprenticeship Meets Playful Design at Operating System Labs: A Case ...
 
Open lw reference architecture project
Open lw reference architecture projectOpen lw reference architecture project
Open lw reference architecture project
 
Student perceptions and attitudes towards the software factory as a learning ...
Student perceptions and attitudes towards the software factory as a learning ...Student perceptions and attitudes towards the software factory as a learning ...
Student perceptions and attitudes towards the software factory as a learning ...
 
B.Tech in Robotics & Cyber-Physical Systems- Plaksha University
B.Tech in Robotics & Cyber-Physical Systems- Plaksha UniversityB.Tech in Robotics & Cyber-Physical Systems- Plaksha University
B.Tech in Robotics & Cyber-Physical Systems- Plaksha University
 
Overview of the field of instructional design and
Overview of the field of instructional design andOverview of the field of instructional design and
Overview of the field of instructional design and
 
Technology in Mathematics and Science IDT285
Technology in Mathematics and Science IDT285Technology in Mathematics and Science IDT285
Technology in Mathematics and Science IDT285
 
Gamification of Learning Design Environments (Workshop)
Gamification of Learning Design Environments (Workshop)Gamification of Learning Design Environments (Workshop)
Gamification of Learning Design Environments (Workshop)
 
Learning Analytics for Adaptive Learning And Standardization
Learning Analytics for Adaptive Learning And StandardizationLearning Analytics for Adaptive Learning And Standardization
Learning Analytics for Adaptive Learning And Standardization
 

Ähnlich wie Patterns for New Software Engineering: Machine Learning and IoT Engineering Patterns

Demystifying IoT skills : What does it take to become a FullStack IoT engineer?
Demystifying IoT skills : What does it take to become a FullStack IoT engineer?Demystifying IoT skills : What does it take to become a FullStack IoT engineer?
Demystifying IoT skills : What does it take to become a FullStack IoT engineer?
Emertxe Information Technologies Pvt Ltd
 
Enterprise Architecture Toolkit Overview
Enterprise Architecture Toolkit OverviewEnterprise Architecture Toolkit Overview
Enterprise Architecture Toolkit Overview
Mike Walker
 

Ähnlich wie Patterns for New Software Engineering: Machine Learning and IoT Engineering Patterns (20)

Landscape of Architecture and Design Patterns for IoT Systems
Landscape of Architecture and Design Patterns for IoT SystemsLandscape of Architecture and Design Patterns for IoT Systems
Landscape of Architecture and Design Patterns for IoT Systems
 
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
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Software Architecture in an Agile World
Software Architecture in an Agile WorldSoftware Architecture in an Agile World
Software Architecture in an Agile World
 
Se research update
Se research updateSe research update
Se research update
 
Studying Software Engineering Patterns for Designing Machine Learning Systems
Studying Software Engineering Patterns for Designing Machine Learning SystemsStudying Software Engineering Patterns for Designing Machine Learning Systems
Studying Software Engineering Patterns for Designing Machine Learning Systems
 
Iwesep19.ppt
Iwesep19.pptIwesep19.ppt
Iwesep19.ppt
 
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...
 
Presentation1.pptx
Presentation1.pptxPresentation1.pptx
Presentation1.pptx
 
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
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES
 
Demystifying IoT skills : What does it take to become a FullStack IoT engineer?
Demystifying IoT skills : What does it take to become a FullStack IoT engineer?Demystifying IoT skills : What does it take to become a FullStack IoT engineer?
Demystifying IoT skills : What does it take to become a FullStack IoT engineer?
 
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
 
IRJET-Testing Uncertainty of Cyber-Physical Systems in IoT Cloud Infrastructu...
IRJET-Testing Uncertainty of Cyber-Physical Systems in IoT Cloud Infrastructu...IRJET-Testing Uncertainty of Cyber-Physical Systems in IoT Cloud Infrastructu...
IRJET-Testing Uncertainty of Cyber-Physical Systems in IoT Cloud Infrastructu...
 
Engineering 4.0: Digitization through task automation and reuse
Engineering 4.0:  Digitization through task automation and reuseEngineering 4.0:  Digitization through task automation and reuse
Engineering 4.0: Digitization through task automation and reuse
 
Software Architecture and Design
Software Architecture and DesignSoftware Architecture and Design
Software Architecture and Design
 
Understanding and Addressing Architectural Challenges of Cloud- Based Systems
Understanding and Addressing Architectural Challenges of Cloud- Based SystemsUnderstanding and Addressing Architectural Challenges of Cloud- Based Systems
Understanding and Addressing Architectural Challenges of Cloud- Based Systems
 
Enterprise Architecture Toolkit Overview
Enterprise Architecture Toolkit OverviewEnterprise Architecture Toolkit Overview
Enterprise Architecture Toolkit Overview
 
Internet of Things @ Purdue University
Internet of Things @ Purdue UniversityInternet of Things @ Purdue University
Internet of Things @ Purdue University
 
H1803044651
H1803044651H1803044651
H1803044651
 

Mehr von Hironori Washizaki

Mehr von Hironori Washizaki (20)

鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会
 
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最新第4版を通じた開発アップデート
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート
 
デジタルトランスフォーメーション(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年度成果紹介
 
DXの推進において企業内に求められる人材やデジタル人材の育て方
DXの推進において企業内に求められる人材やデジタル人材の育て方DXの推進において企業内に求められる人材やデジタル人材の育て方
DXの推進において企業内に求められる人材やデジタル人材の育て方
 
対応性のある運用のパターン
対応性のある運用のパターン対応性のある運用のパターン
対応性のある運用のパターン
 
モデル訓練のパターン
モデル訓練のパターンモデル訓練のパターン
モデル訓練のパターン
 
パターンのつながりとAI活用成熟度
パターンのつながりとAI活用成熟度パターンのつながりとAI活用成熟度
パターンのつながりとAI活用成熟度
 
データ表現のパターン
データ表現のパターンデータ表現のパターン
データ表現のパターン
 
機械学習デザインパターンの必要性と機械学習ライフサイクル
機械学習デザインパターンの必要性と機械学習ライフサイクル機械学習デザインパターンの必要性と機械学習ライフサイクル
機械学習デザインパターンの必要性と機械学習ライフサイクル
 
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
 
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
 
機械学習デザインパターン Machine Learning Design Patterns
機械学習デザインパターン Machine Learning Design Patterns機械学習デザインパターン Machine Learning Design Patterns
機械学習デザインパターン Machine Learning Design Patterns
 
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
 
(修正)機械学習デザインパターン(ML Design Patterns)の解説
(修正)機械学習デザインパターン(ML Design Patterns)の解説(修正)機械学習デザインパターン(ML Design Patterns)の解説
(修正)機械学習デザインパターン(ML Design Patterns)の解説
 

KĂźrzlich hochgeladen

AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

KĂźrzlich hochgeladen (20)

Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 

Patterns for New Software Engineering: Machine Learning and IoT Engineering Patterns

  • 1. Patterns for New Software Engineering: Machine Learning and IoT Engineering Patterns Hironori Washizaki Waseda University / NII / SYSTEM INFORMATION / eXmotion AsianPLoP 2020, Keynote, Sep 3rd 2020
  • 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. New SE needs pattern (language)! • Bridge between abstract paradigms and concrete cases/tools – Verbalizing and documenting Know-Why (context), What (problem) and How (solution) – Reusing solutions and problems – Getting consistent architecture 6 Paradigm Case Tool FW Instruction ? ? • Common language among stakeholders – Software engineers, hardware engineers, network engineers, domain experts, data analysist …
  • 7. 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. 7 Machine Learning Software engineering IoT
  • 8. Classification of IoT design patterns • Most of IoT design patterns are applicable to any domain • Many IoT architecture patterns exist for specific domains – Unique nature of IoT adoption in specific domains appears at the architecture level • Major quality attributes: Interoperability, security and maintainability 8 Domain specificity Type Non-IoT General IoT Domain-specific IoT Total Architecture style 22 2 1 25 Architecture pattern 7 1 15 23 Design pattern 53 38 4 95 Total 82 41 20 143 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, pp.1-12, 2020 (Early Access) https://ieeexplore.ieee.org/document/9120234
  • 9. E.g.: IoT Gateway Event Subscription • Employ a subscription mechanism into the IoT gateway • Allowing asynchronous and mutual transmissions of data obtained by sensors at the destination and the message between artifacts 9 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 GatewayIoT Device / Application IoT Device / Application publish IoT Device / Application IoT Device / Application subscribe Virtual part Physical part 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
  • 10. Classification of ML design patterns 10 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 Lambda Architecture Kappa Architecture Programming Data Lake 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
  • 11. 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. 11 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)
  • 12. 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 12