1 / 9

Model -Oriented Programming: Bridging the Model-Code Divide

Model -Oriented Programming: Bridging the Model-Code Divide. Modeling in Software Engineering ( MiSE 2013) Omar Badreddin, Timothy C. Lethbridge University of Ottawa tcl@eecs.uottawa.ca http://www.eecs.uottawa.ca/~tcl http://www.umple.org. Key Ideas of Model-Oriented Programming (MOP).

mikasi
Download Presentation

Model -Oriented Programming: Bridging the Model-Code Divide

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. Model-Oriented Programming: Bridging the Model-Code Divide Modeling in Software Engineering (MiSE2013) Omar Badreddin, Timothy C. Lethbridge University of Ottawa tcl@eecs.uottawa.ca http://www.eecs.uottawa.ca/~tcl http://www.umple.org

  2. Key Ideas ofModel-Oriented Programming (MOP) • It should be possible to • Use a ‘nice’ textual form for any modeling construct • Embed code in model • Embed model in code • Umple allows this transparently for • Java • C++ • PhP • And even all at the same time! MiSE 2013 - Umple - Model-Code Divide

  3. Why Model-Oriented Programming • Real programmers still like code • Outside the critical systems domain, most models are just documentation • And tend to be: • Wrong • Not executable anyway • Those of us who have done real model-driven development know doing so is a ‘no brainer’ for productivity + quality • We just have to bridge the model-code divide MiSE 2013 - Umple - Model-Code Divide

  4. Why not just use a ‘UML Action Language’ like Alf? • We don’t really need yet another language for such elements • People want to • Leverage their existing code and libraries • Do this in small increments MiSE 2013 - Umple - Model-Code Divide

  5. Umple as a MOP tool • It ‘eats its own dogfood’ • The Umple compiler is developed with itself • http://code.google.com/p/umple/source/browse/trunk/cruise.umple/src/Umple.ump • http://metamodel.umple.org • Umple allows embedding of code for • Methods • State machine actions, activities, guards • Arbitrary code before/after any generated API for manipulating associations, attributes etc. MiSE 2013 - Umple - Model-Code Divide

  6. Examples • Small example: http://helloworld.umple.org State machines: http://statemachines.umple.org MiSE 2013 - Umple - Model-Code Divide

  7. Evidence of benefit • Empirical studies show • Umple code is easier to understand than Java • Helps students learn to model: CSEE&T MiSE 2013 - Umple - Model-Code Divide

  8. Ability to generate code to represent the model Availability of a textual form for models and diagrams Ability to edit diagram or text & have the other reflect changes MiSE 2013 - Umple - Model-Code Divide

  9. Questions? MiSE 2013 - Umple - Model-Code Divide

More Related