Model-Based Programming: Executable UML with Sequence Diagrams By Ruben Campos Cal State L.A. Computer Science Thesis Work Spring 2007.

Slides:



Advertisements
Similar presentations
Integration of MBSE and Virtual Engineering for Detailed Design
Advertisements

1 UML ++ Mohamed T IBRAHIM University of Greenwich -UK.
1 CIS224 Software Projects: Software Engineering and Research Methods Lecture 11 Brief introduction to the UML Specification (Based on UML Superstructure.
Chapter 22 UML Tooks and UML as Blueprint Model-Driven Architecture (MDA) Object-Constraint Language (OCL)
Copyright © 2013 Ivar Jacobson International SA. All rights reserved UML: Once More with Meaning University of Maryland Model-Based System Engineering.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Unified Modeling Language
Software Testing and Quality Assurance
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
1 UML – an overview What is UML? UML stands for Unified Modelling Language. ”The Unified Modelling Language is a visual language for specifying, constructing.
Π-Method: A Model-Driven Formal Method for Architecture- Centric Software Engineering By Flavio Oquendo Presented by: Sajith Wickramaratne.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Executable UML By Luca Pellicoro. Definitions Acronym: xtUML or xUML Technology where models (such as state diagrams and class diagrams) are automatically.
Rational Worldwide Software Symposium
CS 290C: Formal Models for Web Software Lecture 6: Model Driven Development for Web Software with WebML Instructor: Tevfik Bultan.
On the Correctness of Model Transformations Gabor Karsai ISIS/Vanderbilt University.
1 Software Development Using Executable UML (xUML) Anoop Mathew
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
Behaviour-Preserving Model Transformation Arend Rensink, University of Twente IPA Spring Days, 18 April 2012.
Metadata Tools and Methods Chris Nelson Metanet Conference 2 April 2001.
TC Methodology Massimo Cossentino (Italian National Research Council) Radovan Cervenka (Whitestein Technologies)
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Object-Oriented Analysis and Design An Introduction.
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
WSMX Execution Semantics Executable Software Specification Eyal Oren DERI
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Slide title In CAPITALS 50 pt Slide subtitle 32 pt Model based development for the RUNES component middleware platform Gabor Batori
A Static Approach to Consistency Verification of UML Models Andrea Baruzzo Department of Computer Science University of Udine MoDeV.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
C. André, J. Boucaron, A. Coadou, J. DeAntoni,
Verification of behavioural elements of UML models using B Truong, Ninh-Thuan and Souquieres, Jeanine In Proceedings of the 2005 ACM Symposium on.
Week III  Recap from Last Week Review Classes Review Domain Model for EU-Bid & EU-Lease Aggregation Example (Reservation) Attribute Properties.
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
The Rational Unified Process 1 EECS810: Software Engineering.
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
A division of Data Access Technologies, Inc. Combining Alf and UML in Modeling Tools Ed Seidewitz, Model Driven Solutions Jérémie Tatibouet, CEA 28 September.
DESIGN OF SOFTWARE ARCHITECTURE
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
By: Nelson Webster. Algorithm Engineers Algorithm engineers study the effectiveness and efficiency of procedures of solving problems on a computer.
UML Profile BY RAEF MOUSHEIMISH. Background Model is a description of system or part of a system using well- defined language. Model is a description.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Standards Stephen J. Mellor Chief Scientist. 2 Why Standards? n Increases choice for customers n Increases the size of the market n Promotes competition.
Session 1 What Is the UML? Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 5, 2011 Presented by Kang-Pyo Lee.
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Toward product architecture oriented requirements analysis for product line development in systems engineering Kei Kurakawa Nara Institute of Science and.
Object Oriented Analysis & Design By Rashid Mahmood.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool Teaching material for the book Model-Driven.
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
SysML v2 Formalism: Requirements & Benefits
University of Central Florida COP 3330 Object Oriented Programming
Model Driven Architecture
Rational Worldwide Software Symposium
Bussines process modeling using BPMN
Introduction to UML.
Design of Transmission Pipeline Modelling Language
Rational Worldwide Software Symposium
Software Design Lecture : 14.
Rational Worldwide Software Symposium
Uml diagrams In ooad.
Software Architecture & Design
Presentation transcript:

Model-Based Programming: Executable UML with Sequence Diagrams By Ruben Campos Cal State L.A. Computer Science Thesis Work Spring 2007

Acknowledgements Dr. R. Abbott Dr. R. Soley, CEO of OMG

Objective Design a conceptual xUML Engine to achieve true Model-Based Programming

Strategy Understand xUML Understand the OMG Executable UML (xUML) specification titled “Semantics of a Foundational Subset for Executable UML Models”“Semantics of a Foundational Subset for Executable UML Models” Understand/Critique Mellor/Balcer xUML Implementation Propose alternative design of conceptual xUML Implementation

What is xUML? According to the OMG Executable UML will enable the following: “…construction, verification, translation, and execution of computationally complete executable models.” xUML will allow for a method by which a Software model can be directly executed

OMG Specification Provided by Dr. Soley, CEO of OMG Objective – Define runtime behavior for UML metamodel elements in order to enable a chain of tools that support construction, verification, translation, and execution of computationally complete executable models

Executable UML Foundation Architecture The Foundational UML Subset (fUML) Executable subset of standard UML Used to define, in an operational style, the dynamic and static semantics of modeling languages (e.g. - standard UML) For example, the semantics of UML statecharts can be specified as a program written in fUML. The Basic UML Subset (bUML) A subset of fUML Has a corresponding mathematically formal semantics definition Used to specify the semantics of fUML Provides formal treatment of fUML programs Formal Specification Queen’s University Project to define formal semantics [5]

Mellor/Balcer xUML Design According to Balcer and Mellor [1] the steps to building an Executable UML model would be as follows: Create Use Case and Domain Models simultaneously. Model Domains in the form of Class Diagrams Create Autonomous State Diagrams from the Class Diagrams State Diagrams will drive the creation of an Executable UML Model using “Action Language” Executable UML Compilers will compile an Executable UML into a Platform Specific Model

Mellor/Balcer xUML Model Artifacts Domains and Bridges Classes, State Diagrams, States, Actions, Action Language

Mellor/Balcer Design Flaws Not Pure Model-Based Programming Reduce Role of Class Diagram State Diagram Centric Procedural Action Language

Sequence Diagram Centric xUML Design xUML Model that uses Sequence Diagram for Execution Components include: Use Case Diagram Sequence Diagram Class Diagram Activity Diagram Assumes UML Diagrams are semantically well- defined

Well-Defined Sequence Diagram Example

Well-Defined Activity Diagram Example

Well-Defined Class Diagram Example

Process for xUML Execution

xUML Engine Architecture Java Compiler xUML Model Translator JVM Sequence Diagrams Use Case Diagram Activity DiagramsClass Diagrams xUML Engine

Observation Programming at some level of abstraction will always be required, even if its Model- Based Programming

References 1) Mellor, Balcer, Executable UML, A Foundation for Model-Driven Architecture 2) OMG Draft Specifications 3) OMG UML 2 Superstructure 4) OMG UML 2 Infrastructure 5) Queen’s University Formal Semantics Project,