+ All Categories
Home > Documents > Modeling Practices in Open Source Software OSS 2013 Koper-Capodistria, Slovenia Omar Badreddin Post...

Modeling Practices in Open Source Software OSS 2013 Koper-Capodistria, Slovenia Omar Badreddin Post...

Date post: 26-Dec-2015
Category:
Upload: tracy-cobb
View: 214 times
Download: 1 times
Share this document with a friend
Popular Tags:
16
Modeling Practices in Open Source Software OSS 2013 Koper-Capodistria, Slovenia Omar Badreddin Post Doctoral Fellow, University of Ottawa [email protected] Tim Lethbridge Professor, University of Ottawa [email protected] Maged Elaasar (Presenter) Senior Software Engineer, IBM [email protected] www.try.umple.or g
Transcript
Page 1: Modeling Practices in Open Source Software OSS 2013 Koper-Capodistria, Slovenia Omar Badreddin Post Doctoral Fellow, University of Ottawa obad024@uottawa.ca.

Modeling Practices in Open Source Software

OSS 2013

Koper-Capodistria, Slovenia

Omar BadreddinPost Doctoral Fellow, University of [email protected]

Tim LethbridgeProfessor, University of [email protected]

Maged Elaasar (Presenter)Senior Software Engineer, [email protected]

www.try.umple.org

Page 2: Modeling Practices in Open Source Software OSS 2013 Koper-Capodistria, Slovenia Omar Badreddin Post Doctoral Fellow, University of Ottawa obad024@uottawa.ca.

2Status of Modeling in OSS

Code is king!

Models are hardly used if ever

Main use of models is for documentation

No significant Model Driven Development (MDD)

Page 3: Modeling Practices in Open Source Software OSS 2013 Koper-Capodistria, Slovenia Omar Badreddin Post Doctoral Fellow, University of Ottawa obad024@uottawa.ca.

3Related Studies and Surveys

Livari (1996): After a year 70% of modeling tools are no longer used

Only 5% are widely used (despite positive impact reported)

Robbins (2005): open source developers rarely use modeling tools lack of pressure to have rigor or follow deadlines

Ohloh.net (2003): 0.3% of OSS projects are model based

Page 4: Modeling Practices in Open Source Software OSS 2013 Koper-Capodistria, Slovenia Omar Badreddin Post Doctoral Fellow, University of Ottawa obad024@uottawa.ca.

4Reasons for Low Adoption of Modeling in Open Source

Culture of ‘code is king’ prevails and is hard to overcome

Modeling languages are too complex

Graphical notation (diagrams) hampers productivity

Modeling tools are hard to use and perceived as heavy weight

Modeling tools are silos and do not interoperate with other tools

Code generation is of poor quality and hard to customize

Model-code-model round-tripping does not work well

Page 5: Modeling Practices in Open Source Software OSS 2013 Koper-Capodistria, Slovenia Omar Badreddin Post Doctoral Fellow, University of Ottawa obad024@uottawa.ca.

5Proposed Solution: Model Oriented Programming

Modeling abstractions are embedded textually with code

Extend the textual syntax of a programming language (Java, C++, …)

Map textual syntax to graphical syntax on the fly (generate diagram)

Continue to use the existing text-based development tools

Development IDEs

SCM systems

Builds scripts

Continuous delivery

Page 6: Modeling Practices in Open Source Software OSS 2013 Koper-Capodistria, Slovenia Omar Badreddin Post Doctoral Fellow, University of Ottawa obad024@uottawa.ca.

6Umple: Simple, Ample, UML Programming Language

Textual model-oriented programming technology

Extends Java, C++, PHP, Ruby, etc.

Supports UML Class and state-chart modeling

Supports patterns, mixins, aspects, concurrency, constraints

Well suited for open source development

