Model Driven Generative Programming - PowerPoint PPT Presentation

About This Presentation
Title:

Model Driven Generative Programming

Description:

Platform independent. Raising Level of Abstraction. Model-Driven Programming. Goal. To create an abstract (platform-independent), complete, precise, and executable ... – PowerPoint PPT presentation

Number of Views:54
Avg rating:3.0/5.0
Slides: 15
Provided by: kit28
Category:

less

Transcript and Presenter's Notes

Title: Model Driven Generative Programming


1
Model Driven Generative Programming
ECE1770 Trends in Middleware Systems
  • Reza Azimi
  • February 6, 2003

2
Motivations
  • Easy to use
  • Platform independent
  • Too hard to program and debug
  • Too machine- specific
  • Still hard to program
  • Still platform-specific
  • Hard to reuse

3
Model-Driven Programming
  • Goal
  • To create an abstract (platform-independent),
    complete, precise, and executable model of the
    system.
  • Advantages
  • Reduced required development effort
  • Early system debugging
  • Challenges
  • Is there such a model?
  • How do we verify a model?
  • How do we translate a model to code?

4
What should be modeled?
  • Data objects
  • contents, relations, constraints
  • Objects lifetime
  • states, and transitions
  • Objects interactions
  • message exchange, calls
  • Objects actions
  • computable algorithms
  • Concurrency and synchronization
  • timing constraints (e.g. Real-time systems)

5
Unified Modelling Language (UML)
  • Abstract
  • Platform independent
  • Readable by non-technical people
  • Complete (?)
  • Formal action semantics
  • Precise model for concurrency and synchronization
  • Used widely
  • Capable enough for modeling large systems

6
Modeling Data Objects
  • Class Diagram

7
Modeling Behaviour
  • State Charts

Collaboration Diagrams
8
Modeling Actions
  • Action Semantics
  • Object and attribute actions
  • Selection expressions
  • Link actions
  • Control structures (loops and if-then-else)

9
Model Checking
  • Automatic Verification
  • Completeness
  • Consistency
  • Debugging
  • Generating test cases
  • Executing the model

10
Model Compilers
  • Design Patterns
  • Translation Rules
  • Pre-built Libraries

11
Design Patterns
  • An abstract template for solving a well-known
    problem
  • Creational Patterns
  • Abstract Factory, Builder, etc.
  • Structural Patterns
  • Adapter, Bridge, Proxy, etc.
  • Behavioural Patterns
  • Interpreter, Iterator, Mediator, etc.

12
Translation Rules
  • .for each object in O_OBJ
  • public class obj.name extends SateMachine
  • private SateMachineSate currentState
  • .select many attributes related by
    object-gtO_ATTRR105
  • .for each attribute in attributes
  • private attribute.implType attribute.name
  • .end for
  • .
  • .
  • .select many signals related by
    object-gtSM_EVTR303
  • .for each signal in signals
  • protected void signal.name() throws
    ooaException
  • .end for
  • .emit to file obj.name.java
  • .end for

Highlights of a translation rule that creates a
Java Class
13
Existing Tools
  • BridgePoint
  • By Project Technologies
  • http//www.projtech.com
  • Kabira
  • http//www.kabira.com

14
Conclusions
  • Potentials
  • Faster software development
  • Early defect removal
  • Faster technology adoption
  • Limitations
  • Model compilers
  • Effectiveness
  • Complexity
Write a Comment
User Comments (0)
About PowerShow.com