SlideShare a Scribd company logo
Analysing PLC software
A SEMANTIC WEB POWERED FRAMEWORK FOR EVALUATING
CONTROL SOFTWARE IN AUTOMATIC PRODUCTION SYSTEMS
Akashdeep Singh Lamba – September 2018
School of Computer Science and Statistics
Trinity College Dublin, Dublin, Ireland
lambaa@tcd.ie
What is PLC software?
- Programmable Logic Controller
- Control devices like motors, power lines, and hardware in
huge industrial setups
- Industrial grade microcontroller; highly capable, you can
increase the number of input output ports by adding more I/O
units
- Programmed using the IEC 61131-3 standard programming
languages
- The most popular language is Ladder logic, a diagrammatic
language
Example of Ladder logic
Image Source:
http://automationprimer.com/2013/04/14/ladder-logic-203-faults/
Why is analysis hard?
- Static analysis helps us assess code quality without executing it
- Regular software static analysis: linting, go vet, dependency tree, module graph, etc
◦ Lint for C, FindBugs for Java, as well as SonarQube supports several languages
- Nature of control software has changed
◦ Focus has shifted from system’s logic to adaptability, dynamic configuration, self-healing
◦ Control software using IEC 61131-3 is now more complex and harder to maintain
- Tools exist but are limited to specific controllers or languages or resort to model checking
◦ Arcade (https://arcade.embedded.rwth-aachen.de/doku.php?id=arcade)
◦ PLCChecker (http://www.itris-automation.com/plc-checker/)
◦ CoDeSys Static Analysis (https://store.codesys.com/codesys-static-analysis.html)
- Not flexible, and don’t allow thorough and generally applicable analysis
Proposed solution – Features &
requirements
Comprehensive overview
Compliance to conventions and style guides
Metrics such as cyclomatic complexity,
coupling and hierarchies
Patterns
Key features according to experts
Dependency model
Flexible specification and application of
coding rules
and conventions, metrics and patterns
Visualization
Requirements for the framework
Proposed solution - Framework
Application of the framework - I
The dependency model
- Identify components:
POUs and edges
- Program Organization
Units (POUs) or nodes:
◦ Projects or Libraries
◦ Variables
◦ DataTypes: ElementTypes
or DerivedTypes
- Egdes
◦ Interaction between source POU and target POU
◦ ReadsEdge, WritesEdge
◦ CallsEdge, ExecutesEdge
Example dependency model using UML diagram
Application of the framework - II
Knowledge-based system
- Knowledge about code derived from code itself,
instead of comments and annotations
- Two components:
◦ Knowledge base
◦ Inference mechanism
- Knowledge base formally describes facts about
the code
◦ RDF
- Inference mechanism is a set of conditional and
logical test statements for analysis of the
knowledge base
◦ SPARQL
Example dependency model
Application of the framework - III
Flexible visualization
- Lots of information
- Built on top of previous two
stages
- Multiple views of control
software
◦ Direct data exchange view: for
focusing on POUs and the call
interactions between various POUs
◦ Indirect data exchange view: for
focusing on the POUs and the read
and write interactions between
them and their dependencies
◦ And more
Example RDF(S) representation dependency model
Example: RDF and SPARQL in action
Using SPARQL on the
RDF graph to analyse
software patterns such
as code reuse
Shortcomings and future scope
- Work needs to be done to test scalability
- Hardware characteristics need to be incorporated
- Coding rules, conventions need to be formally defined
- Standards for metrics and patterns need to be introduced
References
❑Feldmann, S., Hauer, F., Ulewicz, S. and Vogel-Heuser, B., 2016, June. Analysis
framework for evaluating PLC software: An application of Semantic Web
technologies. In 2016 IEEE 25th International Symposium on Industrial
Electronics (ISIE) (pp. 1048-1054). IEEE.
❑http://www.plctalk.net/qanda/showthread.php?t=93886
Acknowledgements
This analysis was conducted and presented as part of the 2018/19 Knowledge
and Data Engineering module CS7IS1 at Trinity College Dublin, under the
guidance of Dr. Declan O'Sullivan, Trinity College Dublin, School of Computer
Science and Statistics. 2018

More Related Content

What's hot

ApoorvJoshi_Resume
ApoorvJoshi_ResumeApoorvJoshi_Resume
ApoorvJoshi_ResumeApoorv Joshi
 
resume_final_software job
resume_final_software jobresume_final_software job
resume_final_software jobshiloh10
 
John BishopResume Controls Engineer(6-11-15)
John BishopResume Controls Engineer(6-11-15)John BishopResume Controls Engineer(6-11-15)
John BishopResume Controls Engineer(6-11-15)John Bishop
 
Using MDE for the Formal Verification of Embedded Systems Modeled by UML Se...
Using MDE for the Formal Verification of Embedded  Systems Modeled by UML Se...Using MDE for the Formal Verification of Embedded  Systems Modeled by UML Se...
Using MDE for the Formal Verification of Embedded Systems Modeled by UML Se...Francisco Assis Nascimento
 
Yiran_Wang_Resume
Yiran_Wang_ResumeYiran_Wang_Resume
Yiran_Wang_ResumeYiran Wang
 
OpenB concepts - Modeling Engine
OpenB concepts - Modeling EngineOpenB concepts - Modeling Engine
OpenB concepts - Modeling EngineWilko van der Veen
 
Et2541 fp topic_11
Et2541 fp topic_11Et2541 fp topic_11
Et2541 fp topic_11Nitin AB
 
Electronics Engineering MATLAB Projects Research Topics
Electronics Engineering MATLAB Projects Research TopicsElectronics Engineering MATLAB Projects Research Topics
Electronics Engineering MATLAB Projects Research TopicsMatlab Simulation
 
Sidhant Heble Resume_2_8_16
Sidhant Heble Resume_2_8_16Sidhant Heble Resume_2_8_16
Sidhant Heble Resume_2_8_16Sidhant Heble
 
Reverse Engineering.pptx
Reverse Engineering.pptxReverse Engineering.pptx
Reverse Engineering.pptxSameer Sapra
 

What's hot (20)

ApoorvJoshi_Resume
ApoorvJoshi_ResumeApoorvJoshi_Resume
ApoorvJoshi_Resume
 
Rajath_Shivananda
Rajath_ShivanandaRajath_Shivananda
Rajath_Shivananda
 
Lavina Chandwani Resume
Lavina Chandwani ResumeLavina Chandwani Resume
Lavina Chandwani Resume
 
resume_final_software job
resume_final_software jobresume_final_software job
resume_final_software job
 
Srinivas_Kotha_CV
Srinivas_Kotha_CVSrinivas_Kotha_CV
Srinivas_Kotha_CV
 
John BishopResume Controls Engineer(6-11-15)
John BishopResume Controls Engineer(6-11-15)John BishopResume Controls Engineer(6-11-15)
John BishopResume Controls Engineer(6-11-15)
 
Ssajid CV
Ssajid  CVSsajid  CV
Ssajid CV
 
Kunyuan Wang_CV
Kunyuan Wang_CVKunyuan Wang_CV
Kunyuan Wang_CV
 
Using MDE for the Formal Verification of Embedded Systems Modeled by UML Se...
Using MDE for the Formal Verification of Embedded  Systems Modeled by UML Se...Using MDE for the Formal Verification of Embedded  Systems Modeled by UML Se...
Using MDE for the Formal Verification of Embedded Systems Modeled by UML Se...
 
Yiran_Wang_Resume
Yiran_Wang_ResumeYiran_Wang_Resume
Yiran_Wang_Resume
 
OpenB concepts - Modeling Engine
OpenB concepts - Modeling EngineOpenB concepts - Modeling Engine
OpenB concepts - Modeling Engine
 
Function Points
Function PointsFunction Points
Function Points
 
Et2541 fp topic_11
Et2541 fp topic_11Et2541 fp topic_11
Et2541 fp topic_11
 
Resume of Shadman Shakib Nabil
Resume of Shadman Shakib NabilResume of Shadman Shakib Nabil
Resume of Shadman Shakib Nabil
 
Electronics Engineering MATLAB Projects Research Topics
Electronics Engineering MATLAB Projects Research TopicsElectronics Engineering MATLAB Projects Research Topics
Electronics Engineering MATLAB Projects Research Topics
 
Brazil
BrazilBrazil
Brazil
 
Modern Monitoring
Modern MonitoringModern Monitoring
Modern Monitoring
 
Sidhant Heble Resume_2_8_16
Sidhant Heble Resume_2_8_16Sidhant Heble Resume_2_8_16
Sidhant Heble Resume_2_8_16
 
Function Points
Function PointsFunction Points
Function Points
 
Reverse Engineering.pptx
Reverse Engineering.pptxReverse Engineering.pptx
Reverse Engineering.pptx
 

Similar to Analysing plc software: A SEMANTIC WEB POWERED FRAMEWORK FOR EVALUATING CONTROL SOFTWARE IN AUTOMATIC PRODUCTION SYSTEMS

HCI U-II HCI software Process (1).pdf
HCI U-II HCI software Process (1).pdfHCI U-II HCI software Process (1).pdf
HCI U-II HCI software Process (1).pdfudhayaveenaa
 
Machine learning at scale challenges and solutions
Machine learning at scale challenges and solutionsMachine learning at scale challenges and solutions
Machine learning at scale challenges and solutionsStavros Kontopoulos
 
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...AgileNetwork
 
Limited Budget but Effective End to End MLOps Practices (Machine Learning Mod...
Limited Budget but Effective End to End MLOps Practices (Machine Learning Mod...Limited Budget but Effective End to End MLOps Practices (Machine Learning Mod...
Limited Budget but Effective End to End MLOps Practices (Machine Learning Mod...IRJET Journal
 
An online tool for requirements engineering, modeling and verification of dis...
An online tool for requirements engineering, modeling and verification of dis...An online tool for requirements engineering, modeling and verification of dis...
An online tool for requirements engineering, modeling and verification of dis...Sergey Staroletov
 
oyedele_resume_updated
oyedele_resume_updatedoyedele_resume_updated
oyedele_resume_updatedAkin Oyedele
 
Solving big data challenges for enterprise application
Solving big data challenges for enterprise applicationSolving big data challenges for enterprise application
Solving big data challenges for enterprise applicationTrieu Dao Minh
 
On Web-based Domain-Specific Language for Internet of Things
On Web-based Domain-Specific Language for Internet of ThingsOn Web-based Domain-Specific Language for Internet of Things
On Web-based Domain-Specific Language for Internet of ThingsColdbeans Software
 
Bringing SDN to the Management Plane
Bringing SDN to the Management PlaneBringing SDN to the Management Plane
Bringing SDN to the Management PlaneAnees Shaikh
 
SDN-enhanced Services in Enterprises and Data Centers
SDN-enhanced Services in Enterprises and Data CentersSDN-enhanced Services in Enterprises and Data Centers
SDN-enhanced Services in Enterprises and Data CentersAnees Shaikh
 
Embedded system
Embedded systemEmbedded system
Embedded systemmangal das
 
Embedded 100912065920-phpapp02
Embedded 100912065920-phpapp02Embedded 100912065920-phpapp02
Embedded 100912065920-phpapp02Atv Reddy
 
Mirabilis_Design AMD Versal System-Level IP Library
Mirabilis_Design AMD Versal System-Level IP LibraryMirabilis_Design AMD Versal System-Level IP Library
Mirabilis_Design AMD Versal System-Level IP LibraryDeepak Shankar
 
SQL Injection and HTTP Flood DDOS Attack Detection and Classification Based o...
SQL Injection and HTTP Flood DDOS Attack Detection and Classification Based o...SQL Injection and HTTP Flood DDOS Attack Detection and Classification Based o...
SQL Injection and HTTP Flood DDOS Attack Detection and Classification Based o...IRJET Journal
 
Webinar on Latency and throughput computation of automotive EE network
Webinar on Latency and throughput computation of automotive EE networkWebinar on Latency and throughput computation of automotive EE network
Webinar on Latency and throughput computation of automotive EE networkDeepak Shankar
 
advanced computer architesture-conditions of parallelism
advanced computer architesture-conditions of parallelismadvanced computer architesture-conditions of parallelism
advanced computer architesture-conditions of parallelismPankaj Kumar Jain
 
5 pipeline arch_rationale
5 pipeline arch_rationale5 pipeline arch_rationale
5 pipeline arch_rationalevideos
 
(ATS3-DEV04) Introduction to Pipeline Pilot Protocol Development for Developers
(ATS3-DEV04) Introduction to Pipeline Pilot Protocol Development for Developers(ATS3-DEV04) Introduction to Pipeline Pilot Protocol Development for Developers
(ATS3-DEV04) Introduction to Pipeline Pilot Protocol Development for DevelopersBIOVIA
 

Similar to Analysing plc software: A SEMANTIC WEB POWERED FRAMEWORK FOR EVALUATING CONTROL SOFTWARE IN AUTOMATIC PRODUCTION SYSTEMS (20)

HCI U-II HCI software Process (1).pdf
HCI U-II HCI software Process (1).pdfHCI U-II HCI software Process (1).pdf
HCI U-II HCI software Process (1).pdf
 
Machine learning at scale challenges and solutions
Machine learning at scale challenges and solutionsMachine learning at scale challenges and solutions
Machine learning at scale challenges and solutions
 
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
 
Harikri2
Harikri2Harikri2
Harikri2
 
Limited Budget but Effective End to End MLOps Practices (Machine Learning Mod...
Limited Budget but Effective End to End MLOps Practices (Machine Learning Mod...Limited Budget but Effective End to End MLOps Practices (Machine Learning Mod...
Limited Budget but Effective End to End MLOps Practices (Machine Learning Mod...
 
An online tool for requirements engineering, modeling and verification of dis...
An online tool for requirements engineering, modeling and verification of dis...An online tool for requirements engineering, modeling and verification of dis...
An online tool for requirements engineering, modeling and verification of dis...
 
oyedele_resume_updated
oyedele_resume_updatedoyedele_resume_updated
oyedele_resume_updated
 
Solving big data challenges for enterprise application
Solving big data challenges for enterprise applicationSolving big data challenges for enterprise application
Solving big data challenges for enterprise application
 
On Web-based Domain-Specific Language for Internet of Things
On Web-based Domain-Specific Language for Internet of ThingsOn Web-based Domain-Specific Language for Internet of Things
On Web-based Domain-Specific Language for Internet of Things
 
Bringing SDN to the Management Plane
Bringing SDN to the Management PlaneBringing SDN to the Management Plane
Bringing SDN to the Management Plane
 
SDN-enhanced Services in Enterprises and Data Centers
SDN-enhanced Services in Enterprises and Data CentersSDN-enhanced Services in Enterprises and Data Centers
SDN-enhanced Services in Enterprises and Data Centers
 
Embedded system
Embedded systemEmbedded system
Embedded system
 
Embedded 100912065920-phpapp02
Embedded 100912065920-phpapp02Embedded 100912065920-phpapp02
Embedded 100912065920-phpapp02
 
Mirabilis_Design AMD Versal System-Level IP Library
Mirabilis_Design AMD Versal System-Level IP LibraryMirabilis_Design AMD Versal System-Level IP Library
Mirabilis_Design AMD Versal System-Level IP Library
 
Resume
ResumeResume
Resume
 
SQL Injection and HTTP Flood DDOS Attack Detection and Classification Based o...
SQL Injection and HTTP Flood DDOS Attack Detection and Classification Based o...SQL Injection and HTTP Flood DDOS Attack Detection and Classification Based o...
SQL Injection and HTTP Flood DDOS Attack Detection and Classification Based o...
 
Webinar on Latency and throughput computation of automotive EE network
Webinar on Latency and throughput computation of automotive EE networkWebinar on Latency and throughput computation of automotive EE network
Webinar on Latency and throughput computation of automotive EE network
 
advanced computer architesture-conditions of parallelism
advanced computer architesture-conditions of parallelismadvanced computer architesture-conditions of parallelism
advanced computer architesture-conditions of parallelism
 
5 pipeline arch_rationale
5 pipeline arch_rationale5 pipeline arch_rationale
5 pipeline arch_rationale
 
(ATS3-DEV04) Introduction to Pipeline Pilot Protocol Development for Developers
(ATS3-DEV04) Introduction to Pipeline Pilot Protocol Development for Developers(ATS3-DEV04) Introduction to Pipeline Pilot Protocol Development for Developers
(ATS3-DEV04) Introduction to Pipeline Pilot Protocol Development for Developers
 

Recently uploaded

Democratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek AryaDemocratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek Aryaabh.arya
 
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...Amil baba
 
Halogenation process of chemical process industries
Halogenation process of chemical process industriesHalogenation process of chemical process industries
Halogenation process of chemical process industriesMuhammadTufail242431
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationRobbie Edward Sayers
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwoodseandesed
 
Explosives Industry manufacturing process.pdf
Explosives Industry manufacturing process.pdfExplosives Industry manufacturing process.pdf
Explosives Industry manufacturing process.pdf884710SadaqatAli
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxR&R Consult
 
ENERGY STORAGE DEVICES INTRODUCTION UNIT-I
ENERGY STORAGE DEVICES  INTRODUCTION UNIT-IENERGY STORAGE DEVICES  INTRODUCTION UNIT-I
ENERGY STORAGE DEVICES INTRODUCTION UNIT-IVigneshvaranMech
 
RS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
RS Khurmi Machine Design Clutch and Brake Exercise Numerical SolutionsRS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
RS Khurmi Machine Design Clutch and Brake Exercise Numerical SolutionsAtif Razi
 
Arduino based vehicle speed tracker project
Arduino based vehicle speed tracker projectArduino based vehicle speed tracker project
Arduino based vehicle speed tracker projectRased Khan
 
Event Management System Vb Net Project Report.pdf
Event Management System Vb Net  Project Report.pdfEvent Management System Vb Net  Project Report.pdf
Event Management System Vb Net Project Report.pdfKamal Acharya
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacksgerogepatton
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxViniHema
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfPipe Restoration Solutions
 
fundamentals of drawing and isometric and orthographic projection
fundamentals of drawing and isometric and orthographic projectionfundamentals of drawing and isometric and orthographic projection
fundamentals of drawing and isometric and orthographic projectionjeevanprasad8
 
fluid mechanics gate notes . gate all pyqs answer
fluid mechanics gate notes . gate all pyqs answerfluid mechanics gate notes . gate all pyqs answer
fluid mechanics gate notes . gate all pyqs answerapareshmondalnita
 
Introduction to Casting Processes in Manufacturing
Introduction to Casting Processes in ManufacturingIntroduction to Casting Processes in Manufacturing
Introduction to Casting Processes in Manufacturingssuser0811ec
 
shape functions of 1D and 2 D rectangular elements.pptx
shape functions of 1D and 2 D rectangular elements.pptxshape functions of 1D and 2 D rectangular elements.pptx
shape functions of 1D and 2 D rectangular elements.pptxVishalDeshpande27
 
Cloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptx
Cloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptxCloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptx
Cloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptxMd. Shahidul Islam Prodhan
 

Recently uploaded (20)

Democratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek AryaDemocratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek Arya
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
 
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
 
Halogenation process of chemical process industries
Halogenation process of chemical process industriesHalogenation process of chemical process industries
Halogenation process of chemical process industries
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
 
Explosives Industry manufacturing process.pdf
Explosives Industry manufacturing process.pdfExplosives Industry manufacturing process.pdf
Explosives Industry manufacturing process.pdf
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
 
ENERGY STORAGE DEVICES INTRODUCTION UNIT-I
ENERGY STORAGE DEVICES  INTRODUCTION UNIT-IENERGY STORAGE DEVICES  INTRODUCTION UNIT-I
ENERGY STORAGE DEVICES INTRODUCTION UNIT-I
 
RS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
RS Khurmi Machine Design Clutch and Brake Exercise Numerical SolutionsRS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
RS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
 
Arduino based vehicle speed tracker project
Arduino based vehicle speed tracker projectArduino based vehicle speed tracker project
Arduino based vehicle speed tracker project
 
Event Management System Vb Net Project Report.pdf
Event Management System Vb Net  Project Report.pdfEvent Management System Vb Net  Project Report.pdf
Event Management System Vb Net Project Report.pdf
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
 
fundamentals of drawing and isometric and orthographic projection
fundamentals of drawing and isometric and orthographic projectionfundamentals of drawing and isometric and orthographic projection
fundamentals of drawing and isometric and orthographic projection
 
fluid mechanics gate notes . gate all pyqs answer
fluid mechanics gate notes . gate all pyqs answerfluid mechanics gate notes . gate all pyqs answer
fluid mechanics gate notes . gate all pyqs answer
 
Introduction to Casting Processes in Manufacturing
Introduction to Casting Processes in ManufacturingIntroduction to Casting Processes in Manufacturing
Introduction to Casting Processes in Manufacturing
 
shape functions of 1D and 2 D rectangular elements.pptx
shape functions of 1D and 2 D rectangular elements.pptxshape functions of 1D and 2 D rectangular elements.pptx
shape functions of 1D and 2 D rectangular elements.pptx
 
Cloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptx
Cloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptxCloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptx
Cloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptx
 

Analysing plc software: A SEMANTIC WEB POWERED FRAMEWORK FOR EVALUATING CONTROL SOFTWARE IN AUTOMATIC PRODUCTION SYSTEMS

  • 1. Analysing PLC software A SEMANTIC WEB POWERED FRAMEWORK FOR EVALUATING CONTROL SOFTWARE IN AUTOMATIC PRODUCTION SYSTEMS Akashdeep Singh Lamba – September 2018 School of Computer Science and Statistics Trinity College Dublin, Dublin, Ireland lambaa@tcd.ie
  • 2. What is PLC software? - Programmable Logic Controller - Control devices like motors, power lines, and hardware in huge industrial setups - Industrial grade microcontroller; highly capable, you can increase the number of input output ports by adding more I/O units - Programmed using the IEC 61131-3 standard programming languages - The most popular language is Ladder logic, a diagrammatic language Example of Ladder logic Image Source: http://automationprimer.com/2013/04/14/ladder-logic-203-faults/
  • 3. Why is analysis hard? - Static analysis helps us assess code quality without executing it - Regular software static analysis: linting, go vet, dependency tree, module graph, etc ◦ Lint for C, FindBugs for Java, as well as SonarQube supports several languages - Nature of control software has changed ◦ Focus has shifted from system’s logic to adaptability, dynamic configuration, self-healing ◦ Control software using IEC 61131-3 is now more complex and harder to maintain - Tools exist but are limited to specific controllers or languages or resort to model checking ◦ Arcade (https://arcade.embedded.rwth-aachen.de/doku.php?id=arcade) ◦ PLCChecker (http://www.itris-automation.com/plc-checker/) ◦ CoDeSys Static Analysis (https://store.codesys.com/codesys-static-analysis.html) - Not flexible, and don’t allow thorough and generally applicable analysis
  • 4. Proposed solution – Features & requirements Comprehensive overview Compliance to conventions and style guides Metrics such as cyclomatic complexity, coupling and hierarchies Patterns Key features according to experts Dependency model Flexible specification and application of coding rules and conventions, metrics and patterns Visualization Requirements for the framework
  • 6. Application of the framework - I The dependency model - Identify components: POUs and edges - Program Organization Units (POUs) or nodes: ◦ Projects or Libraries ◦ Variables ◦ DataTypes: ElementTypes or DerivedTypes - Egdes ◦ Interaction between source POU and target POU ◦ ReadsEdge, WritesEdge ◦ CallsEdge, ExecutesEdge Example dependency model using UML diagram
  • 7. Application of the framework - II Knowledge-based system - Knowledge about code derived from code itself, instead of comments and annotations - Two components: ◦ Knowledge base ◦ Inference mechanism - Knowledge base formally describes facts about the code ◦ RDF - Inference mechanism is a set of conditional and logical test statements for analysis of the knowledge base ◦ SPARQL Example dependency model
  • 8. Application of the framework - III Flexible visualization - Lots of information - Built on top of previous two stages - Multiple views of control software ◦ Direct data exchange view: for focusing on POUs and the call interactions between various POUs ◦ Indirect data exchange view: for focusing on the POUs and the read and write interactions between them and their dependencies ◦ And more Example RDF(S) representation dependency model
  • 9. Example: RDF and SPARQL in action Using SPARQL on the RDF graph to analyse software patterns such as code reuse
  • 10. Shortcomings and future scope - Work needs to be done to test scalability - Hardware characteristics need to be incorporated - Coding rules, conventions need to be formally defined - Standards for metrics and patterns need to be introduced
  • 11. References ❑Feldmann, S., Hauer, F., Ulewicz, S. and Vogel-Heuser, B., 2016, June. Analysis framework for evaluating PLC software: An application of Semantic Web technologies. In 2016 IEEE 25th International Symposium on Industrial Electronics (ISIE) (pp. 1048-1054). IEEE. ❑http://www.plctalk.net/qanda/showthread.php?t=93886
  • 12. Acknowledgements This analysis was conducted and presented as part of the 2018/19 Knowledge and Data Engineering module CS7IS1 at Trinity College Dublin, under the guidance of Dr. Declan O'Sullivan, Trinity College Dublin, School of Computer Science and Statistics. 2018