Verification and Validation of a Verification and Validation of a - - PowerPoint PPT Presentation

verification and validation of a verification and
SMART_READER_LITE
LIVE PREVIEW

Verification and Validation of a Verification and Validation of a - - PowerPoint PPT Presentation

Verification and Validation of a Verification and Validation of a Fault- -Tolerant Architectural Abstraction Tolerant Architectural Abstraction Fault Patrick H. S. Brito - Unicamp, Brazil Rogrio de Lemos - University of Kent, UK Eliane


slide-1
SLIDE 1

Rogério de Lemos DSN 2007 WADS – June 2007 – 1

Verification and Validation of a Verification and Validation of a Fault Fault-

  • Tolerant Architectural Abstraction

Tolerant Architectural Abstraction

Patrick H. S. Brito - Unicamp, Brazil Rogério de Lemos - University of Kent, UK Eliane Martins - Unicamp, Brazil Cecília M. F. Rubira - Unicamp, Brazil

slide-2
SLIDE 2

Rogério de Lemos DSN 2007 WADS – June 2007 – 2

Motivation Motivation

Fault tolerance at the architectural level

idealised fault tolerant architectural element

  • exception handling

Fault tolerance doesn’t come for free

increase in complexity

  • e.g., exception propagation

Improve confidence

verification by model checking architectural configurations validation by generation of test cases

How the abstraction is implemented is not the topic of

this paper

slide-3
SLIDE 3

Rogério de Lemos DSN 2007 WADS – June 2007 – 3

Outline Outline

Motivation Exception handling and software fault tolerance Idealised fault tolerant architectural element Rigorous development approach Conclusions Future work

slide-4
SLIDE 4

Rogério de Lemos DSN 2007 WADS – June 2007 – 4

Architectural Exception Handling Architectural Exception Handling

An architectural solution based on exception handling exception handling

components need to collaborate for handling certain

failure scenarios

configurations that allow the propagation of exceptions

controlled error propagation

Exception handling is not “the” solution, there are other alternatives

it might be perceived as undesirable, but it’s reality depends on the failure assumptions and costs

slide-5
SLIDE 5

Rogério de Lemos DSN 2007 WADS – June 2007 – 5

iFTE iFTE: Architectural Abstraction : Architectural Abstraction

system ifte_abstraction features I_iFTE_PS_i: in event data port Service; I_iFTE_PS_o: out event data port Service; I_iFTE_PE_o: out event data port Exception; I_iFTE_RS_i: in event data port Service; I_iFTE_RS_o: out event data port Service; I_iFTE_RE_i: in event data port Exception; flows Ret_Ser_a: flow path I_iFTE_PS_i -> I_iFTE_PS_o; Sig_Exc_a: flow path I_iFTE_PS_i -> I_iFTE_PE_o; Req_Ser_b: flow path I_iFTE_PS_i -> I_iFTE_RS_o; Ret_Ser_b: flow path I_iFTE_RS_i -> I_iFTE_PS_o; Sig_Exc_b: flow path I_iFTE_RS_i -> I_iFTE_PE_o; Ret_Ser_c: flow path I_iFTE_RE_i -> I_iFTE_PS_o; Sig_Exc_c: flow path I_iFTE_RE_i -> I_iFTE_PE_o; end ifte_abstraction;

I_iFTE_PS I_iFTE_PE I_iFTE_RS I_iFTE_RE <<element>> idealised fault-tolerant architectural element

Idealised fault tolerant architectural element (iFTE)

slide-6
SLIDE 6

Rogério de Lemos DSN 2007 WADS – June 2007 – 6

iFTE iFTE: Behavioural Scenarios : Behavioural Scenarios

slide-7
SLIDE 7

Rogério de Lemos DSN 2007 WADS – June 2007 – 7

A Rigorous Development Approach A Rigorous Development Approach

The main objectives of the approach

Provide support for analysing exception propagation at

the architectural level

Analyse application-specific details about the

exception propagation

Define a scalable solution with support for automatic

verification

Define an approach for generating testing cases

slide-8
SLIDE 8

Rogério de Lemos DSN 2007 WADS – June 2007 – 8

A Rigorous Development Approach A Rigorous Development Approach

slide-9
SLIDE 9

Rogério de Lemos DSN 2007 WADS – June 2007 – 9

A Rigorous Development Approach A Rigorous Development Approach

slide-10
SLIDE 10

Rogério de Lemos DSN 2007 WADS – June 2007 – 10

Architecture Representation Architecture Representation

For each service of an iFTE

Provided interfaces Required interfaces Provided exceptions Required exceptions Maskable exceptions

For the software architecture

