Model-driven development of enterprise applications

  • Authors:
  • Vinay Kulkarni;Sreedhar Reddy

  • Affiliations:
  • Tata Research Development and Design Centre, Pune, India;Tata Research Development and Design Centre, Pune, India

  • Venue:
  • UML'04 Proceedings of the 2004 international conference on UML Modeling Languages and Applications
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

Modern business systems need to cater to rapidly evolving business requirements in an ever-shrinking window of opportunity. Modern business systems also need to keep pace with rapid advances in technology. For developing large and complex applications, industrial practice has traditionally used a combination of non-formal notations and methods. Different notations are used to specify the properties of different aspects of an application and these specifications are transformed into their corresponding implementations through the steps of a development process. The development process relies heavily on manual verification to ensure the different pieces integrate into a consistent whole. This is an expensive and error-prone process demanding large teams with broad-ranging expertise in business domain, architecture and technology platforms. We present a model-driven development approach that addresses this problem by providing a set of modeling notations for specifying different layers of a system namely user interface, application functionality and database; a set of code generators that transform these models into platform-specific implementations; an abstraction for organizing application specification into work-units and an associated tool-assisted development process. Models, being at a higher level of abstraction, are easier to understand and verify for properties of interest. Model based code generation incorporating proven design and architectural patterns results in significant gains in productivity and uniformly high quality. Models defined using these different notations are instances of a single meta model. This enables well-formedness constraints to be specified between different models ensuring their consistency leading to smooth integration of implementations of these models. The approach has been used extensively to construct medium and large-scale enterprise applications resulting in improved productivity, better quality and platform independence. We also discuss issues that need to be addressed for the approach to gain wider acceptance in the industry.