+ All Categories
Home > Documents > Model-Based Programming: Executable UML with Sequence Diagrams By Ruben Campos Cal State L.A....

Model-Based Programming: Executable UML with Sequence Diagrams By Ruben Campos Cal State L.A....

Date post: 18-Dec-2015
Category:
View: 216 times
Download: 0 times
Share this document with a friend
Popular Tags:
18
Model-Based Programming: Executable UML with Sequence Diagrams By Ruben Campos Cal State L.A. Computer Science Thesis Work Spring 2007
Transcript
Page 1: Model-Based Programming: Executable UML with Sequence Diagrams By Ruben Campos Cal State L.A. Computer Science Thesis Work Spring 2007.

Model-Based Programming: Executable UML with Sequence Diagrams

By Ruben Campos

Cal State L.A.

Computer Science Thesis Work

Spring 2007

Page 2: 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

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

Objective

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

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

Strategy

Understand xUML Understand the OMG Executable UML (xUML)

specification titled “Semantics of a Foundational Subset for Executable UML Models”

Understand/Critique Mellor/Balcer xUML Implementation Propose alternative design of conceptual xUML

Implementation

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

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

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

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

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

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]

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

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

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

Mellor/Balcer xUML Model Artifacts

Domains and Bridges

Classes, State Diagrams, States, Actions, Action Language

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

Mellor/Balcer Design Flaws

Not Pure Model-Based Programming Reduce Role of Class Diagram State Diagram Centric Procedural Action Language

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

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

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

Well-Defined Sequence Diagram Example

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

Well-Defined Activity Diagram Example

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

Well-Defined Class Diagram Example

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

Process for xUML Execution

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

xUML Engine Architecture

Java Compiler

xUML Model Translator

JVM

Sequence Diagrams Use Case Diagram Activity Diagrams Class Diagrams

xUML Engine

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

Observation

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

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

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, http://www.cs.queensu.ca/~stl/internal/uml2/index.html


Recommended