model-based programming: executable uml with sequence diagrams by ruben campos cal state l.a....
Post on 18-Dec-2015
216 views
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”
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 Diagrams Class 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, http://www.cs.queensu.ca/~stl/internal/uml2/index.html