11.07.2015 Views

Encyclopedia of Computer Science and Technology

Encyclopedia of Computer Science and Technology

Encyclopedia of Computer Science and Technology

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

196 firewallcontrolled by a state table. The interaction <strong>of</strong> such automatacan produce astonishingly complex patterns (see cellularautomata).ApplicationsMany programs <strong>and</strong> operating systems are structured as anendless loop where an input (or comm<strong>and</strong>) is processed,the results returned, the next input is processed, <strong>and</strong> soon, until an exit comm<strong>and</strong> is received. A mode or state canbe used to determine the system’s activity. For example, aprogram might be in different modes such as waiting forinput, processing input, displaying results, <strong>and</strong> so on. Theprogram logic will refer to the current state to determinewhat to do next <strong>and</strong> at some point the logic will transitionthe system to the next state in the sequence. The validity <strong>of</strong>some kinds <strong>of</strong> programs, protocols, or circuits can thereforebe proven by showing that there is an equivalent finite-statemachine—<strong>and</strong> thus that all possible combinations <strong>of</strong> inputshave been accounted for.Finite-state machines have many other interesting applications.Simple organisms can be modeled as a set <strong>of</strong> statesthat interact with the environment (see artificial life).The lower-level functions <strong>of</strong> robots can also be representedas a set <strong>of</strong> interacting finite-state machines. Even videogame characters <strong>of</strong>ten use FSMs to give them a repertoire <strong>of</strong>plausible behavior.Further ReadingFinite State Machine Editor [s<strong>of</strong>tware]. Available online. URL:http://fsme.sourceforge.net/. Accessed August 4, 2007.Meyer, Nathaniel. “Finite State Machine Tutorial.” Availableonline. URL: http://www.generation5.org/content/2003/FSM_Tutorial.asp. Accessed August 4, 2007.Wagner, Ferdin<strong>and</strong>, et al. Modeling S<strong>of</strong>tware with Finite StateMachines: A Practical Approach. Boca Raton, Fla.: CRC Press,2006.This diagram shows a finite-state representation <strong>of</strong> a ZIP code. Thearrows link each state (within a circle) to its possible successor. Inthis simple example each digit must be followed by another digituntil the fifth digit, which can either be followed by a blank (indicatinga five-digit ZIP code) or four more digits for a 9-digit ZIP.result in a specified output. That output becomes the newstate <strong>of</strong> the machine. (Alternatively, the machine can beset so that only the current state determines the output,without regard to the previous state.) This is supportedby the underlying structure <strong>of</strong> the logic switching withincomputer circuits as well as the “statefulness” <strong>of</strong> all calculations.(Given n, n+1 is defined, <strong>and</strong> so on.) Alan Turingshowed that combining the state mechanism with aninfinite memory (conceptualized as an endless roll <strong>of</strong> tape)amounted to a universal computer—that is, a mechanismthat could perform any valid calculation, given enough time(see Turing, Alan).The idea <strong>of</strong> the sequential (or state) machine is closelyrelated to automata, which are entities whose behavior isfirewallThe vulnerability <strong>of</strong> computer systems to malicious orcriminal attack has been greatly increased by the growingnumber <strong>of</strong> connections between computers (<strong>and</strong> local networks)<strong>and</strong> the worldwide Internet (see computer crime<strong>and</strong> security, Internet, <strong>and</strong> tcp/ip). The widespread use<strong>of</strong> permanent broadb<strong>and</strong> connections by consumers (suchas DSL <strong>and</strong> cable modem links) has increased the risk tohome users. Intruders can use “port scanning” programsto determine what connections a given system or networkhas open, <strong>and</strong> can use other programs to snoop <strong>and</strong> steal ordestroy sensitive data.A firewall is a program (or combination <strong>of</strong> s<strong>of</strong>tware <strong>and</strong>hardware) that sits between a computer (or local network)<strong>and</strong> the Internet. Typical firewall functions include:• Examining incoming data packets <strong>and</strong> blocking thosethat include comm<strong>and</strong>s to examine or use unauthorizedports or IP addresses• Blocking data packets that are associated with commonhacking techniques such as “trojans” or “backdoor”exploitations

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!