Using Interfaces in Actor Framework: Design Implications
Allen C Smith
The architecture of an actor system has three components: what the actors do, what messages they send, and what routes exist between them.
However, in Actor Framework, the messages in a system are intimately coupled to the recipients, not the senders, which tends to overemphasize the individual actors. Interfaces, new in LabVIEW 2020, break this coupling, and elevate messages to first class citizens. This presentation will discuss how interfaces let us view the message network as a distinct design entity, and explore some ways we can use that insight to strengthen our designs.
Allen C Smith has been using the NI platform to solve complex engineering challenges for over 29 years. He is a Certified LabVIEW Architect, Certified Embedded Developer, and LabVIEW Champion. He has been an Alliance Partner, worked for Alliance Partners, and served as a Systems Engineer with National Instruments. While at NI, he developed the software tool support and official training course for the Actor Framework. He is once again an Alliance Partner, offering services as a consulting software architect and engineer. He remains an AF evangelist and active member of the AF community.
From Interfaces to Full-Scale Multiple Inheritance
Interfaces introduced new dimension in LabVIEW OOP architectures. Full-scale multiple inheritance could offer even more possibilities. The presentation describes solution and toolkit for implementing multiple parent classes and class branches. The basic idea is new thus feedback and brainstorming following the presentation would contribute to further concept development.
Andrei Zagorodni has been working with LabVIEW since 1995. He is a regular participant and presenter of CLA summits and other NI events. His professional interests are in software architecture, particularly in OOP solutions. He is the author of “AZ Interface” - solution and toolkit (http://azinterface.net/) for implementing interface-based OOP architecture. The solution was developed before LabVIEW 2020, in which interfaces became a native part of the language.
Unit Testing from the Trenches
Test Driven Development (TDD) is a discipline and a process which enables higher quality and productivity by using tests to drive software design. The LabVIEW community could benefit from TDD techniques, but there are challenges with hardware, user interfaces, and other IO devices. Today I use TDD whenever I develop software and I have leveraged it in various applications including production test systems, embedded RT systems, and an application framework. In this presentation I will share my experiences and discuss how to test drive LabVIEW design, including hardware and other IO. I will also share examples of how the discipline of TDD has improved my design, while simultaneously providing a quick way of testing the system at any time.
I am a LabVIEW and TestStand developer managing a small consultancy business as an NI Alliance Partner on the Finnish west coast. Through my career I have previously been working in various roles both with NI and at an Alliance Partner in Stockholm. I spend a lot of time exploring the wider industry to understand and learn principles and practices which may be leveraged also in the world of LabVIEW. I am also the author of the LUnit unit test framework, as well as some other open-source projects.
The LabVIEW Ecosystem of a Particle Accelerator
Bryan Jones & Sarah Fisher
European Spallation Source,
ISIS Neutron and Muon Source
Particle accelerators are hugely complex machines that survive at the cutting edge of scientific, technological and environmental capabilities. This talk will begin with a brief history of particle accelerators in the UK including membership of CERN and the construction of the ISIS Neutron Source.
We will discuss the continual evolution of the ISIS proton beam diagnostics and associated DAQ and analysis capabilities over its 37 years of operation before focussing on the key technical and procedural developments we employ that keep the facility successful. These will be of interest to anyone facing challenges of high-speed, distributed hardware, shared resources and multiple, remote users. Finally, we will outline our plans for big data capture and the application of machine learning techniques to an accelerator facility.
Bryan was an Accelerator Physicist at the ISIS Neutron and Muon source from 2005 to 2020. He has previously worked at CERN and is now leading commissioning of the low-energy linac at the European Spallation Source in Sweden. While at ISIS, he was responsible for the maximising the output of the accelerators for user operation, leading experimental programmes and designing upgrades to the facility. He began using LabVIEW in 2008, has been a CLD since 2012.
Sarah graduated from the University of Manchester with a Masters in Physics in 2004 and joined ISIS where she currently leads the Beam Diagnostics Software Section. In 2009 she founded the RAL LabVIEW User Group through which she negotiated an Enterprise Agreement with NI for all the UK Research Councils. In 2016 she became a CLA and has mentored several colleagues through NI accreditation. She is also a founder member of GDevCon.
An all-composing, all-choreographing* CD system for LabVIEW
Okinawa Institute of Science and Technology (OIST)
Demonstration of the setup and use of Docker with LabVIEW and GoCD to build Packed Project libraries, NIPkgs, desktop and NI Linux-RT applications. *All usage is for compile-time only - singing and dancing not included!
Christian Butcher started working with LabVIEW in 2015 and has since used it for a range of research applications at the Okinawa Institute of Science and Technology (OIST), focusing mainly turbulent fluid flows.
Christian uses LabVIEW together with the CompactRIO platform to manage experimental setups, with an ever-growing array of Packed Project Libraries to solve problems and simplify code reuse.
He is a Certified LabVIEW Developer, LabVIEW Champion, and a GLA Summit organizer.
Outside of LabVIEW, Christian also enjoys working with TypeScript and React for web development.
My Robot Army - CI/CD at Wiresmith Technology
Let me take you on a tour of my setup for CI with LabVIEW including testing, building and generating Gitlab releases.
In LabVIEW he’s particularly interested in applying Software Engineering practices common in other languages such as unit testing and continuous integration (CI) and authored the G CLI tool to assist the community in adopting CI practices.
Advanced UI Techniques and Principles
A survey of techniques for developing advanced and good-looking UIs, including use of multiple subpanels, 2D pictures as an augment to graphs, how to handle slow-UI updates, "menu buttons", and "Flat 2.0" design principles.
Originally from Canada, James Powell was introduced to LabVIEW while working as a Nuclear Physicist at Lawrence Berkeley National Lab in California. He is now a consultant doing LabVIEW full time and working for a range of technology-focused small companies near Oxford in the UK. He is the author of a number of freely-available packages for LabVIEW, including SQLite Library, JSONtext, Flatline Controls, and Messenger Library.
Interfacing LabVIEW applications
Applications in LabVIEW very often do not work completely independently, but in the environment of other applications that use the provided API to control or supervise the application created in LabVIEW. In this presentation I would like to present the best practices in API design and discuss the available technologies in which other applications can communicate with our application.
Go with the (git) flow!
Joerg Hampel & Fabiola De La Cueva
Hampel Software Engineering & DQMH Consortium
Two presenters of two different companies (working with different kinds of customers and doing different kinds of projects) will talk about workflows for source code control and how they affect and are affected by different team and project setups.
The presentation will
- outline the benefits of adopting a workflow
- introduce different workflow models, explain what they do, where they differ
- highlight the pros and cons of each workflow model depending on the use case / type of project at hand
The presenters will focus on talking about the implications of using a certain workflow model in their daily work(*), and how it shapes and ties into their own tools and processes: Collaboration with customers, on-site vs. remote support, SCC tools, Automation and CI/CD, and more.(*) git/gitflow and mercurial
Fabiola is the lead architect for DQMH, one of the most popular LabVIEW frameworks. She is the co-author of "LabVIEW Graphical Programming", is a CLA, CPI, CLED, and has been named a "LabVIEW Champion" by National Instruments.
Joerg is the founder and owner of Hampel Software Engineering, the first German NI Center of Excellence. His professional interest lies in software development in small teams. He has a proven track-record of nearly 20 years of delivering successful customers projects. Joerg is a CLA and LabVIEW Champion.
Diving into Open Source:
University of Manchester
Open Source Software enrich the graphical developer community and enables us all to produce better software quicker - but navigating in the open source world can be tough.
Where should you look for open source code? How can you manage external dependencies in your software applications? And what is the deal with open source licences? Ugh!
You might have some code that you would want to share and develop with others but you aren’t sure how to go about it or maybe you don’t know how you can publish your software to provide the most value to the community.
This talk tackles these tricky tribulations leaving you ready and equipped to jump on in!
An electronic engineer and CLA, John enjoys crafting both source-code and circuits in his work building instruments for scientific discovery and solving technical challenges. He has been smitten with LabVIEW for nearly 10 years and loves the chance to collaborate, share his knowledge and learn something new.
All you wanted to know about LabVIEW and Web Services but feared to ask
STUDIO BODs INC.
We live in a connected world and with the Internet of Things (IoT), it is crucial to have our LabVIEW applications leveraging existing pieces of software and services available out there.
Did you know LabVIEW can interact with your Office 365 or Google account? Did you know LabVIEW can programmatically use Google Translate, Geolocation, Text-to-speech, Artificial Intelligence, etc.?
Any time you think something might be difficult to achieve with LabVIEW, there is probably an alternative available with a cloud services provider that you can leverage directly from your LabVIEW code.
In this presentation, we will give you all the keys, tips and tricks to have your LabVIEW application communicating with the most popular cloud services, achieving different kinds of popular authentication methods and leveraging the incredible quantity of APIs available on the web!
We will also show you how you can implement your own secured cloud services with LabVIEW Web Services and have other programmers interact with your API using any programming language they want!
Matthias Baudot has been working with LabVIEW for over ten years and is a worldwide leading expert in LabVIEW applications deployment and remote management. He is a LabVIEW Champion, presents regularly at NI Week, and has been awarded “World’s Fastest LabVIEW Programmer” in 2015.
Create awesome documents in LabVIEW using Asciidoc
Creating report or document for the data your LabVIEW applications are generating is not as simple as we would like. In this presentation, I'd like to show you how you can use the powerful Asciidoc syntax to generate PDF or HTML documents. Note: The solution presented do not require MS Word nor PDF printers :) Detailed content: - What is asciidoc and asciidoctor - How to use Asciidoc toolkit for LabVIEW (open source toolkit) - How to create graphs in your documents - Bonus: Going further with Asciidoc to manage your documentation as you code.
Olivier is the founder, and owner, of Wovalab and a member of the DQMH Consortium board. He's been working with LabVIEW for over 20 years. Since the beginning of his career, he's constantly improved development processes with the teams he works with. Now, with Wovalab, he's helping people in R&D and industry to be successful with their LabVIEW projects. Olivier is also developing and maintaining some well-known LabVIEW open-source projects.
G for kids of all ages & Engineering NXG: STEM Edition
Tom McQuillan & Kabul Maharjan
JKI & Orbimation Technology Limited
We all interact with children at some point in our life and we are all capable of inspiring them to be inquisitive about STEM. This talk will signpost how graphical programming helps children learn and how each one of us can positively impact their future.
We will explore computing without computers, First Lego league Jr, OSMO coding (physical G), Lego WeDo 2.0 (iPad G), First Lego league with Lego Mindstorms, LabVIEW CE with Linx (The real G but no demo as this is worth a whole hour)
As STEM ambassadors we would also like to share stories about schools and science events to show off what engineers can do and encourage children to consider a career in STEM.
Given the STEM skills shortage and lack of diversity in engineering generally, we would like to pitch a call to action to the LabVIEW community to see what they can do to promote STEM in their local areas.
We have also been working with the IET (The Institute of Engineering and Technology) about raising awareness of neurodiversity within engineering (engineers with dyslexia, dyspraxia, dyscalculia, autism etc). The current focus of the initiative is to generate case-studies about successful engineers who are doing what they love, despite not fitting into the education system. The second call to action to the LabVIEW Community is to contact us if they have a story to share.
Through the powerful IET platform, the hope is that the stories will then motivate and inspire those who believe they should be engineers, to become engineers.
Hi, I’m Tom McQuillan. I'm a senior software developer at JKI. I'm a LabVIEW Champion, Certified LabVIEW and TestStand Architect, and Certified LabVIEW Embedded Systems Developer. I have my own LabVIEW YouTube channel - Tom's LabVIEW Adventure, which you're warmly invited to check out.
Kabul is a software engineer passionate about Robotics and Automated Systems. He has been a LabVIEW user for 15+ years, is a Certified LabVIEW Architect, member of the GDevCon Board and a LabVIEW Champion. Kabul is a technology enthusiast and started www.orbimation.com to work with educators and fellow engineers to inspire the engineers of tomorrow. “Whether it’s Robotics Clubs, Coding Challenges or making silly videos, do it with a smile”
Error Handling 2.0
The LabVIEW error handling had some recent additions, that have hardly been advertised. An entire palette has been added, and although it's quite trivial once you know how it works, not many have figured out how to use it. So, I'll evaluate how errors are handled, maybe briefly go into some historical solutions, and then explain how the new solutions help with 1) supporting multiple errors and 2) adding custom information. All of this without making mandatory changes to existing code. The new way to handle errors works well with the old way. This makes this new way to handle errors pretty nice: many benefits for free. I will share the little bits of code I made, although most of it is in LabVIEW.
Please be aware these are working titles and subject to change. We need to reserve the right to change the list of presentations without notice to keep our flexibility.
GDevCon #3 Workshops
At GDevCon we want to provide the opportunity for actual hands-on learning.
Following the success of last year, we are looking forward to more workshops from many other LabVIEW friends this year! Feel free to contact us if you need any info about the workshops or GDevCon in general!
You can find all the details on GDevCon.com/workshops.