Applying a Research Prototype Tool in Industrial Practice - PowerPoint PPT Presentation

1 / 24

  • 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.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

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

Applying a research prototype tool in industrial practice


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

9 November 2014

Demo umple online

Demo: Umple Online

Demo: Eclipse Plug-in

Umple s vision

Umple’s Vision

So what is umple

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

My PhD work

Runway state machine

Runway State Machine

State machine implementation

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

Grounded Theory study of Umple

Challenges and mitigation

Challenges and Mitigation

Remaining work

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

Model Versionning and Merging

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

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

Uml action language

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)

Applying a research prototype tool in industrial practice


Research questions

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?



  • 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.

Applying a research prototype tool in industrial practice

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

New work state machine

New Work: State Machine

Code island

Code Island

Model Island

Code generation

Code Generation

Reverse Engineering

In umple island you get the best of both

In Umple Island, you get the best of both

Introduction 4

Model in Code

Code in Model

Model versioning and merging

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