Home > On-Demand Archives > Keynote Presentations >

The Embedded Frontier: Modern Trends and Practices

Jacob Beningo - Watch Now - Duration: 01:41:37

The Embedded Frontier: Modern Trends and Practices
Jacob Beningo

Embedded systems development has dramatically changed over the last decade. Navigating today's trends and where you need to be tomorrow can impact whether you’ll be successful or struggle to deliver your products on time. The latest trends can lead to best practices that help you develop more reliable embedded devices faster and within customer budgets.

In this session, we will explore the current state of the embedded software industry, the trends, and the practices that are helping teams be successful. We will look at the dynamics between C, C++, and Rust adoption. The impact that AI and ML are having on how we develop and debug embedded systems. We’ll look at changes to how systems are architected and the improvements in build systems and lifecycle processes that help teams manage complexity.

Attendees will walk away, understanding where the industry is at today, where it’s going, and the changes they need to make to stay up to date.

Topics covered in this talk will include:

  • Programming Language Trends
  • AI & ML Development Techniques
  • Lifecycle Automation with DevOps and CI/CD
  • Build Systems and Configuration
  • Testing and simulation
  • Modern Software Architectures
M↓ MARKDOWN HELP
italicssurround text with
*asterisks*
boldsurround text with
**two asterisks**
hyperlink
[hyperlink](https://example.com)
or just a bare URL
code
surround text with
`backticks`
strikethroughsurround text with
~~two tilde characters~~
quote
prefix with
>

Insta_Jun
Score: 0 | 56 minutes ago | no reply

Hello Jacob, very interesting talk! Thank you very much! I would appreciate that if you could provide your perspectives on why rust language is the main contender for embedded system, but not other languages like C#, Go, or Swift.

SimonSmith
Score: 0 | 8 hours ago | no reply

Thanks, that was a great keynote and Q&A! I would certainly agree that when you think you’ve learnt something, then it all changes and there’s always more to learn im our industry!

The list of positives from AI was useful. I had only thought of using it for generating code. How can firms leverage AI to do all this, without risking leaking all their valuable IP? When I tried ChatGPT to solve a problem for me, I had to think up a contrived example and do it from my own non-work computer just to be sure.

Your discussion and then questions from Ali about top-down design was something I’ve never thought about before. I can see the real advantages in focussing on what adds value to the customer. I can imagine them having difficulty visualising the end product though. They want to hold it, push buttons etc, even though the top-down design could be demo’d on a laptop.

I think one of the reasons these modern practices haven’t truely taken off in the embedded world is maybe the human element. We tend to do things how they’re always done, because it’s what we know. Not everyone reads textbooks, blogs, attends conferences or want to spend time exploring new tools and practices, so there’s an inertia to change. We book work to a project and focus on requirements, which doesn’t allow time to stop and think if there are better ways. Every time I read about your proper HAL, I wish I’d have gone down that route so I could stop debugging on target!

MikeB
Score: -1 | 3 days ago | no reply

Thanks for the talk! Could you share a good configuration management example (C and C++)?

14:16:30 From Keith J to Everyone:
	Agreed that the top down approach to modern software architecture is a great/better way to go.  The problem I've found with it is management then believes you're closer to being done/release than you are
14:17:29 From Eric to Everyone:
	Reacted to "Agreed that the top ..." with 👏
14:18:07 From Caio J. B. V. Guimaraes to Everyone:
	Reacted to "Agreed that the top ..." with 👏
14:18:36 From Caio J. B. V. Guimaraes to Everyone:
	Hi, Jacob! Where could I find solid resources regarding these last three slides?
14:18:50 From Andrew MacIsaac to Everyone:
	Reacted to "Agreed that the to..." with 👏
14:19:14 From Raul Pando to Everyone:
	add 👏
14:19:20 From SA to Everyone:
	Reacted to "Agreed that the top ..." with 👏
14:24:33 From Michael to Everyone:
	add 👏
14:25:16 From Ali to Everyone:
	Regarding top down approach, how does one approach it when the whole organization is still very hardware dependent.
	Say they don't have simulators?
	
	The end customer is actually management, they want to be shown some shiny stuff, yet are completely not transparent of what is going in the Sprint.
	Typical management would say that we aren't close to be completing requirements, just show and tell.
	
	What are your thoughts?
14:26:04 From . to Everyone:
	Reacted to "Agreed that the top ..." with 😂
14:26:47 From Ali to Everyone:
	Reacted to "Agreed that the top ..." with 😂
14:27:45 From Michael to Everyone:
	remove 👏
14:33:16 From ever to Everyone:
	Reacted to "Agreed that the top ..." with 😂
14:33:16 From Eric to Everyone:
	That was quite a LOT of stuff in 90' … thanks!
14:33:29 From Ali to Everyone:
	Reacted to "That was quite a LOT..." with 👍
14:34:14 From Junnan Pan to Everyone:
	could you please explain a little bit about the concept of microservice
14:35:45 From . to Everyone:
	How to avoid and manage tech debt when racing to finishline and release to customer?
14:37:20 From Ali to Everyone:
	Thanks Jacob, great insight. Unfortunately, most dont have any devs writing business logic. Same devs are doing both and that is where it gets messy.
	
	I like the idea of adopting a hybrid approach 👍
14:38:17 From Ali to Everyone:
	Reacted to "How to avoid and man..." with 👍
14:40:03 From ever to Everyone:
	yea agree on all of those top down aproach .... extra note on "containers news"  I have seen some development for microcontrollers using a JavaVM to develop microcotroller code on Java  that allows a "digital twin like" on your PC. Similar to Androidstudio. you can move your "business logic development" from one uC to another uC faster while simulating everything on the PC.  The look and feel help to decide faster if moving in the right way
14:41:42 From Aaron Edis to Everyone:
	Does Rust have capabilities similar to the STL in C++? Does C++ have the safety features that Rust is known for?
14:44:25 From BobF to Everyone:
	Regarding 'HIL' (Hardware-In-the-Loop), have any majors developed HIL boards, apart from common 'Dev' boards, possibly generic to some extent?
14:52:45 From Keith J to Everyone:
	Getting requirements/specifications from stakeholders is a challenge and the quite often change after the fact..  The top down as you call it is really a way to help get something in their view to help develop specs.
14:53:30 From Mike to Everyone:
	Could you share a good configuration management example (C and C++)?
14:53:36 From Eric to Everyone:
	What is "Frankenstein"?
	
	https://hackaday.com/2014/03/29/frankenstein-the-open-source-engine-control-unit/
14:53:57 From Junnan Pan to Everyone:
	Reacted to "What is "Frankenstei..." with 👍
14:59:45 From Junnan Pan to Everyone:
	Reacted to "How to avoid and man..." with 👍
15:00:16 From BobF to Everyone:
	Reacted to "What is "Frankenst..." with 👍
15:00:53 From Shilpa to Everyone:
	Reacted to "How to avoid and man..." with 👍
15:04:42 From Shilpa to Everyone:
	Reacted to "What is "Frankenstei..." with 👍
15:07:22 From Eric to Everyone:
	Imho not C is the problem but bad programmers. I've seen multiple malloc(sizeof(int)); in a voting machine.
15:08:49 From Mike to Everyone:
	Replying to "Could you share a go..."
	
	Will do. Thanks
15:12:09 From Junnan Pan to Everyone:
	where can we find your slides?
15:12:37 From Junnan Pan to Everyone:
	thanks
15:13:01 From Eric to Everyone:
	Great, thanks!
15:13:18 From Andrew MacIsaac to Everyone:
	Thank you!
15:13:19 From Lyden Smith to Everyone:
	Thank you Jacob!

OUR SPONSORS

OUR PARTNERS