Presentation is loading. Please wait.

Presentation is loading. Please wait.

Applying a Research Prototype Tool in Industrial Practice

Similar presentations


Presentation on theme: "Applying a Research Prototype Tool in Industrial Practice"— Presentation transcript:

1 Applying a Research Prototype Tool in Industrial Practice
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 2 July 2018

2 Demo: Umple Online Demo: Eclipse Plug-in

3 Umple’s Vision

4

5 Model-oriented programming Adds UML abstractions to any OO language
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

6 My PhD work Build State Machine Syntax and Semantics Build Examples
Conduct Empirical Studies Analyze and Evaluate Results Apply Findings to Umple

7 Runway State Machine

8

9 State machine implementation
Umple Textual Editor Editor Tests Tokens Tests Meta-Model Tests Generated Code Tests Generated System Tests Total Number of tests: > 1644 Eclipse 3.4, 3.5, and 3.6 Vista, XP, MAC

10 Grounded Theory study of Umple
Conduct Interviews Transcript Analyze

11 Challenges and Mitigation
Usability Number of Users and level of experience Mitigation Apply Umple in Industrial Projects Refine interview Questions Enhance Editors

12 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)

13 Model Versionning and Merging
RSA: 712 – (~ 80 layout information) = 632. Umple: About 35 lines of code (without layout information) Look into the number of lines in RSA without layout info. Make the comparison fair.

14 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) Link Action language to the core PhD work. Rephrase title.

15

16 BACK UP SLIDES

17 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?

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

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

20 New Work: State Machine

21 Code Island Model Island

22 Code Generation Reverse Engineering

23 In Umple Island, you get the best of both
Introduction 4 In Umple Island, you get the best of both Model in Code Code in Model

24 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


Download ppt "Applying a Research Prototype Tool in Industrial Practice"

Similar presentations


Ads by Google