The architectural configuration

slide-11
SLIDE 11

Rogério de Lemos DSN 2007 WADS – June 2007 – 11

Architecture Representation Architecture Representation

B-Method

Type representation

different contexts for each type of exceptions

Easiness to represent relations between types

architectural configuration, exception conversions, etc.

CSP

Easiness to represent complex ordered events

  • execution scenarios, complex architectural propagation rules
slide-12
SLIDE 12

Rogério de Lemos DSN 2007 WADS – June 2007 – 12

Architecture Verification Architecture Verification

The ProB model checker is used to check for both

Violations of structural (architectural configuration)

constraints

Extended architectural descriptions are used to

analyse exception flow properties Users can specify their own properties for a specific exception handling model Violations result in error messages and counter-examples

slide-13
SLIDE 13

Rogério de Lemos DSN 2007 WADS – June 2007 – 13

Architecture Verification Architecture Verification

Some architectural properties that are verified

Absence of deadlock Explicit declaration of external exceptions (component

interfaces)

All the required exceptions are handled Only maskable exceptions can be masked

slide-14
SLIDE 14

Rogério de Lemos DSN 2007 WADS – June 2007 – 14

Integration Order Integration Order

Integration order tries to minimise dependencies

among architectural elements

Reduce the integration test effort for constructing

stubs

Provides a way for reasoning about the coupling among

architectural elements (dependency matrix)

slide-15
SLIDE 15

Rogério de Lemos DSN 2007 WADS – June 2007 – 15

Generation of Test Cases Generation of Test Cases

The only input is the formal model (B + CSP) of the

software architecture

A graph is created for representing the interaction

among architectural elements

Test cases are identified based on the paths of the

interaction graph

Stubs are specified by analysing the arrows departing

from the required interfaces nodes

slide-16
SLIDE 16

Rogério de Lemos DSN 2007 WADS – June 2007 – 16

An Application Example: An Application Example: A Mining Control System A Mining Control System

7 iFTE architectural elements: 4 comps. and 3 conns. 4 non-iFTE architectural components

slide-17
SLIDE 17

Rogério de Lemos DSN 2007 WADS – June 2007 – 17

Architecture Verification Architecture Verification

Architecture configuration property

every required service refers to a valid provided

service of another component. The following goal might never be satisfied:

Ec1, c2 e ArchitecturalElements, t e EventType, s e

ArchitecturalServices, e e ArchitecturalExceptions • (c1, c2, t, s, e) e sequenceHistory ¶ c1 Î c2 ¶ s ‰ providedArchService(c2)

slide-18
SLIDE 18

Rogério de Lemos DSN 2007 WADS – June 2007 – 18

iFTE iFTE Detailed Design Detailed Design

The architectural elements of an iFTE follow recursively the iFTE abstraction

<<component>> Provided I_iFTE_PS I_iFTE_PE <<component>> Normal <<component>> Abnormal I_iFTE_RS I_iFTE_RE <<component>> Required I_A_RS I_N_RS I_A_PE I_N_PE I_P_RE I_P_RS <<connector>> Coordinator I_R_PS I_R_PE I_A_RE <<element>> idealised fault-tolerant architectural element I_N_PS I_N_RE I_A_PS

slide-19
SLIDE 19

Rogério de Lemos DSN 2007 WADS – June 2007 – 19

iFTE iFTE Detailed Design Detailed Design

<<component>> Provided I_iFTE_PS I_iFTE_PE <<component>> Abnormal I_iFTE_RS I_iFTE_RE <<component>> Required I_A_RS I_A_PE I_N_PE I_P_RE I_P_RS <<connector>> Coordinator I_R_PS I_R_PE I_A_RE <<element>> idealised fault-tolerant architectural element I_N_PS I_N_RE I_A_PS <<component>> Normal <<component>> COTS

<<component>> Provided <<component>> Required

I_N_RS I_C_RS I_C_PS

slide-20
SLIDE 20

Rogério de Lemos DSN 2007 WADS – June 2007 – 20

Conclusions Conclusions

Fault tolerance at the architectural level

error handling

since iFTE is application dependent, we need to obtain

assurances when it is instantiated to a particular application

  • model checking specifications for exception propagation
  • ProB (B Method and CSP)
  • generation of testing cases for integration testing
slide-21
SLIDE 21

Rogério de Lemos DSN 2007 WADS – June 2007 – 21

Future Work Future Work

Adapt the proposed approach to other architectural

abstractions using other fault models, e.g., crash failures

Improve the tool support for:

Generating the formal models from a UML

component diagram (UML2Formal)

Additional information about the exceptional

behaviour can be represented in XMI through meta tags