Model-Oriented Programming: Bridging the

Published  . 0 views
↓ Download
Model-Oriented Programming: Bridging the
1 / 1
Model-Oriented Programming: Bridging the - slide 1 of 9 Model-Oriented Programming: Bridging the - slide 2 of 9 Model-Oriented Programming: Bridging the - slide 3 of 9 Model-Oriented Programming: Bridging the - slide 4 of 9 Model-Oriented Programming: Bridging the - slide 5 of 9 Model-Oriented Programming: Bridging the - slide 6 of 9 Model-Oriented Programming: Bridging the - slide 7 of 9 Model-Oriented Programming: Bridging the - slide 8 of 9 Model-Oriented Programming: Bridging the - slide 9 of 9
Description: Model-Oriented Programming: Bridging the Model-Code Divide Modeling in Software Engineering (MiSE 2013) Omar Badreddin, Timothy C. Lethbridge University of Ottawa tcleecs.uottawa.ca http:www.eecs.uottawa.catcl http:www.umple.org Key

Related Topics

Download Presentation

"Model-Oriented Programming: Bridging the" is the property of its rightful owner. Permission is granted to download and print the materials on this website for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.

Presentation Transcript

slide1. 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<br>
slide2. Key Ideas of Model-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! T. Lethbridge MiSE 2013 - Umple - Model-Code Divide 2<br>
slide3. 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 T. Lethbridge MiSE 2013 - Umple - Model-Code Divide 3<br>
slide4. 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 T. Lethbridge MiSE 2013 - Umple - Model-Code Divide 4<br>
slide5. 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. T. Lethbridge MiSE 2013 - Umple - Model-Code Divide 5<br>
slide6. Examples Small example: http://helloworld.umple.org

State machines: http://statemachines.umple.org T. Lethbridge MiSE 2013 - Umple - Model-Code Divide 6<br>
slide7. Evidence of benefit Empirical studies show
Umple code is easier to understand than Java
Helps students learn to model: CSEE&T T. Lethbridge MiSE 2013 - Umple - Model-Code Divide 7<br>
slide8. T. Lethbridge MiSE 2013 - Umple - Model-Code Divide 8 Availability of a textual form for models and diagrams Ability to edit diagram or text & have the other reflect changes Ability to generate code to represent the model<br>
slide9. Questions? T. Lethbridge MiSE 2013 - Umple - Model-Code Divide 9<br>