Component-Based Abstraction and Refinement

In this paper, we present a comprehensive approach to model check- ing component-based systems (including software, hardware, and embedded systems) through abstraction and refinement. This approach is based on assume-guarantee compositional reasoning and features two synergistic techniques: (1) an automatic algorithm to component-based abstraction and (2) a mechanized assistant for abstraction refinement. The key insight to the abstraction algorithm is that a verified property is a natural abstraction of a component. The abstraction algorithm automatically determines which component properties can be included in the abstraction for verifying a system property by determining whether the assumptions of the component properties hold in the context of the system. If the abstraction fails to establish the system property, the refinement assistant determines the causes of the failure, e.g., why a component property is not included, and provides automatic remedies or requests manual remedies. This approach has been applied in component-based hardware/software co-verification of embedded systems. Case studies have shown that this approach is very effective in abstracting component-based embedded systems and guiding abstraction refinement.

[1]  Stephan Merz,et al.  Model Checking , 2000 .

[2]  K. Mani Chandy,et al.  Proofs of Networks of Processes , 1981, IEEE Transactions on Software Engineering.

[3]  Perdita Stevens,et al.  Modelling Recursive Calls with UML State Diagrams , 2003, FASE.

[4]  Guowu Yang,et al.  Component-based hardware/software co-verification , 2006, Fourth ACM and IEEE International Conference on Formal Methods and Models for Co-Design, 2006. MEMOCODE '06. Proceedings..

[5]  Hassen Saïdi,et al.  Construction of Abstract State Graphs with PVS , 1997, CAV.

[6]  Martín Abadi,et al.  Conjoining specifications , 1995, TOPL.

[7]  Cliff B. Jones,et al.  Developing methods for computer programs including a notion of interference , 1981 .

[8]  H. Peter Gumm Another Glance at the Alpern-Schneider Characterization of Safety and Liveness in Concurrent Executions , 1993, Inf. Process. Lett..

[9]  하수철,et al.  [서평]「Component Software」 - Beyond Object-Oriented Programming - , 2000 .

[10]  Fei Xie,et al.  ObjectCheck: A Model Checking Tool for Executable Object-Oriented Software System Designs , 2002, FASE.

[11]  Bowen Alpern,et al.  Defining Liveness , 1984, Inf. Process. Lett..

[12]  Jozef Hooman,et al.  Concurrency Verification: Introduction to Compositional and Noncompositional Methods , 2001, Cambridge Tracts in Theoretical Computer Science.

[13]  Kedar S. Namjoshi,et al.  On the completeness of compositional reasoning , 2000 .

[14]  Stephen J. Mellor,et al.  Executable UML - A Foundation for Model-Driven Architecture , 2002, Addison Wesley object technology series.

[15]  Kedar S. Namjoshi,et al.  On the Competeness of Compositional Reasoning , 2000, CAV.

[16]  R. P. Kurshan,et al.  Automata-theoretic verification of coordinating processes , 1994 .

[17]  M. Jacome,et al.  As Integrated Circuit Technologies Advance a Survey of Digital Design Reuse Design Environment for Soc Architecture Estimating and Budgeting Specification of System Components and Interfaces Verification and Validation Test Synthesis and Compilation Floor Planning References Industry Initiatives and , 2001 .

[18]  Thomas A. Henzinger,et al.  Reactive Modules , 1999, Formal Methods Syst. Des..

[19]  Guowu Yang,et al.  Compositional Reasoning for Hardware/Software Co-verification , 2006, ATVA.

[20]  Kedar S. Namjoshi,et al.  Assume-Guarantee Based Compositional Reasoning for Synchronous Timing Diagrams , 2001, TACAS.

[21]  Richard Banach,et al.  Book Review: "Concurrency Verification: Introduction to Compositional and Non-compositional Methods" by Willem-Paul de Roever, Frank de Boer, Ulrich Hanneman, Jozef Hooman, Yassine Lakhnech, Mannes Poel and Job Zwiers (eds.) , 2003, J. Log. Comput..

[22]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[23]  Fei Xie,et al.  Translation-based co-verification , 2005, Proceedings. Second ACM and IEEE International Conference on Formal Methods and Models for Co-Design, 2005. MEMOCODE '05..

[24]  Kenneth L. McMillan,et al.  A methodology for hardware verification using compositional model checking , 2000, Sci. Comput. Program..