SlideShare a Scribd company logo
open62541
Open Source OPC UA on
Steroids
Julius Pfrommer (KIT / Fraunhofer IOSB)
julius.pfrommer@kit.edu
julius.pfrommer@iosb.Fraunhofer.de
June 2016
open62541 originated at:
open62541 in a Nutshell
• Open Source OPC UA SDK (Stack + Server + Client)
• Written in C99 (builds with GCC / Clang / MSVC)
• Platform independent
• Endianness-agnostic
• No external dependencies of the core library (a few tiny .c
files in the /deps folder, e.g. a random number generator)
• Plugins for OS-dependent features with implementations for
the major platforms (networking, logging, clock, …)
• Distributed as a single open62541.c/.h pair
• License: LGPL + static linking exception. Can be linked
with commercial code, only changes to the library itself
need to be published
Goals of open62541
What?
OPC UA is great as a technology. Let’s make it easily
accessible to increase adoption.
How?
• Be the “Apache Server” of machine communication
• Allow tinkering/prototyping with the technology
• Provide a readable and concise implementation
(learn by reading the code along with the standard)
Not: Provide commercial support
open62541 is small
• Server binary down to 75kb / Client down to 40kb
• Server runs with 60kb RAM (mostly due to the large
information model loaded by default)
• Most code is generated from XML definitions
• Content of the /src and /include directories:
http://cloc.sourceforge.net v 1.64 T=0.17 s (277.8 files/s, 97617.7 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
C 25 1201 744 10291
C/C++ Header 22 617 1183 2482
-------------------------------------------------------------------------------
SUM: 47 1818 1927 12773
-------------------------------------------------------------------------------
open62541 is fast
• Event-driven / Async server design
• Speed / cache efficiency considered from the start
• 16,000 req/sec measured with Posix sockets on a
single core
• Can be greatly improved by using epoll/kqueue or high-
throughput kernel-level mechanisms, such as DPDK
• 1,000,000 read req/sec without networking (request
decoding, processing, response encoding)
• 10,000 DataChange MonitoredItems with a 50ms
sampling rate  15% CPU load on a single core
• Continuous Integration for every commit
• Builds on GCC, MinGW, Clang, MSVC with very conservative
settings (-Wall -Wextra -Werror and more)
• Unit and integration tests (currently ca. 60% coverage)
• Static code analysis: Clang Analyzer, Coverity, Cppcheck
• Runtime sanitizers: Valgrind, Address Sanitizer, Memory
Sanitizer, Undefined Behaviour Sanitizer
• Conformance Testing Tools
• Very comprehensive set of tests
• Provided by the OPC Foundation
• Fuzzing of the network input (afl-fuzzer)
• Zero-known-bugs policy for releases
open62541 is high quality
open62541 is community-driven
The people who started everything in 2014 (the 5th is holding the camera)
• Development on Github (no infrequent code-dumps)
• Public Issue Tracker / Mailing List / IRC Channel
• 34 direct contributors to the code so far (statistics from
Github, June 2016)
Picture: OPC UA Workshop / open62541 User Meeting at RWTH Aachen (September 2015)
open62541 Roadmap
Currently Supported
• Micro-Embedded Profile
• OPC UA Binary Protocol
• Read/Write/etc.
• Subscriptions/DataChange
MonitoredItems
• Methods
• Runtime changes to the
information model (add/delete
nodes & references)
• Constructor / Destructor for
Object/Variant Instantiation
Mid-term Future
• Encryption
• MonitoredItem Filtering
• Events + Triggering
• Event-driven Client
• Async Services
• Subscriptions Handling in the
Background
Topics that are up for grabs
• User Access Levels
• Finish/Verify lockless multicore
server

More Related Content

What's hot

InduSoft Web Studio and OPC UA Connectivity
InduSoft Web Studio and OPC UA ConnectivityInduSoft Web Studio and OPC UA Connectivity
InduSoft Web Studio and OPC UA Connectivity
AVEVA
 
OPC UA Inside Out, Part 1 - Introduction and Playing Field
OPC UA Inside Out, Part 1 - Introduction and Playing FieldOPC UA Inside Out, Part 1 - Introduction and Playing Field
OPC UA Inside Out, Part 1 - Introduction and Playing Field
Sadatulla Zishan
 
