I gave this presentation at the European CLA Summit 2016 in Berlin. Slide Stack can be found on NI Certified LabVIEW Architects Community Forum (access limited to CLAs). This presentation is based on the one I gave at the BALUG meeting in November 2015, but includes new material such as “Pay Grade” Error Handling Strategy, benchmarks for Error Handling & Logging Overhead and an optimized “asynchronous” Logger Solution.
Error Clusters are one of the most frequently used LabVIEW features. They did not evolve over the years, yet still provide adequate error handling support for smaller customer applications. However, developers working on larger size projects with emphasis on reusable code need something more flexible and scalable these days.
I will go over LabVIEW Error Handling scalability issues, how such issues may be addressed by custom Error Handling Extensions, and a scalable Error Handling Strategy used by the latest & greatest SOLID-compliant Arktur Technologies Error Handling Library (AKA Error Classters).
Error Classters use Error Classes instead of LabVIEW Error Clusters - which allows adding custom error data and altering error handling behaviors without changing existing code (Open-Closed Principle). LabVIEW Error Cluster wires are used to propagate both - LabVIEW Error Cluster data and flattened Error Objects to Error Handling VIs without creating ripples throughout the application code.
The (zipped) PowerPoint 2007 file has a fair amount of animations and is best viewed in Slide Show mode.
PDF file includes slide notes. To see notes either hover over an icon in the top left corner of a page (containing Notes) or right-click the icon and select “Open All Pop-ups” option. Diagrams & images on slides with animations are stacked and may obscure images farther out along Z axis. Notes are essential for better understanding this presentation.
This is a very nice presentation, I wish I had been there to see you give it in person. Is there a reason why you didn't base the event logger on the mediator pattern, spinning up a topic actor for each sink type and using the global log idea for access?
Thanks again for the great content!
Thanks for the kind words To address your questions: