1 / 18

Model-Based Programming: Executable UML with Sequence Diagrams

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.

cosmo
Download Presentation

Model-Based Programming: Executable UML with Sequence Diagrams

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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” • 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 Classes, State Diagrams, States, Actions, Action Language Domains and Bridges

  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. Use Case Diagram Sequence Diagrams Activity Diagrams Class Diagrams xUML Engine xUML Model Translator Java Compiler JVM xUML Engine Architecture

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

  18. References • Mellor, Balcer, Executable UML, A Foundation for Model-Driven Architecture • OMG Draft Specifications • OMG UML 2 Superstructure • OMG UML 2 Infrastructure • Queen’s University Formal Semantics Project, http://www.cs.queensu.ca/~stl/internal/uml2/index.html

More Related