ASCET-DEVELOPER – Model-based design and auto c-code generation for embedded systems

The ASCET-DEVELOPER IDE (Integrated Development Environment) showing graphical and textual models, model browser and tabular editors allows efficient working.

ASCET-DEVELOPER enables software engineers to build high-performance, safe and secure embedded software with low overheads and which is easily maintainable. ASCET-DEVELOPER is designed for engineering software in high volumes, according to industry and safety standards, and offering variants at low costs.

ASCET-DEVELOPER models use Embedded Software Development Language (ESDL) with either text or graphic editors.

Proven in use

ASCET-DEVELOPER’s technology for code generation has been used for over 20 years in volume production projects and already powers 450 million ECUs. The generated code fulfills maximum standards with regard to safety, security, and portability.

Examples of control applications programmed in ASCET-DEVELOPER are chassis control such as ABS/ESP, classic and electric powertrain, brake control for high-speed trains, transmission control, and driver assistance systems.

ASCET-DEVELOPER supports established standards in the industry, such as MISRA, OSEK, ASAM, AUTOSAR, and FMI.

Suitable for safety-critical software development

ASCET-DEVELOPER allows you to develop software that complies with all important safety standards.

  • ISO26262 ASIL-D and IEC61508-SIL3 TÜV-certified code generation
  • MISRA-C:2012 compliance
  • Elimination of numerical problems by automatic insertion of defensive code

Key Features

Modeling

ASCET-DEVELOPER allows you to easily combine texts and graphics suiting your programming needs. There are different possibilities for modeling your logic, enabling you to work as efficiently as you like. Therefore you have four choices of specification:

  • Graphic specification using Block Diagram
  • Graphic specification using State Machine Editor
  • Textual specification using ESDL Editor
  • Textual specification using C Code Editor

In addition, ASCET-DEVELOPER has further features that improve model and code quality and increase efficiency:

  • On-the-fly static analysis for immediate feedback on modelling errors or violations
  • Create maintainable models through integrated quality metrics

Semantic of ASCET-DEVELOPER models is saved in ESDL. This offers the following advantages:

  • Classes as structuring concept provide object based encapsulation and systematic reuse
  • To capture physical ranges and quantify and reuse them systematically you have the possibility to create abstract types
  • Functional correlations are clearly shown and thus easy to review
  • Different versions are easy comparable with each other
  • Type safety

Block Diagram Editor

  • Block Diagram editor makes it easy to model and visualize data and control flow

 

  • Fully deterministic execution order via explicit sequencing of calculations

State Machine Editor

  • Program and visualize 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

ESDL Editor

  • ESDL editor is available for text-based specification with content assist, syntax highlighting

 

  • Easy to learn with familiar object-oriented programming constructs designed for safety-critical embedded software

Live Validation

  • On-the-fly model validation finds errors early

 

  • Problems are reported in editors as overlays and grouped in problem view

 

  • Intelligent quick fixes help users to automatically find the right solution

Quality Metrics

  • Reduce technical debt and write better maintainable code with the help of built-in quality metrics

 

  • Choose the metrics suitable for your process and set your custom threshold

Validation

ASCET-DEVELOPER provides different possibilities for testing your models efficiently and holistically, in terms of various development cycle stages:

  • Separation of model and representation properties allows for easy testing with focus on physical behavior first and for testing with 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-DEVELOPER models can be simulated together with models in external tools supporting 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-DEVELOPER models can be tested systematically using third-party-tool TPT with their native ASCET Platform Support

Unit Test

  • Systematic testing of software units using ESDL Unit Testing framework

 

  • Use ESDL test classes to test independent software units and visualize results after execution

PC Simulation

  • Early design validation using PC Simulation with live measurement and calibration of data

 

  • Sophisticated experiment environment with signal generator, data loggers, and widgets

Test Coverage

  • Interactive test coverage from running PC Simulation or Unit Test execution

 

  • The Coverage view summarizes the test coverage for all software units under execution

 

  • Visualize coverage in text or graphic editors to see which parts of the model have been tested

Automatic code generation

Writing code manually needs additional effort to prevent runtime errors and make it compliant to standards and coding guidelines. With ASCET-DEVELOPER 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 MISRA-compliant C code
  • Great code readability for users
  • Traceability to your ASCET-DEVELOPER 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 via mapping ASCET-DEVELOPER model to AUTOSAR structure
  • Quick reuse of existing ASCET-DEVELOPER 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

Toolchain integration

ASCET-DEVELOPER provides various interfaces and a standardized file exchange format making it easy to integrate the tool into your development process and toolchain. The following features facilitate integration:

  • ASCET-DEVELOPER is built on an eclipse platform. This allows seamless integration of process tools in the same IDE.
    • Connection to JIRA, Bitbucket, Git, SVN, IBM RTC with native eclipse plugins
    • Install inside existing eclipse-embedded workbench from different vendors like STM, ARM
    • Modeling and generation of code for multiple targets, build, debug in the same IDE
  • Requirement traceability with Yakindu Traceability allows linking of process artefacts to ASCET-DEVELOPER models (e.g. DOORS for requirement management)
  • Generate additional process artefacts such as A2L, ARXML, MDX from ASCET models
  • Extend via shipped ASCET SDK for your process (e.g. insert your own process coding guidelines into ASCET static analysis engine)
  • Workbench automation for continuous integration