SlideShare a Scribd company logo
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

More Related Content

PDF
Rubric-based Assessment of Programming Thinking Skills and Comparative Evalua...
PDF
Analysis of IoT Pattern Descriptions (SERP4IoT 2021)
PPTX
B tech cse syllabus - MITAOE
PDF
Unifying an Introduction to Artificial Intelligence Course ...
PPT
Development of Software for Educational Activities
PDF
A Survey on Using Artificial Intelligence Techniques in the Software Developm...
PPTX
Introduction to Interaction Design Course 2017 (5 ECTS)
PPT
Project MLExAI: Machine Learning Experiences in AI
Rubric-based Assessment of Programming Thinking Skills and Comparative Evalua...
Analysis of IoT Pattern Descriptions (SERP4IoT 2021)
B tech cse syllabus - MITAOE
Unifying an Introduction to Artificial Intelligence Course ...
Development of Software for Educational Activities
A Survey on Using Artificial Intelligence Techniques in the Software Developm...
Introduction to Interaction Design Course 2017 (5 ECTS)
Project MLExAI: Machine Learning Experiences in AI

What's hot (20)

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

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

PDF
Landscape of Architecture and Design Patterns for IoT Systems
PDF
Software Engineering Patterns for Machine Learning Applications
PDF
Machine Learning Software Engineering Patterns and Their Engineering
PDF
AI Software Engineering based on Multi-view Modeling and Engineering Patterns
PDF
Software Architecture in an Agile World
PDF
Se research update
PDF
Studying Software Engineering Patterns for Designing Machine Learning Systems
PDF
PDF
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...
PPTX
Presentation1.pptx
PDF
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
PDF
[2015/2016] Software systems engineering PRINCIPLES
PDF
Demystifying IoT skills : What does it take to become a FullStack IoT engineer?
PDF
Impact of IEEE Computer Society in Advancing Emerging Technologies including ...
PDF
IEEE Computer Society 2024 Technology Predictions Update
PDF
IRJET-Testing Uncertainty of Cyber-Physical Systems in IoT Cloud Infrastructu...
PPTX
Engineering 4.0: Digitization through task automation and reuse
PPTX
Software Architecture and Design
PDF
Impact of IEEE Computer Society in Advancing Software Engineering and Emergin...
PPTX
Understanding and Addressing Architectural Challenges of Cloud- Based Systems
Landscape of Architecture and Design Patterns for IoT Systems
Software Engineering Patterns for Machine Learning Applications
Machine Learning Software Engineering Patterns and Their Engineering
AI Software Engineering based on Multi-view Modeling and Engineering Patterns
Software Architecture in an Agile World
Se research update
Studying Software Engineering Patterns for Designing Machine Learning Systems
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...
Presentation1.pptx
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
[2015/2016] Software systems engineering PRINCIPLES
Demystifying IoT skills : What does it take to become a FullStack IoT engineer?
Impact of IEEE Computer Society in Advancing Emerging Technologies including ...
IEEE Computer Society 2024 Technology Predictions Update
IRJET-Testing Uncertainty of Cyber-Physical Systems in IoT Cloud Infrastructu...
Engineering 4.0: Digitization through task automation and reuse
Software Architecture and Design
Impact of IEEE Computer Society in Advancing Software Engineering and Emergin...
Understanding and Addressing Architectural Challenges of Cloud- Based Systems
Ad

More from Hironori Washizaki (20)

