|Home > Target Connection Mechanism > Disconnecting from a target > Typical shutdown scenarios|
This section describes the typical scenarios for shutting down a simulation.
A single connected caller initiating a simulation shutdown is the most typical scenario.
The procedure consists of a
Release() call to the simulation with either
false as the
value. Depending on the parameter value, the simulation is destroyed or kept alive.
The simulation initiates its shutdown and informs the caller.
This scenario is used, for example, if the simulation offers a user-interface for interaction that permits ending the simulation. The procedure requires two steps:
simShutdown()callback through the registered simulation callback object.
Release()call to indicate that it does not access the simulation or targets in the future.
The shutdown parameter can be set to
as the simulation is already shutting down. A value of
ignored at this point.
The sequence is similar to that for a single caller that initiates shutdown except that the other caller must also be shut down.
Release()method for the simulation. The
shutdownparameter can be either
false, the simulation is not shut down and the sequence ends here.
true, there is a requirement for some interaction with all other attached callers. To indicate the demand to shut down, the simulation issues the
simShutdown()callback to all registered simulation callback objects that are enabled for this call.
The informed callers must stop their communication with the simulation as soon as possible and remove any registered callback objects from the simulation and its targets.
The affected callers must sign off with a
to announce successful disconnection from the simulation. Its
is set to
false as the shutdown is already in
progress (a value of
true is ignored at this point).
CADISimulationobject can be destroyed.
simKilled()callback. If this occurs, the caller must not access the corresponding simulation in the future.
Multiple callers are attached to a simulation and the simulation initiates its own shutdown.
This scenario is used, for example, if the simulation offers a user-interface for interaction that permits ending the simulation:
The main difference between this situation and one in which
there are multiple callers and one of the callers initiates shutdown
is the missing
simShutdown()callbacks to all attached callers that have registered a simulation callback object.
Release(). After all attached callers are signed off, the simulation can be safely destroyed.