An Overview of OPC UA Security
An Overview of OPC UA SecurityAn Overview of OPC UA Security
An Overview of OPC UA Security
Sadatulla Zishan
 
OPC UA Inside Out Part 3 - Edge Devices
OPC UA Inside Out Part 3 - Edge DevicesOPC UA Inside Out Part 3 - Edge Devices
OPC UA Inside Out Part 3 - Edge Devices
Sadatulla Zishan
 
Advancing IoT Communication Security with TLS and DTLS v1.3
Advancing IoT Communication Security with TLS and DTLS v1.3Advancing IoT Communication Security with TLS and DTLS v1.3
Advancing IoT Communication Security with TLS and DTLS v1.3
Hannes Tschofenig
 
BKK16-200 Designing Security into low cost IO T Systems
BKK16-200 Designing Security into low cost IO T SystemsBKK16-200 Designing Security into low cost IO T Systems
BKK16-200 Designing Security into low cost IO T Systems
Linaro
 
The Role of Standards in IoT Security
The Role of Standards in IoT SecurityThe Role of Standards in IoT Security
The Role of Standards in IoT Security
Hannes Tschofenig
 
Managing Your ROI & TCO In Automation Testing | V&V Webinar PPT
Managing Your ROI & TCO In Automation Testing | V&V Webinar PPTManaging Your ROI & TCO In Automation Testing | V&V Webinar PPT
Managing Your ROI & TCO In Automation Testing | V&V Webinar PPT
Sadatulla Zishan
 
OPC UA for Embedded & Constrained Devices
OPC UA for Embedded & Constrained Devices OPC UA for Embedded & Constrained Devices
OPC UA for Embedded & Constrained Devices
Sadatulla Zishan
 
System integration in offshore supply vessels – how we applied DDS and redefi...
System integration in offshore supply vessels – how we applied DDS and redefi...System integration in offshore supply vessels – how we applied DDS and redefi...
System integration in offshore supply vessels – how we applied DDS and redefi...
Real-Time Innovations (RTI)
 
Software Defined networking (SDN)
Software Defined networking (SDN)Software Defined networking (SDN)
Software Defined networking (SDN)
Milson Munakami
 
Brocade Software Networking (SDN NFV Day ITB 2016)
Brocade Software Networking (SDN NFV Day ITB 2016)Brocade Software Networking (SDN NFV Day ITB 2016)
Brocade Software Networking (SDN NFV Day ITB 2016)
SDNRG ITB
 
Akraino and Edge Computing
Akraino and Edge ComputingAkraino and Edge Computing
Akraino and Edge Computing
Liz Warner
 
OVNC 2015-SDN 해외 활용사례 (일본): O3 Project : User-oriented SDN for WAN
OVNC 2015-SDN 해외 활용사례 (일본): O3 Project : User-oriented SDN for WANOVNC 2015-SDN 해외 활용사례 (일본): O3 Project : User-oriented SDN for WAN
OVNC 2015-SDN 해외 활용사례 (일본): O3 Project : User-oriented SDN for WAN
NAIM Networks, Inc.
 
Your Path to Edge Computing - Akraino Edge Stack Update
Your Path to Edge Computing - Akraino Edge Stack UpdateYour Path to Edge Computing - Akraino Edge Stack Update
Your Path to Edge Computing - Akraino Edge Stack Update
Liz Warner
 
DPDK & Cloud Native
DPDK & Cloud NativeDPDK & Cloud Native
DPDK & Cloud Native
Michelle Holley
 
Time Sensitive Networks: How changes to standard Ethernet enable convergence ...
Time Sensitive Networks: How changes to standard Ethernet enable convergence ...Time Sensitive Networks: How changes to standard Ethernet enable convergence ...
Time Sensitive Networks: How changes to standard Ethernet enable convergence ...
Erik van Hilten
 
F5 perspective of nfv+sdn (SDN NFV Day ITB 2016)
F5 perspective of nfv+sdn (SDN NFV Day ITB 2016)F5 perspective of nfv+sdn (SDN NFV Day ITB 2016)
F5 perspective of nfv+sdn (SDN NFV Day ITB 2016)
SDNRG ITB
 
