07.01.2013 Views

Tool Support for Seamless System Development based on ...

Tool Support for Seamless System Development based on ...

Tool Support for Seamless System Development based on ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

The example includes sensors (yaw rate, angle), buses<br />

(CAN, Flexray), ECUs 1 (ICM 2 , ASA 3 ) and actuators<br />

(motor driver).<br />

The angle sensor and its CAN c<strong>on</strong>necti<strong>on</strong> to the ICM<br />

is also affected by the timing c<strong>on</strong>straints. For the sake<br />

of simplicity it is not c<strong>on</strong>sidered in this paper.<br />

T1 and T5 in the example are mostly hardware dependent<br />

and typically produce a c<strong>on</strong>stant delay in the<br />

path. T3 reflects the communicati<strong>on</strong> overhead produced<br />

by the Flexray bus – depending <strong>on</strong> the Flexray c<strong>on</strong>figurati<strong>on</strong>.<br />

T2 and T4 represent the time spent “within” an<br />

ECU <str<strong>on</strong>g>for</str<strong>on</strong>g> receiving, processing and transmitting data.<br />

This paper focuses <strong>on</strong> such ECU internal timing. It<br />

is influenced by a number of things: scheduling strategy,<br />

executi<strong>on</strong> times, blocking times, operating system<br />

c<strong>on</strong>figurati<strong>on</strong>, communicati<strong>on</strong> strategies, communicati<strong>on</strong><br />

buffer sizes and synchr<strong>on</strong>isati<strong>on</strong> effects. Flexray<br />

communicati<strong>on</strong> typically introduces synchr<strong>on</strong>isati<strong>on</strong> effects<br />

since the ECU internal schedule with its periodical<br />

tasks <str<strong>on</strong>g>based</str<strong>on</strong>g> <strong>on</strong> its ECU internal clock source has to be<br />

synchr<strong>on</strong>ised with the independent Flexray timing. The<br />

use case described later in Sec. 5 <str<strong>on</strong>g>for</str<strong>on</strong>g> example includes<br />

timing c<strong>on</strong>straints related to the Flexray synchr<strong>on</strong>isati<strong>on</strong>.<br />

It is important to a) be aware of the system’s timing<br />

c<strong>on</strong>straints, b) clearly document and specify the c<strong>on</strong>straints<br />

and c) verify that these c<strong>on</strong>straints are met<br />

in the producti<strong>on</strong> software. Documentati<strong>on</strong> and verificati<strong>on</strong><br />

of timing c<strong>on</strong>straints become especially important<br />

<str<strong>on</strong>g>for</str<strong>on</strong>g> the distributed development process typical of<br />

the automotive industry. For a single ECU, suppliers<br />

and car manufacturers c<strong>on</strong>tribute parts of the software<br />

as black-boxes. More and more, these black-boxes are<br />

AUTOSAR software comp<strong>on</strong>ents with well-defined interfaces.<br />

When integrated together in <strong>on</strong>e ECU, these<br />

comp<strong>on</strong>ents influence the timing <strong>on</strong> a system level with<br />

all its preempti<strong>on</strong>s and c<strong>on</strong>current run-time requirements<br />

[8, 7].<br />

Since AUTOSAR Release 4.0 (Dec. 2009), timing behaviour<br />

can be described as so-called Timing Extensi<strong>on</strong>s<br />

<str<strong>on</strong>g>for</str<strong>on</strong>g> software comp<strong>on</strong>ents, compositi<strong>on</strong>s, basic software<br />

and <str<strong>on</strong>g>for</str<strong>on</strong>g> the entire system [1]. The resulting specificati<strong>on</strong>s<br />

can be exchanged between development teams either<br />

as timing requirements or as timing guarantees. We<br />

outline our timing development methodology in Sec. 2.<br />

During the practical applicati<strong>on</strong> of the AUTOSAR<br />

Timing Extensi<strong>on</strong>s we realized that a successful roll-out<br />

in producti<strong>on</strong> projects is largely determined by the availability<br />

of related tools. There<str<strong>on</strong>g>for</str<strong>on</strong>g>e, we implemented and<br />

