Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Patterns for New Software
Engineering: Machine Learning and
IoT Engineering Patterns
Hironori Washizaki
Waseda University ...
What is software engineering?
• “Application of systematic, disciplined, quantifiable approach to
development, operation, ...
Vision of SWEBOK 2021 (subject to change)
(Evolution lead: Hironori Washizaki, since 2018-)
https://www.computer.org/volun...
Paradigm shifts in
“new” software engineering
4
Current New
Scope and
perspective
Software systems Software systems, busin...
Example: Deduction and induction
5
Goal Data
Model Behavior
Goal Model Behavior Data
Conventional software: Deduction
ML-b...
New SE needs pattern (language)!
• Bridge between abstract paradigms and
concrete cases/tools
– Verbalizing and documentin...
Problem and goal
• ML and IoT are key enablers of digital transformations.
• Patterns in ML and IoT software design are no...
Classification of IoT design patterns
• Most of IoT design patterns are applicable to any domain
• Many IoT architecture p...
E.g.: IoT Gateway Event Subscription
• Employ a subscription mechanism into the IoT gateway
• Allowing asynchronous and mu...
Classification of ML design patterns
10
Training data
Trained model
Prediction
(inference)
Infrastructure
Input data
Topol...
E.g., Distinguish Business Logic from ML Models
• Separate the business logic and the inference engine, loosely
coupling t...
Summary and future
• Summary
– Paradigm shifts in new software engineering,
especially ML and IoT engineering
– Patterns a...
Upcoming SlideShare
Loading in …5
×
Upcoming SlideShare
What to Upload to SlideShare
Next
Download to read offline and view in fullscreen.

1

Share

Download to read offline

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

Download to read offline

Hironori Washizaki, "Patterns for New Software Engineering: Machine Learning and IoT Engineering Patterns", Keynote, AsianPLoP 2020: 9th Asian Conference on Pattern Languages of Programs, Sep 3rd, 2020.
2 September - 4 September, 2020

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

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

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
  • HninThandarTun1

    Sep. 6, 2020

Hironori Washizaki, "Patterns for New Software Engineering: Machine Learning and IoT Engineering Patterns", Keynote, AsianPLoP 2020: 9th Asian Conference on Pattern Languages of Programs, Sep 3rd, 2020. 2 September - 4 September, 2020

Views

Total views

515

On Slideshare

0

From embeds

0

Number of embeds

5

Actions

Downloads

2

Shares

0

Comments

0

Likes

1

×