1 / 22

Generating Enterprise Applications from Models

Generating Enterprise Applications from Models. Vinay Kulkarni, R Venkatesh, Sreedhar Reddy Tata Research Development and Design Centre, Pune, INDIA. Outline. Engineering large software systems Model-based development Meta-modeling Generating enterprise applications from models

pascal
Download Presentation

Generating Enterprise Applications from Models

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. UI Prototype Analysis UML diagrams Design GUI standards ER diagrams Table design Design strategies Coding JSP implementation RDBMS implementation Java code User Interface Application Database Typical decomposition

  4. Model-based Approach Decompose specification A into views A1…An to achieve • Structural simplicity • Efficiency Each Ai is an instance of a more generic model Mi • e.g. use-case as a model for user interaction specification

  5. Model-based Approach A A1 A2 … A3 Decomposes into

  6. Model-based Approach A A1 A2 … A3 C1 C2 C3 … Abstraction of C Decomposes into

  7. Model-based Approach M1 M2 A M3 A1 A2 … A3 C1 C2 C3 … Instance of C Abstraction of Decomposes into

  8. Relationship between Views • The views need not be independent: • property p of A may appear in two different views Ai and Aj • Ai and Aj 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 Ais are composed to get an implementation of A. The Ais need to be consistent for the composition to be correct.

  9. 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.

  10. Models M1, M2, M3 instances of a unified meta-model MM Define relationship between models Address consistency at model level MM M1 M2 M3 A1 A2 A3 Meta-models P2 P3 P1 P

  11. Generating enterprise applications from models Illustrative example: Client Server application

  12. source 1..* * Class Association Process 1..* 1..* destination 1..* * 1..* has has precedes has * * * * Attribute Method Task * * * * ofType realizes 1..* DataType Application layer meta model

  13. opens Window Class * * * 1..* 1..* has has has has 1..* * * * * UIClass Button Method Attribute mapsto 0..1 1..* 0..1 0..1 calls has * 0..1 UIAttribute UI layer meta model

  14. * * Control DataType representedBy instanceOf instanceOf 0..1 0..1 CalendarControl Date representedBy GUI standards meta model

  15. inherits 1..* Class Table 1..* 1..* 1..* 1..* destination has has source has * * * * * Attribute Association Key Column * 1..* 0..1 0..1 0..1 0..1 * ofType composed implements 1..* mapsto DataType Database layer meta model

  16. 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

  17. MM instanceOf instanceOf instanceOf UIM AM DM A1 A2 A3 C2 C3 C1 C Consistency across layers - unified meta model

  18. Application Database User String Name; User Name AccNo has Account String AccNo; Double Balance; Withdraw, Deposit Account AccNo Balance User Interface Name A/c No Amount Withdraw Deposit Integration across layers

  19. 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

  20. instanceOf instanceOf instanceOf MasterCraft meta model GUI model UML ER model DB specification GUI specification Business logic bxl guimod dmgen Java JSP Oracle C MasterCraft

  21. MasterCraft • Achieves • component-based development • multiplatform code-generation (… from .NET to mainframes …) • multi-language code generation • complete separation of application specification from implementation

  22. R E P O S I T O R Y Reqmnts model Store Refinement Composition Compo desc Compo desc Compo spec Aspect specs App code Analysis model Compose / Adapt Develop / Adapt Specify / Refine Aspect weaver Search Framework Comp code Next generation MDSD framework

More Related