2010 · 13 citations · 21 references
ComputingComputer ScienceFormal MethodsSoftware EngineeringSystems ModelingFinite State Machine ModelingFinite-state MachinesModel CheckingModel ExecutionProtocol VerificationSpecification LanguagesBehavioral Interface SpecificationBehavioral SpecificationInvariantsProtocol State MachinesState MachinesTest Case GenerationTest GenerationUml Class Modeling
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.
21
Bertrand Meyer · Computer · 1992 · 2.1K citations
Computing, Computer Science, Design +15
Extended static checking for Java
Cormac Flanagan, K. Rustan M. Leino, Mark Lillibridge et al. · 2002 · 1.3K citations
Model-based testing in practice
Siddhartha R. Dalal, Ashish Jain, N. Karunanithi et al. · 1999 · 512 citations · Full text
Social Sciences, Health Sciences, Health Services Research +6