case-usage-types

Available in: SysML

This checks that case usages are only typed by a single case definition.

Subsumes action-usage-types.

Specification

While not formally described in chapter 8, it is given in chapter 7.22.2:

A case usage must be defined by a single case definition.

Example

part def P;
case def C1;
case def C2;
case c : P; // error: A case usage must be defined by a single case definition
case r : C1, C2; // error: A case usage must be defined by a single case definition

Fix this by removing specializations that directly or indirectly contribute to invalid types:

part def P;
case c; // ok

or specialize only a single case definition:

case def C1;
case c : C1; // ok

All validation rules