OVNC 2015-THE NEW IP - Open Networking Architecture with SDN & NFV
OVNC 2015-THE NEW IP - Open Networking Architecture with SDN & NFVOVNC 2015-THE NEW IP - Open Networking Architecture with SDN & NFV
OVNC 2015-THE NEW IP - Open Networking Architecture with SDN & NFV
NAIM Networks, Inc.
 
SDN Basics – What You Need to Know about Software-Defined Networking
SDN Basics – What You Need to Know about Software-Defined NetworkingSDN Basics – What You Need to Know about Software-Defined Networking
SDN Basics – What You Need to Know about Software-Defined Networking
SDxCentral
 

What's hot (20)

InduSoft Web Studio and OPC UA Connectivity
InduSoft Web Studio and OPC UA ConnectivityInduSoft Web Studio and OPC UA Connectivity
InduSoft Web Studio and OPC UA Connectivity
 
OPC UA Inside Out, Part 1 - Introduction and Playing Field
OPC UA Inside Out, Part 1 - Introduction and Playing FieldOPC UA Inside Out, Part 1 - Introduction and Playing Field
OPC UA Inside Out, Part 1 - Introduction and Playing Field
 
An Overview of OPC UA Security
An Overview of OPC UA SecurityAn Overview of OPC UA Security
An Overview of OPC UA Security
 
OPC UA Inside Out Part 3 - Edge Devices
OPC UA Inside Out Part 3 - Edge DevicesOPC UA Inside Out Part 3 - Edge Devices
OPC UA Inside Out Part 3 - Edge Devices
 
Advancing IoT Communication Security with TLS and DTLS v1.3
Advancing IoT Communication Security with TLS and DTLS v1.3Advancing IoT Communication Security with TLS and DTLS v1.3
Advancing IoT Communication Security with TLS and DTLS v1.3
 
BKK16-200 Designing Security into low cost IO T Systems
BKK16-200 Designing Security into low cost IO T SystemsBKK16-200 Designing Security into low cost IO T Systems
BKK16-200 Designing Security into low cost IO T Systems
 
The Role of Standards in IoT Security
The Role of Standards in IoT SecurityThe Role of Standards in IoT Security
The Role of Standards in IoT Security
 
Managing Your ROI & TCO In Automation Testing | V&V Webinar PPT
Managing Your ROI & TCO In Automation Testing | V&V Webinar PPTManaging Your ROI & TCO In Automation Testing | V&V Webinar PPT
Managing Your ROI & TCO In Automation Testing | V&V Webinar PPT
 
OPC UA for Embedded & Constrained Devices
OPC UA for Embedded & Constrained Devices OPC UA for Embedded & Constrained Devices
OPC UA for Embedded & Constrained Devices
 
System integration in offshore supply vessels – how we applied DDS and redefi...
System integration in offshore supply vessels – how we applied DDS and redefi...System integration in offshore supply vessels – how we applied DDS and redefi...
System integration in offshore supply vessels – how we applied DDS and redefi...
 
Software Defined networking (SDN)
Software Defined networking (SDN)Software Defined networking (SDN)
Software Defined networking (SDN)
 
Brocade Software Networking (SDN NFV Day ITB 2016)
Brocade Software Networking (SDN NFV Day ITB 2016)Brocade Software Networking (SDN NFV Day ITB 2016)
Brocade Software Networking (SDN NFV Day ITB 2016)
 
Akraino and Edge Computing
Akraino and Edge ComputingAkraino and Edge Computing
Akraino and Edge Computing
 
OVNC 2015-SDN 해외 활용사례 (일본): O3 Project : User-oriented SDN for WAN
OVNC 2015-SDN 해외 활용사례 (일본): O3 Project : User-oriented SDN for WANOVNC 2015-SDN 해외 활용사례 (일본): O3 Project : User-oriented SDN for WAN
OVNC 2015-SDN 해외 활용사례 (일본): O3 Project : User-oriented SDN for WAN
 
Your Path to Edge Computing - Akraino Edge Stack Update
Your Path to Edge Computing - Akraino Edge Stack UpdateYour Path to Edge Computing - Akraino Edge Stack Update
Your Path to Edge Computing - Akraino Edge Stack Update
 
DPDK & Cloud Native
DPDK & Cloud NativeDPDK & Cloud Native
DPDK & Cloud Native
 
Time Sensitive Networks: How changes to standard Ethernet enable convergence ...
Time Sensitive Networks: How changes to standard Ethernet enable convergence ...Time Sensitive Networks: How changes to standard Ethernet enable convergence ...
Time Sensitive Networks: How changes to standard Ethernet enable convergence ...
 
F5 perspective of nfv+sdn (SDN NFV Day ITB 2016)
F5 perspective of nfv+sdn (SDN NFV Day ITB 2016)F5 perspective of nfv+sdn (SDN NFV Day ITB 2016)
F5 perspective of nfv+sdn (SDN NFV Day ITB 2016)
 
OVNC 2015-THE NEW IP - Open Networking Architecture with SDN & NFV
OVNC 2015-THE NEW IP - Open Networking Architecture with SDN & NFVOVNC 2015-THE NEW IP - Open Networking Architecture with SDN & NFV
OVNC 2015-THE NEW IP - Open Networking Architecture with SDN & NFV
 
SDN Basics – What You Need to Know about Software-Defined Networking
SDN Basics – What You Need to Know about Software-Defined NetworkingSDN Basics – What You Need to Know about Software-Defined Networking
SDN Basics – What You Need to Know about Software-Defined Networking
 

Viewers also liked

InduSoft OPC UA Webinar with Genesis RTS
InduSoft OPC UA Webinar with Genesis RTSInduSoft OPC UA Webinar with Genesis RTS
InduSoft OPC UA Webinar with Genesis RTSAVEVA
 
The Inside Story: How OPC UA and DDS Can Work Together in Industrial Systems
The Inside Story: How OPC UA and DDS Can Work Together in Industrial SystemsThe Inside Story: How OPC UA and DDS Can Work Together in Industrial Systems
The Inside Story: How OPC UA and DDS Can Work Together in Industrial Systems
Real-Time Innovations (RTI)
 
OPC Unified Architecture
OPC Unified ArchitectureOPC Unified Architecture
OPC Unified Architecture
Vishwa Mohan
 
Hilscher netIOT - Industrial Cloud Communication
Hilscher netIOT - Industrial Cloud CommunicationHilscher netIOT - Industrial Cloud Communication
Hilscher netIOT - Industrial Cloud Communication
Armin Pühringer
 
Manufacturing IoT - OPC UA Information Revolution
Manufacturing IoT - OPC UA Information RevolutionManufacturing IoT - OPC UA Information Revolution
Manufacturing IoT - OPC UA Information Revolution
Bill Lydon
 
How the fusion of time sensitive networking, time-triggered ethernet and data...
How the fusion of time sensitive networking, time-triggered ethernet and data...How the fusion of time sensitive networking, time-triggered ethernet and data...
How the fusion of time sensitive networking, time-triggered ethernet and data...
Real-Time Innovations (RTI)
 
Liquid Fuels Lectures (GIKI)
Liquid Fuels Lectures (GIKI)Liquid Fuels Lectures (GIKI)
Liquid Fuels Lectures (GIKI)
SAFFI Ud Din Ahmad
 
OPC PPT
OPC PPTOPC PPT
OPC PPT
Shivam Singh
 
Rig Operations & Equipment
Rig Operations & EquipmentRig Operations & Equipment
Rig Operations & Equipment
M.T.H Group
 
Understanding DPDK
Understanding DPDKUnderstanding DPDK
Understanding DPDK
Denys Haryachyy
 

Viewers also liked (10)

InduSoft OPC UA Webinar with Genesis RTS
InduSoft OPC UA Webinar with Genesis RTSInduSoft OPC UA Webinar with Genesis RTS
InduSoft OPC UA Webinar with Genesis RTS
 
The Inside Story: How OPC UA and DDS Can Work Together in Industrial Systems
The Inside Story: How OPC UA and DDS Can Work Together in Industrial SystemsThe Inside Story: How OPC UA and DDS Can Work Together in Industrial Systems
The Inside Story: How OPC UA and DDS Can Work Together in Industrial Systems
 
OPC Unified Architecture
OPC Unified ArchitectureOPC Unified Architecture
OPC Unified Architecture
 
