Skip to main content
ASCET-DEVELOPER

Develop safe and efficient high-quality C code

The image shows two women using the ASCET on a computer. They are both looking at the screen in an office setting.

ASCET is a tool for model-based design and auto C code generation for embedded systems. It enables the creation of graphical and textual models, which are the basis for automatically generated, maintainable, testable, and reusable C code that is both safe and efficient.​

Your benefits

Fast

4 times faster than classical C development​ using model-based design and error frontloading​.

Proven quality

Tried and tested for over 25 years, powering more than 500 million ECUs in vehicles​.

Easy to integrate

Built on Eclipse platform and supports standards such as MISRA-C, FMI, AUTOSAR, OSEK, and ASAM.

3 steps to high-quality code

The illustration depicts three icons representing modeling, simulation and testing, as well as code generation, highlighting them as key steps for achieving high-quality code.

Why should I try ASCET?

ASCET is crafted for effortless and safe embedded programming. It incorporates features such as object-oriented programming, intention-based argument handling, safe loops, semantic units, state machine, lookup tables, static analysis, and more. These elements work together to simplify and optimize the overall programming experience in embedded systems.

Graphic showing different classes to structure the software

Classes

  • Master your software complexity by using the classes as structuring concept.
  • Bring proven benefits, object-based encapsulation, and systematic reuse to your embedded project.
Image showing a type system helping users to reuse software properties and depict graphically generated code

Type system

  • Maximize productivity by tapping into ASCET’s capability to seamlessly reuse software properties.
  • ASCET transforms complexity into clarity, allowing you to visually represent software properties for easy comprehension.
  • Automatically generate high-quality code and save time on manual coding efforts.
Graphic shows the definition of units and relations, the assignment of units to a specific model and the automatic conversion into code

Semantical units

  • ASCET allows you to effortlessly define units and relationships within your models.
  • Enhance your models with units naturally, as ASCET intuitively understands and integrates them without the need for manual conversion.
  • ASCET takes care of heavy lifting by automatically detecting units and seamlessly converting them into the generated code, streamlining your modeling process.
Graphic shows an example where a hidden problem is identified at an early stage - visualizing the built-in live static analysis

Live validation

  • Find hidden problems earlier​.
  • Built-in live static analysis checks for type compatibility, incompatible units, side effects, missing read or write, unreachable code, and much more.
images shows automatic generated software code with different sections, such as code traceability, safe division, saturated limits, safe arra access and common subexpression elimination

Automatic code generation

Writing code manually requires additional effort to prevent runtime errors and make it compliant to standards and coding guidelines. With ASCET you only need to focus on solving the problem, the rest is done by the code generator. It is characterized by the following features:

  • High-quality production of MISRA-compliant C code
  • Great code readability for users
  • Traceability to your ASCET model
  • Automatic insertion of defensive code; examples include protected division by zero, saturated limits based on type properties, and index overflow protection for array types
  • Fixed-point code generation
  • AUTOSAR code generation by mapping ASCET model to AUTOSAR structure
  • Quick reuse of existing ASCET models and generation of code for different targets via customization options:
    • Custom callbacks to device-specific arithmetic, interpolation, or service libraries
    • Memory directive for compiler
    • Conditional code and data structures which can be resolved at compile or generation time
    • Numerous optimization strategies for resources and runtime performance

ASCET provides different possibilities to test your models efficiently and holistically, in terms of various development cycle stages:

  • Separation of model and representation properties for easy testing with focus on physical behavior first and on more target specific constraints later in the process.
  • Built-in unit testing framework.
  • Open-loop PC simulation using ETAS Experiment environment.
  • Model coverage and analysis from test execution with metrics such as statement, branch, state, transition, and modified condition decision (MC/DC) coverage.
  • ASCET models can be simulated together with models in external tools supporting the FMI standard; the connection is made via FMU export or in MATLAB/Simulink via s-function transfer.
  • Function prototyping on real-time hardware using ETAS prototyping solution enables early, realistic validation on the test bench or in the vehicle.
  • ASCET models can be tested systematically using the third-party-tool TPT with the native ASCET platform support.
