Download presentation
Presentation is loading. Please wait.
1
Generating Enterprise Applications from Models Vinay Kulkarni, R Venkatesh, Sreedhar Reddy Tata Research Development and Design Centre, Pune, INDIA
2
Outline Engineering large software systems Model-based development Meta-modeling Generating enterprise applications from models A model driven software development environment Future work
3
Engineering large software systems Managing scale Large size e.g. 1 - 20+ million lines of code, Complex e.g. ~10 5 - 10 6 function points, lines of UML spec. Managing integration Across phases of development life cycle Across components developed independently
4
Engineering large software systems Time-to-market constraints Market determines time available to build Phased approach to adding ‘features’ Evolution of systems Requirements change Design parameters change Technologies change Non-availability of ‘skilled’ personnel Most developers from non-Computer Science background
5
Typical decomposition Analysis Design Application Coding Database User Interface UI Prototype JSP implementation GUI standards UML diagrams Java code Design strategies RDBMS implementation ER diagrams Table design
6
Model-based Approach Decompose specification A into views A 1 …A n to achieve Structural simplicity Efficiency Each A i is an instance of a more generic model M i e.g. use-case as a model for user interaction specification
7
Model-based Approach A … A2A2 A3A3 A1A1 Decomposes into
8
Model-based Approach A … A2A2 A3A3 A1A1 C1C1 C2C2 C3C3 C … Abstraction of Decomposes into
9
Model-based Approach A … A2A2 A3A3 A1A1 M1M1 M2M2 M3M3 C1C1 C2C2 C3C3 C … Instance of Abstraction of Decomposes into
10
Relationship between Views The views need not be independent: property p of A may appear in two different views A i and A j A i and A j must be ‘consistent’ with respect to property p: e.g. data being displayed in a window being passed as a parameter to a method Implementations of the A i s are composed to get an implementation of A. The A i s need to be consistent for the composition to be correct.
11
Models and Meta-models Using independent models for each set of views is functionally adequate hard to manage consistency An alternative is to define the models as instances of a unified meta-model.
12
Meta-models Models M 1, M 2, M 3 instances of a unified meta-model MM Define relationship between models Address consistency at model level M1M1 M2M2 M3M3 MM A1A1 A2A2 A3A3 P1P1 P2P2 P3P3 P
13
Generating enterprise applications from models Illustrative example: Client Server application
14
Application layer meta model Class Method Association has source DataType ofType destination Attribute has Process Task has realizes precedes 1..* * * * ** * * * **
15
UI layer meta model UIAttribute * Window UIClassButton has Class MethodAttribute has mapsto calls has opens 1..* 0..1 * * * * 1..* * * * 0..1
16
GUI standards meta model representedBy Control CalendarControl DataType Date instanceOf representedBy 0..1 * *
17
Database layer meta model Class AttributeAssociation has source Table KeyColumn has implements DataType ofType destination mapsto composed 1..* * * * * * 0..1 * 1..* * inherits
18
Some inter model consistency checks UI should allow specification of all Tasks in the business process and be consistent with precedes relationship between Tasks UI should display data that is consistent with respect to the Parameters being passed to the Operations invoked from the Window DB layer should ensure that implements association is implemented in a consistent manner
19
Consistency across layers - unified meta model MM A1A1 A2A2 A3A3 C1C1 C2C2 C3C3 C instanceOf DMUIMAM
20
Integration across layers User String Name; Database User Name AccNo Account AccNo Balance has Account String AccNo; Double Balance; Withdraw, Deposit Application User Interface WithdrawDeposit Name A/c No Amount
21
A model driven software development environment MasterCraft Models Data Model, Class Model, GUI Model State Diagram, Use Cases, Sequence Diagram Semantics for models weak Generate code from high-level description unit tests
22
MasterCraft bxl GUI specification GUI modelUML ER model MasterCraft meta model JSP Java Oracle C guimod dmgen Business logic DB specification instanceOf
23
MasterCraft Achieves component-based development multiplatform code-generation (… from.NET to mainframes …) multi-language code generation complete separation of application specification from implementation
24
Next generation MDSD framework Refinement Reqmnts model Analysis model Aspect weaver Compo spec Aspect specs Comp code Compo desc Compo desc Composition App code REPOSITORYREPOSITORY Framework Specify / Refine Compose / Adapt Develop / Adapt Search Store
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.