Title: Model-Based Programming: Executable UML with Sequence Diagrams
1Model-Based Programming Executable UML with
Sequence Diagrams
- By Ruben Campos
- Cal State L.A.
- Computer Science Thesis Work
- Spring 2007
2Acknowledgements
- Dr. R. Abbott
- Dr. R. Soley, CEO of OMG
3Objective
- Design a conceptual xUML Engine to achieve true
Model-Based Programming
4Strategy
- 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
5What 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
6OMG 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
7Executable 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
- Queens University Project to define formal
semantics 5
8Mellor/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
9Mellor/Balcer xUML Model Artifacts
Classes, State Diagrams, States, Actions, Action
Language
Domains and Bridges
10Mellor/Balcer Design Flaws
- Not Pure Model-Based Programming
- Reduce Role of Class Diagram
- State Diagram Centric
- Procedural Action Language
11Sequence 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
12Well-Defined Sequence Diagram Example
13Well-Defined Activity Diagram Example
14Well-Defined Class Diagram Example
15Process for xUML Execution
16xUML Engine Architecture
17Observation
- Programming at some level of abstraction will
always be required, even if its Model-Based
Programming
18References
- Mellor, Balcer, Executable UML, A Foundation for
Model-Driven Architecture - OMG Draft Specifications
- OMG UML 2 Superstructure
- OMG UML 2 Infrastructure
- Queens University Formal Semantics Project,
http//www.cs.queensu.ca/stl/internal/uml2/index.
html