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

Hironori Washizaki
Hironori WashizakiProfessor at Waseda University / National Institute of Informatics / SYSTEM INFORMATION / eXmotion
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
1 of 12

Recommended

Rubric-based Assessment of Programming Thinking Skills and Comparative Evalua... by
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
536 views33 slides
Analysis of IoT Pattern Descriptions (SERP4IoT 2021) by
Analysis of IoT Pattern Descriptions (SERP4IoT 2021)Analysis of IoT Pattern Descriptions (SERP4IoT 2021)
Analysis of IoT Pattern Descriptions (SERP4IoT 2021)Hironori Washizaki
443 views10 slides
B tech cse syllabus - MITAOE by
B tech cse syllabus - MITAOEB tech cse syllabus - MITAOE
B tech cse syllabus - MITAOEMITAcademy1
89 views19 slides
Unifying an Introduction to Artificial Intelligence Course ... by
Unifying an Introduction to Artificial Intelligence Course ...Unifying an Introduction to Artificial Intelligence Course ...
Unifying an Introduction to Artificial Intelligence Course ...butest
1.5K views19 slides
Development of Software for Educational Activities by
Development of Software for Educational ActivitiesDevelopment of Software for Educational Activities
Development of Software for Educational ActivitiesLeo Burd
533 views32 slides
A Survey on Using Artificial Intelligence Techniques in the Software Developm... by
A Survey on Using Artificial Intelligence Techniques in the Software Developm...A Survey on Using Artificial Intelligence Techniques in the Software Developm...
A Survey on Using Artificial Intelligence Techniques in the Software Developm...IJERA Editor
269 views10 slides

More Related Content

What's hot

Visual Definition of Instructional Design and Technology by
Visual Definition of Instructional Design and TechnologyVisual Definition of Instructional Design and Technology
Visual Definition of Instructional Design and Technologysuhat
3.5K views18 slides
CCK08: Instructional Design by
CCK08: Instructional DesignCCK08: Instructional Design
CCK08: Instructional DesignDolors Capdet
39.9K views12 slides
Reverse Engineering by
Reverse EngineeringReverse Engineering
Reverse Engineeringdswanson
13.2K views17 slides
Brochure by
BrochureBrochure
BrochureNeha Tomar
21 views13 slides
Aied99 a toolstalk_murray by
Aied99 a toolstalk_murrayAied99 a toolstalk_murray
Aied99 a toolstalk_murrayperspegrity5
672 views73 slides
Learning Technology for Improving Teaching Quality at Scale by
Learning Technology for Improving Teaching Quality at ScaleLearning Technology for Improving Teaching Quality at Scale
Learning Technology for Improving Teaching Quality at ScaleKhalid Md Saifuddin
117 views24 slides

What's hot(20)

