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.
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.