Your SlideShare is downloading. ×
MDD with Executable UML Models
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

MDD with Executable UML Models

3,938
views

Published on

Slide deck from a lecture given to a Software Engineering class at UVic (SENG330)

Slide deck from a lecture given to a Software Engineering class at UVic (SENG330)


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
3,938
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Model-driven Developmentwith Executable UML Models Rafael Chaves rafael@alphasimple.com
  • 2. Small scale vs. large scale Small Large team single developer large feature set small feature set long lived short lived
  • 3. Small scale vs. large scale Small Large work properly understandable by others (once) throughout time extensible resilient to change work properly (continuously)
  • 4. Enterprise software is very hardProblem domains are typically not very complex (informationmanagement + business rules)How come?Secondary concerns aboundpersistence, concurrency, (a)synchronism, distribution,transactions, security, caching, replication, logging, ...
  • 5. Two dominant dimensions business domain concerns vs. technological or implementation concerns Completely different beasts (why treat them the same way?) change rate abstraction level tools skills reuse Current approaches wont cut it
  • 6. Model Driven Development to the rescue
  • 7. model: a simplified representation of somethingfrom a particular point of view and with aparticular purpose
  • 8. Models in software brainstorming communicating documenting understanding (rev. eng.) That is not what MDD is about
  • 9. Models in MDD are the central artifacts in software (re: source vs. object code) are well-formed are precise* are complete* are executable (directly/code gen.)* are technology-independent*
  • 10. MDA pattern source: MDA Guide (OMG)
  • 11. Technology-agnostic models source: eclipse.org
  • 12. Code generation source: openarchitectureware.org
  • 13. Model interpretation
  • 14. MDD with UML
  • 15. Relevant UML featuresUML has always had support for modeling: structure: classes, attributes, operations and relationships (class diagrams) dynamics: state machines (state diagrams)Added in 1.5 (2003)/2.0 (2005): behavior: action semantics (no standard notation, typically textual) UML finally enabled for MDD
  • 16. source: UML 1.5 spec (OMG)
  • 17. Action Semantics: basic concepts actions input/output pins data flows activity nodes activities
  • 18. Action Semantics: basic actions read/write variable activity node (block) call function create/destroy object conditional (if/switch) read self ("this") loop read/write attribute raise exception create/destroy link send signal call operation
  • 19. newCustomer = new Customer(); source: UML 1.5 spec (OMG)
  • 20. current_account.balance = new_balance; source: same
  • 21. if (factor == 2) { ... } source: same
  • 22. Diagrams vs. Text graphical representation not suitable for AS models != diagrams (no loss of abstraction) textual notations preferred (action languages) but... isnt UML required to be graphical? but... arent we back to coding?
  • 23. Model-driven Developmentwith Executable UML Models Rafael Chaves rafael@alphasimple.com