Visual Definition of Instructional Design and Technology by suhat
Visual Definition of Instructional Design and TechnologyVisual Definition of Instructional Design and Technology
Visual Definition of Instructional Design and Technology
suhat3.5K views
CCK08: Instructional Design by Dolors Capdet
CCK08: Instructional DesignCCK08: Instructional Design
CCK08: Instructional Design
Dolors Capdet39.9K views
Reverse Engineering by dswanson
Reverse EngineeringReverse Engineering
Reverse Engineering
dswanson13.2K views
Aied99 a toolstalk_murray by perspegrity5
Aied99 a toolstalk_murrayAied99 a toolstalk_murray
Aied99 a toolstalk_murray
perspegrity5672 views
Learning Technology for Improving Teaching Quality at Scale by Khalid Md Saifuddin
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 by Jessie Chuang
Make Learning Big Data Work For YouMake Learning Big Data Work For You
Make Learning Big Data Work For You
Jessie Chuang7.6K views
Supporting_Teachers_to_use_ICT_EnhancedLearning by Hazel Owen
Supporting_Teachers_to_use_ICT_EnhancedLearningSupporting_Teachers_to_use_ICT_EnhancedLearning
Supporting_Teachers_to_use_ICT_EnhancedLearning
Hazel Owen450 views
Project-based Collaborative Learning of Software Patterns by Zoran Jeremic
Project-based Collaborative Learning of Software PatternsProject-based Collaborative Learning of Software Patterns
Project-based Collaborative Learning of Software Patterns
Zoran Jeremic399 views
Fuzzy Set Theory and Fuzzy Logic for Activities Automation in Engineering Edu... by Malinka Ivanova
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...
Malinka Ivanova237 views
What Is Instructional Design? by Eugene Jars
What Is Instructional Design?What Is Instructional Design?
What Is Instructional Design?
Eugene Jars37.6K views
Conventicle 2013 Digital Technologies Australia, England & the Literature by rebeccavivian
Conventicle 2013 Digital Technologies Australia, England & the LiteratureConventicle 2013 Digital Technologies Australia, England & the Literature
Conventicle 2013 Digital Technologies Australia, England & the Literature
rebeccavivian300 views
Extreme Apprenticeship Meets Playful Design at Operating System Labs: A Case ... by Rosella Gennari
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 ...
Rosella Gennari565 views
Open lw reference architecture project by Eric Kluijfhout
Open lw reference architecture projectOpen lw reference architecture project
Open lw reference architecture project
Eric Kluijfhout309 views
Student perceptions and attitudes towards the software factory as a learning ... by Muhammad Ahmad
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 ...
Muhammad Ahmad434 views
B.Tech in Robotics & Cyber-Physical Systems- Plaksha University by 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 by Alisa San Pedro
Overview of the field of instructional design andOverview of the field of instructional design and
Overview of the field of instructional design and
Alisa San Pedro478 views
Technology in Mathematics and Science IDT285 by psych369
Technology in Mathematics and Science IDT285Technology in Mathematics and Science IDT285
Technology in Mathematics and Science IDT285
psych369792 views
Gamification of Learning Design Environments (Workshop) by Michael Derntl
Gamification of Learning Design Environments (Workshop)Gamification of Learning Design Environments (Workshop)
Gamification of Learning Design Environments (Workshop)
Michael Derntl5.1K views

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

Landscape of Architecture and Design Patterns for IoT Systems by
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 SystemsHironori Washizaki
609 views13 slides
Software Engineering Patterns for Machine Learning Applications by
Software Engineering Patterns for Machine Learning ApplicationsSoftware Engineering Patterns for Machine Learning Applications
Software Engineering Patterns for Machine Learning ApplicationsHironori Washizaki
666 views29 slides
Software Architecture in an Agile World by
Software Architecture in an Agile WorldSoftware Architecture in an Agile World
Software Architecture in an Agile WorldAbhilash Gopalakrishnan
486 views21 slides
Se research update by
Se research updateSe research update
Se research updateNacha Chondamrongkul
112 views33 slides
Studying Software Engineering Patterns for Designing Machine Learning Systems by
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 SystemsHironori Washizaki
1.1K views16 slides
Iwesep19.ppt by
Iwesep19.pptIwesep19.ppt
Iwesep19.pptYann-Gaël Guéhéneuc
45 views15 slides

Similar to Patterns for New Software Engineering: Machine Learning and IoT Engineering Patterns(20)

Landscape of Architecture and Design Patterns for IoT Systems by Hironori Washizaki
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
Hironori Washizaki609 views
Software Engineering Patterns for Machine Learning Applications by Hironori Washizaki
Software Engineering Patterns for Machine Learning ApplicationsSoftware Engineering Patterns for Machine Learning Applications
Software Engineering Patterns for Machine Learning Applications
Hironori Washizaki666 views
Studying Software Engineering Patterns for Designing Machine Learning Systems by Hironori Washizaki
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
Hironori Washizaki1.1K views
[2015/2016] Software systems engineering PRINCIPLES by Ivano Malavolta
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES
Ivano Malavolta1.3K views
IRJET-Testing Uncertainty of Cyber-Physical Systems in IoT Cloud Infrastructu... by IRJET Journal
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 Journal13 views
Enterprise Architecture Toolkit Overview by Mike Walker
Enterprise Architecture Toolkit OverviewEnterprise Architecture Toolkit Overview
Enterprise Architecture Toolkit Overview
Mike Walker4.5K views
Research Paper On Software Engineering by Pamela Watkins
Research Paper On Software EngineeringResearch Paper On Software Engineering
Research Paper On Software Engineering
Pamela Watkins5 views
Fundamentals Software Architecture by Alison Reed
Fundamentals Software ArchitectureFundamentals Software Architecture
Fundamentals Software Architecture
Alison Reed5 views
The Architecture Of Software Defined Radios Essay by Divya Watson
The Architecture Of Software Defined Radios EssayThe Architecture Of Software Defined Radios Essay
The Architecture Of Software Defined Radios Essay
Divya Watson2 views
SDA 01.pptx by JuttG6
SDA 01.pptxSDA 01.pptx
SDA 01.pptx
JuttG616 views

