GDevCon #3 Presentations
We have now made the tough decisions about who will be presenting at GDevCon#3!
Take a look at who will be there, information will be updated as we received further content from the presenters.
in alphabetical order
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.
Advanced Test Generation for LabVIEW Code
The main hurdle of the wide-spread usage of unit testing is probably the tedious manual labor required. Current unit testing tools for LabVIEW expect too much work from the programmer. Generating templates and letting a human fill them is not enough for most cases, only for applications in regulated environments where unit testing (and other quality assurance measures) are mandatory.
Code analysis is a general technique that can help to fill in the gap that is currently a job of the human programmer. The two main challenges to solve in unit testing automation is 1) to generate meaningful test inputs automatically and 2) to evaluate the outcome of unit tests (passed or failed). In this talk we focus on the first challenge. The second challenge would go beyond the code itself as it would require the understanding of the specification.
Test inputs can be meaningful even if the result of the test is not compared against reference values. For example, a set of carefully selected test inputs (a test suite) can exercise the unit under tests so that all branches of the code are explored. Such a test suite can rule out unreachable (also called dead) code or unexpected errors.
There are various approaches targeting automated test generation based on static and dynamic code analysis. In this talk we will present two main approaches and the trade-offs between them. The first approach is based on a technique called symbolic execution and the second approach is a combination of random testing and code coverage measurement. The main trade-off across symbolic execution and random testing lies in reliability and performance versus the complexity of the implementation.
After a high-level and practical introduction, the talk will discuss how the aforementioned approaches can be implemented for LabVIEW based on existing tool options. A tool demo of a prototype implementation will also be presented.
Peter Bokor studied computer science at the Budapest University of Technology and Economics. He received his PhD in 2011 from the Technical University of Darmstadt. His main research topics included formal methods, program analysis and test generation. In 2012 he joined BSH Home Appliances in Berlin (a Bosch company) where he was a SW architect responsible for developing a new hardware-in-the-loop (HiL) test system based on LabVIEW and NI technologies. In 2015 he joined IncQuery Labs in Budapest where he continued to work with LabVIEW. Currently, he is the product owner of InstaCoverage, a new and flexible unit testing tool for LabVIEW.
LabVIEW and the Big Red Button
Designing a system to be safe is easy – just add an emergency stop button, right? Turning off the power is always the correct thing to do. Or is it? Hazard, risk and safety are common terms, but are often used in confusing and sometimes incorrect ways. This talk will use concepts from risk analysis that can, and should, influence our thinking when developing LabVIEW code. Examples from a recent project will demonstrate some of the thought processes involved in designing a ‘safe’ system.
Software Development as a Team Activity, or How I Became a Scrum Master
Efficient software development teams don't grow on trees. Building such teams require many things such as knowledge, courage, leadership, patience, empathy, and time. Building efficient LabVIEW teams probably require a few additional items... True story by a practicing Scrum Master. Forming, storming, norming, and performing. Not for the sake of promoting Scrum but using it as an example methodology.
Pushing the Boundaries of NI Linux RTOS
This presentation will cover how full test systems can be completed using NI Linux RTOS. It will also discuss how the flexibility of the NI Linux RTOS has become very beneficial for us as products we are testing are becoming more complex.
The presentation will cover tools that are officially supported by NI, like the embedded UI, and also cover "Hacks" that are not officially supported but can be powerful for full scale test systems development, for example VNC remote desktop viewer.
Additionally, the presentation will cover how to setup and target a Virtual Machine that emulates a cRIO 903x.
Neil Crossan is a Lead Test Systems Engineer at Dyson working within the Global Product Verification and Test Department (GPVT). He started his career at National Instruments, and spent 5 years working in roles in Engineering, Sales and Marketing, and stays in the NI Ecosystem as a Certified LabVIEW Architect and a Certified Professional Instructor. Outside of work, Neil is passionate about technology and in his spare time enjoys trialling and researching the newest ways to automate his home.
Go with the (git) flow!
Joerg Hampel & Fabiola De La Cueva
Hampel Software Engineering & Delacor
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 founder and managing partner at Delacor, and she 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.
The LabVIEW Ecosystem of a Particle Accelerator
Science and Technology Facilities Council
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 and explain how the creation of CERN caused a change of direction for the Rutherford Appleton Lab which led to the construction of the ISIS Neutron Source.
I'll discuss the continual evolution of the ISIS synchrotron proton beam diagnostics and associated DAQ and analysis capabilities over its 35 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, I’ll outline our plans for big data capture and the application of machine learning techniques to an accelerator facility.
Bryan is an Accelerator Physicist at the ISIS Neutron and Muon source in the UK. He graduated from the University of Liverpool in 2005 after a summer placement at the TRIUMF cyclotron facility in Vancouver, Canada. In 2014 he spent 6 months on secondment to CERN working with the Proton Synchrotron Booster group on beam injection upgrades.
He is currently Section Leader for Beam Physics Operations at ISIS 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 and is studying for CLA. His talk is a case study of the use of LabVIEW for beam diagnostics of the ISIS accelerators.
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.
G for kids of all ages & Engineering NXG: STEM Edition
Tom McQuillan & Kabul Maharjan
Scientifica Ltd. & 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. In 10 short minutes, this talk will signpost how graphical programming helps children learn in the following steps.
Birth to 4 - computing without computers, demo games you can play to identify interest
4 to 6 - First Lego league jr. Discovery, demo iPad with OSMO numbers and OSMO coding (physical G)
6 to 9 - First Lego league jr., Demo Lego WeDo 2.0 (G in iPad)
9 to 16 - First Lego league with Lego Mindstorms, demo LabVIEW integration (possibly)
16 to ... - 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. I 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 me 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 and I'm a full-time software developer who writes commercial software for the scientific research industry.
I'm a Certified LabVIEW and TestStand Architect, Certified LabVIEW Embedded Systems Developer and Certified Professional Instructor for National Instruments.
As well as teaching courses for NI, I'm a regular presenter at NI events, user groups and community conferences like GDevCon. I am also on the committee for GDevCon and the European CLA Summit.
Lastly, I have my own LabVIEW YouTube channel - Tom's LabVIEW Adventure, which you're warmly invited to check out.
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.
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.
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 26 years. He is a Certified LabVIEW Architect, Certified Embedded Developer, Certified TestStand 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.
Testable code and why it matters
Our automated test systems perform over a hundred measurements on tens of products a day. Downtime due to an error, cost hundreds but undetected bugs resulting in product recalls could cost thousands if not millions. I will use an original project to demonstrate how writing testable code has helped at different stages from development through to production:
Write testable code that involves minimal changes to the original code and is not framework dependent; examples with LVOOP, DQMH and JKI.
Deciding which codes needed to be unit tested and an example of implementation (NI Unit Test Framework).
DQMH to test hardware and modules.
In-house Central Error Handler (CEH) which logs sequence of processes and reports errors allowing production engineers to make informed decisions.
Automating Code Reviews
Steve Watts & Fabiola De La Cueva
SSDC Ltd & Delacor
Code reviews have a couple of types of benefit
1. They Enforce/Reinforce a company style and standard
2. They help share, explain and learn
We think 1. can and should automated, leaving more time for 2.
In the presentation we look at a Manual Code Review and demonstrate how we can automate parts of it.
Presenter#1 has a manual approach but is keen to automate it. Presenter#2 advises companies on how to automate software production.
Steve is a LabVIEW Champion and CLA who has been using LabVIEW for many years, he is co-owner of SSDC (founded 1998). He is co-author of "A Software Engineering Approach to LabVIEW". His current thoughts can be found on his blog (Random Ramblings on LabVIEW Design). Steve is also a founding member of DSH Workshops and GDevCon.
Fabiola is co-author of LabVIEW Graphical Programming, 5th Edition. Fabiola is the lead architect for DQMH®.
She is the founder and managing partner at Delacor, and has been working with LabVIEW since 2000. She is one of the leading experts in the industry, is a CLA, CLED, CPI, and has been named a “LabVIEW Champion” by NI. Delacor focuses on helping customers create custom software and hardware solutions for different applications, as well as implementing hardware and software engineering best practices. Fabiola leads the software side, helping LabVIEW teams implement best Software Engineering practices, conduct software architecture and code reviews and training development teams to create applications that are easy to maintain, easy to read, easy to scale, and modular. She is often asked to help with difficult projects where little documentation exists and key developers are no longer available, or when projects have become so large as to be unwieldy.
Abstracted Data Handling that'll put a Smile on your [Inter]face
Computer Controlled Solutions
The scope of software tends to grow over time. Some ideas can be adopted early on in development in order to manage changes to data.
Typical applications in industry can involve acquiring data of differing types from multiple sources. Data may then be transported from source to multiple locations through some medium. A structured approach to the development of a set of classes specifically allowing data to handle itself can enable the developer to add and reuse functionality. Smaller applications can benefit from a class-based approach to data-handling as an alternative to rushing to structure data at source reducing issues arising from application growth.
Ingram is a Software Engineer and LabVIEW Architect at Computer Controlled Solutions - an Alliance Partner specializing in LabVIEW FPGA in the West Midlands.
He previously worked in both Test and Electronics at Dyson, designing systems to run life tests on new and existing products. He began using LabVIEW at Cardiff University when studying for his PhD in Tribology, where he researched micro-pitting fatigue in gear teeth.
When he is not writing software, he enjoys self-isolating, 3D-printing, doing crosswords, drinking coffee and playing Counterstrike.
Beyond the initial implementation of Continuous Integration
This presentation will delve into some of the challenges with delivering projects that we have resolved by expanding our implementation of CI.
This will include solutions to the technical challenges of projects with more than one application written in different languages. We will share how CI helped us to deal with hot fixes and new features at the same time.
We will give the details of implementing hypervisor and some additional plugins that allowed us to operate as if we had a cloud setup when in fact everything is hosted on our local server, this meant maintaining these projects was made much easier.
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.