C-Code
Automotive embedded software is typically implemented in programming language C, a general-purpose programming languages and one of the most widely used programming languages. C has been standardized by ANSI since 1989 (ANSI C) and by the International Organization for Standardization (ISO).
Model-based software development (MBSD)
Model-based software development an embedded software development approach where the embedded functionalities are modeled using a graphical or textual notation, and where the model then serves various purposes such as simulation, test, validation & verification as well as target code generation. Prominent MBSD tools in the automotive industry are ETAS ASCET or Simulink/Stateflow from TheMathworks.
While model-based software development has gained significant traction over the past decades, not all automotive software is developed according to these proven principles. Much automotive embedded software was and still is being developed through manual coding in C.
On the other hand, many automotive engineers that have a control engineering background prefer seeing a block diagram rather than reading code.
"A picture says more than a thousand words."
This is where EHANDBOOK provides a special support when it comes to C-code the implementation of automtive embedded software.
EHANDBOOK support for ANSI C-Code
Alternatively - or even additionally - to the supported MBSD formats, EHANDBOOK Container-Build tools support generating interactive models for ECU functions implemented in ANSI C-Code. Through this, an interactive, graphical visualization of the data and control flow structure of a C-code implementation can automatically be derived. Such auto-generated interactive models can be used by automotive engineers as a basis for understanding algorithms, tracing signal flows, etc. - even if there is no graphical model available at the source.
int a;
int b;
int result;
void calc() {
result = a+b;
}