search menu icon-carat-right cmu-wordmark

Model-Based Verification: Abstraction Guidelines

October 2002 Technical Note
John J. Hudak, Santiago Comella-Dorda, David P. Gluch, Grace Lewis, Charles B. Weinstock

This 2002 report presents abstraction techniques that can be used to build essential models of system behavior in the context of MBV and details a methodology for creating state machine models using those techniques.

Publisher:

Software Engineering Institute

CMU/SEI Report Number

CMU/SEI-2002-TN-011

Abstract

Model-Based Verification (MBV) is a systematic approach to finding defects (errors) in software requirements, designs, or code. The approach judiciously incorporates mathematical formalism, in the form of models, to provide a disciplined and logical analysis practice, rather than a "proof of correctness" strategy. This technical note presents a number of abstraction techniques that can be used to build essential models of system behavior in the context of MBV and details a methodology for creating state machine models using those techniques. In building essential models, abstraction is used to hide details and expose the entities, variables, states, and transitions needed to construct a state machine model. Through illustrative examples, this technical note identifies the types of simplifications that are useful and effective and highlights the importance of the perspective in determining what are the important elements to include in an abstracted model.