Skip to content

Executable Models

Leon Starr edited this page Sep 3, 2021 · 4 revisions

The models can be run just like code. And even translate automatically to code using an open source tool chain.

We use a modeling methodology evolved specifically for specifying systems in terms of data, logic, constraints, synchronization and computation. A bit like code, but without the all the complexity introduced in a platform specific implementation. Our language, Executable UML (xUML) keeps the focus on the modeled application rules, with a lean set of rules for model execution.

For example, we can formalize the stages of a successful single lane change (wait for open space, start signaling, begin maneuver, etc). These steps are platform independent (humans follow them every day, some better than others!). In a driving platform they could be implemented many ways, but the end result of a safe lane change should involve the same stages in the same sequence with varying amounts of time between them, of course.

In fact, the execution rules are so thorough that we can, and do, generate code from our models (C code, in our case) that will sequence through these stages.

Here we will be providing links to various resources to help everyone understand and get the best use of our models

Clone this wiki locally