PDF
IEEE-CS Tech Predictions, SWEBOK and Quantum Software: Towards Q-SWEBOK
PDF
鷲崎弘宜, "AI/LLM時代のソフトウェエンジニアリング", 情報学科・専攻協議会 総会・研究会, 早稲田大学, 2025年7月26日
PDF
SWEBOK Guide and Software Services Engineering Education
PDF
Landscape of Requirements Engineering for/by AI through Literature Review
PDF
鷲崎弘宜, "高品質なAIシステムの開発・運用のための"フレームワーク", eAIシンポジウム 2025年1月16日
PDF
AI/IoTをベースにしたDX人材育成の産学連携育成, 愛媛県デジタル人材育成シンポジウム, 2024年12月20日
PDF
コンピューティングおよびソフトウェア工学の潮流: IEEE-CS技術予測&SWEBOK Guideに基づくAI・アジャイル・サステナビリティの展望
PDF
鷲崎弘宜, "機械学習システムの多面的モデリング・パイプライン統合フレームワーク", 第6回 AI/IoTシステム安全性シンポジウム, 2024
PDF
IEEE Software Testing Technology Development Trend
PDF
Opening, 1st International Workshop on Patterns and Practices of Reliable AI ...
PDF
The Global Impact of IEEE Computer Society in Advancing Software Engineering ...
PDF
Overview of ISO/IEC/JTC1 SC7/WG20: Certification of software and systems engi...
PDF
IEEE Computer Society 2025 Vision and Future
PDF
次世代AI時代のトレンドと高信頼AIソフトウェアシステム開発に向けたフレームワーク&パターン
PDF
「スマートエスイー」におけるスマートシステム&サービスおよびDX推進人材の産学連携育成ならびに参照モデルに基づく育成プログラム分析
PDF
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
PDF
SWEBOK and Education at FUSE Okinawa 2024
PDF
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会
PDF
TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用
PDF
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225
IEEE-CS Tech Predictions, SWEBOK and Quantum Software: Towards Q-SWEBOK
鷲崎弘宜, "AI/LLM時代のソフトウェエンジニアリング", 情報学科・専攻協議会 総会・研究会, 早稲田大学, 2025年7月26日
SWEBOK Guide and Software Services Engineering Education
Landscape of Requirements Engineering for/by AI through Literature Review
鷲崎弘宜, "高品質なAIシステムの開発・運用のための"フレームワーク", eAIシンポジウム 2025年1月16日
AI/IoTをベースにしたDX人材育成の産学連携育成, 愛媛県デジタル人材育成シンポジウム, 2024年12月20日
コンピューティングおよびソフトウェア工学の潮流: IEEE-CS技術予測&SWEBOK Guideに基づくAI・アジャイル・サステナビリティの展望
鷲崎弘宜, "機械学習システムの多面的モデリング・パイプライン統合フレームワーク", 第6回 AI/IoTシステム安全性シンポジウム, 2024
IEEE Software Testing Technology Development Trend
Opening, 1st International Workshop on Patterns and Practices of Reliable AI ...
The Global Impact of IEEE Computer Society in Advancing Software Engineering ...
Overview of ISO/IEC/JTC1 SC7/WG20: Certification of software and systems engi...
IEEE Computer Society 2025 Vision and Future
次世代AI時代のトレンドと高信頼AIソフトウェアシステム開発に向けたフレームワーク&パターン
「スマートエスイー」におけるスマートシステム&サービスおよびDX推進人材の産学連携育成ならびに参照モデルに基づく育成プログラム分析
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
SWEBOK and Education at FUSE Okinawa 2024
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会
TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225

Recently uploaded (20)

PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
System and Network Administraation Chapter 3
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPTX
ISO 45001 Occupational Health and Safety Management System
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Introduction to Artificial Intelligence
PPT
Introduction Database Management System for Course Database
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Understanding Forklifts - TECH EHS Solution
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
System and Network Administration Chapter 2
PPTX
L1 - Introduction to python Backend.pptx
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Nekopoi APK 2025 free lastest update
PDF
Digital Strategies for Manufacturing Companies
PDF
How Creative Agencies Leverage Project Management Software.pdf
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
System and Network Administraation Chapter 3
How to Choose the Right IT Partner for Your Business in Malaysia
ISO 45001 Occupational Health and Safety Management System
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Adobe Illustrator 28.6 Crack My Vision of Vector Design
VVF-Customer-Presentation2025-Ver1.9.pptx
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Introduction to Artificial Intelligence
Introduction Database Management System for Course Database
Softaken Excel to vCard Converter Software.pdf
Understanding Forklifts - TECH EHS Solution
2025 Textile ERP Trends: SAP, Odoo & Oracle
System and Network Administration Chapter 2
L1 - Introduction to python Backend.pptx
How to Migrate SBCGlobal Email to Yahoo Easily
Nekopoi APK 2025 free lastest update
Digital Strategies for Manufacturing Companies
How Creative Agencies Leverage Project Management Software.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