Managing Complexity in Embedded Software Development

Share This Article

You are invited! Join us for a free workshop to learn about a new approach to software design that helps manage complexity in today’s embedded software.

Thursday, June 29, 2017, 12:00 pm – 5:00 pm

Training Room
3021 Miller Road
Ann Arbor, MI 48103

Who should attend?
Embedded software engineers in the transportation industry currently developing primarily in C-code or generating C-code from model-based tools. Prerequisite: Basic knowledge of C programming for embedded systems.

There is no charge to attend the workshop, but attendance is limited and pre-registration is required. Lunch is included. Registration closes June 23, 2017.

Register here:

Embedded software continues to grow by 20-50% every year depending upon the application domain. Increasing complexity can lead to a rise in defects and cost. Most companies have responded by adopting model-based engineering approaches that facilitate early validation of systems designs, but do not adequately address critical software implementation issues such as defect prevention and removal, safety of the implemented code, hardware abstraction, variant management and complexity management throughout the life cycle.

In this workshop, engineers will learn a new paradigm in embedded software design that starts by reducing the complexity of the system through a systematic analysis of all the operating modes. This is followed by modeling of the system behavior via interactive graphs that describe the system based on linear or differential equations, maps and curves. Our instructors will demonstrate these steps via state-of-the-art Eclipse-based tools and application examples. Participants will learn how these tools automate the generation of equations based on desired input-output relationships between different parts of the system. Through interactive sessions, they will also discover how these designs can be easily simulated on the PC or, just as easily, implemented on an embedded microcontroller using “safe-by-design” modeling and automatic code generation tools.

Participants are encouraged to bring their own PCs in order to get the most out of this hands-on workshop. ETAS will provide each participant with a USB stick containing trial software licenses and examples to use during the class and to take home with them.


12:00 pm Lunch with Welcome Address and Course Intro
·         Why embedded software development is at a crossroad
·         Why we need a fresh look at existing paradigms
·         Distribute software and examples to install
1:00 pm Reducing System Complexity (ASCET-SCODE)
·         Analysis of problem space with inputs and outputs
·         Separation into consistent and overlap-free operating modes
·         Creation of a deterministic and error-free state machines
2:00 pm Modeling of physical systems (ASCET-CONGRA)
·         Creating a continuous-time, undirected, single-source physical model
·         Deriving computation of data flow for different operation modes
·         Time-discretization of model including explicit and implicit solvers
·         Implementation for embedded ECUs including numerical determination of roots
3:00 pm Coffee Break
3:30 pm Modeling of embedded software (ASCET-DEVELOPER)
·         Creating embedded software that is “safe-by-design” in graphical and textual formats
·         Generating MISRA-compliant C-code
·         Leveraging variants for product-line engineering
·         Exploring the Eclipse eco-system
4:30 pm Bringing it all together
·         Integrating the software development workflow
·         Support for standardized architectures (such as AUTOSAR)
·         Developing Virtual ECUs for frontloading development, testing and calibration
·         Continuous integration and build
5:00 pm Conclusions and wrap-up