# ASCET

ASCET (Advanced Simulation and Control Engineering Tool, früher: ASCET-SD) von ETAS ist eine Produktfamilie für die modellbasierte Entwicklung eingebetteter Automobilsoftware. Im Gegensatz zu Simulink, bei dem die einfach durchführbare Simulation im Vordergrund steht und eine Codegenerierung möglich ist, steht bei ASCET die Codegenerierung im Vordergrund. Als Entwicklungswerkzeug für Steuergeräte-Software wird es überwiegend von Funktions- und Softwareentwicklern von Automobilherstellern und deren Zulieferern eingesetzt, um eingebettete Software für Steuerfunktionen und Regelalgorithmen zu entwickeln. Solche Steuergeräte sind im Fahrzeug dann später verantwortlich für Funktionen wie Steuerung oder Regelung von Verbrennungsmotoren oder Hybridantrieben, Automatikgetrieben, Antiblockiersystemen (ABS), Fahrstabilitätssystemen (ESP), Fensterhebern, Schiebedächern, Scheibenwischern etc.

## Anwendungsfelder

Seine hauptsächliche Anwendung findet ASCET in den Bereichen
* modellbasierte Software-Entwicklung für eingebettete Automobilsoftware,
* PC-basierte Simulation von Steuergerätefunktionen,
* Rapid Prototyping von Steuergerätefunktionen mit Echtzeitverhalten in Labor oder Fahrzeug,
* automatische Codegenerierung für Steuergeräte in Serienqualität.
Motivation für den Einsatz modellbasierter Entwicklungswerkzeuge ist die Hoffnung auf das Erzielen kürzerer Entwicklungszeiten und geringerer -aufwände, höherer Softwarequalität sowie von effizienterem Steuergerätecode, laut Hersteller heutzutage häufig besser als handgeschriebener Code.
Wesentliche Merkmale von ASCET sind
* Unterstützung relevanter Standards (AUTOSAR, ASAM, MSR, OSEK, XML, MISRA-C etc.),
* Integration in automotive Entwicklungsprozesse und Werkzeugumgebungen,
* automatische Generierung einer Steuergerätedokumentation,
* Unterstützung von verteilter Entwicklung und Know-how-Schutz („IP protection“),
* Modelltransformation von und nach Matlab/Simulink und UML,
* prozessoroptimierte C-Codegenerierung sowie
* Kompatibilität zum AUTOSAR-Standard.
* Softwarekonfigurationsmanagement-Anbindung an Subversion und Systeme mit MSSCCI-Interface (ASCET-SCM)

## Modell-basierte Entwicklung

ASCET bietet folgende graphische und textuelle Formalismen zur Modellspezifikation an:
* Blockdiagramme für signalflussorientierten Modellierung,
* erweiterte Zustandsautomaten zur kontrollflussorientierten Modellierung, ähnlich Statecharts,
* ESDL (Embedded Systems Description Language), eine Java-ähnliche Sprache zur Modellierung auf physikalischer Ebene,
* C-Code, insbesondere für hardwarenahe Funktionalität,
* erweiterte Wahrheitstabellen,
* RTOS-Konfigurator, zur Spezifikation des zeitlichen Ausführungsverhaltens,
* Strukturansichten für die Modellhierarchie,
* Daten- und Implementierungseditoren für die Modellbestandteile sowie
* CT-Blöcke (Continuous time) zur zeitkontinuierlichen Modellierung von Differentialgleichungen für die physikalische Umgebung.

## Seriencodegenerierung

Als erster Codegenerator im Automobilbereich wurde ASCET im Jahr 2002 entsprechend der Norm IEC 61508:1997 (SIL 3) für den Einsatz zur Entwicklung sicherheitskritischer Systeme (z. B. ABS, ESP, AFS (Aktivlenkung)) zertifiziert. 2010 wurde ASCET neben der neu aufgelegten IEC 61508:2010 (SIL 3) auch entsprechend der inzwischen speziell für den Automobilbereich geschaffenen Norm ISO/DIS 26262:2009 (ASIL D) zertifiziert. Der generierte Code entspricht dem Standard für MISRA-C, einer automotiven Richtlinie zur Erstellung von sicherem C-Code. Die Stückzahlen der Steuergeräte, die mittels ASCET generierten Seriencode enthalten, belaufen sich laut Firmenangaben auf über 60 Millionen.

## Einsatz in Serienprojekten

Erste Einsätze von ASCET in der Serienentwicklung von Steuergerätesoftware der Automobilbranche erfolgten in den frühen 1990er Jahren in Projekten der Muttergesellschaft Robert Bosch (z. B. Motronic). Jüngere mit Hilfe von ASCET durchgeführte Serienentwicklungen sind neben Projekten in den Bereichen Motormanagement, Fahrdynamik (ABS, ESP), Getriebemanagement oder Komfortelektronik beispielsweise die Aktivlenkung (AFS) von BMW, das Getriebemanagement des Bugatti Veyron 16.4 oder die Motorsteuerung für das BMW-Wasserstoffahrzeug H2R.