From Nondeterministic UML Protocol Statemachines to Class Contracts

  • Authors:
  • Ivan Porres;Irum Rauf

  • Affiliations:
  • -;-

  • Venue:
  • ICST '10 Proceedings of the 2010 Third International Conference on Software Testing, Verification and Validation
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

A UML protocol state machine describes a behavioral interface for a class as a number of states and transitions between states triggered by method calls. In this paper, we present an approach to generate behavioral class interfaces in the form of class contracts from UML protocol state machines. The generated contracts can be used for documentation, test case generation, test case oracle, and as run-time assertions and thus help to test and validate the implementation of a class against its interface. We formalize protocol state machines with its structure and semantics for generating class contracts. The state invariants of the source and target states are considered along with the pre- and post-conditions of the transitions. Different types of transitions like simple, join, fork, high-level, and self transitions are supported, as well as non-deterministic behavior. The approach is supported by a tool to generate automatically the contracts from UML models.