Skip to main content

UML Model Debugger

Introduction

As software complexity increases, the focus of the development process is shifting from being code-centric to model-centric. For this purpose, UML 2.0 provides powerful and flexible behavioral modeling capabilities. It allows the developer to describe the system's behavior using state machines, activities, interactions, and use cases, while staying in the object oriented programming paradigm. To enable model driven development, programmers must be provided with an environment that allows model debugging and execution. The ability to execute models provides additional avenues for the exploitation of the models in testing and simulation. The use of executable models enables the visualization and discovery of defects early in the development cycle, thus preventing costly rework at later stages.

Shift to model driven development
Shift to model driven development

We implemented a generic model execution engine, which provides mechanisms for the execution, control and observation of model behavior. Various behavioral semantics can be realized using the flexible extensibility framework provided by the engine. We used this framework to implement a UML Execution Engine - the core of the UML Model Debugger. The debugger extends the Rational Software Modeler (RSM) with debugging capabilities.

UML model debugger architecture
UML model debugger architecture