The ETAS ASCET product family provides all the software tools needed to successfully develop model-based application software and generate C code. The notations, which ASCET uses for modeling, allow engineers to capture application software designs quickly and effectively. Through a combination of static analysis and testing, designs can be validated efficiently early in the development lifecycle.
After good designs have been validated, the advanced code generator of ASCET produces production-ready embedded C code that, thanks to automatic introduction of defensive coding checks, is free from significant classes of run time problems. Defensive code checks are additions to generated C code to trap mistakes, which occur during the execution of the program.
Examples for significant classes of run time errors
- defense against numeric problems (re-quantization, overflow)
- defense against temporal problems (race conditions)
- protection against common programming errors (division by zero)
- introduction of limiters (saturated arithmetic)
- generation and management of data mirrors
ASCET generates C code specifically optimized for resource-limited systems, providing high-performance with low overheads. High-performance with low overheads can happen in the areas of random access memory (RAM), read-only memory (ROM) and runtime.
Examples for high-performance with low overheads
- optimization of message copies
- flattening of state machine hierarchies
- automatic method identification
- operator identification
- use of arithmetic service libraries
- use of system constant analysis to remove code that will never be used
- power of two conversions
- function in-lining
- introduction of temporary variables to reduce double calculations
- dependent parameters
ASCET is tailored to the specific requirements of the automotive sector. Practical implementations are designed for the specificities of complex embedded software with regard to real-time, efficiency, and safety requirements.
ASCET has been successfully in use since 1997. Among its main applications has been the development of safety-relevant software for braking and steering systems as well as for engine management systems.