More from Hironori Washizaki

デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向 by
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向Hironori Washizaki
1.5K views11 slides
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~ by
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~Hironori Washizaki
2.3K views52 slides
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集 by
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集Hironori Washizaki
472 views16 slides
スマートエスイーコンソーシアムの概要と2021年度成果紹介 by
スマートエスイーコンソーシアムの概要と2021年度成果紹介スマートエスイーコンソーシアムの概要と2021年度成果紹介
スマートエスイーコンソーシアムの概要と2021年度成果紹介Hironori Washizaki
1.5K views8 slides
DXの推進において企業内に求められる人材やデジタル人材の育て方 by
DXの推進において企業内に求められる人材やデジタル人材の育て方DXの推進において企業内に求められる人材やデジタル人材の育て方
DXの推進において企業内に求められる人材やデジタル人材の育て方Hironori Washizaki
1.6K views22 slides
対応性のある運用のパターン by
対応性のある運用のパターン対応性のある運用のパターン
対応性のある運用のパターンHironori Washizaki
1.2K views8 slides

More from Hironori Washizaki(20)

デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向 by Hironori Washizaki
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向
Hironori Washizaki1.5K views
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~ by Hironori Washizaki
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
Hironori Washizaki2.3K views
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集 by Hironori Washizaki
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集
Hironori Washizaki472 views
スマートエスイーコンソーシアムの概要と2021年度成果紹介 by Hironori Washizaki
スマートエスイーコンソーシアムの概要と2021年度成果紹介スマートエスイーコンソーシアムの概要と2021年度成果紹介
スマートエスイーコンソーシアムの概要と2021年度成果紹介
Hironori Washizaki1.5K views
DXの推進において企業内に求められる人材やデジタル人材の育て方 by Hironori Washizaki
DXの推進において企業内に求められる人材やデジタル人材の育て方DXの推進において企業内に求められる人材やデジタル人材の育て方
DXの推進において企業内に求められる人材やデジタル人材の育て方
Hironori Washizaki1.6K views
パターンのつながりとAI活用成熟度 by Hironori Washizaki
パターンのつながりとAI活用成熟度パターンのつながりとAI活用成熟度
パターンのつながりとAI活用成熟度
Hironori Washizaki1.2K views
機械学習デザインパターンの必要性と機械学習ライフサイクル by Hironori Washizaki
機械学習デザインパターンの必要性と機械学習ライフサイクル機械学習デザインパターンの必要性と機械学習ライフサイクル
機械学習デザインパターンの必要性と機械学習ライフサイクル
Hironori Washizaki1.3K views
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際) by Hironori Washizaki
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
Hironori Washizaki965 views
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み by Hironori Washizaki
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
Hironori Washizaki1.1K views
機械学習デザインパターン Machine Learning Design Patterns by Hironori Washizaki
機械学習デザインパターン Machine Learning Design Patterns機械学習デザインパターン Machine Learning Design Patterns
機械学習デザインパターン Machine Learning Design Patterns
Hironori Washizaki2.3K views
Smart SE: Recurrent Education Program of IoT and AI for Business by Hironori Washizaki
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
Hironori Washizaki1.2K views
(修正)機械学習デザインパターン(ML Design Patterns)の解説 by Hironori Washizaki
(修正)機械学習デザインパターン(ML Design Patterns)の解説(修正)機械学習デザインパターン(ML Design Patterns)の解説
(修正)機械学習デザインパターン(ML Design Patterns)の解説
Hironori Washizaki10.9K views
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ by Hironori Washizaki
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へパターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
Hironori Washizaki3.1K views
DX 時代の新たなソフトウェア工学に向けて: SWEBOK と SE4BS の挑戦 by Hironori Washizaki
DX 時代の新たなソフトウェア工学に向けて: SWEBOK と SE4BS の挑戦DX 時代の新たなソフトウェア工学に向けて: SWEBOK と SE4BS の挑戦
DX 時代の新たなソフトウェア工学に向けて: SWEBOK と SE4BS の挑戦
Hironori Washizaki1.8K views
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて by Hironori Washizaki
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
Hironori Washizaki811 views
社会やビジネスに新たな価値を生み出すソフトウェア工学 SE4BS(Software Engineering for Business and Society) by Hironori Washizaki
社会やビジネスに新たな価値を生み出すソフトウェア工学 SE4BS(Software Engineering for Business and Society)社会やビジネスに新たな価値を生み出すソフトウェア工学 SE4BS(Software Engineering for Business and Society)
社会やビジネスに新たな価値を生み出すソフトウェア工学 SE4BS(Software Engineering for Business and Society)
Hironori Washizaki460 views
Smart SE: コロナ時代のAI・IoTの社会人オン・オフライン教育 by Hironori Washizaki
Smart SE: コロナ時代のAI・IoTの社会人オン・オフライン教育Smart SE: コロナ時代のAI・IoTの社会人オン・オフライン教育
Smart SE: コロナ時代のAI・IoTの社会人オン・オフライン教育
Hironori Washizaki932 views

