1. A system having a central processing unit for model-based testing of an industrial system, comprising: a generic test case layer that includes virtual functions for initializing a test environment, establishing preconditions, checking preconditions, and checking postconditions; a test environment layer that includes additional virtual functions needed to defines the initial state of the industrial system being tested, and a library that accesses functionality of the test environment; a use case definition layer for generating UML diagrams and annotations that model the industrial system and that defines the functions for establishing preconditions, checking preconditions, executing the test cases, and checking postconditions, wherein the annotations comprise annotating UML activity diagrams by attaching one or more notes containing data variable definitions to an activity to which said data serves as input and using-custom stereotypes in notes anchored to a particular activity in the UML activity diagrams; and a test case layer that interprets said UML diagrams to generate test cases for testing said UML model.