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
Rubric-based Assessment of Programming Thinking Skills and Comparative Evalua...Hironori Washizaki
Hironori Washizaki, "Rubric-based Assessment of Programming Thinking Skills and Comparative Evaluation of Introductory Programming Environments," 4th International Annual Meeting on STEM Education (IAMSTEM 2021), Keynote, August 12-14, 2021, Keelung, Taiwan and Online
Hironori Washizaki, Atsuo Hazeyama, Takao Okubo, Hideyuki Kanuka, Shinpei Ogata, Nobukazu Yoshioka, “Analysis of IoT Pattern Descriptions,” 2021 IEEE/ACM 3rd International Workshop on Software Engineering Research and Practices for the IoT (SERP4IoT 2021) , co-located with the 43rd ACM/IEEE International Conference on Software Engineering (ICSE 2021), June 3, 2021, online.
"MITAOE is one of the Top Engineering Institute in Pune, Maharashtra. Here you will get detail information about B Tech CSE Syllabus/Curriculum."
To know more, visit: http://mitaoe.ac.in/school-of-computer-engineering-and-technology-comp-bachelor-course-structure.php
A Survey on Using Artificial Intelligence Techniques in the Software Developm...IJERA Editor
Software engineering and artificial intelligence are the two important fields of the computer science. Artificial Intelligence is about making machines intelligent, while Software engineering is knowledge –intensive activity, requiring extensive knowledge of the application domain and of the target software itself. This study intends to review the techniques developed in artificial intelligence from the standpoint of their application in software engineering. The goal of this research paper is to give some guidelines to use the artificial intelligence techniques that can be applied in solving problems associated with software engineering processes. The aim of this paper is to find out the exact AI technique is likely to be fruitful for particular software development process
Rubric-based Assessment of Programming Thinking Skills and Comparative Evalua...Hironori Washizaki
Hironori Washizaki, "Rubric-based Assessment of Programming Thinking Skills and Comparative Evaluation of Introductory Programming Environments," 4th International Annual Meeting on STEM Education (IAMSTEM 2021), Keynote, August 12-14, 2021, Keelung, Taiwan and Online
Hironori Washizaki, Atsuo Hazeyama, Takao Okubo, Hideyuki Kanuka, Shinpei Ogata, Nobukazu Yoshioka, “Analysis of IoT Pattern Descriptions,” 2021 IEEE/ACM 3rd International Workshop on Software Engineering Research and Practices for the IoT (SERP4IoT 2021) , co-located with the 43rd ACM/IEEE International Conference on Software Engineering (ICSE 2021), June 3, 2021, online.
"MITAOE is one of the Top Engineering Institute in Pune, Maharashtra. Here you will get detail information about B Tech CSE Syllabus/Curriculum."
To know more, visit: http://mitaoe.ac.in/school-of-computer-engineering-and-technology-comp-bachelor-course-structure.php
A Survey on Using Artificial Intelligence Techniques in the Software Developm...IJERA Editor
Software engineering and artificial intelligence are the two important fields of the computer science. Artificial Intelligence is about making machines intelligent, while Software engineering is knowledge –intensive activity, requiring extensive knowledge of the application domain and of the target software itself. This study intends to review the techniques developed in artificial intelligence from the standpoint of their application in software engineering. The goal of this research paper is to give some guidelines to use the artificial intelligence techniques that can be applied in solving problems associated with software engineering processes. The aim of this paper is to find out the exact AI technique is likely to be fruitful for particular software development process
Please find more information about the program and fees here:
https://www.theiotacademy.co/applied-data-science-with-python-certification-program
Please complete your registration online here:
http://eict.iitr.ac.in/DS3march2021.html
Learning Technology for Improving Teaching Quality at ScaleKhalid Md Saifuddin
Scale teaching methods for both physical and digital teaching environments to a higher number of students via digital learning technology and a combination of face2face learning, student-driven learning and digital learning technology.
Experience API recipes/visualization services are free for education institutions, partners are welcome
Contact: mlearning@classroomaid.org
See detailed features list:
http://classroom-aid.com/xapi-and-analytics-services/
Please cite as: Haines, Karen (2007). "
The heat stays on: Supporting ongoing CALL education for teachers". Paper given at CALL symposium, Unitec, NZ on the 18-19 May 2007.
Extreme Apprenticeship Meets Playful Design at Operating System Labs: A Case ...Rosella Gennari
The extreme apprenticeship instructional methodology, recently born in Scandinavia, serves to organise education in formal contexts, such as university courses. The fundamental idea is that a new task is learned by apprentices, looking at the master who is performing it, and then repeating the task under his or her guidance. Continuous feedback and learning by doing are key principles of extreme apprenticeship. However, in e-learning contexts, the direct contact with the master may be missing. Then engagement of students with learning material becomes a challenging goal to achieve when designing the material. In this paper, we see how extreme apprenticeship and playful design were combined for designing the learning material of the laboratories of a traditionally `boring' university course, namely, operating systems. A preliminary analytic evaluation concludes the paper showing the viability of the blended approach.
Student perceptions and attitudes towards the software factory as a learning ...Muhammad Ahmad
Industry needs graduates from universities having knowledge and skills to tackle the practical issues of real life software development. To facilitate software engineering students and fulfill industry need, the Department of Information Processing Science, University of Oulu, Finland, built a Software Factory laboratory (SWF) in 2012 based on Lean concept. This study examines factors in the SWF learning environment that affect learning of a SWF course by the students. It employs amended Computer laboratory Environment Inventory (CLEI) and Attitude towards Computers and Computing Courses Questionnaire instrument (ACCC) with two additional constructs: 1) Kanban board 2) Collaborative learning. The general findings indicate that SWF learning environment, collaborative learning and Kanban board play important role in software engineering students learning, academic achievements and professional skills gaining. The findings are helpful to develop a better understanding about learning environments. The information gathered in this study can also be used to improve the software engineering learning environment.
B.Tech in Robotics & Cyber-Physical Systems- Plaksha UniversityPlaksha University
In this course, students will be introduced to classical mechanics, quantum mechanics, statistical mechanics, and connections to engineering thermodynamics. Molecular origin of macroscopic descriptions and constitutive relations for equilibrium and non-equilibrium behavior; fluctuations, kinetics, and limitations of macroscopic descriptions. Macroscale continuum origin of lumped models: ‘through’ and ‘across’ variables for analysis of electrical, mechanical, structural, thermal, acoustic, and fluidic systems.
Materials for introduction to adaptive learning and learning analytics as well as efforts of interoperability standardization. This slides treats brief concept of adaptive learning, reference model of learning analytics, data APIs for learning analytics, and topic list of standardization community (ISO/IEC JTC1 SC36).
Landscape of Architecture and Design Patterns for IoT SystemsHironori Washizaki
Hironori Washizaki, Shinpei Ogata, Atsuo Hazeyama, Takao Okubo, Eduardo B. Fernandez and Nobukazu Yoshioka, "Landscape of Architecture and Design Patterns for IoT Systems," 2nd International Workshop on Software Engineering Research & Practices for the Internet of Things (SERP4IoT 2020), Colocated with the 42st ACM/IEEE International Conference on Software Engineering (ICSE 2020)
Software Engineering Patterns for Machine Learning ApplicationsHironori Washizaki
Hironori Washizaki, Software Engineering Patterns for Machine Learning Applications, 2021 IEEE International Conference on Electronic Technology, Communication and Information (ICETCI 2021), Keynote, August 28, Online, 2021.
Please find more information about the program and fees here:
https://www.theiotacademy.co/applied-data-science-with-python-certification-program
Please complete your registration online here:
http://eict.iitr.ac.in/DS3march2021.html
Learning Technology for Improving Teaching Quality at ScaleKhalid Md Saifuddin
Scale teaching methods for both physical and digital teaching environments to a higher number of students via digital learning technology and a combination of face2face learning, student-driven learning and digital learning technology.
Experience API recipes/visualization services are free for education institutions, partners are welcome
Contact: mlearning@classroomaid.org
See detailed features list:
http://classroom-aid.com/xapi-and-analytics-services/
Please cite as: Haines, Karen (2007). "
The heat stays on: Supporting ongoing CALL education for teachers". Paper given at CALL symposium, Unitec, NZ on the 18-19 May 2007.
Extreme Apprenticeship Meets Playful Design at Operating System Labs: A Case ...Rosella Gennari
The extreme apprenticeship instructional methodology, recently born in Scandinavia, serves to organise education in formal contexts, such as university courses. The fundamental idea is that a new task is learned by apprentices, looking at the master who is performing it, and then repeating the task under his or her guidance. Continuous feedback and learning by doing are key principles of extreme apprenticeship. However, in e-learning contexts, the direct contact with the master may be missing. Then engagement of students with learning material becomes a challenging goal to achieve when designing the material. In this paper, we see how extreme apprenticeship and playful design were combined for designing the learning material of the laboratories of a traditionally `boring' university course, namely, operating systems. A preliminary analytic evaluation concludes the paper showing the viability of the blended approach.
Student perceptions and attitudes towards the software factory as a learning ...Muhammad Ahmad
Industry needs graduates from universities having knowledge and skills to tackle the practical issues of real life software development. To facilitate software engineering students and fulfill industry need, the Department of Information Processing Science, University of Oulu, Finland, built a Software Factory laboratory (SWF) in 2012 based on Lean concept. This study examines factors in the SWF learning environment that affect learning of a SWF course by the students. It employs amended Computer laboratory Environment Inventory (CLEI) and Attitude towards Computers and Computing Courses Questionnaire instrument (ACCC) with two additional constructs: 1) Kanban board 2) Collaborative learning. The general findings indicate that SWF learning environment, collaborative learning and Kanban board play important role in software engineering students learning, academic achievements and professional skills gaining. The findings are helpful to develop a better understanding about learning environments. The information gathered in this study can also be used to improve the software engineering learning environment.
B.Tech in Robotics & Cyber-Physical Systems- Plaksha UniversityPlaksha University
In this course, students will be introduced to classical mechanics, quantum mechanics, statistical mechanics, and connections to engineering thermodynamics. Molecular origin of macroscopic descriptions and constitutive relations for equilibrium and non-equilibrium behavior; fluctuations, kinetics, and limitations of macroscopic descriptions. Macroscale continuum origin of lumped models: ‘through’ and ‘across’ variables for analysis of electrical, mechanical, structural, thermal, acoustic, and fluidic systems.
Materials for introduction to adaptive learning and learning analytics as well as efforts of interoperability standardization. This slides treats brief concept of adaptive learning, reference model of learning analytics, data APIs for learning analytics, and topic list of standardization community (ISO/IEC JTC1 SC36).
Landscape of Architecture and Design Patterns for IoT SystemsHironori Washizaki
Hironori Washizaki, Shinpei Ogata, Atsuo Hazeyama, Takao Okubo, Eduardo B. Fernandez and Nobukazu Yoshioka, "Landscape of Architecture and Design Patterns for IoT Systems," 2nd International Workshop on Software Engineering Research & Practices for the Internet of Things (SERP4IoT 2020), Colocated with the 42st ACM/IEEE International Conference on Software Engineering (ICSE 2020)
Software Engineering Patterns for Machine Learning ApplicationsHironori Washizaki
Hironori Washizaki, Software Engineering Patterns for Machine Learning Applications, 2021 IEEE International Conference on Electronic Technology, Communication and Information (ICETCI 2021), Keynote, August 28, Online, 2021.
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
Hironori Washizaki, "Machine Learning Software Engineering Patterns and Their Engineering," 2nd International Workshop on Responsible AI Engineering (RAIE’24), Keynote, Lisbon, April 16th, 2024.
Software Architecture and the role of the Architect has been discussed and deliberated in detail. Architecture still plays major role in success of projects. While the fundamentals remain strong, how architects can contribute in teams success while in agile is an ongoing journey. As the team member endowed with skills and wisdom acquired over the experience frame, we argue Architects are best positioned to prepare a road-map of architectural aspects and participate in planning together with product owners and release owners thus enabling a more meaningful planning and guidance system. Based on Risk and Cost Based Architecture concept by Eltjo Poort and based on CAFFEA framework by Jan Bosch and team, we applied it in projects which led to seeing it as a six stepped approach described in the slides.
Studying Software Engineering Patterns for Designing Machine Learning SystemsHironori Washizaki
Hironori Washizaki, Hiromu Uchida, Foutse Khomh and Yann-Gaël Guéhéneuc, “Studying Software Engineering Patterns for Designing Machine Learning Systems,” The 10th International Workshop on Empirical Software Engineering in Practice (IWESEP 2019), Tokyo, Japan, on December 13-14, 2019.
[2015/2016] Software systems engineering PRINCIPLESIvano Malavolta
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
India Electronics Week (IEW) is the flagship annual IoT conference held in Bengaluru which unities the entire electronics industry. This is an annual event, where exhibitors, innovators, designers, manufacturers or sellers presenting electronic products meet and explore potential possibilities. This event includes exposition, conference, workshops and seminars in IoT and embedded product development. In IEW conference exposes students, industry experts, researchers and business owners to the smarter world of electronics. Statistically it attracts 100+ plus speakers, 10000+ plus visitors and 150+ exhibitors.This year India Electronics Week 2019 conference will be held in Bengaluru from 26th to 28th February 2019. This conference is organized by country’s leading electronics media – Electronics For You.
From Emertxe we delivered a talk titled "Demystifying IoT skills : What does it take to become a FullStack IoT engineer?".IoT has somehow become the "six blind men" story where everyone is intrepreting in their own perspective. Some may say IoT as "old wine in a new bottle" others may say "it is the next big thing".
Given this scenario, as an electronics / embedded / core engineer, the challenge is always been:
How to intrepret IoT from skills perspective?
What additional skills an electronics engineer should have in order to have a career in this domain?
How different Embedded and IoT job profiles are?
What role protocols play in IoT?
The proposed talk is based on our years of market research and delivering IoT based education programs for various customer segments - Fresh Engineers, Corporate Organizations and Working professionals.
Understanding and Addressing Architectural Challenges of Cloud- Based SystemsCREST
Some key takeaways from this presentation are listed below:
Software Architecture Plays a Vital Role in
Design and Evolution of Cloud-Based Systems
• Rapid Adoption of Cloud Computing has Created
Huge Gap in Software Architecture Design
Knowledge that can Result in Technical Debts
• Dozens of Architectural Related Challenges in
Designing & Evaluating Cloud-Based Systems
• Systematically Building and Leveraging
Architectural Design Knowledge is Important for
Developing on or Migrating to Clouds
This course provides an introduction in concepts, challenges, and recent developments around the IoT and M2M. The students will be exposed to the fundamental issues that arise in the operation, design and management of IoT networks.
Takashi Kobayashi and Hironori Washizaki, "SWEBOK Guide and Future of SE Education," First International Symposium on the Future of Software Engineering (FUSE), June 3-6, 2024, Okinawa, Japan
Smart SE: Recurrent Education Program of IoT and AI for BusinessHironori Washizaki
Hironori Washizaki, "Smart SE: Recurrent Education Program of IoT and AI for Business," 2021 IEEE International Conference on Educational Technology (ICET), Keynote, Online, June 20, 2021.
In software engineering, the right architecture is essential for robust, scalable platforms. Wix has undergone a pivotal shift from event sourcing to a CRUD-based model for its microservices. This talk will chart the course of this pivotal journey.
Event sourcing, which records state changes as immutable events, provided robust auditing and "time travel" debugging for Wix Stores' microservices. Despite its benefits, the complexity it introduced in state management slowed development. Wix responded by adopting a simpler, unified CRUD model. This talk will explore the challenges of event sourcing and the advantages of Wix's new "CRUD on steroids" approach, which streamlines API integration and domain event management while preserving data integrity and system resilience.
Participants will gain valuable insights into Wix's strategies for ensuring atomicity in database updates and event production, as well as caching, materialization, and performance optimization techniques within a distributed system.
Join us to discover how Wix has mastered the art of balancing simplicity and extensibility, and learn how the re-adoption of the modest CRUD has turbocharged their development velocity, resilience, and scalability in a high-growth environment.
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
Traditional software testing methods are being challenged in retail, where customer expectations and technological advancements continually shape the landscape. Enter generative AI—a transformative subset of artificial intelligence technologies poised to revolutionize software testing.
Accelerate Enterprise Software Engineering with PlatformlessWSO2
Key takeaways:
Challenges of building platforms and the benefits of platformless.
Key principles of platformless, including API-first, cloud-native middleware, platform engineering, and developer experience.
How Choreo enables the platformless experience.
How key concepts like application architecture, domain-driven design, zero trust, and cell-based architecture are inherently a part of Choreo.
Demo of an end-to-end app built and deployed on Choreo.
top nidhi software solution freedownloadvrstrong314
This presentation emphasizes the importance of data security and legal compliance for Nidhi companies in India. It highlights how online Nidhi software solutions, like Vector Nidhi Software, offer advanced features tailored to these needs. Key aspects include encryption, access controls, and audit trails to ensure data security. The software complies with regulatory guidelines from the MCA and RBI and adheres to Nidhi Rules, 2014. With customizable, user-friendly interfaces and real-time features, these Nidhi software solutions enhance efficiency, support growth, and provide exceptional member services. The presentation concludes with contact information for further inquiries.
How Recreation Management Software Can Streamline Your Operations.pptxwottaspaceseo
Recreation management software streamlines operations by automating key tasks such as scheduling, registration, and payment processing, reducing manual workload and errors. It provides centralized management of facilities, classes, and events, ensuring efficient resource allocation and facility usage. The software offers user-friendly online portals for easy access to bookings and program information, enhancing customer experience. Real-time reporting and data analytics deliver insights into attendance and preferences, aiding in strategic decision-making. Additionally, effective communication tools keep participants and staff informed with timely updates. Overall, recreation management software enhances efficiency, improves service delivery, and boosts customer satisfaction.
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
We explore the Globus Connect Server (GCS) architecture and experiment with advanced configuration options and use cases. This content is targeted at system administrators who are familiar with GCS and currently operate—or are planning to operate—broader deployments at their institution.
Unleash Unlimited Potential with One-Time Purchase
BoxLang is more than just a language; it's a community. By choosing a Visionary License, you're not just investing in your success, you're actively contributing to the ongoing development and support of BoxLang.
Into the Box Keynote Day 2: Unveiling amazing updates and announcements for modern CFML developers! Get ready for exciting releases and updates on Ortus tools and products. Stay tuned for cutting-edge innovations designed to boost your productivity.
Experience our free, in-depth three-part Tendenci Platform Corporate Membership Management workshop series! In Session 1 on May 14th, 2024, we began with an Introduction and Setup, mastering the configuration of your Corporate Membership Module settings to establish membership types, applications, and more. Then, on May 16th, 2024, in Session 2, we focused on binding individual members to a Corporate Membership and Corporate Reps, teaching you how to add individual members and assign Corporate Representatives to manage dues, renewals, and associated members. Finally, on May 28th, 2024, in Session 3, we covered questions and concerns, addressing any queries or issues you may have.
For more Tendenci AMS events, check out www.tendenci.com/events
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTier1 app
Even though at surface level ‘java.lang.OutOfMemoryError’ appears as one single error; underlyingly there are 9 types of OutOfMemoryError. Each type of OutOfMemoryError has different causes, diagnosis approaches and solutions. This session equips you with the knowledge, tools, and techniques needed to troubleshoot and conquer OutOfMemoryError in all its forms, ensuring smoother, more efficient Java applications.
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
As part of the DOE Integrated Research Infrastructure (IRI) program, NERSC at Lawrence Berkeley National Lab and ALCF at Argonne National Lab are working closely with General Atomics on accelerating the computing requirements of the DIII-D experiment. As part of the work the team is investigating ways to speedup the time to solution for many different parts of the DIII-D workflow including how they run jobs on HPC systems. One of these routes is looking at Globus Compute as a way to replace the current method for managing tasks and we describe a brief proof of concept showing how Globus Compute could help to schedule jobs and be a tool to connect compute at different facilities.
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
Unlocking Business Potential: Tailored Technology Solutions by Prosigns
Discover how Prosigns, a leading technology solutions provider, partners with businesses to drive innovation and success. Our presentation showcases our comprehensive range of services, including custom software development, web and mobile app development, AI & ML solutions, blockchain integration, DevOps services, and Microsoft Dynamics 365 support.
Custom Software Development: Prosigns specializes in creating bespoke software solutions that cater to your unique business needs. Our team of experts works closely with you to understand your requirements and deliver tailor-made software that enhances efficiency and drives growth.
Web and Mobile App Development: From responsive websites to intuitive mobile applications, Prosigns develops cutting-edge solutions that engage users and deliver seamless experiences across devices.
AI & ML Solutions: Harnessing the power of Artificial Intelligence and Machine Learning, Prosigns provides smart solutions that automate processes, provide valuable insights, and drive informed decision-making.
Blockchain Integration: Prosigns offers comprehensive blockchain solutions, including development, integration, and consulting services, enabling businesses to leverage blockchain technology for enhanced security, transparency, and efficiency.
DevOps Services: Prosigns' DevOps services streamline development and operations processes, ensuring faster and more reliable software delivery through automation and continuous integration.
Microsoft Dynamics 365 Support: Prosigns provides comprehensive support and maintenance services for Microsoft Dynamics 365, ensuring your system is always up-to-date, secure, and running smoothly.
Learn how our collaborative approach and dedication to excellence help businesses achieve their goals and stay ahead in today's digital landscape. From concept to deployment, Prosigns is your trusted partner for transforming ideas into reality and unlocking the full potential of your business.
Join us on a journey of innovation and growth. Let's partner for success with Prosigns.
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Shahin Sheidaei
Games are powerful teaching tools, fostering hands-on engagement and fun. But they require careful consideration to succeed. Join me to explore factors in running and selecting games, ensuring they serve as effective teaching tools. Learn to maintain focus on learning objectives while playing, and how to measure the ROI of gaming in education. Discover strategies for pitching gaming to leadership. This session offers insights, tips, and examples for coaches, team leads, and enterprise leaders seeking to teach from simple to complex concepts.
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
The Earth System Grid Federation (ESGF) is a global network of data servers that archives and distributes the planet’s largest collection of Earth system model output for thousands of climate and environmental scientists worldwide. Many of these petabyte-scale data archives are located in proximity to large high-performance computing (HPC) or cloud computing resources, but the primary workflow for data users consists of transferring data, and applying computations on a different system. As a part of the ESGF 2.0 US project (funded by the United States Department of Energy Office of Science), we developed pre-defined data workflows, which can be run on-demand, capable of applying many data reduction and data analysis to the large ESGF data archives, transferring only the resultant analysis (ex. visualizations, smaller data files). In this talk, we will showcase a few of these workflows, highlighting how Globus Flows can be used for petabyte-scale climate analysis.
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfJay Das
With the advent of artificial intelligence or AI tools, project management processes are undergoing a transformative shift. By using tools like ChatGPT, and Bard organizations can empower their leaders and managers to plan, execute, and monitor projects more effectively.
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.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