Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


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

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

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

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

4 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

5 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

6 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

7 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]

8 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

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

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

11 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

12 Well-Defined Sequence Diagram Example

13 Well-Defined Activity Diagram Example

14 Well-Defined Class Diagram Example

15 Process for xUML Execution

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

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

18 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


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

Similar presentations


Ads by Google