Screenshot of ETAS ASCET unit test

Unit test

  • Systematic testing of software units using ESDL unit testing framework.
  • ESDL test classes to test independent software units and visualize results after execution.
Image shows a screenshot of the ETAS ASCET pc simulation feature

PC simulation

  • Early design validation using PC simulation with live data measurement and calibration.
  • Sophisticated experiment environment with signal generator, data loggers, and widgets.
Image shows a screenshot of ETAS ASCET test coverage feature

Coverage

  • Interactive test coverage from running PC simulation or unit test execution.
  • Coverage view summarizes the test coverage for all software units under execution.
  • Visualization of coverage in text or graphic editors to see which parts of the model have been tested.

ASCET allows you to easily combine texts and graphics according to your individual programming needs. There are different possibilities to model your logic, enabling you to work as efficiently as possible:

Image shows a screenshot of ETAS ASCET block diagram editor

Block diagram editor

  • Ideal for modeling and visualizing data and control flows​.
  • Fully deterministic execution order via explicit sequencing of calculations.
Image shows a screenshot of ETAS ASCET state machine editor

State machine editor

  • Programming and visualization decision logic based on finite state machine notations.
  • Actions and conditions can be written directly as ESDL or encapsulated in a separate method programmed in block diagram editor​.
Image shows a screenshot of ETAS ASCET esdl editor

ESDL editor

  • Embedded software description language to capture the semantics of ASCET model; can be programmed using the graphical editors mentioned before or directly in text.​
  • Ideal for code which is more suitable for text-based implementation (like loops)​.
Image shows a screenshot of ETAS ASCET c code editor

C code editor

  • Model definition with the familiar ESDL interface.
  • Specification of the models’ behavior using the full capacity of the C language.
  • Convenient reuse of C code model across different models, promoting consistency and saving valuable development time.
500,000,000
ASCET has 25+ years of use in 500+ million control units, generating zillion lines of high-quality embedded code in safety-critical and hard real-time systems.

Community edition. Free, unlimited for non-commercial use only.

Icon document download

Download the free Community Edition of ASCET and unlock a professional, industry-leading tool to accelerate your projects and impress your peers. With ASCET, you can teach advanced software engineering concepts for safety-critical systems and program tasks like a self-balancing bot much faster. Get started today and elevate your skills with ASCET!

Professional Edition* with valid license

The image shows a male and a female ETAS ASCET user working together on a computer in a professional setting.

*For commercial use, with hotline, maintenance, customer-specific extensions, safety qualifications, training, and consulting​.

ASCET-generated code empowers numerous industrial safety-critical embedded systems, such as brake systems in cars and trains, inverter control, and battery management. With the professional edition of ASCET, developers can enhance process efficiency, for example by reducing costly feedback loop thanks to immediate feedback on modelling errors​.

It is possible to add multiple “boxes” one after the other, with boxes/images switching sides.

Compare editions

Capabilities Community Edition​ Professional Edition​
Capabilities
All product features
Community Edition​
x
Professional Edition​
x
Capabilities
Free download
Community Edition​
x
Professional Edition​
Capabilities
Non-commercial use
Community Edition​
x
Professional Edition​
Capabilities
Commercial use
Community Edition​
Professional Edition​
x
Capabilities
Hotline support
Community Edition​
Professional Edition​
x
Capabilities
Customer-specific extensions
Community Edition​
Professional Edition​
x
Capabilities
Maintenance release on demand
Community Edition​
Professional Edition​
x
Capabilities
Function safety qualification package
Community Edition​
Professional Edition​
x
Capabilities
Training
Community Edition​
Professional Edition​
x
Capabilities
Consulting
Community Edition​
Professional Edition​
x
Any toolchain, any hardware
Arduino, STMicro or something else? Does not matter, ASCET generated code can be compiled for any device.

All news

Next events

Contact us

Do you have any questions? Feel free to send us a message. We will be more than happy to help.

Contact us today!