Applying a Research Prototype Tool in Industrial Practice

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.
The Vuel Concept: Towards a new way to manage Multiple Representations in Spatial Databases ISPRS / ICA Workshop Multi-Scale Representations of Spatial.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
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)
CPSC 371/872 UML / SysML Modeling J. YATES MONTEITH, CLEMSON UNIVERSITY, FALL 2014.
Andrew SuttonKent State University1 Software Modeling Andrew Sutton Department of Computer Science Kent State University.
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.
The Umple Model-Oriented Programming Technology: Easy-to-Use Open-Source Code Generation Code Generation 2013, Cambridge UK Timothy C. Lethbridge, University.
Introduction To System Analysis and design
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
S556 SYSTEMS ANALYSIS & DESIGN Week 11. Creating a Vision (Solution) SLIS S556 2  Visioning:  Encourages you to think more systemically about your redesign.
Introduction To System Analysis and Design
1 Presentation and tool by Jason Kealey University of Ottawa CSI5180 Automatic conversion of Use Cases to Use Case Maps.
Selected Topics in Software Engineering - Distributed Software Development.
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.
Improving Code Generation for Associations: Enforcing Multiplicity Constraints and Ensuring Referential Integrity SERA 2013SERA 2013 (August 7, 2013 in.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
Applying a Research Prototype Tool in Industrial Practice Ottawa Carleton Institute for Computer Science Umple: a Model Oriented Programming Language University.
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
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
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.
Requirement Engineering with URN: Integrating Goals and Scenarios Jean-François Roy Thesis Defense February 16, 2007.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
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.
Introduction to Software Modeling
Teaching Compiler Design
Original Implementation Approach proposed at March 2010 meeting
Testing Tools & Standards
What is Wrong with Models?
eTrice Release Review Planned Review Date:
Object-Oriented Software Engineering Using UML, Patterns, and Java,
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Syntax & Semantics UML - Java
International Research and Development Institute Uyo
Introduction to UML: Unified Modeling Language
Introduction to SysML v.2.0 Metamodel (KerML)
Behavioral Models for Software Development
Lec 3: Object-Oriented Data Modeling
Introduction to the Unified Modeling Language
Chapter 20 Object-Oriented Analysis and Design
Object oriented analysis and design
A code metric tool for Software Engineering
Introduction to Computer Science for Majors II
Introduction.
Towards an Open Meta Modeling Environment
Teaching Effective UML Modeling by Combining it with Programming
System Reengineering Restructuring or rewriting part or all of a system without changing its functionality Applicable when some (but not all) subsystems.
Implementing FOP Framework
Versioning in Adaptive Hypermedia
Timothy C. Lethbridge, Andrew Forward, Omar Badreddin
Software Architecture & Design
Presentation transcript:

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 obadr024@uottawa.ca tcl@site.uottawa.ca 2 July 2018

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

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

My PhD work 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 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 Conduct Interviews Transcript Analyze

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

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) Look into the number of lines in RSA without layout info. Make the comparison fair.

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.

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 In Umple Island, you get the best of both 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