FSE-18
Sponsored Links
This presentation is the property of its rightful owner.
1 / 24

Applying a Research Prototype Tool in Industrial Practice PowerPoint PPT Presentation


  • 54 Views
  • Uploaded on
  • Presentation posted in: General

FSE-18. Ottawa Carleton Institute for Computer Science. Applying a Research Prototype Tool in Industrial Practice. Umple: a Model Oriented Programming Language. University of Ottawa. Presented By : Omar Badreddin Supervised By : Timothy C. Lethbridge. obadr024@uottawa.ca

Download Presentation

Applying a Research Prototype Tool in Industrial Practice

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


FSE-18

Ottawa Carleton Institute for Computer Science

Applying a Research Prototype

Tool in Industrial Practice

Umple: a Model Oriented Programming Language

University of Ottawa

Presented By: Omar Badreddin

Supervised By: Timothy C. Lethbridge

obadr024@uottawa.ca

tcl@site.uottawa.ca

9 November 2014


Demo: Umple Online

http://cruise.site.uottawa.ca/umpleonline/

Demo: Eclipse Plug-in

http://cruise.site.uottawa.ca/umpleonline/download_eclipse_umple_plugin.html


Umple’s Vision


So what is Umple?

  • Model-oriented programming

  • Adds UML abstractions to any OO language

    • Class and state diagrams

  • Removes boilerplate code

  • Allows simultaneous textual and diagrammatic modeling

  • Eliminates round-tripping

    • Don’t edit generated code, just embed your custom code


My PhD work


Runway State Machine


State machine implementation

Editor Tests

Tokens Tests

Meta-Model Tests

Generated Code Tests

Generated System Tests

Umple Textual Editor

Total Number of tests: > 1644

Eclipse 3.4, 3.5, and 3.6

Vista, XP, MAC


Grounded Theory study of Umple


Challenges and Mitigation


Remaining Work

  • Refine implementation of Nested and concurrent states

  • Build more examples

  • Complete the grounded theory study of Umple users

  • Model versioning and UML action language (next slide)


Model Versionning and Merging

  • RSA: 712 – (~ 80 layout information) = 632.

  • Umple: About 35 lines of code (without layout information)


UML Action Language

  • Proposed ALs are textual

  • Umple’s action language is Java or Php.

  • Using a bottom up approach to achieve a better action language by:

    • Restricting existing OO language

      (limit access to internal representation of state machine)

    • Defining additional abstractions

      (event names)

    • Using language independent syntax

      (Boolean expressions)


  • BACK UP SLIDES


Research Questions

  • To what extent do software developers use state machines to model system behavior and specifications? What are the major factors behind that level of adoption?

  • Can the gap between state machine diagrams and code be minimized by incorporating core state machine abstractions in a high-level programming-like language?

  • To what extent could systems that do not use state machines abstractions be made to use them?


Hypotheses

  • H 1: Software developers can develop software more effectively if they can develop state machines in a similar manner to which they develop code.

  • H 2: State machine adoption in the software industry can be enhanced if core state machine concepts are incorporated in programming-like textual language.


“The biggest payoff will not come from new research but from putting old ideas into practice” Pernars, D. ACM Fellow


New Work: State Machine


Code Island

Model Island


Code Generation

Reverse Engineering


In Umple Island, you get the best of both

Introduction 4

Model in Code

Code in Model


Model Versioning and Merging

  • Existing tools use the XMI for persistence of models

  • XMI is relatively larger in size, high probability of conflicts

  • Software repositories do a good job with versioning and merging of code.

  • Umple syntax is highly concise and abstract


  • Login