Our courses focus on the critical problems teams encounter with model based development on real projects. For example, we don't just teach the notation for a model element. We show examples of where to and where not to use it. We discuss the consequences of one modeling solution versus another. But most importantly, we take a step back and focus on the harder problem of developing useful abstractions before you even begin drawing model symbols.

Executable UML for Model Developers (5 days)

Our premiere course features a detailed and practical description of the Executable UML modeling language with an emphasis on real-time and embedded applications. This course is essential for anyone planning to develop models or who will be engaged closely with the model development process.

It features numerous short exercises to verify understanding. An in-depth case study developed incrementally throughout the week reinforces each modeling step. And an interactive, hands-on simulation of the completed project ensures a clear view of how all the model types of a complete system are integrated. Students work independently and in 2-4 person teams throughout the week.

We focus on problem solving, thinking, good abstractions and requirements analysis so in class we will be using low-tech implements like whiteboards, pencil, paper and, most importantly, your brain. (Don't forget to bring your brain).

Key topics include:

  • How Executable UML relates to standard UML and other modeling languages

  • How to separate platform specific features from essential application requirements

  • How to model rules and constraints as well as data with class models

  • How to transform contradictory, ambiguous and incomplete requirements into clear, precise, unamibiguous executable models

  • How to model platform independent synchronization requirements

  • Powerful techniques and strategies to manage complexity as model sets become large

  • How to run effective simulations on Executable UML models

  • How to organize large collaborations of state models so that they can remain reliable and maintainable

  • How to model asynchronous, concurrent behavior in real-world systems

  • How to organize large software systems non-hierarchically using domains

  • How to model platform independent actions and computations

  • How to develop and organize critical model documentation

  • How to establish a clear path from models to production code on a challenging platform

Executable UML and MBSE for Project Managers (1 day)

Not everyone in your organization needs to be an expert modeler. One of the key reasons for modeling is to expose requirements and application logic to non-developers so that the work can be directed properly and so that quality feedback can be obtained from systems engineers and product managers. This means that non-developers must be able to read models and understand the types of problems that they intend to solve.

This class provides an orientation to the most important model types and elements.

Advanced Workshop

This is a custom course for students who have completed Executable UML For Model Developers and want to learn more.

Here are some example topics that can be covered in more depth:

  • Advanced constraint modeling

  • Domain and collaboration patterns

  • How to model a network application

  • How to model a medical application

  • How to build and use a metamodel to define your own modeling language

  • How to specify a model execution architecture and compatible model compiler

  • The foundations of data modeling in logic, set theory and mathematial functions

  • Topics specific to your project

Click below to get in touch and tell us what interests you most.