Software
Development with MDA
Software development usually starts with modelling.
These models can be drawn on a flip chart or expressed in diagrams
in a CASE tool. Eventually these models are transformed into programs
one way or the other.
Model Driven Architecture (MDA) provides a blue print for rapid
software development. It emphasizes rigorous software modelling
and code generation from models. We have developed a pattern and
frame based technique for UML model based code generation. The frame
defines the structural layout of the program. Patterns contain code
segments with parameters, which can be used as provided by parsing
the proper parameters. Code patterns can be used for business rules,
accessing system functions, database interactions etc. The patterns
are reusable elements for both general and specific purposes.
Based on a combination of UML class and activity diagrams, our code
generator can generate complete programs in COBOL, PL1, Java and
VB. This figure
gives an illustration of models and the generated code.
Message Interface Models (MIM) are used to define the business service
interface. These models are basically UML class diagrams. Our code
generator can generate the XML structure, the data object and its
descriptors that contain meta-information for marshalling and unmarshalling
to/from XML structure as illustrated in this figure.
In our SOA framework, composition and invocation of business services
are done by the service process controller. The service process
control can be modelled using state models. The control table used
by the service process controller can be generated as illustrated
in this figure.
Business services and their compositions to form compound business
services can all be modelled and generated. The approach has been
proven successfully in multiple projects (see our
experience).