//////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2010, 2026 Contributors to the Eclipse Foundation
//
// See the NOTICE file(s) distributed with this work for additional
// information regarding copyright ownership.
//
// This program and the accompanying materials are made available
// under the terms of the MIT License which is available at
// https://opensource.org/licenses/MIT
//
// SPDX-License-Identifier: MIT
//////////////////////////////////////////////////////////////////////////////

indexterm:[data-based supervisory controller synthesis,checks]

:leveloffset: -2

[[tools-datasynth-early-prob-detect]]
== Early problem detection

The data-based synthesis tool checks the specification for common issues, for early detection of problems that will lead to an empty supervisor.
If such a problem is detected, a warning is printed to the console.
Among others, checks are included for no initial states/variables, no marked states, and no states due to the state requirement invariants.
To skip printing these empty supervisor warnings, configure the _Output mode_ option to only print errors (_General_ category).

The tool also checks whether there are events that are never enabled in the input specification.
If such a problem is detected, a warning is printed to the console.
Among others, checks are included for events that are forbidden by automaton guards, event/state exclusion plant and requirement invariants, and state plant invariants.
To skip these event checks, disable the <<tools-datasynth-options-event-warn,_Event warning_ option>> (_Synthesis_ category).

The tool furthermore checks for plant invariants or plant automata that reference requirement state.
If such a problem is detected, a warning is printed to the console.
Among others, references in guards, updates, invariant predicates, initialization predicates, marker predicates and initial values for discrete variables are detected.
To skip these reference checks, disable the <<tools-datasynth-options-plants-ref-reqs-warn,_Plants referencing requirements warnings_ option>> (_Synthesis_ category).
