Bay Area LabVIEW User Group

This is an open group. Sign in and click the "Join Group" button to become a group member and start posting.

SOLID Actor Programming Presentation at NIWeek 2018


I would be presenting on the subject [TS1114] at NIWeek 2018 Software Engineering Processes, Architectures and Design (SEPAD, AKA cee-pad) Track at 5:00 PM on Wednesday, May 23 in Room 16A. This is a follow-up to “SOLID Error Handling” presentation I gave at NIWeek 2017.


For those, not going to NIWeek this year – come to the July 10 BALUG meeting to see the repeat talk.



Presentation discusses how application of SOLID Design Principles affects design and architecture of actor-based software. It covers the following topics:

    • Why one should use SOLID Principles?
    • Brief SOLID Principles Recap
    • What is Actor Programming?
    • Actor Programming Best Practices
    • Actor Programming and SOLID Principles
    • Messaging Topologies

and concludes with a summary:

  • Consider using SOLID Principles to :
    • Adapt Application Code to Requirements changes at incremental cost
    • Substantially increase Code Reuse levels
    • Enable design of Plug-In Architectures
  • Actor Designs based on Command Pattern are SOLID-unfriendly
  • Do proper due diligence before committing to a particular Actor Design/Framework
  • Message Brokers provide SOLID support for Hybrid Messaging Topology




TS1114 References & Resources


SOLID Principles, General

[1] Agile Software Development, Robert C. Martin, Prentice Hall, 2003

[2] Clean Architectures, Robert C. Martin, Prentice Hall 2017

[3] Inversion of Control Containers and the Dependency Injection Pattern, Martin Fowler, 2004


SOLID Principles for LabVIEW Developers

[4] TS9518: How Applying Agile SW Design Principles Changed My Designs and Code, Dmitry Sagatelyan, NIWeek 2016

[5] Computer Science for the G Programmer, Year 1, Stephen Loftus-Mercer, Jon McBee, NIWeek 2014

[6] Computer Science for the G Programmer, Year 2, Stephen Loftus-Mercer, Jon McBee, NIWeek 2015

[7] Principles of Package Design, Jon McBee, CLA Summit 2016, Austin


Applying SOLID Principles in LabVIEW

[8] TS0251 : SOLID Error Handling, Dmitry Sagatelyan, NIWeek 2017

[9] Design Pattern: Multiple Interface Support in G, Dmitry Sagatelyan, LabVIEW Best Practices Forum, 2016


Actor Programming, General

[10] Actor Model of Computation, Carl Hewitt,, 2010

[11] Parallel Programming Models, Wikipedia

[11a] Reactive Programming vs. Reactive Systems, Jonas Boner, Viktor Klang, 2016


Actors in LabVIEW

[12] Fundamentals of Actor-Oriented Programming, Dave Snyder, CLA Summit 2014, Austin

[13] Actor Programming without an Actor Framework, Dmitry Sagatelyan, CLA Summit 2015, Austin

[14] ArT_Actors: A Step Beyond Actor Framework 3.0 ?, Dmitry Sagatelyan, White Paper & Discussion, AF Forum, 2012

[15] Decoupling Actors with Event-Driven Architectures, Jon McBee, Blog, 2016


NI Actor Framework

[16] Using the Actor Framework 3.0 in LabVIEW,  Allen Smith, Stephen Mercer, AF Forum, 2011

[17] Efficient Actor Framework Development: Structure and Messaging, Allen Smith, CLA Summit 2018, Madrid

[18] TS1767: What a Software Architect Needs to Know When Using Actor Framework, Dave Snyder, David Staab, NIWeek 2013

[19] Zero-Coupled Actor Project, DMurrayIRL, AF Forum, 2015

[20] Actor Framework from Basics to PPL PlugIn, Stefan Lemmens, AF Forum, 2018


Message 1 of 2

Re: SOLID Actor Programming Presentation at NIWeek 2018


Please find presentation  slides attached. 


It seems  I need to improve my skills at timing presentations  - the 49 ‘talkable’ slides took 1 hour and 45 minutes to present at a reasonably fast pace. However, it was not possible removing any of the material without leaving gaps in content. Perhaps, I should have split it in two 1 hour parts …


The (zipped) PowerPoint 2007 file has a fair amount of animations and is best viewed in Slide Show mode. It also has a substantial amount of Presenter Notes, which are essential for better understanding the presentation.


PDF file includes Presenter Notes (but not animations). 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.




Message 2 of 2
This is an open group. Sign in and click the "Join Group" button to become a group member and start posting.