Assertion Checking in J-Sim Simulation Models of Network Protocols

Ahmed Sobeih, Marcelo D'amorim, Mahesh Viswanathan, Darko Marinov, Jennifer C. Hou

Research output: Contribution to journalArticlepeer-review

Abstract

Verification and validation (V&V) is a critically important phase in the development life cycle of a simulation model. In the context of network simulation, traditional network simulators perform well in using a simulation model for evaluating the performance of a network protocol but lack the capability to check the “correctness” of the simulation model being used. To address this problem, we have extended J-Sim—an open-source component-based network simulator written entirely in Java—with a state space exploration (SSE) capability that explores the state space created by a network simulation model, up to a configurable maximum depth, in order to find an execution (if any) that violates an assertion, i.e. a property specifying an invariant that must always hold true in all states. In this paper, we elaborate on the SSE framework in J-Sim and present one of our fairly complex case studies, namely verifying the simulation model of the Ad-hoc On-demand Distance Vector (AODV) routing protocol for wireless ad-hoc networks. The SSE framework makes use of protocol-specific properties along two orthogonal dimensions: state similarity state ranking. State similarity determines whether a state is “similar to” another in order to enable the implementation of stateful search. State ranking determines whether a state is “better than” another in order to enable the implementation of best-first search (BeFS). Specifically, we develop protocol-specific search heuristics to guide SSE towards finding assertion violations in less time. We evaluate the efficiency of our SSE framework by comparing its performance with that of a state-of-the-art model checker for Java programs, namely Java PathFinder (JPF). The results of the comparison show that the time needed to find an assertion violation by our SSE framework in J-Sim can be significantly less than that in JPF unless a substantial amount of programming effort is spent in JPF to make its performance close to that of our SSE framework.

Original languageEnglish (US)
Pages (from-to)651-673
Number of pages23
JournalSIMULATION
Volume86
Issue number11
DOIs
StatePublished - Nov 2010

Keywords

  • J-Sim
  • model checking
  • simulation of network protocols
  • state space exploration
  • verification and validation

ASJC Scopus subject areas

  • Software
  • Modeling and Simulation
  • Computer Graphics and Computer-Aided Design

Fingerprint

Dive into the research topics of 'Assertion Checking in J-Sim Simulation Models of Network Protocols'. Together they form a unique fingerprint.

Cite this