A system for employing a computer to control a device to provide a plurality of services for a plurality of entities. Each entity corresponds to exactly one of the services and each service has its own copy of the code which defines the service. The system associates a process which executes the service with each service. The code for a service defines a finite state machine which is continually executed by the service's process. While in a given state, the finite state machine may traverse a decision graph which is directly accessible to the process. Actions to be taken on traversal of a node of the decision graph may be defined in the finite state machine. The service's process communicates with other processes and with itself by means of interprocess messages. Each state of the finite state machine contains event handlers for responding to messages received by the service's process. The finite state machine is defined by a special language, the service, logi language, and the decision graphs are defined by means of a graphical editor. The compiler for the service logic language produces not only C++ code defining the finite state machine, but also data base and shell scripts which are used to provision and maintain the services. An embodiment of the system is disclosed which is used in a service node of a telephone switching network to provide telephone services such as 800 number service, caller ID, and the like.
A software system having a software application that generates an event notification message for each of a set of predefined significant events and having a custom extension module that receives the notification message and then selects a coordination style. The coordination style determines whether a custom event handler for the significant event contained in the custom extension module supplements or replaces a default event handler for the significant event contained in the software application.
Provided are a method, system, and program for monitoring a system including a plurality of subcomponents. An implementation of a plurality of subcomponent finite state machines for subcomponents of the system is provided, wherein each subcomponent finite state machine indicates output values for combinations of input state values related to states in the subcomponent. An implementation of a system finite state machine having output values for combinations of the output values from the subcomponent finite state machines is provided. For each subcomponent finite state machine, a determination is made of the output value by determining the input state values of the subcomponent, processing the subcomponent finite state machine with the determined input state values to determine the subcomponent output value, and processing the system finite state machine with the determined subcomponent output values to determine the system output value.
A method of and apparatus for constructing a control system and a control system created thereby which is based on multiple finite state machines, each in turn based on a finite state machine with constant code (FSMcc). An input preprocessor module normalizes input signals as required by the finite state machine logical processing unit. An output postprocessor module changes the normalized finite state machine outputs to real signals required by the controlled process or apparatus. The input preprocessor allows for a different finite state machine required for an application to be executed by the same constant code contained in the FSMcc microcode storage. An application logic table for the FSMcc is constructed using a specific organization of data representing application logic conditions. The ability to control a process or apparatus with multiple finite state machines allows the designer to use the FSMcc technology more widely and in more complex situations.
In a telephone switching system, a directory translation data base is created in a read/write memory, a call handling processor makes a search through the data base for reading routing data to establish a connection in a switching network. A copy of the data base is created in a backup memory. An area code is entered through a video display terminal to an OAM processor, which responds to it by making a search through the data base in the backup memory for a corresponding tree structure linking directory translation tables on a digit-by-digit basis and comparing the number of digits in the entered area code is then compared with the number of digits in the corresponding tree structure. If the number of digits in the area code is greater than the number of digits in the corresponding tree structure, the OAM processor creates an (N+1)th table in the backup memory, rewrites an N-th table of the corresponding tree structure with a next table pointer so that the N-th and (N+1)th tables are linked, and writes routing data into the (N+1)th table. If the number of digits in the area code is smaller than the number of digits in the corresponding tree structure, the processor removes an (N+1)th table of the corresponding tree structure and rewrites an Nth table of the corresponding tree structure with routing data. When the backup memory is updated, the OAM processor copies the updated data base onto the read/write memory.
A system and method for facilitating the design and development of automatic response unit (ARU) services and for processing automated response unit (ARU) services. The present invention comprises a compiler and interpreter that facilitate the development of an ARU service encoding. The interpreter is one embodiment of the present invention that may be used for processing an ARU service encoding. The present invention further comprises a graphical user interface (GUI) tool for creating and maintaining an ARU service encoding. An ARU service encoding is a tree structure comprised of service nodes wherein each service node may represent a caller's menu selection from the ARU service. Each service node has multiple components including variable support, message capability, processing capability, and default capability. The present invention parses the ARU service encoding for service nodes. For each service node, the present invention processes node variables, prefunction messages, automated input, prefunction interactions, functions, postfunction interactions, and postfunction messages.