29.01.2015 Views

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Safe Automotive <strong>Software</strong> Development 339<br />

tractable, the architecture must ensure the in<strong>de</strong>pen<strong>de</strong>nt failure of the components.<br />

This most important in<strong>de</strong>pen<strong>de</strong>nce assumption requires fault containment<br />

and error containment at the architecture level. Fault containment is<br />

concerned with limiting the immediate impact of a fault to well-<strong>de</strong>fined region<br />

of the system, the fault containment region (FCR). In a distributed computer<br />

system a no<strong>de</strong> as a whole can be consi<strong>de</strong>red to <strong>for</strong>m an FCR. Error containment<br />

is concerned with assuring that the consequences of the faults, the errors,<br />

cannot propagate to other components and mutilate their internal state. In a<br />

safety-critical computer system an error containment region requires at least<br />

two fault containment regions.<br />

Any <strong>de</strong>sign of a safety-critical computer system architecture must start with<br />

a precise specification of the fault hypothesis. The fault hypothesis partitions<br />

the system into fault-containment regions, states their assumed failure mo<strong>de</strong>s<br />

and the associated probabilities, and establishes the error-propagation boundaries.<br />

The fault hypothesis provi<strong>de</strong>s the input <strong>for</strong> the reliability mo<strong>de</strong>l in or<strong>de</strong>r<br />

to calculate the reliability at the system level. Later, after the system has<br />

been built, it must be validated that the assumptions which are contained in<br />

the fault hypothesis are realistic.<br />

In the second part of the presentation it will be <strong>de</strong>monstrated how these<br />

general principles of architecture <strong>de</strong>sign are realized in a specific example,<br />

the Time-Triggered Architecture (TTA) [4]. The TTA provi<strong>de</strong>s a computing<br />

infrastructure <strong>for</strong> the <strong>de</strong>sign and implementation of <strong>de</strong>pendable distributed<br />

embed<strong>de</strong>d systems. A large real-time application is <strong>de</strong>composed into nearly<br />

autonomous clusters and no<strong>de</strong>s and a fault-tolerant global time base of known<br />

precision is generated at every no<strong>de</strong>. In the TTA this global time is used to<br />

precisely specify the interfaces among the no<strong>de</strong>s, to simplify the communication<br />

and agreement protocols, to per<strong>for</strong>m prompt error <strong>de</strong>tection, and to<br />

guarantee the timeliness of real-time applications. The TTA supports a<br />

two-phased <strong>de</strong>sign methodology, architecture <strong>de</strong>sign and component <strong>de</strong>sign.<br />

During the architecture <strong>de</strong>sign phase the interactions among the distributed<br />

components and the interfaces of the components are fully specified in the<br />

value domain and in the temporal domain. In the succeeding component<br />

implementation phase the components are built, taking these interface specifications<br />

as constraints. This two-phased <strong>de</strong>sign methodology is a prerequisite<br />

<strong>for</strong> the composability of applications implemented in the TTA and <strong>for</strong><br />

the reuse of pre-validated components within the TTA. In this second part<br />

we present the architecture mo<strong>de</strong>l of the TTA, explain the <strong>de</strong>sign rational,<br />

discuss the time-triggered communication protocols TTP/C and TTP/A, and<br />

illustrate how component in<strong>de</strong>pen<strong>de</strong>nce is achieved such that transparent faulttolerance<br />

can be implemented in the TTA.

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

Saved successfully!

Ooh no, something went wrong!