Software architecture is the road map, analogous to a GPS aid, that tells a developer what they should be building. An adequately defined software architecture with related requirements can successfully guide a team to implement their product within budget and reasonable time frame while minimizing stress. In this course, attendees will learn how to define the philosophies, diagrams, techniques, and tools they need to design their next embedded system. Registration and Playback located here (May require login to access)
October 25 – Day 1 – Embedded Software Architecture Design Having a well-thought-out, architected design can dramatically improve the chances of a development team building their system successfully. The architecture is the roadmap coders use to help implement the system. This session will discuss software architecture, how it is created, and the philosophies a modern designer should adopt to design a system successfully.
October 26 – Day 2 – Introduction to UML Diagrams Without a common language, developers would not effectively communicate their design intent to their colleagues. UML is the language software architects use to design a system. This session will explore UML, the notations, and diagrams and how they come together to create a comprehensive architecture. October 27 – Day 3 – State Machines, State Charts, and Event-Driven Behavior Embedded systems can commonly be broken down into a series of states and state machines. The system transitions between these different states depending on events occurring within the system. This session will explore how to use state machines and state charts to develop a software architecture. October 28 – Day 4 – Tools and Techniques for Developing an Architecture Engineers love their tools! The right tool for the right job can dramatically simplify and accelerate development. In this session, attendees will explore different tools and techniques used to develop embedded software architectures. In addition, we will explore a few common design patterns, code generation techniques, and model-driven development. October 29 – Day 5 – Beyond UML UML diagrams are fantastic for communicating design intent, but they only show part of the picture. This session will discuss essential charts needed in embedded software architecture, such as an isolation model, task model, and more! Attendees will walk away understanding additional diagrams required and how to wrap them together into one cohesive framework.
Jacob’s General Embedded System Resources:
- Sign-Up for the Embedded Bytes Newsletter here
- Developing Reusable Firmware – A Practical Guide to API’s, HAL’s and Drivers here
- MicroPython Projects Book here
- Jacob’s YouTube Channel – here
- No additional resources at this time