Hilscher netIOT - Industrial Cloud Communication
Hilscher netIOT - Industrial Cloud CommunicationHilscher netIOT - Industrial Cloud Communication
Hilscher netIOT - Industrial Cloud Communication
 
Manufacturing IoT - OPC UA Information Revolution
Manufacturing IoT - OPC UA Information RevolutionManufacturing IoT - OPC UA Information Revolution
Manufacturing IoT - OPC UA Information Revolution
 
How the fusion of time sensitive networking, time-triggered ethernet and data...
How the fusion of time sensitive networking, time-triggered ethernet and data...How the fusion of time sensitive networking, time-triggered ethernet and data...
How the fusion of time sensitive networking, time-triggered ethernet and data...
 
Liquid Fuels Lectures (GIKI)
Liquid Fuels Lectures (GIKI)Liquid Fuels Lectures (GIKI)
Liquid Fuels Lectures (GIKI)
 
OPC PPT
OPC PPTOPC PPT
OPC PPT
 
Rig Operations & Equipment
Rig Operations & EquipmentRig Operations & Equipment
Rig Operations & Equipment
 
Understanding DPDK
Understanding DPDKUnderstanding DPDK
Understanding DPDK
 

Similar to open62541 - Open Source OPC UA on Steroids

OpenPOWER Acceleration of HPCC Systems
OpenPOWER Acceleration of HPCC SystemsOpenPOWER Acceleration of HPCC Systems
OpenPOWER Acceleration of HPCC Systems
HPCC Systems
 
Flexible compute
Flexible computeFlexible compute
Flexible compute
Peter Clapham
 
Sanger, upcoming Openstack for Bio-informaticians
Sanger, upcoming Openstack for Bio-informaticiansSanger, upcoming Openstack for Bio-informaticians
Sanger, upcoming Openstack for Bio-informaticians
Peter Clapham
 
PLNOG 8: Piotr Gierz - Protokół OpenFlow
PLNOG 8: Piotr Gierz - Protokół OpenFlow PLNOG 8: Piotr Gierz - Protokół OpenFlow
PLNOG 8: Piotr Gierz - Protokół OpenFlow
PROIDEA
 
Runos OpenFlow Controller (eng)
Runos OpenFlow Controller (eng)Runos OpenFlow Controller (eng)
Runos OpenFlow Controller (eng)
Alexander Shalimov
 
How static analysis supports quality over 50 million lines of C++ code
How static analysis supports quality over 50 million lines of C++ codeHow static analysis supports quality over 50 million lines of C++ code
How static analysis supports quality over 50 million lines of C++ code
cppfrug
 
Stacks and Layers: Integrating P4, C, OVS and OpenStack
Stacks and Layers: Integrating P4, C, OVS and OpenStackStacks and Layers: Integrating P4, C, OVS and OpenStack
Stacks and Layers: Integrating P4, C, OVS and OpenStack
Open-NFP
 
LCA14: LCA14-209: ODP Project Update
LCA14: LCA14-209: ODP Project UpdateLCA14: LCA14-209: ODP Project Update
LCA14: LCA14-209: ODP Project Update
Linaro
 
Introductionto SDN
Introductionto SDN Introductionto SDN
Introductionto SDN
Md. Shariful Islam Robin
 
Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)
Bangladesh Network Operators Group
 
Ceph Day SF 2015 - Deploying flash storage for Ceph without compromising perf...
Ceph Day SF 2015 - Deploying flash storage for Ceph without compromising perf...Ceph Day SF 2015 - Deploying flash storage for Ceph without compromising perf...
Ceph Day SF 2015 - Deploying flash storage for Ceph without compromising perf...
Ceph Community
 
DEVNET-1006 Getting Started with OpenDayLight
DEVNET-1006	Getting Started with OpenDayLightDEVNET-1006	Getting Started with OpenDayLight
DEVNET-1006 Getting Started with OpenDayLight
Cisco DevNet
 
Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015
Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015
Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015
Belmiro Moreira
 
Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...
Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...
Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...
Nagios
 
A Library for Emerging High-Performance Computing Clusters
A Library for Emerging High-Performance Computing ClustersA Library for Emerging High-Performance Computing Clusters
A Library for Emerging High-Performance Computing Clusters
Intel® Software
 
