SlideShare ist ein Scribd-Unternehmen logo
1 von 43
© Fraunhofer
Pankesh Patel
SOFTWARE TOOLS FOR BUILDING INDUSTY 4.0
APPLICATIONS
© Fraunhofer 2
n Motivation
n Industry 4.0 Challenges
n Our approach
n Middleware
n Rapid Application development tools
n Technology and Tools
n Node-RED
n SMEWB
n IoTSuite
n Summary and Q&A
Agenda
© Fraunhofer 3
Industry 4.0 challenges
Fragmentation
Complexity
Lock-in
Slide source: https://bit.ly/2OcsLLH
© Fraunhofer 4
n Sensor Protocols
n CANBus
n OPC-UA
n MODBus
n BLE
Fragmentation
n Hardware
n ABB
n Siemens
n Intel
n Standards
n IIC
n oneM2M
n IEEE
n Protocols to
cloud
n MQTT
n CoAP
n AMQP
n HTTP(s)
Slide source: https://bit.ly/2OcsLLH
© Fraunhofer 5
n Multiple domain
n Domain
n Network
n Functional
Complexity
n Integration
n Heterogeneous
environment
n Security
n Data
n Sensor
n Network
n Maintenance
n Deployment
n Install
n Configuration
n Scale
n Large number
Slide source: https://bit.ly/2OcsLLH
© Fraunhofer 6
n Platform
Lock-in
n Hardware n Protocol(s)
n Format
n Communication
Slide source: https://bit.ly/2OcsLLH
© Fraunhofer 7
Embracing Industry 4.0 complexity
Slide source: https://bit.ly/2OcsLLH
Business
Applications
Sensors,
Actuators,
Displays, …
?
@
How to accelerate the overall Industry 4.0 development process?
© Fraunhofer 8
Addressing Industry 4.0 challenges
Fragmentation
Complexity
Lock-in
OPEN, STANDARD, SOLID ARCHITECTURES
✔
✔
✔
Slide source: https://bit.ly/2OcsLLH
© Fraunhofer 9
Approach
Business
Applications
@
Integration Platform
@
Rapid prototyping tools
Sensors, Actuators,
HMI, SCADA, PLC
Image reference: https://bit.ly/2OcsLLH
© Fraunhofer 10
Brownfield vs Greenfield approach
Image source: https://iot.eclipse.org/white-papers/
© Fraunhofer 11
State of the art – Industry 4.0 application development
Programming
Languages
Rapid prototyping tools
Cloud
- Full control on AL (app logic)
- More development effort
- Reduce development effort
- Platform-specific design (Language, Runtime)
- Reduce development effort, ease of deployment & evolution (due
to centralized system)
- Cloud-dependent design
© Fraunhofer 12
n Open source tools (https://github.com/node-red)
n Flow-based programming
n Browser-based flow editor
n Invented by IBM for wiring hardware devices, APIs and online services
n Light-weight runtime such as Node.js
n Ideal to run on edge devices
n Over 2500+ ready-to-use nodes/flows
n https://flows.nodered.org/
Rapid prototyping tool – Node-RED
Reference: https://nodered.org/
© Fraunhofer 13
Node-Red Editor
Image source: https://bit.ly/2NvRR38
© Fraunhofer 14
Integration – enhancing existing services
Node-RED
Cloud services
Desktop
Mobile App
Enterprise
network
Industrial devices
Reference: https://bit.ly/2xwj0xP Icon source : https://thenounproject.com/
© Fraunhofer 15
Example: Node-RED integration with Freeboard
Image source: https://bit.ly/2NvRR38
Freeboard (https://freeboard.io/)
- Data visualization based service
© Fraunhofer
Brownfield approach
SUBJECT MATTER EXPERT WORKBENCH
© Fraunhofer 17
n Objectives
n To create, reuse, and deploy analytic algorithms in ABB products and solutions
with little or no additional coding.
n Subject Matter Experts (SMEs) – domain expertise but very little programming
experience
n Assignee : ABB Corporate Research
n Reference
n Karen Smiley, Pankesh Patel, Jeff Harding “From Ideas to Implementations: Closing the Gaps between
Technical Experts and Software Solutions”, CSED Workshop, ICSE 2016.
General background
© Fraunhofer 18
n ABB - industrial sensors, industrial robots, process control systems, etc.
n Blending business solutions with industrial analytics that incorporate deep
knowledge of ABB’s technical SMEs on equipment and verticals
Motivation and Context
© Fraunhofer 19
n Accelerate creation, reuse, evolution and delivery of
analytic module plugins
n Minimize SME (Subject Matter Expert) effort to
share, evolve and reuse knowledge
n Accelerate integration of analytics into ABB systems
and solutions
n Minimize business value of knowledge for ABB
customers
Key goals
© Fraunhofer 20
The old lifecycle: solution development
Installation
and
Configuration
of Integrated
Solution
Run Time!
Customer/User
Solution Development
(Application Engineering)
Full Software Development
Lifecycle
Solution
Solution
Development Team
• Typical solution development scenario:
Solution Development Team work across the
full development life cycle
© Fraunhofer 21
The old lifecycle: solution & analytic development
Installation
and
Configuration
of Integrated
Solution
Run Time!
Customer/User
Solution Development
(Application Engineering)
Full Software Development
Lifecycle
Solution
Solution
Development Team
Subject Matter
Experts (SMEs) Analytic Module
Development
Blending business solutions and analytics, SMEs write application logic in a flowchart diagram and hire a
developer. The developer iterate with SMEs to get the logic right.
© Fraunhofer 22
The old lifecycle: integrating analytics into solutions
Installation
and
Configuration
of Integrated
Solution
Run Time!
Customer/User
Solution Development
(Application Engineering)
Full Software Development
Lifecycle
Solution
Solution
Development Team
Subject Matter
Experts (SMEs) Analytic Module
Development
Analytic Module
integration & validation
Validation of integrated
solution
To integrate the analytic module into a solution, the developer iterate with the solution team until they
get it working
© Fraunhofer 23
The old lifecycle: integrating analytics into solutions
Installation
and
Configuration
of Integrated
Solution
Run Time!
Customer/User
Solution Development
(Application Engineering)
Full Software Development
Lifecycle
Solution
Solution
Development Team
Subject Matter
Experts (SMEs) Analytic Module
Development
Analytic Module
integration & validation
Validation of integrated
solution
Months Later
© Fraunhofer 24
The old lifecycle: integrating analytics into solutions
Installation
and
Configuration
of Integrated
Solution
Run Time!
Customer/User
Solution Development
(Application Engineering)
Full Software Development
Lifecycle
Solution
Solution
Development Team
Subject Matter
Experts (SMEs) Analytic Module
Development
Analytic Module
integration & validation
Validation of integrated
solution
Decouple Solutions & Analytics
Empower SMEs as end-user developer
© Fraunhofer 25
n Drag & Drop to develop analytic modules,
n Reuse existing models from a catalog / MATLAB
Creating an analytic model using SME Workbench
© Fraunhofer 26
Deploying an analytic model
Analytic module integration is supported via
solution-specific SME Workbench extensions
© Fraunhofer
Greenfield approach
IOTSUITE: A TOOLKIT FOR PROTOTYPING INTERENT OF
THINGS APPLICATIONS
© Fraunhofer 28
Motivation
Different types of devices,
Platforms, Runtime systems
Heterogeneity
Node-centric programming
- Large number of devices
© Fraunhofer 29
n Separation of Concerns (reusability)
n Integration of existing DSL (reduce
complexity & effort)
n Automation wherever possible (reduce
effort)
n Macroprogramming
Our approach
Code generators
PIM
PSM
Node
PSM
…
C1 C2 Cn
…
Horizontal Separation of
Concerns
Vertical Separation of
Concerns
PIM – Platform Independent Model
PSM – Platform Specific Model
© Fraunhofer 30
IoTSuite: Overview
Domain Spec. Functional
Spec.
Deployment Spec.
Compiler Deployment Module
Generated Programming
Framework (GPL)
Android
Packages
Node.js
Packages
Java
Packages
Developer
Developer
Application
Logic (GPL)
Sensing/Actuating
Framework
© Fraunhofer 31
IoTSuite Code Editor
Syntax Coloring
IoTSuite Project
Outline / Structure View
Code Folding
Auto Completion
Error Checking
© Fraunhofer 32
IoTSuite architecture framework
Generated Architecture
Framework
Framework to write
application logic
Developer implements
interfaces in GPL to write
application logic
© Fraunhofer 33
IoTSuite User interaction generated framework
Generated User
Interaction Framework
Developer implements
interfaces in GPL to write user
interface logic
© Fraunhofer 34
IoTSuite user interaction framework
Developer implements widgets
for User interface
Android Widgets
© Fraunhofer 35
IoTSuite deployment packages
Deployment Packages
for Android Platform
Deployment Packages
for Java Platform
Deployment Packages
for Node.js Platform
PackageName = [Implementation Platform] [DeviceName][“Device”]
Example: [NodeJS][TemperatureMgmt][“Device”]
© Fraunhofer 36
IoTSuite: Platform Independent
Parser
Code generator
IoTSuite
Domain Spec. Architecture Spec. Deployment Spec.
JavaSE Android Node Python Other
System specification
(Platform independent)
Adding a new platform
as a plugin
Code generation of a
framework in a target
platform
ANTLR, a parser
generator from a
grammar
StringTemplate, a
template engine for
generating source
code
© Fraunhofer 37
IoTSuite: Platform independent
Runtime System
Device
Middleware wrapper
Generated code
For Device X
It runs on each individual device & provide
support for executing distributed tasks.
IoTSuite generates code for a device
It plugs “generated code for a device” & runtime
system. It implements interface specified in a
support library, specific to a runtime system.
Support for MQTT & iBICOOP,
© Fraunhofer 38
n Industry 4.0 software development challenges
n Fragmentation, Complexity, Lock-in
n Approach
n Middleware to abstract complexity
n Rapid application development tools to speed up innovation, prototypig
n Industry 4.0 technologies
n Node-RED – rapid prototyping toolset
n SMEWB - Closing the Gaps between Technical Experts and Software Solutions
n IoTSuite – a toolkit for prototyping Industry 4.0 applications
Summary
© Fraunhofer
THANK YOU FOR YOUR ATTENTION
Questions?
© Fraunhofer 40
Contact…
Pankesh Patel, PhD
Senior Research Scientist,
Fraunhofer USA/ Center for Experimental Software Engineering (CESE),
College Park, Maryland, USA.
Mobile: +1 240-302-3609, Fax: 240 487 2960
Email: ppatel@fc-md.umd.edu / ppatel@cese.fraunhofer.org
© Fraunhofer 41
Example: reading data from sensors
var sensorLib = require('node-dht-sensor');
var mqtt=require('mqtt');
var client=mqtt.connect('mqtt://test.mosquitto.org:1883');
var sensor = {
initialize: function () {
// here GPIO4 means pin7 and DHT22 type of sensor
return sensorLib.initialize(22, 4);
},
read: function () {
var readout = sensorLib.read();
var value={"tempValue":readout.temperature.toFixed(2),
, "humidityValue":readout.humidity.toFixed(2)};
client.publish('sensorMeasurement',JSON.stringify(value));
setTimeout(function () {
sensor.read();
}, 5000);
} };
if (sensor.initialize()) {
sensor.read(); } else { console.warn('Failed to initialize sensor');
}
APIs to read temperature values
Publishing sensed value
Connecting to MQTT Protocol
© Fraunhofer 42
High-level view of cloud approach
Web APIs
Cloud Service
Data
Visualization
Storage Data
Analysis Security
Mobile
app
Client
browser
command
receive
periodic data send
command
send
notifications
Web APIs
© Fraunhofer 43
Example: software as a service
n Azure ML
n SMEWB
n Eclipse Kura wires
n Node-RED
n Microsoft Accelerator?
n IoTSuite

Weitere ähnliche Inhalte

Ähnlich wie Software Tools for Building Industry 4.0 Applications

PureApplication: Devops and Urbancode
PureApplication: Devops and UrbancodePureApplication: Devops and Urbancode
PureApplication: Devops and UrbancodeJohn Hawkins
 
AzureDay Kyiv 2016 Release Management
AzureDay Kyiv 2016 Release ManagementAzureDay Kyiv 2016 Release Management
AzureDay Kyiv 2016 Release ManagementSergii Kryshtop
 
DevOps on Steroids Featuring Red Hat & Alantiss - Pop-up Loft Tel Aviv
DevOps on Steroids Featuring Red Hat & Alantiss - Pop-up Loft Tel AvivDevOps on Steroids Featuring Red Hat & Alantiss - Pop-up Loft Tel Aviv
DevOps on Steroids Featuring Red Hat & Alantiss - Pop-up Loft Tel AvivAmazon Web Services
 
Intro to GitOps with Weave GitOps, Flagger and Linkerd
Intro to GitOps with Weave GitOps, Flagger and LinkerdIntro to GitOps with Weave GitOps, Flagger and Linkerd
Intro to GitOps with Weave GitOps, Flagger and LinkerdWeaveworks
 
Continuous Delivery with a PaaS Application
Continuous Delivery with a PaaS ApplicationContinuous Delivery with a PaaS Application
Continuous Delivery with a PaaS ApplicationMark Rendell
 
Scaling frontend applications with micro-frontends Presentation.pdf
Scaling frontend applications with micro-frontends Presentation.pdfScaling frontend applications with micro-frontends Presentation.pdf
Scaling frontend applications with micro-frontends Presentation.pdfKatamaRajuBandigari1
 
Why Pay for Open Source Linux? Avoid the Hidden Cost of DIY
Why Pay for Open Source Linux? Avoid the Hidden Cost of DIYWhy Pay for Open Source Linux? Avoid the Hidden Cost of DIY
Why Pay for Open Source Linux? Avoid the Hidden Cost of DIYEnterprise Management Associates
 
Swift at IBM: Mobile, open source and the drive to the cloud
Swift at IBM: Mobile, open source and the drive to the cloudSwift at IBM: Mobile, open source and the drive to the cloud
Swift at IBM: Mobile, open source and the drive to the cloudDev_Events
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessWSO2
 
Simplifying and accelerating converged media with Open Visual Cloud
Simplifying and accelerating converged media with Open Visual CloudSimplifying and accelerating converged media with Open Visual Cloud
Simplifying and accelerating converged media with Open Visual CloudLiz Warner
 
Accelerating Application Development in the Internet of Things using Model-dr...
Accelerating Application Development in the Internet of Things using Model-dr...Accelerating Application Development in the Internet of Things using Model-dr...
Accelerating Application Development in the Internet of Things using Model-dr...Pankesh Patel
 
Gervais Peter Resume Oct :2015
Gervais Peter Resume Oct :2015Gervais Peter Resume Oct :2015
Gervais Peter Resume Oct :2015Peter Gervais
 
Matteo Valoriani, Antimo Musone - The Future of Factory - Codemotion Rome 2019
Matteo Valoriani, Antimo Musone - The Future of Factory - Codemotion Rome 2019Matteo Valoriani, Antimo Musone - The Future of Factory - Codemotion Rome 2019
Matteo Valoriani, Antimo Musone - The Future of Factory - Codemotion Rome 2019Codemotion
 
Crossing the low-code and pro-code chasm: a platform approach
Crossing the low-code and pro-code chasm: a platform approachCrossing the low-code and pro-code chasm: a platform approach
Crossing the low-code and pro-code chasm: a platform approachAsanka Abeysinghe
 

Ähnlich wie Software Tools for Building Industry 4.0 Applications (20)

Sip@iPLM 2016
Sip@iPLM 2016 Sip@iPLM 2016
Sip@iPLM 2016
 
PureApplication: Devops and Urbancode
PureApplication: Devops and UrbancodePureApplication: Devops and Urbancode
PureApplication: Devops and Urbancode
 
AzureDay Kyiv 2016 Release Management
AzureDay Kyiv 2016 Release ManagementAzureDay Kyiv 2016 Release Management
AzureDay Kyiv 2016 Release Management
 
DevOps on Steroids Featuring Red Hat & Alantiss - Pop-up Loft Tel Aviv
DevOps on Steroids Featuring Red Hat & Alantiss - Pop-up Loft Tel AvivDevOps on Steroids Featuring Red Hat & Alantiss - Pop-up Loft Tel Aviv
DevOps on Steroids Featuring Red Hat & Alantiss - Pop-up Loft Tel Aviv
 
Intro to GitOps with Weave GitOps, Flagger and Linkerd
Intro to GitOps with Weave GitOps, Flagger and LinkerdIntro to GitOps with Weave GitOps, Flagger and Linkerd
Intro to GitOps with Weave GitOps, Flagger and Linkerd
 
Continuous Delivery with a PaaS Application
Continuous Delivery with a PaaS ApplicationContinuous Delivery with a PaaS Application
Continuous Delivery with a PaaS Application
 
Scaling frontend applications with micro-frontends Presentation.pdf
Scaling frontend applications with micro-frontends Presentation.pdfScaling frontend applications with micro-frontends Presentation.pdf
Scaling frontend applications with micro-frontends Presentation.pdf
 
Internship Report
Internship ReportInternship Report
Internship Report
 
Why Pay for Open Source Linux? Avoid the Hidden Cost of DIY
Why Pay for Open Source Linux? Avoid the Hidden Cost of DIYWhy Pay for Open Source Linux? Avoid the Hidden Cost of DIY
Why Pay for Open Source Linux? Avoid the Hidden Cost of DIY
 
Swift at IBM: Mobile, open source and the drive to the cloud
Swift at IBM: Mobile, open source and the drive to the cloudSwift at IBM: Mobile, open source and the drive to the cloud
Swift at IBM: Mobile, open source and the drive to the cloud
 
.NetKS Catalogue
.NetKS Catalogue.NetKS Catalogue
.NetKS Catalogue
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 
Simplifying and accelerating converged media with Open Visual Cloud
Simplifying and accelerating converged media with Open Visual CloudSimplifying and accelerating converged media with Open Visual Cloud
Simplifying and accelerating converged media with Open Visual Cloud
 
Personal_CV
Personal_CVPersonal_CV
Personal_CV
 
CURRICULUM VITAE
CURRICULUM VITAE CURRICULUM VITAE
CURRICULUM VITAE
 
Accelerating Application Development in the Internet of Things using Model-dr...
Accelerating Application Development in the Internet of Things using Model-dr...Accelerating Application Development in the Internet of Things using Model-dr...
Accelerating Application Development in the Internet of Things using Model-dr...
 
Gervais Peter Resume Oct :2015
Gervais Peter Resume Oct :2015Gervais Peter Resume Oct :2015
Gervais Peter Resume Oct :2015
 
Shanling_resume
Shanling_resumeShanling_resume
Shanling_resume
 
Matteo Valoriani, Antimo Musone - The Future of Factory - Codemotion Rome 2019
Matteo Valoriani, Antimo Musone - The Future of Factory - Codemotion Rome 2019Matteo Valoriani, Antimo Musone - The Future of Factory - Codemotion Rome 2019
Matteo Valoriani, Antimo Musone - The Future of Factory - Codemotion Rome 2019
 
Crossing the low-code and pro-code chasm: a platform approach
Crossing the low-code and pro-code chasm: a platform approachCrossing the low-code and pro-code chasm: a platform approach
Crossing the low-code and pro-code chasm: a platform approach
 

Mehr von Pankesh Patel

Getting Started for SMEs in Industry 4.0
Getting Started for SMEs in Industry 4.0Getting Started for SMEs in Industry 4.0
Getting Started for SMEs in Industry 4.0Pankesh Patel
 
Hands-on Workshop on Building Digital Twin for Factory of the Future
Hands-on Workshop on Building Digital Twin for Factory of the FutureHands-on Workshop on Building Digital Twin for Factory of the Future
Hands-on Workshop on Building Digital Twin for Factory of the FuturePankesh Patel
 
Smart Factory - App Based Quality Monitoring
Smart Factory - App Based Quality MonitoringSmart Factory - App Based Quality Monitoring
Smart Factory - App Based Quality MonitoringPankesh Patel
 
Subject Matter ExpertWorkbench
Subject Matter ExpertWorkbenchSubject Matter ExpertWorkbench
Subject Matter ExpertWorkbenchPankesh Patel
 
IoTSuite User Manual
IoTSuite User ManualIoTSuite User Manual
IoTSuite User ManualPankesh Patel
 
IoTSuite: A Framework to Design, Implement, and Deploy IoT Applications
IoTSuite: A Framework to Design, Implement, and Deploy IoT ApplicationsIoTSuite: A Framework to Design, Implement, and Deploy IoT Applications
IoTSuite: A Framework to Design, Implement, and Deploy IoT ApplicationsPankesh Patel
 
Towards application development for the internet of things
Towards application development for the internet of thingsTowards application development for the internet of things
Towards application development for the internet of thingsPankesh Patel
 
Towards application development for the physical cyber-social systems
Towards application development for the physical cyber-social systemsTowards application development for the physical cyber-social systems
Towards application development for the physical cyber-social systemsPankesh Patel
 
A model driven development framework for developing sense-compute-control app...
A model driven development framework for developing sense-compute-control app...A model driven development framework for developing sense-compute-control app...
A model driven development framework for developing sense-compute-control app...Pankesh Patel
 
A tool suite for prototyping internet of things applications
A tool suite for prototyping internet of  things applicationsA tool suite for prototyping internet of  things applications
A tool suite for prototyping internet of things applicationsPankesh Patel
 
Enabling high level application development for internet of things
Enabling high level application development for internet of thingsEnabling high level application development for internet of things
Enabling high level application development for internet of thingsPankesh Patel
 
Enabling high level application development for internet of things
Enabling high level application development for internet of thingsEnabling high level application development for internet of things
Enabling high level application development for internet of thingsPankesh Patel
 
Application development for the internet of things
Application development for the internet of thingsApplication development for the internet of things
Application development for the internet of thingsPankesh Patel
 
Enabling High Level Application Development In The Internet Of Things
Enabling High Level Application Development In The Internet Of ThingsEnabling High Level Application Development In The Internet Of Things
Enabling High Level Application Development In The Internet Of ThingsPankesh Patel
 
Towards application development for the internet of things updated
Towards application development for the internet of things  updatedTowards application development for the internet of things  updated
Towards application development for the internet of things updatedPankesh Patel
 

Mehr von Pankesh Patel (16)

Getting Started for SMEs in Industry 4.0
Getting Started for SMEs in Industry 4.0Getting Started for SMEs in Industry 4.0
Getting Started for SMEs in Industry 4.0
 
Hands-on Workshop on Building Digital Twin for Factory of the Future
Hands-on Workshop on Building Digital Twin for Factory of the FutureHands-on Workshop on Building Digital Twin for Factory of the Future
Hands-on Workshop on Building Digital Twin for Factory of the Future
 
Smart Factory - App Based Quality Monitoring
Smart Factory - App Based Quality MonitoringSmart Factory - App Based Quality Monitoring
Smart Factory - App Based Quality Monitoring
 
Subject Matter ExpertWorkbench
Subject Matter ExpertWorkbenchSubject Matter ExpertWorkbench
Subject Matter ExpertWorkbench
 
IoTSuite User Manual
IoTSuite User ManualIoTSuite User Manual
IoTSuite User Manual
 
IoTSuite: A Framework to Design, Implement, and Deploy IoT Applications
IoTSuite: A Framework to Design, Implement, and Deploy IoT ApplicationsIoTSuite: A Framework to Design, Implement, and Deploy IoT Applications
IoTSuite: A Framework to Design, Implement, and Deploy IoT Applications
 
Towards application development for the internet of things
Towards application development for the internet of thingsTowards application development for the internet of things
Towards application development for the internet of things
 
Sla in cloud
Sla in cloudSla in cloud
Sla in cloud
 
Towards application development for the physical cyber-social systems
Towards application development for the physical cyber-social systemsTowards application development for the physical cyber-social systems
Towards application development for the physical cyber-social systems
 
A model driven development framework for developing sense-compute-control app...
A model driven development framework for developing sense-compute-control app...A model driven development framework for developing sense-compute-control app...
A model driven development framework for developing sense-compute-control app...
 
A tool suite for prototyping internet of things applications
A tool suite for prototyping internet of  things applicationsA tool suite for prototyping internet of  things applications
A tool suite for prototyping internet of things applications
 
Enabling high level application development for internet of things
Enabling high level application development for internet of thingsEnabling high level application development for internet of things
Enabling high level application development for internet of things
 
Enabling high level application development for internet of things
Enabling high level application development for internet of thingsEnabling high level application development for internet of things
Enabling high level application development for internet of things
 
Application development for the internet of things
Application development for the internet of thingsApplication development for the internet of things
Application development for the internet of things
 
Enabling High Level Application Development In The Internet Of Things
Enabling High Level Application Development In The Internet Of ThingsEnabling High Level Application Development In The Internet Of Things
Enabling High Level Application Development In The Internet Of Things
 
Towards application development for the internet of things updated
Towards application development for the internet of things  updatedTowards application development for the internet of things  updated
Towards application development for the internet of things updated
 

Kürzlich hochgeladen

The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 

Kürzlich hochgeladen (20)

The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 

Software Tools for Building Industry 4.0 Applications

  • 1. © Fraunhofer Pankesh Patel SOFTWARE TOOLS FOR BUILDING INDUSTY 4.0 APPLICATIONS
  • 2. © Fraunhofer 2 n Motivation n Industry 4.0 Challenges n Our approach n Middleware n Rapid Application development tools n Technology and Tools n Node-RED n SMEWB n IoTSuite n Summary and Q&A Agenda
  • 3. © Fraunhofer 3 Industry 4.0 challenges Fragmentation Complexity Lock-in Slide source: https://bit.ly/2OcsLLH
  • 4. © Fraunhofer 4 n Sensor Protocols n CANBus n OPC-UA n MODBus n BLE Fragmentation n Hardware n ABB n Siemens n Intel n Standards n IIC n oneM2M n IEEE n Protocols to cloud n MQTT n CoAP n AMQP n HTTP(s) Slide source: https://bit.ly/2OcsLLH
  • 5. © Fraunhofer 5 n Multiple domain n Domain n Network n Functional Complexity n Integration n Heterogeneous environment n Security n Data n Sensor n Network n Maintenance n Deployment n Install n Configuration n Scale n Large number Slide source: https://bit.ly/2OcsLLH
  • 6. © Fraunhofer 6 n Platform Lock-in n Hardware n Protocol(s) n Format n Communication Slide source: https://bit.ly/2OcsLLH
  • 7. © Fraunhofer 7 Embracing Industry 4.0 complexity Slide source: https://bit.ly/2OcsLLH Business Applications Sensors, Actuators, Displays, … ? @ How to accelerate the overall Industry 4.0 development process?
  • 8. © Fraunhofer 8 Addressing Industry 4.0 challenges Fragmentation Complexity Lock-in OPEN, STANDARD, SOLID ARCHITECTURES ✔ ✔ ✔ Slide source: https://bit.ly/2OcsLLH
  • 9. © Fraunhofer 9 Approach Business Applications @ Integration Platform @ Rapid prototyping tools Sensors, Actuators, HMI, SCADA, PLC Image reference: https://bit.ly/2OcsLLH
  • 10. © Fraunhofer 10 Brownfield vs Greenfield approach Image source: https://iot.eclipse.org/white-papers/
  • 11. © Fraunhofer 11 State of the art – Industry 4.0 application development Programming Languages Rapid prototyping tools Cloud - Full control on AL (app logic) - More development effort - Reduce development effort - Platform-specific design (Language, Runtime) - Reduce development effort, ease of deployment & evolution (due to centralized system) - Cloud-dependent design
  • 12. © Fraunhofer 12 n Open source tools (https://github.com/node-red) n Flow-based programming n Browser-based flow editor n Invented by IBM for wiring hardware devices, APIs and online services n Light-weight runtime such as Node.js n Ideal to run on edge devices n Over 2500+ ready-to-use nodes/flows n https://flows.nodered.org/ Rapid prototyping tool – Node-RED Reference: https://nodered.org/
  • 13. © Fraunhofer 13 Node-Red Editor Image source: https://bit.ly/2NvRR38
  • 14. © Fraunhofer 14 Integration – enhancing existing services Node-RED Cloud services Desktop Mobile App Enterprise network Industrial devices Reference: https://bit.ly/2xwj0xP Icon source : https://thenounproject.com/
  • 15. © Fraunhofer 15 Example: Node-RED integration with Freeboard Image source: https://bit.ly/2NvRR38 Freeboard (https://freeboard.io/) - Data visualization based service
  • 16. © Fraunhofer Brownfield approach SUBJECT MATTER EXPERT WORKBENCH
  • 17. © Fraunhofer 17 n Objectives n To create, reuse, and deploy analytic algorithms in ABB products and solutions with little or no additional coding. n Subject Matter Experts (SMEs) – domain expertise but very little programming experience n Assignee : ABB Corporate Research n Reference n Karen Smiley, Pankesh Patel, Jeff Harding “From Ideas to Implementations: Closing the Gaps between Technical Experts and Software Solutions”, CSED Workshop, ICSE 2016. General background
  • 18. © Fraunhofer 18 n ABB - industrial sensors, industrial robots, process control systems, etc. n Blending business solutions with industrial analytics that incorporate deep knowledge of ABB’s technical SMEs on equipment and verticals Motivation and Context
  • 19. © Fraunhofer 19 n Accelerate creation, reuse, evolution and delivery of analytic module plugins n Minimize SME (Subject Matter Expert) effort to share, evolve and reuse knowledge n Accelerate integration of analytics into ABB systems and solutions n Minimize business value of knowledge for ABB customers Key goals
  • 20. © Fraunhofer 20 The old lifecycle: solution development Installation and Configuration of Integrated Solution Run Time! Customer/User Solution Development (Application Engineering) Full Software Development Lifecycle Solution Solution Development Team • Typical solution development scenario: Solution Development Team work across the full development life cycle
  • 21. © Fraunhofer 21 The old lifecycle: solution & analytic development Installation and Configuration of Integrated Solution Run Time! Customer/User Solution Development (Application Engineering) Full Software Development Lifecycle Solution Solution Development Team Subject Matter Experts (SMEs) Analytic Module Development Blending business solutions and analytics, SMEs write application logic in a flowchart diagram and hire a developer. The developer iterate with SMEs to get the logic right.
  • 22. © Fraunhofer 22 The old lifecycle: integrating analytics into solutions Installation and Configuration of Integrated Solution Run Time! Customer/User Solution Development (Application Engineering) Full Software Development Lifecycle Solution Solution Development Team Subject Matter Experts (SMEs) Analytic Module Development Analytic Module integration & validation Validation of integrated solution To integrate the analytic module into a solution, the developer iterate with the solution team until they get it working
  • 23. © Fraunhofer 23 The old lifecycle: integrating analytics into solutions Installation and Configuration of Integrated Solution Run Time! Customer/User Solution Development (Application Engineering) Full Software Development Lifecycle Solution Solution Development Team Subject Matter Experts (SMEs) Analytic Module Development Analytic Module integration & validation Validation of integrated solution Months Later
  • 24. © Fraunhofer 24 The old lifecycle: integrating analytics into solutions Installation and Configuration of Integrated Solution Run Time! Customer/User Solution Development (Application Engineering) Full Software Development Lifecycle Solution Solution Development Team Subject Matter Experts (SMEs) Analytic Module Development Analytic Module integration & validation Validation of integrated solution Decouple Solutions & Analytics Empower SMEs as end-user developer
  • 25. © Fraunhofer 25 n Drag & Drop to develop analytic modules, n Reuse existing models from a catalog / MATLAB Creating an analytic model using SME Workbench
  • 26. © Fraunhofer 26 Deploying an analytic model Analytic module integration is supported via solution-specific SME Workbench extensions
  • 27. © Fraunhofer Greenfield approach IOTSUITE: A TOOLKIT FOR PROTOTYPING INTERENT OF THINGS APPLICATIONS
  • 28. © Fraunhofer 28 Motivation Different types of devices, Platforms, Runtime systems Heterogeneity Node-centric programming - Large number of devices
  • 29. © Fraunhofer 29 n Separation of Concerns (reusability) n Integration of existing DSL (reduce complexity & effort) n Automation wherever possible (reduce effort) n Macroprogramming Our approach Code generators PIM PSM Node PSM … C1 C2 Cn … Horizontal Separation of Concerns Vertical Separation of Concerns PIM – Platform Independent Model PSM – Platform Specific Model
  • 30. © Fraunhofer 30 IoTSuite: Overview Domain Spec. Functional Spec. Deployment Spec. Compiler Deployment Module Generated Programming Framework (GPL) Android Packages Node.js Packages Java Packages Developer Developer Application Logic (GPL) Sensing/Actuating Framework
  • 31. © Fraunhofer 31 IoTSuite Code Editor Syntax Coloring IoTSuite Project Outline / Structure View Code Folding Auto Completion Error Checking
  • 32. © Fraunhofer 32 IoTSuite architecture framework Generated Architecture Framework Framework to write application logic Developer implements interfaces in GPL to write application logic
  • 33. © Fraunhofer 33 IoTSuite User interaction generated framework Generated User Interaction Framework Developer implements interfaces in GPL to write user interface logic
  • 34. © Fraunhofer 34 IoTSuite user interaction framework Developer implements widgets for User interface Android Widgets
  • 35. © Fraunhofer 35 IoTSuite deployment packages Deployment Packages for Android Platform Deployment Packages for Java Platform Deployment Packages for Node.js Platform PackageName = [Implementation Platform] [DeviceName][“Device”] Example: [NodeJS][TemperatureMgmt][“Device”]
  • 36. © Fraunhofer 36 IoTSuite: Platform Independent Parser Code generator IoTSuite Domain Spec. Architecture Spec. Deployment Spec. JavaSE Android Node Python Other System specification (Platform independent) Adding a new platform as a plugin Code generation of a framework in a target platform ANTLR, a parser generator from a grammar StringTemplate, a template engine for generating source code
  • 37. © Fraunhofer 37 IoTSuite: Platform independent Runtime System Device Middleware wrapper Generated code For Device X It runs on each individual device & provide support for executing distributed tasks. IoTSuite generates code for a device It plugs “generated code for a device” & runtime system. It implements interface specified in a support library, specific to a runtime system. Support for MQTT & iBICOOP,
  • 38. © Fraunhofer 38 n Industry 4.0 software development challenges n Fragmentation, Complexity, Lock-in n Approach n Middleware to abstract complexity n Rapid application development tools to speed up innovation, prototypig n Industry 4.0 technologies n Node-RED – rapid prototyping toolset n SMEWB - Closing the Gaps between Technical Experts and Software Solutions n IoTSuite – a toolkit for prototyping Industry 4.0 applications Summary
  • 39. © Fraunhofer THANK YOU FOR YOUR ATTENTION Questions?
  • 40. © Fraunhofer 40 Contact… Pankesh Patel, PhD Senior Research Scientist, Fraunhofer USA/ Center for Experimental Software Engineering (CESE), College Park, Maryland, USA. Mobile: +1 240-302-3609, Fax: 240 487 2960 Email: ppatel@fc-md.umd.edu / ppatel@cese.fraunhofer.org
  • 41. © Fraunhofer 41 Example: reading data from sensors var sensorLib = require('node-dht-sensor'); var mqtt=require('mqtt'); var client=mqtt.connect('mqtt://test.mosquitto.org:1883'); var sensor = { initialize: function () { // here GPIO4 means pin7 and DHT22 type of sensor return sensorLib.initialize(22, 4); }, read: function () { var readout = sensorLib.read(); var value={"tempValue":readout.temperature.toFixed(2), , "humidityValue":readout.humidity.toFixed(2)}; client.publish('sensorMeasurement',JSON.stringify(value)); setTimeout(function () { sensor.read(); }, 5000); } }; if (sensor.initialize()) { sensor.read(); } else { console.warn('Failed to initialize sensor'); } APIs to read temperature values Publishing sensed value Connecting to MQTT Protocol
  • 42. © Fraunhofer 42 High-level view of cloud approach Web APIs Cloud Service Data Visualization Storage Data Analysis Security Mobile app Client browser command receive periodic data send command send notifications Web APIs
  • 43. © Fraunhofer 43 Example: software as a service n Azure ML n SMEWB n Eclipse Kura wires n Node-RED n Microsoft Accelerator? n IoTSuite