What is MDARAD?

Mdarad stands for "Model Driven Architected Rapid Application Development". It is a combination of MDA and ARAD. In other words, it is a collection of tools used to generate end to end applications from a simple modeling diagram (UML and such).

Industry Reality

The programming industry has an employee turnover that is very short. Consequently, it is important to keep code and applications as simple and uniform as possible so that anybody can easily dig in the code and deal with it. Many concepts and procedures (such as XP) try to limit developer dependence and "artistic" programming in order to achieve this. But since the goal is uniformed code why not find a way to automate its creation?

To automate code generation, we have to figure where the code comes from. In almost every well designed project, a set of specifications is made. The industry standard is to represent these specifications with diagrams such as UML models. Afterwards, these specifications are used for developers to code the applications. After a few years of programming in the same field, developers will notice that they are constantly coding the same logic for similar. There are, of course, some differences but if one could generate from the specifications something like 80% of the code and custom code the rest, we would gain a great deal of time and improve the code uniformity.

How it works

MDARAD allows you to configure a small number of properties to generate a comprehensible and well architected developement environment. In other words it creates a directory structure containing the necessary configuration files, libraries, build files, database scripts and frameworks to start building your application.

Then, by simply creating your class diagram in your UML editor and placing the uml file in the appropriate directory, you can deploy a working application. The working application will give you a working Web interface to create, read, update and delete all the classes that you have specified in your UML diagram.

In a few single steps, you have your own Knowledge Managements System (KMS) applied to your own enterprise.