TechCasts

Navigating the Edge (Part 2)

In this part 2, Joe Richmond-Knight talks about his experience with our RTOS & Hypervisor PikeOS and the configuration (CODEO Integrated Development Environment) together with the technology add-on MATLAB Simulink from MathWorks.

Read the Transscript

Ben: Hello and welcome back to part 2 of our SYSGO TechCast. In the first part we already got to know Joe and heard more about his technical background. We learned about embedded IoT, future technology trends, embedded AI and the Edge.

When you know SYSGO you of course know that we are experts in safety and security certification for a very long time and in many successful projects. But what's really interesting is how do we establish safety or security in those use cases you've just mentioned, right?

Joe: There are of course decisions being made in a number of these self-driving platforms. So there is a safety element to these platforms that are implementing ML (Machine Learning) technologies, self-learning capabilities etc. I think, from my understanding, the safety mechanisms are more wrapped around that than they are necessarily ingrained in that technology. I think you can never be 100% safe on a platform. It's impossible to be 100% safe. There will always be some uncertainty but if you start with the correct foundations you are starting with your best foot forward.

So the ability to create these kinds of systems with PikeOS I think is a good place to start. We have a number of technologies built into the product that make that process a lot easier whether it's separation of resources, separation of time, partitioning or firewalling you would call it. These technologies help you build the foundations for a safety or security focus system.

Ben: You have mentioned PikeOS. As the people out there might know this is our certified RTOS with hypervisor functionality that comes with a lot of powerful features, support for various hardware platforms and certification kits. As field application engineer this is of course the main product that you are working with all the time. How would you describe PikeOS or what was your impression when you started working with it?

Joe: My first impression of PikeOS... I should probably start with saying I did not have a huge amount of experience working directly with a real-time operating system before I joined SYSGO. I knew what a real-time operating system was.
I knew what a hypervisor - or I know what a hypervisor is but I didn't have as much experience in using these kind of technologies as I would have liked.

So with that being said when I started with PikeOS actually it was so much easier than I thought primarily because I much prefer graphical environments to do terminals which I know is a slight contradiction of what a lot of people believe engineers prefer. I like to make my life easier and the ability to configure the RTOS in a graphical way was a big plus for me. Not only in daily use now but from an onboarding point of view when you are cluing up and you are spinning up your understanding of a new platform - that made a big difference because there is a direct cause and effect you can see with clicking a button on the screen recompiling an image and seeing an output. So I would say I had a really good experience in comparison to previous systems I have worked through the past where you have to work solely out of a command line or you need to script everything.

I think the graphical environment is really good but also the tool chain we provide around the product is. It kind of abstracts away a little to those complexities from the system developer who at the end of the day is their primary responsibility is to build a product not configure workspaces and learn command line tools.

Ben: Yes right and at the end of the day it is all about saving time and of course money right? So PikeOS really provided good tools and solutions for you.

Joe: You know the other thing that is cool is having a single environment for all of our products. So quite selfishly, from a field applications engineering point of view, that is fantastic because it means I have one environment to learn. But from an engineering standpoint actually that is really beneficial as well. Not only because it is a common interface but you do not have to close an application and reopen a new one to configure systems which are otherwise actually interconnected.

So for example if you are putting Linux (or ELinOS) on top of PikeOS if you are working with another Linux distribution you would have to enter a completely separate build environment to set up that environment and then come back into CODEO, come back into the PikeOS environment to set that up whereas if you use a Linux and PikeOS all under the CODEO IDE it is all in the same place. And I know that might sound like a soft benefit but actually I think it saves a lot of time. Not only from obviously, you know, clicking less buttons and using one program instead of multiple. But there is the disadvantage of having to context switch when you are using different environments so having everything under the hood being in the same context of understanding I think is beneficial as well.

Ben: And the cool thing about CODEO is it gets delivered with all our products and it offers a powerful feature configurator and many helpful tools all to make the life of developers a lot easier. So could you tell us about a project you are working on right now in PikeOS?

Joe: So one thing that is really interesting that I am working on at the moment is augmenting the application environment on top of PikeOS. So we have of course you know the components of the system that we use to set up the operating
system but we also have the environment in which applications are built for PikeOS on top right.


And a really interesting topic that I am looking at at the moment is the additional tooling and the additional systems we can add on top of PikeOS to really improve or build upon that great user experience we already have. Of course there is the functionality benefits as well so I am working on (I cannot say too much) but a few projects where we are looking at how Simulink (Simulink is a simulation mathematical modeling environment from MathWorks) - we are looking at how that can interplay with PikeOS, how we can use or how an engineer, a software developer can go from simulating a particular piece of functionality to taking that same model that they have built and actually applying it to the target building their application with that.
So we are trying to understand in a few projects how we can break down those barriers of going from Simulink to PikeOS and really trying to blow those lines in a good way so that the application developer has a really good experience.

Really interesting, so the goal is to make everything working perfectly hand in hand.
So there is a few similarities and a few differences between the way that Simulink and PikeOS work. When you are simulating with Simulink it is running on your development PC. So it is not necessarily deterministic, it is running at best efforts on the PC in an environment. There is ways to change that but by and large that is how that works. Running these things on PikeOS provides you with an environment to deterministically test these effectively applications that you are building.

So when you are building a real time system it is the best place to be because this is the system that you will be running on. Because of the development tools we have in PikeOS it is far easier to test those on a target than if you were doing that say in a bare metal environment. Like the trace tool we have, the MUXA agent allows you to connect into the target and understand how well your model is running now that it is on the hardware. Because if you are doing that in the isolation of the computer or the workstation it is far more difficult to do that.

Ben: And to our hearers I can tell that we have a dedicated page on Simulink in our technology addons overview with some information on the strong foundation of PikeOS for a safe and secure execution of real-time applications. 

Joe: Of course we have the two Application Notes that are already about using the Simulink embedded coder but also PikeOS tool chain that we developed to take the Simulink models and import those into PikeOS. But like I said earlier we are really looking at how we can grease that process, how we can abstract those two different systems into more of an integrated development environment. 

Ben: Joe, a big thank you for all these interesting insights and for sharing your experience as an FAE in our techast.

Joe: Yeah, thank you very much looking forward to speaking to you again.

Ben: And to our listeners we thank you very much for tuning in and engaging with us. Feel free and contact us if you want to know more or have a specific project. You can also catch us live at the upcoming Embedded World in April in Nuremberg.

Visit our booth and let's continue this conversation in person. You can find more information at sysgo.com. Goodbye from the SYSGO Central. Stay connected, stay curious and keep exploring the digital frontier.

Shadow

Listen to our TechCasts on


YouTube

Listen now