UmpleOnline [http://try.umple.org ]

Command line compiler

Eclipse development environment

Page 7: Modeling Practices in Open Source Software OSS 2013 Koper-Capodistria, Slovenia Omar Badreddin Post Doctoral Fellow, University of Ottawa obad024@uottawa.ca.

7Umple Example – Class Diagram

Page 8: Modeling Practices in Open Source Software OSS 2013 Koper-Capodistria, Slovenia Omar Badreddin Post Doctoral Fellow, University of Ottawa obad024@uottawa.ca.

8Umple Example – State-chart Diagram

Page 9: Modeling Practices in Open Source Software OSS 2013 Koper-Capodistria, Slovenia Omar Badreddin Post Doctoral Fellow, University of Ottawa obad024@uottawa.ca.

9Umple Philosophy

Modeling is programming and vice versa

Umple source can be code only, model only or a mix

Intermediate generated code should not be edited

Umple extends a base language in a minimally invasive way

Umple features can be created and viewed diagrammatically or textually

Umplification: incremental use of Umple features in code

Page 10: Modeling Practices in Open Source Software OSS 2013 Koper-Capodistria, Slovenia Omar Badreddin Post Doctoral Fellow, University of Ottawa obad024@uottawa.ca.

10Recommended Uses of Umple for Open Source Development

Umplification

Incrementally replace boilerplate code with modeling abstractions

Lightweight Modeling and Analysis

Visualize Umple source as UML diagrams to analyze it

Model driven development

Generate code in one of the supported base languages

Page 11: Modeling Practices in Open Source Software OSS 2013 Koper-Capodistria, Slovenia Omar Badreddin Post Doctoral Fellow, University of Ottawa obad024@uottawa.ca.

11Case Study: Umple as an Open Source Project

An open source project (5+ years)

Hosted on Google Code repository since 2010

Average of 10 active developers

Developed using the Umple extension for Java Eclipse (+ command line if desired)

SVN (Moving to GIT soon)

Text compare features

Continuous integration server with automatic tests

Page 12: Modeling Practices in Open Source Software OSS 2013 Koper-Capodistria, Slovenia Omar Badreddin Post Doctoral Fellow, University of Ottawa obad024@uottawa.ca.

12Quantitative Assessment of Umple Development

Analyzed 3 Umple artifacts that started as Java then got umplified over time

Artifacts have different distributions of Java vs. model abstractions

Page 13: Modeling Practices in Open Source Software OSS 2013 Koper-Capodistria, Slovenia Omar Badreddin Post Doctoral Fellow, University of Ottawa obad024@uottawa.ca.

13Model Changes Trend Over Time

Question: how do model changes trend over time?

Umple source experienced umplification (more model content) over time

Expected to see upward trend in model changes that would persist

Observed initial spike (umplification) then downward trend of model changes

Model changes trend over time

Page 14: Modeling Practices in Open Source Software OSS 2013 Koper-Capodistria, Slovenia Omar Badreddin Post Doctoral Fellow, University of Ottawa obad024@uottawa.ca.

14How does Model vs. Code Change Relative to Its Size

Question: which parts of Umple source are more prone to change?

Model changes were inline but slightly less relative to model size

Page 15: Modeling Practices in Open Source Software OSS 2013 Koper-Capodistria, Slovenia Omar Badreddin Post Doctoral Fellow, University of Ottawa obad024@uottawa.ca.

15Conclusions and Future Work

Adoption of modeling in OSS is low We provided some reasons that would explain that

Solution: model oriented programming (Umple) Modeling needs to be textual and supported in a non intrusive way Umple is developed using itself

Benefits of using Umple in OSS Lower code volume to maintain Code that is less prone to change over time

Future work More studies on impact of umple on development Improved tools Automated umplification Extensions to Umple (e.g. Real time)

More info on Umple: http://umple.org

Page 16: Modeling Practices in Open Source Software OSS 2013 Koper-Capodistria, Slovenia Omar Badreddin Post Doctoral Fellow, University of Ottawa obad024@uottawa.ca.

16

16


Recommended