Model Compilers home of Xumda

Modeling with Executable UML

This five-day workshop teaches participants how to construct models that fully capture business requirements and how to verify their correctness and completeness by executing the models. Through presentations and exercises, participants learn how to create each of the different models, how each model relates to other models, how to read models produced by others, and how to use the well-defined semantics of Executable UML to verify models through simulation and execution. Presentations and exercises are illustrated through two distinct, comprehensive case study problems.

Who Should Attend

Anyone interested in deploying scalable, portable, and robust enterprise applications. This course is especially targeted to business analysts and developers who need to precisely specify systems and understand requirements.

This course will also be of interest to project managers and technical leads who are interested in improving their development process.

Prerequisites

Participants with experience as a software developer, business manager, or project manager will get the most from this course. However, knowledge of UML or a specific programming language is not required.

Format

Four and one half days of presentations, discussions, and hands-on exercises. Key topics are reinforced with lab exercises in which participants create, modify, debug, and run executable models using an executable modeling tool.

Outline

  1. What's Model-Driven Development (M am)
    • Three Meanings of "Model"
    • Defining the Language of a Domain
    • Overview of Executable UML
    • MDA, SOA, and "the cloud"
    • Exercise: Read overview for the case study problem. Conduct requirements gathering sessions with the instructor playing the role of the domain expert.
  2. Process Models (M pm)
    • Actors, Activities, and Entities
    • Modeling Business Processes
    • Using Process Models to Start Other Models
    • Exercise: Create process models for the principal use cases
  3. Information Models (Tue)
    • Classes
    • Attributes
    • Association and Composition Relationships
    • Exercise 1: Define classes, attributes, and relationships based upon the process models and related information.
    • Data Types
    • Specialization and Generalization
    • Derived Values and Constraints
    • Static Testing
    • Exercise 2: Complete the information model and verify its correctness and completeness
  4. State Models (Wed)
    • Object Lifecycles
    • Components of a State Model
    • Exercise: Create a state model for a single object
    • Coordinated Lifecycles
    • Simulation Testing
    • Exercise: Create a coordinated state model and verify the correctness of those models by simulation
  5. Service Models (Thu am)
    • Summarizing Domain Capabilities
    • Documents and Operations
    • Web Service Technologies
    • Exercise: Identify the web services consumed by the domain. Define the web services provided by the domain.
  6. Platform Models (Thu pm)
    • Subject Matter Partitioning
    • Modeling Supporting Domains
    • Modeling the Software Architecture
    • Defining Translation Schemes
    • Exercise: Identify generic utility domains that can be used to construct the case study. Define requirements on at least one such domain and model it.
  7. What's Next (Fri am)
    • Translation vs. Elaboration

Coordinated Coaching

In our experience, the Practitioner class is much more effective when it is coordinated with modeling work on an actual development project. Participants will have immediate opportunities to practice the skills they have learned under the guidance of the same consultant who taught their class. Having a coach to guide the team through the first few weeks can help the team overcome the obstacles that inevitably occur when adopting new practices.

We recommend a four-week schedule consisting of one week of practitioner training, followed by one week of structured consulting to start the project, a week to let the team work, and another week to follow up with the team.