Recently uploaded

Introduction to Gradle by
Introduction to GradleIntroduction to Gradle
Introduction to GradleJohn Valentino
6 views7 slides
Benefits in Software Development by
Benefits in Software DevelopmentBenefits in Software Development
Benefits in Software DevelopmentJohn Valentino
5 views15 slides
How to build dyanmic dashboards and ensure they always work by
How to build dyanmic dashboards and ensure they always workHow to build dyanmic dashboards and ensure they always work
How to build dyanmic dashboards and ensure they always workWiiisdom
14 views13 slides
EV Charging App Case by
EV Charging App Case EV Charging App Case
EV Charging App Case iCoderz Solutions
9 views1 slide
Ports-and-Adapters Architecture for Embedded HMI by
Ports-and-Adapters Architecture for Embedded HMIPorts-and-Adapters Architecture for Embedded HMI
Ports-and-Adapters Architecture for Embedded HMIBurkhard Stubert
33 views19 slides
What is API by
What is APIWhat is API
What is APIartembondar5
13 views15 slides

Recently uploaded(20)

How to build dyanmic dashboards and ensure they always work by Wiiisdom
How to build dyanmic dashboards and ensure they always workHow to build dyanmic dashboards and ensure they always work
How to build dyanmic dashboards and ensure they always work
Wiiisdom14 views
Ports-and-Adapters Architecture for Embedded HMI by Burkhard Stubert
Ports-and-Adapters Architecture for Embedded HMIPorts-and-Adapters Architecture for Embedded HMI
Ports-and-Adapters Architecture for Embedded HMI
Burkhard Stubert33 views
Dapr Unleashed: Accelerating Microservice Development by Miroslav Janeski
Dapr Unleashed: Accelerating Microservice DevelopmentDapr Unleashed: Accelerating Microservice Development
Dapr Unleashed: Accelerating Microservice Development
Miroslav Janeski15 views
Bootstrapping vs Venture Capital.pptx by Zeljko Svedic
Bootstrapping vs Venture Capital.pptxBootstrapping vs Venture Capital.pptx
Bootstrapping vs Venture Capital.pptx
Zeljko Svedic15 views
FOSSLight Community Day 2023-11-30 by Shane Coughlan
FOSSLight Community Day 2023-11-30FOSSLight Community Day 2023-11-30
FOSSLight Community Day 2023-11-30
Shane Coughlan7 views
Introduction to Git Source Control by John Valentino
Introduction to Git Source ControlIntroduction to Git Source Control
Introduction to Git Source Control
John Valentino7 views
360 graden fabriek by info33492
360 graden fabriek360 graden fabriek
360 graden fabriek
info33492165 views
Automated Testing of Microsoft Power BI Reports by RTTS
Automated Testing of Microsoft Power BI ReportsAutomated Testing of Microsoft Power BI Reports
Automated Testing of Microsoft Power BI Reports
RTTS10 views
Quality Engineer: A Day in the Life by John Valentino
Quality Engineer: A Day in the LifeQuality Engineer: A Day in the Life
Quality Engineer: A Day in the Life
John Valentino7 views
Navigating container technology for enhanced security by Niklas Saari by Metosin Oy
Navigating container technology for enhanced security by Niklas SaariNavigating container technology for enhanced security by Niklas Saari
Navigating container technology for enhanced security by Niklas Saari
Metosin Oy15 views
How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile... by Stefan Wolpers
How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...
How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...
Stefan Wolpers42 views

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