Skip to content
Leon Starr edited this page May 25, 2023 · 60 revisions

Welcome to Woven by Toyota's (formerly Toyota Research Institute's) Open Source Safety MBSE project!

Here we are building reference models of the real world driving environment. These models cover roads, lanes, crosswalks, intersections, traffic, weather—essentially all of the large scale elements encountered by an autonomous vehicle as it drives along.

The models being developed and shared on this site are not machine learning models.

Rather, these driving environment models serve as a human readable safety reference that may be used to validate the machine learning and other design elements in any given driving platform.

Our models are created through systematic human analysis of the driving environment with an eye toward establishing a detailed semantic model (vocabulary) for defining all of the components, and the real world logic and policies that define a roadway, intersection, parking lot and so forth. We then layer macro level driving behaviors on top of these environmental models to describe how safe and legal behaviors should progress relative to the environmental elements.

Since these models are not part of any specific autonomous software design we are able to share them with the autonomous and functional safety community. In fact, we look forward to collaborating with these communities to improve and extend these models and make them as widely useful as possible.

Before diving into the materials on our site, we recommend taking a look at our introductory video and medium blog article.

Potential uses of these models

Here are just a few possibilities we have considered.

Cross platform validation

Our modeling language, Executable UML, allows us to put enough detail into the models so that they may be executed on a model execution platform. This makes it possible to run the models against driving logs to validate the behavior of specific driving maneuvers. Since the models make no assumptions about any particular platform design, they can be used to validate any vendor's vehicle platform.

Exploration of edge cases

Various features of our models make it easy to explore test coverage for a variety environmental and behavior combinations. For example, we use state tables to cross driving events against contexts (states) of a given driving behavior.

Transparent behavior reference

These models can serve as the basis for establishing objective standards for driving behaviors. Our driving lane change behavior model, for example could define the macro level features of a correct lane change including a description of all recovery scenarios where such a lane change fails to complete.

How everything is organized

As you navigate using the sidebar to the right you will see these main categories:

The Vehicle Guidance Domain

The entire model set is encompassed by what we call the Vehicle Guidance Domain. The term 'domain' does not refer to an operational domain. In our modeling language the term 'domain' characterizes a distinct subject matter. Our subject matter, Vehicle Guidance, is concerned with real world things and policies (both static and dynamic) in the driving environment that influence driving choices and behavior. Lane divisions on the road, for example, influence where a vehicle should (and should not) be driving. In general, the immediate driving environment constrains and influences the driver's options.

The Vehicle Guidance Domain is broken down into a set of interconnected subsystems (see right panel). Some of these subsystems have been modeled and included in this release, some are modeled and soon to be released while others are planned. Our focus has been on the fundamental driving elements so that we can combine them, like semantic legos, to define more complex structures.

Featured Behaviors

Modeled reference driving maneuvers such as a lane change or an intersection traversal will be highlighted in this section.

There are a number of references in the Our Modeling Language section that explain how to read these diagrams.

Note: We will be uploading new models periodically. All unlinked resources in the sidebar will be linked in a future release.

Our Modeling Language

The models are developed using Executable UML (Unified Modeling Language). It is a mature modeling language supported by a variety of open source tools. Whereas 'UML' refers only to diagram notation, our particular usage (modeling process, execution semantics, etc) has its roots in the Shlaer-Mellor methodology. We'll do our best in this wiki to explain the language enough for model review, but if you want to dive deep we've provided a list of resources.

Why open source?

One of the reasons that we open-sourceing our modeling effort is to encourage collaboration so that we can make faster progress across the currently unmodeleled elements of the driving environment. We're starting out small, but we look forward to scaling up through community collaboration. Feel free to initiate dialog in our discussion group if you have questions, comments or wish to collaborate on some level.

Clone this wiki locally