Model-Driven Requirements Engineering in action

ReDSeeDS Tool

See the ReDSeeDS User Guide


ReDSeeDS offers a full Model-Driven Engineering lifecycle. This is the first comprehensive implementation of MDSD. It uses the familiar notation of use cases, scenarios and domain models. With enough rigour applied to these models, detailed design models and even working code can be generated. Just take a look at the website, download the tool and get convinced to ReDSeeDS!

From requirements to code in a snap


The ReDSeeDS system allows you to edit your requirements models and transform them instantly into UML models and Java code. The code follows the Model-View-Presenter pattern. Currently, the system generates most of the application logic (Presenter) code and the user interface (View) code for the Echo3 platform. Furthermore, placeholders for the domain logic (Model) code are generated. The transformation also provides the Data Transfer Objects and Data Access Objects.

The developers have to develop their models in the Requirements Specification Language (see example above). RSL models consist of actors, use cases, scenarios and domain elements. ReDSeeDS provides a dedicated RSL editor that complies with the formal specification of the language. The RSL models can be turned into  Java code through a simple menu click. The system automatically runs a Model-Driven transformation and produces UML models populated with code. Also, the code generator of the associated UML tool is called to produce fully compilable and executable code. This code needs manual intervention in the domain logic (Model) layer where all the data processing algorithms have to be implemented.

Automated legacy system recovery


ReDSeeDS offers a special plug-in that allows for importing GUI-ripping scripts from an external tool (Rational Functional Tester). This allows to extract all the application logic, UI conceptual contents and data transfer and extract it into RSL models. This way, the legacy system's logic can be recovered only through examining its observable behavior. There is no need to access the "tangled spaghetti" legacy code. Further, the recovered and updated RSL models can be turned into a new system in a modern web technology (as described above).

The recovery process is very easy and can be performed by unqualified personnel with some help from developers. It starts by recording user activity in a GUI-ripping tool and exporting XML scripts. These scripts are then automatically imported into ReDSeeDS and turned into RSL snippets. These models have to be merged by the developers and turned into coherent RSL models. These models can then be transformed into code.

Requirements-based reuse


ReDSeeDS aloows for searching through requirements models to find similar use cases and domain elements. If these requirements model elements are linked to UML models and code, the system allows to reuse these additional artifacts. Reuse is based on so-called "software cases". Each software case is a complete solution to a specific problem. Many software cases can reside in a searchable repository where search is performed through comparing requirements elements. The system uses a sophisticated matching method comprising textual, semantic and graph-based search.