integrated appropriate tools, as depicted in Fig. 2. The<br />

goal of our approach is to enable systematic and highly<br />

automated verificati<strong>on</strong> of timing c<strong>on</strong>straints of an AU-<br />

TOSAR system. To achieve this, the following building<br />

blocks are required:<br />

• The origin of timing requirements <str<strong>on</strong>g>for</str<strong>on</strong>g> subsystems<br />

are timing c<strong>on</strong>straints of functi<strong>on</strong>s. In Sec. 2 we<br />

outline Timex, a model to capture such functi<strong>on</strong><br />

1 Embedded C<strong>on</strong>trol Unit<br />

2 Integrated Chassis Module<br />

3 Aktuator Steuergerät Aktivlenkung = actuator c<strong>on</strong>trol unit<br />

active steering<br />

2<br />

Timex timing c<strong>on</strong>straint Timex<br />

derive<br />

timing<br />

requirements<br />

comp<strong>on</strong>ent<br />

timing<br />

verificati<strong>on</strong><br />

Artime Artip<br />

export<br />

T1 c<strong>on</strong>straints<br />

ArT1 ArT1<br />

generate<br />

T1 project<br />

functi<strong>on</strong>s,<br />

functi<strong>on</strong> networks<br />

functi<strong>on</strong><br />

verificati<strong>on</strong><br />

T1<br />

timing<br />

measurement<br />

export<br />

timing<br />

guarantees<br />

export T1<br />

measurements<br />

map to<br />

functi<strong>on</strong> timing<br />

c<strong>on</strong>straints<br />

Figure 2: The tools at their positi<strong>on</strong> in the V model.<br />

timing c<strong>on</strong>straints. In this paper, however, we c<strong>on</strong>centrate<br />

<strong>on</strong> the already derived timing requirements<br />

within the scope of AUTOSAR.<br />

• A <str<strong>on</strong>g>for</str<strong>on</strong>g>mal timing model is the basis as well as the<br />

comm<strong>on</strong> exchange <str<strong>on</strong>g>for</str<strong>on</strong>g>mat of all tools. The standardized<br />

AUTOSAR Timing Extensi<strong>on</strong>s provide<br />

this timing model.<br />

• Specificati<strong>on</strong> tools are needed to make the model usable<br />

<str<strong>on</strong>g>for</str<strong>on</strong>g> developers and system designers. There<str<strong>on</strong>g>for</str<strong>on</strong>g>e<br />

we developed a textual timing editor called Artime<br />

to specify timing requirements. Artime is a plug-in<br />

<str<strong>on</strong>g>for</str<strong>on</strong>g> Artop [6].<br />

• Measurement <str<strong>on</strong>g>based</str<strong>on</strong>g> timing analysis tools are used<br />

to gather timing behaviour in<str<strong>on</strong>g>for</str<strong>on</strong>g>mati<strong>on</strong> from a<br />

given embedded system at run-time. The results<br />

are different kinds of timing properties which are<br />

then interpreted as guarantees. In our tool chain,<br />

we use the timing analysis tool T1 [4].<br />

• We developed a simple verificati<strong>on</strong> tool called Artip<br />

that compares timing requirements and timing<br />

guarantees. The system designer and integrator can<br />

use it to visualize the fulfilment of the systems timing<br />

requirements by the according guarantees.<br />

• For all the tools listed above, a comm<strong>on</strong> integrati<strong>on</strong><br />

plat<str<strong>on</strong>g>for</str<strong>on</strong>g>m is required <str<strong>on</strong>g>for</str<strong>on</strong>g> a successful and smooth applicati<strong>on</strong>.<br />

We employ Artop as this tool plat<str<strong>on</strong>g>for</str<strong>on</strong>g>m.<br />

Artime and Artip are realized as Artop plug-ins.<br />

We implemented an additi<strong>on</strong>al, tool-specific Artop<br />

plug-in, called ArT1, to c<strong>on</strong>nect the Artop envir<strong>on</strong>ment<br />

to the separate T1 timing suite.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!