ASCET V6.4 Getting Started
ASCET V6.4 Getting Started
4
Getting Started
Copyright
The data in this document may not be altered or amended without special noti-
fication from ETAS GmbH. ETAS GmbH undertakes no further obligation in rela-
tion to this document. The software described in it can only be used if the
customer is in possession of a general license agreement or single license. Using
and copying is only allowed in concurrence with the specifications stipulated in
the contract.
Under no circumstances may any part of this document be copied, reproduced,
transmitted, stored in a retrieval system or translated into another language
without the express written permission of ETAS GmbH.
© Copyright 2016 ETAS GmbH, Stuttgart
The names and designations used in this document are trademarks or brands
belonging to the respective owners.
The name INTECRIO is a registered trademark of ETAS GmbH.
Document EC010010 V6.4 R03 EN - 11.2016
2
ETAS Contents
Contents
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1 Safety Advice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.1 Correct Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.2 Labeling of Safety Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.3 Demands on the Technical State of the Product. . . . . . . . . . . . . . . . 7
1.2 System Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3 User Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.1 User Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.2 Documentation Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.3 How to Use this Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4 Supporting Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.1 Monitor Window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.2 Keyboard Assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.3 Manuals and Online Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1 Features at a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1.1 ASCET-MD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1.2 ASCET-RP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.3 ASCET-SE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.4 ASCET-SCM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.5 ASCET-DIFF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3 Embedded Automotive Control Software Development with ASCET . . . . . . . . . . . 14
3.1 Model-Based Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.1.1 Control Algorithm Development . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.1.2 Rapid Prototyping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1.3 Implementation and ECU Integration of Control Algorithms . . . . . 21
3.1.4 Reuse of the Control Algorithm in Different Kinds of Projects . . . . 24
1 Introduction
ASCET provides an innovative solution for the functional and software develop-
ment of modern embedded software systems. ASCET supports every step of the
development process with a new approach to modeling, code generation and
simulation, thus making higher quality, shorter innovation cycles and cost reduc-
tions a reality.
This manual supports the reader in getting to know ASCET, and quickly achiev-
ing results. It provides a step-by-step introduction to the system, while at the
same time making all information easily accessible for reference.
The following safety instructions are used. They provide extremely important
information. Read this information carefully.
WARNING
Indicates a possible medium-risk danger which could lead to serious or even
fatal injuries if not avoided.
CAUTION
Indicates a low-risk danger which could result in minor or less serious injury or
damage if not avoided.
NOTICE
Indicates behavior which could result in damage to property.
WARNING
Wrongly initialized NVRAM variables can lead to unpredictable behav-
ior of a vehicle or a test bench, and thus to safety-critical situations.
ASCET projects that use the NVRAM possibilities of ASCET-RP targets expect a
user-defined INIT process that checks whether all NV variables are valid for
the current project, both individually and in combination with other NV vari-
ables. If this is not the case, all NV variables have to be initialized with their
(reasonable) default values.
Due to the NVRAM saving concept, this is absolutely necessary when proj-
ects are used in environments where any harm to people and equipment can
happen when unsuitable initialization values are used (e.g. in-vehicle-use or at
test benches).
Further safety advice is given in the ASCET V6.4 safety manual (ASCET Safety
Manual.pdf) available at ETAS upon request.
other. Before you start working on the tutorial, you should have read
chapter 3 "Embedded Automotive Control Software Development with
ASCET".
Tip
ETAS offers efficient training in the use of ASCET in order to provide an
even more thorough knowledge of ASCET, especially if the user has to gain
a comprehensive insight in the functionality of ASCET in a very short period
of time.
• "Glossary"
This chapter explains all technical terms used in the manual. The terms are
listed in alphabetic order.
• "Appendix A: Troubleshooting ASCET Problems"
This chapter contains information on troubleshooting for ASCET-specific
problems.
• "Appendix: Troubleshooting General Problems"
This chapter gives some information of what you can do when problems
arise that are not specific to an individual ETAS software or hardware
product.
• "Appendix C: Tool Classification for ISO26262"
This chapter gives information on requirements due to the ISO26262
norm and their fulfilment in the ASCET product family.
The installation procedure is described in a separate document, the ASCET instal-
lation guide (file ASCET V6.4 Installation.pdf).
Information on the cooperation of ASCET and AUTOSAR is given in the ASCET
AUTOSAR User’s Guide (file ASCET V6.4 AUTOSAR_UG.pdf) and in the
AUTOSAR to ASCET Importer user’s guide (file AUTOSAR To ASCET Con-
verter User Guide.pdf).
In the ASCET online help, you can find further detailed information. Information
on using the online help can be found in section 1.4.3 "Manuals and Online
Help" on page 11.
1.3.3 How to Use this Manual
Documentation Conventions
All actions to be performed by the user are presented in a a task-oriented format
as illustrated in the following example. A task in this manual is a sequence of
actions that have to be performed in order to achieve a certain goal. The title of
a task description usually introduces the result of the actions, e.g. "To create a
new component", or "To rename an element". Task descriptions often contain
illustrations of the particular ASCET window or dialog box the task relates to.
To achieve a goal:
• Step 2
Any explanation for Step 2...
• Step 3
Any explanation for Step 3...
Any concluding remarks...
Typographic Conventions
The following typographic conventions are used in this manual:
Tip
Important note for users.
Using the index, full text search, and hypertext links, you can find references fast
and conveniently.
The online help can be accessed via the <F1> key. The help files (*.chm) are
stored in the ETAS\ASCET6.4\Help folder.
2 Overview
The ASCET tools support model-based software development. In model-based
development, you construct an executable specification – the model – of your
system and establish its properties through simulation and testing in early stages
of development. When you are satisfied that the model behaves as required, it
can be converted automatically to production quality code.
The key advantage of model-based development is that the software system can
be designed by domain experts, using domain-specific notions, independently
from knowing any details how it will be realized by an implementation. You can
learn more about model-based design in section 3.1.
ASCET provides a multi-paradigm modeling framework, providing integrated
support for a number of different modeling notations, each providing support
for a different type of modeling need:
• Block diagrams (occasionally abbreviated to BD) – to model continuous
control systems
• State machines (occasionally abbreviated to SM) – to model event-trig-
gered systems
• Conditional and Boolean tables – to model complex mathematical expres-
sions
• Embedded Software Description Language (ESDL) – a textual modeling
language
The modeling languages abstract from low-level details, separating the concerns
of what the system software must do from how it is realized in code executing in
the ECU. ASCET can also interface directly with C code as a "low-level" specifi-
cation language.
ASCET provides a systematic way to augment the high-level specification
(referred to as the "physical model" in ASCET) with the necessary information
for target implementation (referred to as the "implementation model" in
ASCET). The implementation model covers the low-level details required to make
the model run on target hardware, including conversion between real-number
arithmetic on the model and fixed-point arithmetic on the target, interfacing to
interpolation routines for maps and curves, integration of optimized arithmetic
service implementations, integration with a real-time operating system for run-
time scheduling, memory mapping for embedded devices etc.
The physical and implementation models are clearly separated in ASCET so that
the design specification is not corrupted with implementation details that may
change from project to project. Maintaining this separation also allows ASCET to
support multiple implementation models, each containing different implementa-
tion characteristics, for a single physical model, keeping the number of model
variants low during the overall life cycle of a software function.
2.1.1 ASCET-MD
• Model-based development of automotive software, including AUTOSAR
software components
• Hierarchical, object-based modeling architecture
f1 f2
1
f3 f4
Logical
System 2
Architecture
3
Technical
System 4
Architecture
SG 1 SG 2
5
Bus
SG 3
1. Modeling and simulation of software functions as well as of the vehicle, the driver and
the environment
2. Rapid prototyping of software functions in the real vehicle
3. Design and implementation of software functions
4. Integration and test of software functions with lab vehicles and test benches
5. Test and calibration of sftware functions in the vehicle
Fig. 3-1 Model-Based Development of a Software Function
If a class is defined as instance in the scope of another, i.e. outer class, the meth-
ods of the instantiated class can be called by the methods of the outer class. If an
"instantiated method" realizes a calculation, e.g. a filtering algorithm, its results
can be used in the calculations of the calling methods. Using this mechanism,
one can represent control algorithms as a typed object hierarchy. Calling a
method of the top-level class, i.e. the outermost class which is not instantiated in
another class, will result in the deliverable of the output value(s) of a method. For
the calculation of the result, methods of embedded instances will be called
sequentially and yield their results which will be used by other calculations. From
this point of view, the execution of a top-level method is equal to the sequential
execution of an object-oriented program.
Parameters
From a computer-scientist point of view, parameters are a special kind of internal
variables because they can only be read while writing is forbidden. From the
control-engineering point of view, parameters are used to trim the control algo-
rithm to a dedicated vehicle. Parameters are set before the start of the control
algorithm execution and remain fixed1 during the run-time of the control algo-
rithm. Because parameters are a special kind of variables, they can be grouped in
a similar way as variables.
Classes might contain parameters (they can be seen as elements of a compound
type). Since classes can be instantiated several times, these parameters will exist
several times, too. However, as a rule, parameters are not initialized by dedicated
methods (e.g. constructors) in a start-up phase, but typically exist in read-only
memory. This means that an initial set of values has to be provided before run-
time, e.g. at design time. This set of values is called data set. If the allocation of
parameter values to instances of behavioral classes is done at design time, a data
set has to be associated to a particular instance. In ASCET, at design time of the
class, the data sets for tentative instances have to be defined, too, while the
association to a particular instance is done when the instance is created.
Employing Classes in Modules
As written above, the sequential execution of a control algorithm starts with call-
ing the method of a top-level class. This method call is initiated by the execution
of a process. The arguments of a method are typically fed by the receive mes-
sages of the process, while the return value of the method will be fed to a send-
message (Of course, these methods might also be fed by internal variables of a
module).
From a real-time perspective, the process calling a method of a top-level class
generates a sequential call stack of methods which belong to encapsulated
instances. Even the methods of leave instances are executed in the context of the
task the process is mapped to. Making the call stack of methods deep might
compromise reactivity to events. Therefore, when designing classes and employ-
ing them into real-time components, one has to find an appropriate balance
between object-oriented reusability and reactiveness in a task-schedule.
Continuous Time Blocks for Plant Modeling
ASCET provides dedicated blocks for the modeling of continuous time systems.
These continuous-time blocks (CT blocks) have two flavors:
1.
Adaptive parameters are not considered here.
x = f ( x, u )
y = g ( x, u )
and specify the dynamic behavior in an object-oriented manner. There is an ini-
tialization and termination method, input, update and derivative methods to
realize f as well as direct and non-direct output methods to realize g. Further-
more, there is a state-event detection method as well as an event method
describing what to do in case of a state-event. Last but not least there is a
method to resolve dependent parameters. The expressions can be specified
either in ESDL code or in C code.
Projects for Closed-Loop Simulations
An ECU composition is a set of communicating modules and an operating sys-
tem. The operating system configuration defines the tasks and their schedule,
while the operating system itself realizes the tasks as well as the messages. The
task-schedule contains the assignment of processes to tasks. To perform closed-
loop simulations on a PC, CT blocks (cf. section "Continuous Time Blocks for
Plant Modeling" on page 18) are attached to the real-time components of the
control algorithm. Binding between the messages of the real-time components
and the CT blocks has to be done explicitly, i.e. by connecting ports graphically
and not by name-matching. The methods of a CT block are called from the
numerical integration algorithms. The integration algorithms will be executed as
separate task in the resulting operating system configuration.
After mapping the processes to tasks and creating the appropriate CT block
tasks, the OS configuration will be translated to executable code. In case of a
closed-loop simulation on a PC, a simulation environment with appropriate event
queues and numerical solvers will be generated. The simulation environment is
no real-time execution environment.
3.1.2 Rapid Prototyping
Unfortunately, the employed plant models are typically not detailed enough to
serve as a unique reference throughout the design process. Therefore, the con-
trol algorithm has to be checked in a real vehicle. This is the first time the control
algorithm will run in real-time. The execution entry points of the software com-
ponents are mapped to operating system tasks while dedicated software compo-
nents for hardware access have to be created and connected with the software
components of the control algorithm. This step is shown in Fig. 3-1 on page 15
in linking the logical system architecture to the real vehicle which is driven by a
driver in a real environment, represented by the arrow labeled 2.
There are many ways to realize this step. First of all, one can use a dedicated
rapid prototyping system with dedicated I/O boards to interface with the vehicle.
The rapid prototyping systems (RP system) consist of a powerful processor board
and I/O boards. The boards are connected via an internal bus system, e.g. VME.
Compared to a production ECU, these processor boards are in general more
powerful; they have floating-point arithmetic units, and provide more ROM and
RAM. Interfacing with sensors and actuators via bus-connected boards provides
flexibility in different use cases. For short, priority is on rapid prototyping of con-
trol algorithms and not on production cost of ECUs.
The interfacing needs of the rapid prototyping systems often result in dedicated
electrics on the boards. This limits flexibility, and an alternative is therefore to
interface to sensors and actuators using a conventional ECU with its microcon-
troller peripherals and ECU electronics. A positive side-effect is that the software
components of the I/O-hardware abstraction layer can be reused for series pro-
duction later on. Fig. 3-2 shows that the control and monitoring functions run on
a bypass system, which is connected to the vehicle via sensors and actuators.
Driver Environment
W* Z
Vehicle R
W
U
R
Electronic
Control Unit Experimental System
Physical Value Domain Integer Domain (int16) Physical Value Domain Integer Domain (int16)
150 32767 150 32767 150
150
0 0
- 50
0 0
-10889 - 50
- 32768 -
-50 -
-32768 - 150
- 50
(a) (b)
Physical Value Domain Integer Domain (int16) Physical Value Domain Integer Domain (uint16)
150 32767 150 65536
0
- 50 0
0
-
-19200 - 150
- 50 -32768 - 50 0 - 50
(c) (d)
Fig. 3-3 Unscaled Mapping (a), Arbitrary Mapping (b), 27 Scaling (c), 28 Scal-
ing with Offset (d)
multiply for values from b_impl to 170 and first divide for values from b_impl
greater than 170. But this leads to a requirement for more code. So here, one
must accept a negligible error in precision of max. 1.5. within the entire value
range. It is clear that the situation itself can become more difficult with regular
arithmetic operations with few operands, not to mention complex links and
expressions.
C Code Classes and Modules
For the migration of legacy code or for microcontroller peripheral access, one
might define classes with the internal behavior of the method specified in C code
as well as modules with the internal behavior of processes specified in C. Both
C code classes and C code modules already represent implemented code. This
code will be integrated verbatim into the executable for the target. Therefore,
C code classes and modules are target-dependent. If one changes the target of
a project, one has to provide the C code for the actual target, too.
Projects for Embedded Microcontrollers
As written above, C code classes and modules can be used to access the periph-
erals of a microcontroller. The ASCET project editors allow to fully configure and
generate an operating system. Together with the modules representing the con-
trol algorithms, projects for embedded microcontrollers can be used as integra-
tion platform. In this case, the code generator will examine the OS schedule and
the message communication between the modules and generate the tasks, the
messages and the access code1 of processes to messages. The resulting C code
for the project and all its contained modules can be transformed to a *.hex file
and flashed onto the microcontroller. Needless to say that an ASAM-MCD-2MC
file will be generated, too, containing all variables to be measured as well as all
parameters to be calibrated.
However, there are many cases where a build environment and dedicated basic
software modules are used for a series production ECU. In this case, typically only
the application software, i.e. the control algorithm, is modelled in ASCET2. The
messages are generated—including the access code of processes—as well as so-
called task bodies, i.e. a sequence of processes as specified in the OS editor. This
task body can then be copied to an appropriate OS configuration editor (external
to ASCET).
3.1.4 Reuse of the Control Algorithm in Different Kinds of Projects
As written above, all ASCET modeling elements are maintained in a database or
workspace. Furthermore, projects for different targets differ in the number and
kind of modules for the same control algorithm.
• Project for closed-loop simulation:
This project references the modules for the control algorithm as well as
CT blocks.
• Project for rapid prototyping:
This project references the modules for the control algorithm (which are
the same modules as for the closed-loop simulation) and the hardware
configuration component.
1.
Typically realized as macro
2.
This use case is often called additional programmer
1.
or an evaluation board
2.
If the ASCET project consists of CT blocks only and the project runs on a PC or
rapid prototyping hardware, the EE is integrated into LABCAR operator.
3.
Because of the limited ECU resources for experimenting, dedicated means are
necessary which are not in the scope of this section.
SCM
Repository
.c, .h
Make System
.hex
1.
Typical SCM systems are CVS and SubVersion
base as well as the make system. Looking deeper in such an advanced produc-
tion environment, and focussing on the model-based generation of C code for
control algorithms with ASCET, one will realize that the models, which are the
basis for the source code, will evolve in the course of the control algorithm devel-
opment, e.g. incorporating the results of rapid prototyping. Hence, the models
have to be maintained in the SCM database too.
ASCET components are stored in a local database or workspace. The local data-
base/workspace holds exactly one version of the model. The ASCET-SCM inter-
face establishes a link from the local database/workspace to the SCM repository
and enables the model exchange. This model exchange is shown in part (a) of
Fig. 3-5. Since, in source-code development, difference-browsing between dif-
ferent versions is indispensable, a similar feature is highly desirable in model-
based development, too. The ASCET-SCM interface can be enhanced by
ASCET-DIFF (a model difference browser), thus highlighting, e.g., an additional
message in the block diagram editor of a module.
ASCET ASCET
Database / Database /
Workspace Workspace
ASCET-DIFF
ASCET ASCET (model difference
browser)
.c, .h .c,
.xml
.h .c, .h .c,
.xml
.h
SCM SCM
Repository Repository
(a) (b)
Fig. 3-5 ASCET-SCM interface with (b) and without (a) ASCET-DIFF
3.2.1 Model Conversion
As written above, the development of embedded real-time software is driven
both by control engineers and computer scientists. Sometimes, there are devel-
opment processes which start control software development either from a totally
behavior-driven point of view or a totally structure-driven point of view, and
sometimes even from both views independent of each other. While ASCET (and
AUTOSAR) integrates both approaches with its orthogonal approach, one might
want to take over models stemming from a pure behavioral or structural
approach.
In the behavioral domain, MATLAB®/Simulink® is a quite popular approach to
model closed-loop control algorithms without bothering, at least for
PC simulation, with too many structuring details. After having performed the
3.3 Summary
Model-based design and implementation of control algorithms is supported by
ASCET for several development stages. The employed abstraction means allow
to use the physical control algorithm model as backbone for all subsequent
implementation annotations throughout the course of development. In particu-
lar, no blocks need to be replaced when changing the target. Employing the
SCM interface with difference browsing, ASCET can be seamlessly integrated in
an ECU production development environment.
4 Tutorial
Users who are not familiar with ASCET will learn all the basic working steps in
this tutorial. The tutorial does not require any knowledge of ASCET, but does
assume that the user is familiar with the Windows operating system.
Before you start working on the tutorial, you should have read chapter "Embed-
ded Automotive Control Software Development with ASCET" on page 14.
All components and projects for lessons 1 – 9 of this tutorial can be found in the
folder named ASCET_Tutorial_Solutions in the database named Tuto-
rial. It is therefore not necessary to specify all the components described here
yourself.
It is, however, advisable to specify at least the components of lessons 1, 3 and 4,
to get some practice using ASCET.
The components for lesson 10 can be found in the INT_Tutorial folder in the
INTECRIO_Tutorial database.
These databases are available in the database directory of your ASCET installa-
tion (e.g. D:\ETASData\ASCET6.4\database\Tutorial) and in the
export files Tutorial.*1 and INTECRIO_Tutorial.* in the Export direc-
tory of your ASCET installation (e.g. C:\etas\ASCET6.4\export).
4.1 Preparations
Before you can start the tutorial, you have to prepare your computer.
The computer you want to use for the tutorial has to have an executable ASCET
installed. ASCET can either be launched using the icon on the desktop or using
the Windows Start menu.
Tip
You can perform the tasks in all lessons without any hardware.
Lesson 8 also describes an online experiment, which requires a working exper-
imental target.
For "Lesson 10: Using INTECRIO Connectivity", you need working installations
of INTECRIO and the ETAS Experiment Environment.
At the start of ASCET, the Component Manager opens. If you open ASCET for
the first time, the Tutorial database opens. (If you open ASCET later, the most
recently used database/workspace opens.)
Fig. 4-1 on page 32 shows the Component Manager with an empty database or
workspace. The top left field, "1 Database" or "1 Workspace", will show the
folders and components in the database. The bottom left field is used for general
comments about the item selected in the "1 Database" or "1 Workspace" pane.
The right field, "3 Contents", will show the content of the item selected in the
"1 Database" or "1 Workspace" pane.
Before you can start, you have to open a database or workspace to work in. All
components of this tutorial will be stored in this database/workspace.
1.
.* = .exp (binary export format) or .axl (compressed XML--based export
format)
1.
e.g., C:\ETASData\ASCET6.4\Workspaces
(A)
(B)
Fig. 4-1 ASCET Component Manager (A: with empty database, B: with
empty workspace)
To open a database:
4.1.2 Summary
After completing this lesson you should be able to perform the following tasks in
ASCET:
• Creating a new database or workspace
• Opening an existing database
Tip
All folder and item names and the names of variables and methods they con-
tain must comply with the ANSI C standard.
You can proceed by creating your first component in the Lesson1 folder.
To create a component:
Drawing Area
Component specification is now complete. The last step in editing your compo-
nent is to specify its layout, i.e., the way it is displayed when used within other
components.
To edit the layout of a component:
Now that you have finished your component, the last step in this lesson is to save
the component in the database or workspace.
To save the component Addition:
"Edit" pane
(internal text editor)
palettes
process/method
pane
Tip
When the external editor starts up, the application associated with the file end-
ings *.c and *.h in the operating system register database is called. Data
transfer is done via temporary files; this is why you have to save the files before
you close the external editor or end the "external editor" mode of the ESDL
editor.
Mode: sine
Frequency: 1.0 Hz
Phase: 0.0 s
Offset: 0.0
Amplitude: 1.0
Mode: sine
Frequency: 2.0 Hz
Phase: 0.0 s
Offset: 0.0
Amplitude: 2.0
The oscilloscope now shows the values with the appropriate scaling on the value
axis. You will see the two input sine waves, together with the wave resulting
from their addition. You can now adjust the input values to see how the output
is affected.
To change the input values for experimentation:
To create a variable:
Mode: pulse
Frequency: 0.2 Hz
Phase: 0.0 s
Offset: -1.0
Amplitude: 2.0
To reset an experiment:
If you stop an experiment, the current values of variables and parameters are
stored; they are used again when the experiment is restarted. It may be desirable
to reset all variables or parameters to their initial values.
• In the "Physical Experiment" window, select
Extras → Reinitialize → Variables or Parame-
ters or Both.
Depending on your selection, either all variables or
all parameters, or both, are reset to their initializa-
tion values.
Next, you should experiment with various settings to illustrate the function of the
integrator. You can adjust the Ki parameter and change the input.
To experiment with the integrator:
4.4.3 Summary
After completing this lesson you should be able to perform the following tasks in
ASCET:
• Creating a parameter
• Creating and specifying a dependent parameter
• Creating a variable:
• Creating an operator with multiple inputs
• Setting the sequence number of a sequence call
• Assigning a default value
• Calibrating a value during experimentation
• Displaying values in a "Numeric display" window
Mode: pulse
Frequency: 1.0 Hz
Phase: 0.0
Offset: 800.0
Amplitude: 200.0
Tip
All ASCET experiments—both online and offline—run within the context of a
project. This is clearly seen with offline experiments, which use an (otherwise
invisible) default project. Creating and setting up a project for the express pur-
pose of specifying an operating system is only required for online experiments.
However, you also have the option of configuring the default project for your
own application.
• Name it Task10ms.
Newly created tasks are by default alarm tasks, i.e.
they are periodically activated by the operating sys-
tem.
• Assign the task a period of 0.01 seconds in the
"Period" field.
The period determines how often the task is acti-
vated, which is every 10 ms in this case.
• In the "Processes" list, expand the IdleCon item.
• Select the process p_idle and select Process →
Assign.
The process is assigned to the Task10ms task. It is
displayed beneath the task name in the "Tasks" list.
In projects, imported and exported elements are used for inter-process commu-
nication. They are global elements that correspond to the send and receive mes-
sages in the modules. Global elements must be declared in the project and linked
to their respective counterparts in the modules included in the project.
To define global elements:
(A)
(B)
0.00 0.08 0.30 0.67 1.17 2.5 5.00 7.50 8.83 9.33 9.70 9.92 10.00
-40.0 -26.0 -13.0 0.0 13.0 40.0 80.0 120.0 146.0 160.0 173.0 186.0 200.0
• Edit the second table in the same way using the fol-
lowing data:
0.0 10.0
0.0 6000.0
You will now insert an If...Then...Else block to the Signal Converter and use it to
change the behavior of t_sensor so that U_t values ≤ 0.025 produce a
temperature t of -40.0.
First, you specify the logical expression.
To specify the logical expression for the If...Then...Else block:
Next, you specify the control flow branches. The expression for the right branch
is already there (A in Fig. 4-2), it just needs to be connected to the If...Then...Else
block.
To specify the control-flow branches:
The temperature-related part of the diagram should now look like this:
Mode: sine
Frequency: 2.0 Hz
Phase: 0.0
Offset: 5.0
Amplitude: 5.0
U_t t
Min -1 -40
Max 11 200
Extent 0.5 0.5
The project now has two tasks. The first task is activated every 10 milliseconds,
the second one every 4 milliseconds. All the processes assigned to a given task
are executed at the interval specified. In the example, each task has only one
process, but it is possible to have any number of processes per task.
The next step in integrating the signal converter is to resolve communication
between the modules. Communication between the processes works through
global elements. All global elements used within a project have to be defined as
messages in the corresponding modules.
By default, send messages are defined in a module while receive messages are
normally only imported into a module so they have to be defined now within the
context of the project.
Each global element must be defined only once in the project context. Multiple
definitions cause code generation errors.
Mode: pulse
Frequency: 1.0 Hz
Phase: 0.0
Offset: 1.333333
Amplitude: 0.333333
The procedure for modeling a continuous time system will now be explained
using the example of a mass-spring pendulum with attenuation by the earth's
gravity.
4.7.1 Motion Equation
The mass m shown in the following illustration is subject to the following forces:
• gravity: Fg = -mg
(g = gravitational acceleration)
• Spring force: FF = - c (x + l0)
(c = spring rate, l0 = length of spring at rest, and x = position of mass m)
• Attenuation FD = - d x’
(d = attenuation constant and x’ = velocity of mass)
This gives the motion equation as follows:
mx’’ = -mg + F or x’’ = -g + F/m (with F = FF + FD)
Breaking the second-order differential equation into two first-order differential
equations (x = x, v = x’) results in:
x’ = v
v’ = -g + F/m
These differential equations will be used in the following model design.
4.7.2 Model Design
For simplicity, the model of the mass-spring pendulum can be designed using a
single CT block. However, to illustrate the "direct pass-through" or "non-direct
pass-through" properties and to demonstrate how to avoid an algebraic loop by
skillful setting of these properties, we will design this model using two blocks.
F
Force Mass
x, x’
• The Force block calculates spring force F from the position of the pen-
dulum’s mass m and the friction force from the velocity x’.
• From the spring force F the Mass block calculates the acceleration x’’
from the integration of which the velocity x’ and the position x result.
At first sight, this system looks like an algebraic loop: each block expects an input
value from the other block in order to calculate an output value required by the
other block.
This algebraic loop can be avoided by clever setting of the direct pass-through or
non-direct pass-through properties:
• In the Force block, the output variable F via the equation
F = -c(x + l0) - dx’
is directly dependent on the input variables x and x’. This block is thus
defined as having a direct pass-through.
• In the Mass block however, the output variables x and x’ do not depend
directly on the input variable F, but on the internal state variables of the
block. These, at least at the start, have initial values from which the output
variables x and x’ can be calculated, when the input variable F is
unknown. Otherwise the output variables are calculated using the follow-
ing differential equations:
x’ = v
v’ = -g + F/m
Tip
Double-clicking one of the CT basic blocks opens it in the respective editor.
Note, however, that any modification to the blocks affects the entire library,
i.e., all structure blocks that use these basic blocks.
Controller
air_nominal
U_n
Technical
Process
Tip
See the ASCET online help for specifying CT blocks
for information on how to resolve a differential equa-
tion.
Mode: pulse
Frequency: 0.5 Hz
Phase: 0.0 s
Offset: -0.5
Amplitude: 1.0
u y
Min -1 -0.002
Max 2 0.004
Extent 3.0 3.0
Tip
The process model is added to the same project for simplicity. This is often
useful in the early stages of testing closed loop simulation. In regular projects,
the process model would be distributed over a network in another project since
they are not part of the same embedded system.
If the engine is cold, it has to idle at a higher speed to keep it turning over. Once
the engine has warmed up, the rotational speed for idling can be decreased to
reduce fuel consumption. Our state machine thus has two states: one when the
engine is cold, and one when it is warm. It represents a two- phase control.
4.9.1 Specifying the State Machine
A state machine consists of the state graph itself and a number of specifications
of actions and conditions. The actions and conditions can be specified using
either block diagrams or ESDL code. They determine what happens in the various
states and during the transitions between states.
The diagrams for actions and conditions are specified in the block diagram editor
or ESDL editor. Another possibility is to write ESDL code directly in a text editor
which can be opened for every state and every transition (i.e., without opening
the ESDL editor). State machines have inputs and outputs for data transfer with
other components.
To create a state machine:
When you create a state machine, you specify the state diagram first and then
define the various actions and conditions associated with states and state transi-
tions.
The state machine controlling your motor has two states: one for when the
motor is cold and one for when the motor is warm.
Tip
In the Transition Editor, the condition is not termi-
nated with a semicolon. This is also true for regular
ESDL code where conditions appear in parentheses.
Whenever a transition takes place, the transition action specified for the transi-
tion is executed. In this example the transition action n_nominal = n_warm,
which is executed when a transition from coldEngine to warmEngine takes
place, sets the variable n_nominal to 600. The transition action n_nominal =
n_cold sets it to 900 in the reverse case. When a transition occurs, the state
machine also executes the exit action of the state it leaves, and the entry action
of the state it enters. In our example, these are empty and nothing happens.
Once the state machine has entered the second state, it stays in that state until
the condition in the transition from the second to the first state is fulfilled. While
the state machine stays in one state, the static action is executed every time the
state machine is triggered. Triggering is always an outside event which starts one
pass through the state machine.
A pass through a state machine consists of first testing all the conditions on
transitions leading away from the current state. Transitions and their conditions
are tested in order of their priorities. If a condition is true, the corresponding
transition is performed and the exit, transition and entry actions are executed.
Once the first condition checks out true, any other transitions leading from the
same state but having lower priorities are not tested. If no condition is true, the
machine remains in the current state and performs the static action once for
each pass.
Once the condition in the second transition of our state machine is true, i.e. if the
input value falls below the threshold, the state machine returns to the first state.
The machine then remains in that state until the input value grows larger than
the threshold again.
4.9.3 Experimenting with the State Machine
The experimentation environment works the same for state machines as for
other types of components. One extra feature for experimenting with state
machines is their animation, i.e. the current state is highlighted in the state
machine diagram while the experiment is running.
To experiment with the state machine:
• Save IdleCon.
In order to make the modified controller work with your project, you have to
make some adjustments to the project. At this point you will also integrate the
temperature sensor, which has been left unused so far.
To modify the project:
4.9.5 Summary
After completing this lesson you should be able to perform the following tasks in
ASCET:
• Creating a state diagram
• Creating and assigning conditions, actions and triggers
• Experimenting with state machines
• Integrating state machines into other components
1.
* = exp (binary export format; can only be imported into a database) or axl
(XML-based export format)
states YellowOff and YellowOn; with the timer as switch between them. In
the YellowOn state, the output yellow will be set to true, while the
YellowOff state sets it back to false.
To specify the substates for the error mode
This means that the ErrorMode state is started in the YellowOff state. As
well as switching off the color signals, the entry action starts the timer with the
parameterizable flashing time. The static action of the YellowOff state calls
the timer function compute() each time, which decrements the timer counter.
When this counter is 0, the timer function out() returns the code false, thus
fulfilling the transition condition !Timer.out(). The state YellowOn works
in a similar way, however, in the entry action, the Yellow color signal is
switched on.
The next step is to specify the performance in normal operation. To do this, cre-
ate a start state, AllOff, and place it within the NormalMode state. Use the
exit action to set all the color signals to a defined state. Now think about a suit-
able response for the traffic light control system.
In this example, you should describe the activation or deactivation of the individ-
ual color signals in the transition actions, not in the entry actions of the states.
To specify the substates in normal operation
4.10.4 Summary
After completing this lesson you should be able to perform the following tasks in
ASCET:
• Creating hierarchical state diagrams
• Describing the way the states behave in actions and also in the transition
actions
• Importing modules, classes or components
• Importing system components from ASCET libraries
• Using the Timer system component
• Using dependent parameters
• Displaying generated code
Tip
This instruction is relevant only when you are using ES113x without ETAS Net-
work Manager.
To avoid conflicts with a second network card that might be used for the LAN,
the following TCP/IP settings should be selected:
• Disable the DHCP service.
1.
* = exp (binary export format; can only be imported into a database) or axl
(XML-based export format)
2. Loading an experiment
To use back-animation, you do not have to open any measure and calibra-
tion windows in INTECRIO. But as back-animation with ASCET does not
provide an oscilloscope, the predefined INTECRIO experiment contains an
oscilloscope. The experiment also contains two calibration instruments.
Proceed as follows to open the predefined experiment manually.
• In the INTECRIO experiment environment, select
File → Open Experiment.
A file selection window opens.
• Open the INTECRIO_Tutorial.eex file from
the EE\Experiments\INTECRIO_Tutorial
subdirectory of your INTECRIO workspace.
Since the experiment was created with an old ver-
sion of the experiment environment, the following
message opens:
Shall the experiment be upgraded to
the current data format? If yes, you
probably won’t be able to open it
with an older tool version anymore.
• Confirm the message with Yes to continue.
The oscilloscope and the calibration instruments
open.
3. Starting the experiment
• In the INTECRIO experiment environment, select
Experiment → Download.
The executable file (the prototype) is loaded to the
hardware.
• Select Experiment → Start Measurement.
The measurement is started.
• Select Experiment → Start Simulation.
The simulation is started.
You can now calibrate values either in the ASCET experiment or in the INTECRIO
experiment. The modified values are transferred to the INTECRIO experiment and
displayed and used there.
To calibrate values:
A B C
4.11.5 Summary
After completing this lesson you should be able to perform the following tasks in
ASCET and INTECRIO:
• Prepare a project for transfer to INTECRIO
• Perform project transfer to INTECRIO
• Start an INTECRIO experiment
• Start and perform a back-animation experiment with ASCET
5 Glossary
In this glossary the technical terms and abbreviations used in the ASCET docu-
mentation are explained. Many terms are also used in a more general sense, but
only the meaning specific to ASCET is explained here.
The terms are listed in alphabetic order.
5.1 Abbreviations
ASAM-MCD
Association for Standardisation of Automation- and Measuring Systems,
with the working groups Measuring, Calibration, Diagnosis
(German: Arbeitskreis zur Standardisierung von Automations- und
Messsystemen, mit den Arbeitsgruppen Messen, Calibrieren und Diag-
nose)
ASCET
Development tool for control unit software
ASCET-MD
ASCET Modeling and Design
ASCET-RP
ASCET Rapid Prototyping
ASCET-SE
ASCET Software Engineering
AUTOSAR
Automotive Open System Architecture; see http://www.autosar.org/
BD
Block Diagram
BDE
Block Diagram Editor
CPU
Central Processing Unit
ECU
Embedded Control Unit
ERCOSEK
ETAS real-time operating system, OSEK-compliant
ESDL
Embedded Software Description Language; a textual modeling language
ETK
emulator test probe (German: Emulatortastkopf)
FPU
Floating Point Unit
HTML
Hypertext Markup Language
INCA
Integrated Calibration and Acquisition Systems
INTECRIO
An ETAS product family. INTECRIO integrates code from various behav-
ioral modeling tools, facilitates all necessary configurations, allows the
generation of executable code, and provides an experiment environment
for the execution of the Rapid Prototyping experiment.
OS
Operating System
OSEK
Working group "open systems for electronics in automobiles"
(German: Arbeitskreis Offene Systeme für die Elektronik im Kraft-
fahrzeug)
RAM
Random Access Memory
RE
Runnable entity; a a piece of code in an SWC that is triggered by the RTE
at runtime. It corresponds largely to the processes known in ASCET.
ROM
Read-Only Memory
RTA-RTE
AUTOSAR runtime environment by ETAS
RTE
AUTOSAR runtime environment; provides the interface between software
components, basic software, and operating systems.
SCM
source-code management
SM
state machine
SWC
Atomic AUTOSAR software component; the smallest non-dividable soft-
ware unit in AUTOSAR.
UML
Unified Modeling Language
XML
Extensible Markup Language
5.2 Terms
Action
An action is part of a state machine and associated with states or transi-
tions of the state machine. An action is a piece of functionality, whose
execution is triggered by the state machine.
Application Modes
An application mode is part of the operating system of ASCET. An oper-
ating mode describes different conditions a system can be in, e.g.
EEPROM-programming mode, warm-up, or normal mode.
Argument
An argument is the input to a method of a class. Arguments can only be
used in the specification of the method they belong to, and not in other
methods of the class.
Arithmetic Services
User-defined C functions to optimize elementary operations, such as addi-
tion operations, and to extend such operations with special properties,
such as value limits.
Array
An array is a one dimensional static list of elements of the basic scalar type
continuous or discrete, indexed by the basic scalar type discrete.
ASAM-MCD-2MC file
Default exchange format used for projects in ASCII format for the descrip-
tion of measurement and calibration values. The files have the extension
*.a2l.
Basic Model Types
Basic model types are used to model physical behavior. There are three
types: continuous, discrete and logical. A number of operations,
such as addition or comparison, are defined for the basic model types. The
implementation is used to transform the model types to implementation
types.
Block Diagram
A block diagram is a graphical description for a component in which the
various elements, operators and inputs/arguments and outputs/return val-
ues are connected by directed lines. A block diagram consists of several
diagrams. The description in terms of block diagrams is a physical descrip-
tion in contrast to the description with C-Code.
Bypass Experiment
In a bypass experiment, ASCET is directly connected to a microcontroller,
and parts of the microcontroller software are simulated by ASCET.
Calibration
Calibration is the manipulation of the values (physical / implementation) of
elements during the execution of an ASCET model (experiment).
Calibration Window
ASCET working window which can be used to modify parameters.
C Code
C code is an implementation dependent description of a component.
Characteristic
General term used for characteristic map, curve and value (see also
"Parameter".
Characteristic Line
Two-dimensional parameter.
Characteristic Map
Three-dimensional parameter.
Characteristic value
One-dimensional parameter (constant).
Class
A class is one of the component types in ASCET. Classes in ASCET are like
object-oriented classes. The functionality of a class is described by meth-
ods.
Code
The executable code is the "actual" program with the exception of the
data (contains the actual algorithms). The code is the program part which
can be executed by the CPU.
Code Generation
Code generation is the first step in the transformation of a physical model
to executable code. The physical model is transformed into ANSI C-Code.
Since the C code is compiler- (and therefore target-) dependent, different
code for each target is produced.
Component
A component is the basic unit of reusable functionality in ASCET. Compo-
nents can be specified as classes, modules, or state machines. Each com-
ponent is built up of elements which are combined with operators to build
up the functionality.
Component Manager
Working environment in which the user can set up ASCET and manage
the data he created and which are stored in the database or workspace.
Condition
A condition is used to describe the control flow in a state machine. It
returns a logical value which determines, whether a transition from one
state to another takes place.
Constant
A constant is an element that cannot be changed during execution of an
ASCET model.
Container
Containers serve as containers for projects, classes and modules. Their
purpose is to structure models and databases/workspaces and place dif-
ferent database/workspace items under a common version control.
Data
The data is the variables of a program used for calibration.
Data Generator
The data generator is part of the experimentation environment. It is used
to stimulate the inputs or variables in the model under experimentation.
Data Logger
With the data logger measurement data can be read from an experiment
and stored to disk for further analysis.
Data Set
A data set contains/references the initial data for all elements of a compo-
nent or project.
Database
A way to store all information specified or produced with ASCET. In
ASCET, a database is structured into folders. On the Windows file system,
a database is stored in a binary format.
Description file
Contains the physical description of the characteristics and measured val-
ues in the control unit (names, addresses, conversion formulas, functional
assignments, etc.).
Diagram
A diagram is used for the graphical specification of components as block
diagrams or state machines.
Dimension
The dimension is used to describe the ‘size’ of basic elements. The dimen-
sion can either be scalar (zero dimensional), array (one dimensional) or
characteristic line/table.
Distribution
A distribution contains the sample points for one or more group charac-
teristic lines/maps.
Editor
See Calibration Window.
Element
An element is a part of a component which reads or writes data, for
instance a variable, parameter or other component used within a compo-
nent.
Event
An event is an (external) trigger that starts an action of the operating sys-
tem, e.g., a task.
Event Generator
The event generator is part of the experimentation environment. It is used
to describe the order and the timing in which events are generated for the
activation of tasks (methods/processes/time frames) in the case of an
offline experiment.
Experiment
An experiment defines the settings in the experiment environment that
are used to test the proper functioning of components or projects. It con-
tains information about the size, position and content of the measure-
ment and calibration windows, as well as the settings of the event
generator, data generator and the data logger. An experiment can be exe-
cuted either offline (non real-time) or online (real-time) and can be used
to control a technical process in a bypass or fullpass application. In all
cases, instrumented code generated from an ASCET specification is used
for experiment execution.
Experiment environment
Main working environment in which the user performs his experiments.
Fixed Point Code
From the physical specification, fixed point code can be generated which
can be executed on processors without a floating point unit.
Folder
A folder is a management unit for structuring an ASCET database or
workspace. A folder contains items of any kind.
Formula
A formula is part of an implementation describing the transformation
from the model types to the implementation (data) types.
Fullpass Experiment
In a fullpass experiment, ASCET is directly connected with an experimental
microcontroller, and the entire application is simulated by ASCET.
Group Characteristic Line/Map
Group characteristic lines/maps are characteristic lines/maps that share
the same distribution of axis points but have different return values. The
distribution of axis points and the individual group tables are specified as
separate elements.
HEX file
Exchange format of a program version as Intel Hex or Motorola S Record
file.
Hierarchy
A hierarchy block is used to structure the graphical specification of a block
diagram.
Icon
Icons can be used to illustrate the function of ASCET components.
Implementation
An implementation describes the transformation of the physical specifica-
tion (model) to executable fixed point code. An implementation consists
of a (linear) transformation formula and a bounding interval for the model
values.
Implementation Cast
Element that provides the users the possibility to control the implementa-
tions of intermediate results in arithmetic chains without changing the
physical representation of the elements in question.
Implementation Data Types
Implementation data types are the data types of the underlying C pro-
gramming language, e.g., unsigned byte (uint8), signed word
(sint16), float.
Implementation Types
Implementation templates. Implementation types contain the main speci-
fications of an implementation; they are defined in the project editor and
can be assigned to individual elements in the implementation editors.
Intel Hex
Exchange format used for program versions.
Interface
An interface of a component describes how the component exchanges
data with other components. It can be compared to the .h file in C.
Kind
There are three kinds of elements: variables, parameters, and constants.
Variables can be read and written. Parameters can only be read but can
calibrated during experimentation. Constants can only be read and not
written to during experiments.
L1
The message format for exchanging data between the host and the tar-
get, where the experiment is run. Data is transferred, e.g. for displaying
values in measure windows.
Layout
A component has a graphical representation that shows pins for the
inputs/arguments, outputs/return values and time frames/methods/pro-
cesses. Additionally, the layout contains an icon that graphically rep-
resents the component when used within other components.
Literal
A literal is used in the description of components. A literal contains a
string that is interpreted as a value, e.g. as a continuous or logical value.
Measuring
Recording of data which is either displayed or stored, or both displayed
and stored.
Measure window
ASCET working window which displays measured signals during a mea-
surement.
Measured signal
A variable to be measured.
Measurement
A measurement is the representation of values (physical / implementation)
of variables/parameter during an experiment. The values can be displayed
with various different measurement windows like oscilloscopes, numeric
displays, etc.
Measuring channel parameters
Parameters which can be set for the individual channels of a measuring
module.
Message
A message is a real time language construct of ASCET for protected data
exchange between concurrent processes.
Method
A method is part of the description of the functionality of a class in terms
of object oriented programming. A method has arguments and one
return value.
Model Type
Each element of an ASCET component specification is either a component
of its own or is of a model type In contrast to implementation types,
model types represent physical values.
Module
A module is one of the component types in ASCET. It describes a number
of processes that can be activated by the operating system. A module
cannot be used as a subcomponent within other components.
Monitor
With a monitor the data value of an element can be displayed in a dia-
gram during an experiment.
Motorola-S-Record
Exchange format used for program versions.
Offline experiment
During offline experimentation the code generated by ASCET can be run
on the PC or an experimental target, but it does not run in real-time.
Offline experimentation focuses on testing the functional specification of
a system.
Online experiment
In the online experiment the projects are executed in real-time with the
behavior defined in the real-time operating system. The code always runs
on an experimental target in real-time. The online experiment focuses on
the operating system schedule and the corresponding real-time behavior
of the control system.
Operating System
The operating system is used to schedule the execution/activation of an
ASCET software system. The operating system also provides services for
communication (messages) and access to reserved parts of the hardware
(resources). The ASCET operating system is based on the real-time operat-
ing system ERCOSEK.
Tip
To allow ASCET to be updated and developed further, it is important that you
report any errors which have occurred with an application to ETAS. You can use
the "Problem Report" method for this purpose.
When you use the support function, ASCET compresses the entire contents of
the "log" directory (all *.log files) including a textual description into an
archive file named EtasLogFiles00.zip in the ...\ETAS\LogFiles\
subdirectory. For additional archive files, the file name is incremented automati-
cally (up to 19) to avoid that older archive files are immediately overwritten.
If a critical system error occurs, the following window is displayed:
2. Exit button
• Click on the Exit button.
ASCET is closed; all modifications that have not
been saved will be lost.
Close any message boxes prompting you to save
data without saving any data.
• Restart ASCET.
3. Continue button
Tip
Use the Continue button only if you have to save important configuration
data. Subsequent errors or incorrect configurations cannot be excluded!
Tip
Therefore, it is not allowed to change the graphic mode of the PC or notebook
while ASCET is running.
Some actions change the graphic modus automatically, among them the activa-
tion or usage of a secondary graphic output (e.g., a second monitor). Currently,
no solution or workaround exists for these cases.
Certain actions in ETAS products may lead to some trouble if the firewall is not
properly parameterized, e.g. upon opening an experiment in ASCET or searching
for hardware from within INCA or HSP.
If a firewall is blocking communication to ETAS hardware, you must either dis-
able the firewall software while working with ETAS software, or the firewall must
be configured to give the following permissions:
• Outgoing limited IP broadcasts via UDP (destination address
255.255.255.255) for destination ports 17099 or 18001
• Incoming limited IP broadcasts via UDP (destination IP 255.255.255.255,
originating from source IP 0.0.0.0) for destination port 18001
• Directed IP broadcasts via UDP to the network configured for the ETAS
application, destination ports 17099 or 18001
• Outgoing IP unicasts via UDP to any IP in network configured for the ETAS
application, destination ports 17099 through 18020
• Incoming IP unicasts via UDP originating from any IP in the network con-
figured for the ETAS application, source ports 17099 through 18020,
destination ports 17099 through 18020
• Outgoing TCP/IP connections to the network configured for the ETAS
application, destination ports 18001 through 18020
Tip
The ports that have to be used in concrete use cases depend on the hard-
ware used. For more precise information on the port numbers that can be
used please refer to your hardware documentation.
The Windows operating systems come with a built-in personal firewall. In addi-
tion, it is very common to have personal firewall software from third party ven-
dors, such as Symantec, McAffee or BlackIce installed. The proceedings in
configuring the ports might differ for each personal firewall software used.
Therefore please refer to the user documentation of your personal firewall soft-
ware for further details.
As an example for a firewall configuration, you will find below a description on
how to configure the widely used Windows XP firewall if the hardware access is
prohibited under Windows XP with Service Pack 2.
To unblock a product:
The following table outlines the input requirements for tool classification according to ISO26262 for which information about ASCET is
target directory
Use cases 8§11.4.4.1.c N/A. This is a property of your use of ASCET in your development process. However, you should
read chapter 2 and chapter 3 to understand the basic scope of application of ASCET.
Execution environment 8§11.4.4.1.d N/A. This is a property of your development process.
Maximum ASIL that may 8§11.4.4.1.e N/A. This is a property of the system being developed.
be violated
Methods for qualification 8§11.4.4.1.f N/A. This is the output from the analysis process.
ETAS
ASCET V6.4 - Getting Started
ETAS
Requirement synopsis ISO26262 ASCET Evidence
Reference
Description of product 8§11.4.4.2.a An overview of the product features is provided in chapter 2 of this document.
features Individual features themselves are described in the online help and the other user documenta-
tion.
Provision of user manual 8§11.4.4.2.b User manuals and online help are supplied with each version of ASCET and for each ASCET add-
on.
Manuals can be found in <install dir>\..\ETASManuals\ASCET Vx.y.
Online help is accessed by pressing <F1> or selecting Help → Contents...
Valid operating environ- 8§11.4.4.2.c The valid operating environment is described in the ASCET Release Notes for each product and
ment add-on. Release notes can be found in <install dir>\..\ETASManuals\ASCET Vx.y
Behavior under anoma- 8§11.4.4.2.d Errors in the ASCET configuration (e.g. syntactically or semantically incorrect model, incompat-
lous operating conditions ible options etc.) are checked by the tool itself at code generation/build time and reported to in
the "Messages" tab of the Monitor window.
ETAS
ETAS ETAS Contact Addresses
ETAS HQ
ETAS GmbH
Index
A continuous time blocks 18
application mode 116 tutorial 73
arithmetic control algorithm
fixed-point 23 classes 17
ASAM-MCD-2MC file 116 classes in modules 18
ASCET continuous time blocks 18
in production environment 27 development 16
ECU integration 21
B Implementation 21
back-animation 109 modules 17
black icons 125 parameters 18
block diagram 33 projects 19
rapid prototyping 19
C reuse 24
C code 117 software realization 16
class 24 conversion
module 24 floating-point to fixed-point 21
calibration windows 116
characteristic line 117 D
characteristic map 117 data 118
characteristic value 117 data generator 118
class 17, 117 data logger 118
C code 24 data set 118
tutorial 48 database 118, 123
closed-loop simulation 19 description file 118
component 117 diagram 118
Component Manager 117 dimension 118
condition 117 distribution 118
constant 117
container 117
E implementation 119
editor 118 implementation experiment 25
element 118 INTECRIO connectivity 103
error INTECRIO transfer 105
continue 125 Intel Hex 120
exit 125 interface 120
support function "Problem
Report" 124 K
System Error window 124 kind 120
what to do in case of ~ 124
ETAS contact addresses 139 L
event 118 layout 120
event generator 118 literal 120
experiment 119
back-animation 109 M
implementation 25 measure 120
object-based controller imple- measure window 120
mentation 25 measured signal 120
object-based controller physical measurement 121
26 measuring channel parameters 121
physical 25 message 121
quantized 25 methods 121
experiment environment 119 model conversion 28
experimenting 42 model type 121
model-based design 15–26
F control algorithm development 16
features 12 module 17, 121
ASCET-DIFF 13 C code 24
ASCET-MD 12 tutorial 57
ASCET-RP 13 monitor 121
ASCET-SCM 13 Motorola-S-Record 121
ASCET-SE 13
fixed point code 119 O
fixed-point arithmetic 23 object-based controller implementa-
floating-point to fixed-point conver- tion experiment 25
sion 21 object-based controller physical
folder 119 experiment 26
formula 119 oscilloscope 122
fullpass experiment 119
P
G parameter 18, 122
general operation physical experiment 25
monitor window 11 priority 122
supporting functions 11 problem
glossary 114–123 black icons 125
Problem Report 124
H process 122
HEX file 119 process model 79
hierarchy 119 product liability disclaimer 6
production environment 27
I model conversion 28
icon 119 program 122
S
Safety Instructions
technical state 7
scheduling 122
scope 122
state 122
state machine 87, 93, 123
hierarchical 97
support function "Problem Report"
124
T
target 123
task 123
technical system architecture
test in lab 26
test in vehicle 26
tool classification for ISO26262 135–
138
transition 123
tutorial 30–113
back-animation 109
continuous time system 73
controller 57
experimenting 42
extend project 65
hierarchical state machines 97
INTECRIO connectivity 103
INTECRIO transfer 105
module 57
process model 79
project 61
reusable component 48
simple block diagram 33
state machines 87