An application of model-based design for designing and optionally also executing artifacts to perform software testing or system testing