Applying a Research Prototype Tool in Industrial Practice Ottawa Carleton Institute for Computer Science Umple: a Model Oriented Programming Language University.

Slides:



Advertisements
Similar presentations
Restricted © Siemens AG All rights reserved Siemens Corporate Technology | Month 20XX Proposed topics for TDL phase 3.
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System modeling 2.
CSE115: Introduction to Computer Science I Dr. Carl Alphonce 219 Bell Hall
University of British Columbia Software Practices Lab CAS Seminar 06 Fluid AJ - A Simple Fluid AOP Tool Terry Hon Gregor Kiczales.
Lecture #4 Agenda Cell phones off & name signs out Review Questions? Objects The birds-and-the-bees talk.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Chapter 1 Assuming the Role of the Systems Analyst
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
Unified Modeling Language (UML)
1.1 Introduction to Language Processor
© 2008 IBM Corporation Behavioral Models for Software Development Andrei Kirshin, Dolev Dotan, Alan Hartman January 2008.
Andrew SuttonKent State University1 Software Modeling Andrew Sutton Department of Computer Science Kent State University.
Using UML Models for the Performance Analysis of Network Systems Nico de Wet and Pieter Kritzinger Department of Computer Science University of Cape Town.
1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability.
® Eurostep.ESUKPC v0.1©Copyright Eurostep Limited An Introduction to ISO STEP Part 25 David Price.
Exploring a Model-Oriented and Executable Syntax for UML Attributes SERA 2013SERA 2013 (August 7, 2013 in Prague, Czech Republic) Omar Badreddin, Andrew.
SCHOOL OF COMPUTING QUEEN’S UNIVERSITY 08/03/2013 Andrew Forward, Omar Badreddin, Timothy C. Lethbridge, and Julian Solano School of Electrical Engineering.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
The Umple Model-Oriented Programming Technology: Easy-to-Use Open-Source Code Generation Code Generation 2013, Cambridge UK Timothy C. Lethbridge, University.
Model-Oriented Programming: Bridging the Model-Code Divide Modeling in Software Engineering (MiSE 2013) Omar Badreddin, Timothy C. Lethbridge University.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
Modeling Practices in Open Source Software OSS 2013 Koper-Capodistria, Slovenia Omar Badreddin Post Doctoral Fellow, University of Ottawa
Chapter 1 Introduction Dr. Frank Lee. 1.1 Why Study Compiler? To write more efficient code in a high-level language To provide solid foundation in parsing.
Chapter 10: Compilers and Language Translation Invitation to Computer Science, Java Version, Third Edition.
S556 SYSTEMS ANALYSIS & DESIGN Week 11. Creating a Vision (Solution) SLIS S556 2  Visioning:  Encourages you to think more systemically about your redesign.
MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie
Tools for Diagrammatic Specifications Stian Skjerveggen Supervisors: Yngve Lamo, Adrian Rutle, Uwe Egbert Wolter.
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
Chapter 11 Analysis Concepts and Principles
Microsoft Research, Foundations of Software EngineeringW. Grieskamp et. al: Behavioral Compositions in Symbolic Domains Behavioral Composition in Symbolic.
Selected Topics in Software Engineering - Distributed Software Development.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
OCL Tool Support Sagar A. Tamhane CSE 6323 – FMSE.
Model Oriented Programming: An Empirical Study of Comprehension Omar Badreddin Andrew Forward Timothy C. Lethbridge try.umple.org.
Umple Toolkit for Model-Oriented Programming NECSIS Webinar, May Timothy C. Lethbridge, University of Ottawa
Abstract We present two Model Driven Engineering (MDE) tools, namely the Eclipse Modeling Framework (EMF) and Umple. We identify the structure and characteristic.
ABM Machine: AutoMac Software Engineering 3M04 Dr. Kamran Sartipi Software Engineering 3M04 Dr. Kamran Sartipi By: Ramon Tiongson Belal Abou Shaar Monica.
Improving Code Generation for Associations: Enforcing Multiplicity Constraints and Ensuring Referential Integrity SERA 2013SERA 2013 (August 7, 2013 in.
Nov Quality Process for Research Software - Timothy C. Lethbridge Research Software Doesn't Have to be Buggy: A Model-Driven, Test-Driven and Agile.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Teaching UML Using Umple: Applying Model-Oriented Programming in the Classroom CSEE&T 2011 Timothy C. Lethbridge, Gunter Mussbacher, Andrew Forward and.
Generating Software Documentation in Use Case Maps from Filtered Execution Traces Edna Braun, Daniel Amyot, Timothy Lethbridge University of Ottawa, Canada.
Separation Of Concerns: Mixins + Variability Models + Aspects in Umple CSER – June 2013 – Montreal Timothy C. Lethbridge, University of Ottawa
Prof. Hany H. Ammar, CSEE, WVU, and
The Omondo EclipseUML plug-in David Gallardo. What is UML A graphical language Not a development method It was designed for RUP—the Rational Unified Process,
Summer Project Marama2008 By Robert and Johnson. What is Marama? Marama is an Eclipses based toolset permits rapid specification of notational elements,
Software Development Introduction
Oct Interchangability in Software Design Notation - Timothy C. Lethbridge Interchangability in software design notation: programs models visual.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Andrey Karaulov, Alexander Strabykin Institute for System Programming Russian Academy of Sciences SYRCoSE: Spring Young Researchers Colloquium on Software.
Introduction to Computing Concepts Note Set 19. Design Creating complex software… ▫ Not done by just one person (or two, or three) ▫ Can’t just sit down.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
©SoftMoore ConsultingSlide 1 Teaching Compiler Design.
The Dagstuhl Middle Model: An Overview Timothy C. Lethbridge SITE, University. of Ottawa
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
Chapter 1 Assuming the Role of the Systems Analyst.
Comparison of ZOOM with other Formal Methodologies Hsiu-Chien Jing SE690 Initial Presentation School of CTI, DePaul University Supervised by Dr. Jia October,
ETrice Release Review | © Protos Software GmbH, Made available under the EPL v 1.0 eTrice Release Review Planned Review Date: Communcation.
Original Implementation Approach proposed at March 2010 meeting
What is Wrong with Models?
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Applying a Research Prototype Tool in Industrial Practice
Lec 3: Object-Oriented Data Modeling
Towards an Open Meta Modeling Environment
Teaching Effective UML Modeling by Combining it with Programming
Timothy C. Lethbridge, Andrew Forward, Omar Badreddin
Presentation transcript:

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

Demo: Umple Online Demo: Eclipse Plug-in download_eclipse_umple_plugin.html

Umple’s Vision 3

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 6 Build State Machine Syntax and Semantics Build Examples Conduct Empirical Studies Analyze and Evaluate Results Apply Findings to Umple

Runway State Machine

State machine implementation 9 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

Grounded Theory study of Umple 10 Conduct Interviews TranscriptAnalyze

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

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

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

15

 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 19

New Work: State Machine 20

Code Island Model Island 21

Code Generation Reverse Engineering 22

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

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 24