verification and validation of a verification and
play

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


  1. Verification and Validation of a Verification and Validation of a Fault- -Tolerant Architectural Abstraction Tolerant Architectural Abstraction Fault 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 Rogério de Lemos DSN 2007 WADS – June 2007 – 1

  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 Rogério de Lemos DSN 2007 WADS – June 2007 – 2

  3. Outline Outline � Motivation � Exception handling and software fault tolerance � Idealised fault tolerant architectural element � Rigorous development approach � Conclusions � Future work Rogério de Lemos DSN 2007 WADS – June 2007 – 3

  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 Rogério de Lemos DSN 2007 WADS – June 2007 – 4

  5. iFTE: Architectural Abstraction : Architectural Abstraction iFTE � Idealised fault tolerant architectural element (iFTE) I_iFTE_PS I_iFTE_RS <<element>> idealised fault-tolerant architectural element I_iFTE_PE I_iFTE_RE 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; Rogério de Lemos DSN 2007 WADS – June 2007 – 5

  6. iFTE: Behavioural Scenarios : Behavioural Scenarios iFTE Rogério de Lemos DSN 2007 WADS – June 2007 – 6

  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 Rogério de Lemos DSN 2007 WADS – June 2007 – 7

  8. A Rigorous Development Approach A Rigorous Development Approach Rogério de Lemos DSN 2007 WADS – June 2007 – 8

  9. A Rigorous Development Approach A Rigorous Development Approach Rogério de Lemos DSN 2007 WADS – June 2007 – 9

  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 Rogério de Lemos DSN 2007 WADS – June 2007 – 10

  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 � Rogério de Lemos DSN 2007 WADS – June 2007 – 11

  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 Rogério de Lemos DSN 2007 WADS – June 2007 – 12

  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 Rogério de Lemos DSN 2007 WADS – June 2007 – 13

  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) Rogério de Lemos DSN 2007 WADS – June 2007 – 14

  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 Rogério de Lemos DSN 2007 WADS – June 2007 – 15

  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 Rogério de Lemos DSN 2007 WADS – June 2007 – 16

  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: � E c1, c2 e ArchitecturalElements , t e EventType , s e ArchitecturalServices , e e ArchitecturalExceptions • (c1, c2, t, s, e) e sequenceHistory ¶ c1 Î c2 ¶ s ‰ providedArchService(c2) Rogério de Lemos DSN 2007 WADS – June 2007 – 17

  18. iFTE Detailed Design Detailed Design iFTE The architectural elements of an iFTE follow recursively the iFTE abstraction <<element>> idealised fault-tolerant architectural element I_iFTE_RS <<component>> I_iFTE_PS Normal I_N_PS I_N_PE I_N_RS I_N_RE I_P_RS I_R_PS <<component>> <<connector>> <<component>> Provided Coordinator Required I_P_RE I_R_PE I_A_RS I_A_RE I_A_PS I_A_PE I_iFTE_PE I_iFTE_RE <<component>> Abnormal Rogério de Lemos DSN 2007 WADS – June 2007 – 18

  19. iFTE Detailed Design Detailed Design iFTE <<element>> idealised fault-tolerant architectural element <<component>> Normal I_iFTE_RS I_iFTE_PS <<component>> COTS I_C_PS I_C_RS <<component>> <<component>> Provided Required I_N_PS I_N_RS I_P_RS I_R_PS I_N_PE I_N_RE <<component>> <<connector>> <<component>> Provided Coordinator Required I_P_RE I_R_PE I_A_RS I_A_RE I_iFTE_PE I_A_PS I_iFTE_RE I_A_PE <<component>> Abnormal Rogério de Lemos DSN 2007 WADS – June 2007 – 19

  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 � Rogério de Lemos DSN 2007 WADS – June 2007 – 20

  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 Rogério de Lemos DSN 2007 WADS – June 2007 – 21

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend