The behavior of a trusted system is often characterized in terms of a mathematical model—which may be more or less rigorous depending upon applicable operational and administrative constraints that takes the form of a finite state machine (FSM) with state criteria, state transition constraints, a set of "operations" that correspond to state transitions (usually, but not necessarily, one), and a descriptive top-level specification (DTLS) which entails a user-perceptible interface (e.g., an API, a set of system calls UNIX parlance or system exits mainframe parlance); each element of which engenders one or more model operations.