Docker Platform and Ecosystem Nov 2015
Docker Platform and Ecosystem Nov 2015Docker Platform and Ecosystem Nov 2015
Docker Platform and Ecosystem Nov 2015
Patrick Chanezon
 
Open Ethernet: an open-source approach to modern network design
Open Ethernet: an open-source approach to modern network designOpen Ethernet: an open-source approach to modern network design
Open Ethernet: an open-source approach to modern network design
Alexander Petrovskiy
 
Introduction to SDN
Introduction to SDNIntroduction to SDN
Introduction to SDN
Muhammad Moinur Rahman
 
Kafka Explainaton
Kafka ExplainatonKafka Explainaton
Kafka Explainaton
NguyenChiHoangMinh
 
OVS and DPDK - T.F. Herbert, K. Traynor, M. Gray
OVS and DPDK - T.F. Herbert, K. Traynor, M. GrayOVS and DPDK - T.F. Herbert, K. Traynor, M. Gray
OVS and DPDK - T.F. Herbert, K. Traynor, M. Gray
harryvanhaaren
 

Similar to open62541 - Open Source OPC UA on Steroids (20)

OpenPOWER Acceleration of HPCC Systems
OpenPOWER Acceleration of HPCC SystemsOpenPOWER Acceleration of HPCC Systems
OpenPOWER Acceleration of HPCC Systems
 
Flexible compute
Flexible computeFlexible compute
Flexible compute
 
Sanger, upcoming Openstack for Bio-informaticians
Sanger, upcoming Openstack for Bio-informaticiansSanger, upcoming Openstack for Bio-informaticians
Sanger, upcoming Openstack for Bio-informaticians
 
PLNOG 8: Piotr Gierz - Protokół OpenFlow
PLNOG 8: Piotr Gierz - Protokół OpenFlow PLNOG 8: Piotr Gierz - Protokół OpenFlow
PLNOG 8: Piotr Gierz - Protokół OpenFlow
 
Runos OpenFlow Controller (eng)
Runos OpenFlow Controller (eng)Runos OpenFlow Controller (eng)
Runos OpenFlow Controller (eng)
 
How static analysis supports quality over 50 million lines of C++ code
How static analysis supports quality over 50 million lines of C++ codeHow static analysis supports quality over 50 million lines of C++ code
How static analysis supports quality over 50 million lines of C++ code
 
Stacks and Layers: Integrating P4, C, OVS and OpenStack
Stacks and Layers: Integrating P4, C, OVS and OpenStackStacks and Layers: Integrating P4, C, OVS and OpenStack
Stacks and Layers: Integrating P4, C, OVS and OpenStack
 
LCA14: LCA14-209: ODP Project Update
LCA14: LCA14-209: ODP Project UpdateLCA14: LCA14-209: ODP Project Update
LCA14: LCA14-209: ODP Project Update
 
Introductionto SDN
Introductionto SDN Introductionto SDN
Introductionto SDN
 
Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)
 
Ceph Day SF 2015 - Deploying flash storage for Ceph without compromising perf...
Ceph Day SF 2015 - Deploying flash storage for Ceph without compromising perf...Ceph Day SF 2015 - Deploying flash storage for Ceph without compromising perf...
Ceph Day SF 2015 - Deploying flash storage for Ceph without compromising perf...
 
DEVNET-1006 Getting Started with OpenDayLight
DEVNET-1006	Getting Started with OpenDayLightDEVNET-1006	Getting Started with OpenDayLight
DEVNET-1006 Getting Started with OpenDayLight
 
Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015
Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015
Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015
 
Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...
Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...
Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...
 
A Library for Emerging High-Performance Computing Clusters
A Library for Emerging High-Performance Computing ClustersA Library for Emerging High-Performance Computing Clusters
A Library for Emerging High-Performance Computing Clusters
 
Docker Platform and Ecosystem Nov 2015
Docker Platform and Ecosystem Nov 2015Docker Platform and Ecosystem Nov 2015
Docker Platform and Ecosystem Nov 2015
 
Open Ethernet: an open-source approach to modern network design
Open Ethernet: an open-source approach to modern network designOpen Ethernet: an open-source approach to modern network design
Open Ethernet: an open-source approach to modern network design
 
Introduction to SDN
Introduction to SDNIntroduction to SDN
Introduction to SDN
 
Kafka Explainaton
Kafka ExplainatonKafka Explainaton
Kafka Explainaton
 
OVS and DPDK - T.F. Herbert, K. Traynor, M. Gray
OVS and DPDK - T.F. Herbert, K. Traynor, M. GrayOVS and DPDK - T.F. Herbert, K. Traynor, M. Gray
OVS and DPDK - T.F. Herbert, K. Traynor, M. Gray
 

Recently uploaded

Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
Jen Stirrup
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 

Recently uploaded (20)

Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 

open62541 - Open Source OPC UA on Steroids

  • 1. open62541 Open Source OPC UA on Steroids Julius Pfrommer (KIT / Fraunhofer IOSB) julius.pfrommer@kit.edu julius.pfrommer@iosb.Fraunhofer.de June 2016 open62541 originated at:
  • 2. open62541 in a Nutshell • Open Source OPC UA SDK (Stack + Server + Client) • Written in C99 (builds with GCC / Clang / MSVC) • Platform independent • Endianness-agnostic • No external dependencies of the core library (a few tiny .c files in the /deps folder, e.g. a random number generator) • Plugins for OS-dependent features with implementations for the major platforms (networking, logging, clock, …) • Distributed as a single open62541.c/.h pair • License: LGPL + static linking exception. Can be linked with commercial code, only changes to the library itself need to be published
  • 3. Goals of open62541 What? OPC UA is great as a technology. Let’s make it easily accessible to increase adoption. How? • Be the “Apache Server” of machine communication • Allow tinkering/prototyping with the technology • Provide a readable and concise implementation (learn by reading the code along with the standard) Not: Provide commercial support
  • 4. open62541 is small • Server binary down to 75kb / Client down to 40kb • Server runs with 60kb RAM (mostly due to the large information model loaded by default) • Most code is generated from XML definitions • Content of the /src and /include directories: http://cloc.sourceforge.net v 1.64 T=0.17 s (277.8 files/s, 97617.7 lines/s) ------------------------------------------------------------------------------- Language files blank comment code ------------------------------------------------------------------------------- C 25 1201 744 10291 C/C++ Header 22 617 1183 2482 ------------------------------------------------------------------------------- SUM: 47 1818 1927 12773 -------------------------------------------------------------------------------
  • 5. open62541 is fast • Event-driven / Async server design • Speed / cache efficiency considered from the start • 16,000 req/sec measured with Posix sockets on a single core • Can be greatly improved by using epoll/kqueue or high- throughput kernel-level mechanisms, such as DPDK • 1,000,000 read req/sec without networking (request decoding, processing, response encoding) • 10,000 DataChange MonitoredItems with a 50ms sampling rate  15% CPU load on a single core
  • 6. • Continuous Integration for every commit • Builds on GCC, MinGW, Clang, MSVC with very conservative settings (-Wall -Wextra -Werror and more) • Unit and integration tests (currently ca. 60% coverage) • Static code analysis: Clang Analyzer, Coverity, Cppcheck • Runtime sanitizers: Valgrind, Address Sanitizer, Memory Sanitizer, Undefined Behaviour Sanitizer • Conformance Testing Tools • Very comprehensive set of tests • Provided by the OPC Foundation • Fuzzing of the network input (afl-fuzzer) • Zero-known-bugs policy for releases open62541 is high quality
  • 7. open62541 is community-driven The people who started everything in 2014 (the 5th is holding the camera) • Development on Github (no infrequent code-dumps) • Public Issue Tracker / Mailing List / IRC Channel • 34 direct contributors to the code so far (statistics from Github, June 2016) Picture: OPC UA Workshop / open62541 User Meeting at RWTH Aachen (September 2015)
  • 8. open62541 Roadmap Currently Supported • Micro-Embedded Profile • OPC UA Binary Protocol • Read/Write/etc. • Subscriptions/DataChange MonitoredItems • Methods • Runtime changes to the information model (add/delete nodes & references) • Constructor / Destructor for Object/Variant Instantiation Mid-term Future • Encryption • MonitoredItem Filtering • Events + Triggering • Event-driven Client • Async Services • Subscriptions Handling in the Background Topics that are up for grabs • User Access Levels • Finish/Verify lockless multicore server