EXTENDED FSMS
10.12 EXTENDED FSMS
Two conceptual components of a software system are flow of control and manipu- lation of data . A FSM model is useful at describing the former but has no provision for specifying the latter. Though there are many systems which can be conveniently and accurately modeled as FSMs, many systems in the real world require us to specify the associated computations while a system makes transitions from state to state. The associated computations can take on the following forms:
• Manipulate local variables. • Start and stop timers. • Create instances of processes. • Compare values and make control flow decisions. • Access databases.
In this section we will frequently refer to the FSM model of a telephone PBX shown in Figure 10.8. There is a need to record the start time of a call, and this can be done by noting the time when the FSM moves to the talk state. Constructs to start and stop timers are essential to the specification of real-time systems. Manipulation of local variables and conditional jumps are central to repeatedly executing a sequence of state transitions for a certain number of times. Accessing
a database is essential to logging values of local variables for business purposes, such as billing and maintenance. Therefore, there is a need to augment the basic structure of a state transition with capability to perform additional computations, such as updating values of variables, manipulating timers, and making decisions. Such an extension of an FSM
303 results in an extended finite-state machine (EFSM). Processes in the Specification
10.12 EXTENDED FSMS
and Description Language (SDL) [20, 21] are EFSMs. SDL processes are built around the following basic concepts:
• System , which is described hierarchically by elements called systems, blocks, channels, processes, services, signals, and signal routes
• Behavior , which is described using am extension of the FSM concept • Data , which are described using the concept of abstract data types with
the addition of a notion of program variable and data structure • Communication , which is asynchronous via channels that are infinite
queues An SDL specification can be written in two different forms: SDL/GR and
SDL/PR . SDL/GR is a graphical syntax which shows most of the language con- structs in flow-chart-like graphical form. Data definitions can only be textually represented. On the other hand, SDL/PR is written in textual form for machine processing. The “PR” in SDL/PR stands for processing. A one-to-one mapping is defined between the two forms. We show the structure of a state transition in an FSM in Figure 10.35a. This state transition specifies that if the FSM—the complete one has not been shown here—receives input a in state A, the machine produces an output b and moves to state B . The SDL/GR representation of the same transition is shown in Figure 10.35b. This example shows that one can eas- ily represent an FSM as an SDL process. The state transition of Figure 10.35b has been extended in Figure 10.35c by including a task block that starts a timer. We show two state transitions—one from state A to state B and the other from
False Start timer (T )
Update value
b b resource
Parts
» SOFTWARE TESTING AND QUALITY ASSURANCE Theory and Practice – KSHIRASAGAR NAIK – 2008
» FAILURE, ERROR, FAULT, AND DEFECT
» SOURCES OF INFORMATION FOR TEST CASE SELECTION
» WHITE-BOX AND BLACK-BOX TESTING
» MONITORING AND MEASURING TEST EXECUTION
» THEORY OF GOODENOUGH AND GERHART
» THEORY OF WEYUKER AND OSTRAND
» UNIT TESTING IN EXTREME PROGRAMMING
» CHAPTER 4 CONTROL FLOW TESTING
» COMPARISON OF DATA FLOW TEST SELECTION CRITERIA
» FEASIBLE PATHS AND TEST SELECTION CRITERIA
» COMPARISON OF TESTING TECHNIQUES
» CONCEPT OF INTEGRATION TESTING
» GRANULARITY OF SYSTEM INTEGRATION TESTING
» Incremental In this approach, integration testing is conducted in an incremental manner as
» Bottom Up In the bottom-up approach, system integration begins with the integration of lowest
» Hardware Design Verification Tests
» FUNCTIONAL TESTING CONCEPTS OF HOWDEN
» COMPLEXITY OF APPLYING FUNCTIONAL TESTING
» EQUIVALENCE CLASS PARTITIONING
» Data Declarations TTCN-3 allows the declarations of constants and variables. A constant is denoted
» ADDITIONAL COVERAGE CRITERIA FOR SYSTEM TESTING
» TEST OBJECTIVE IDENTIFICATION
» MODELING A TEST DESIGN PROCESS
» STRUCTURE OF A SYSTEM TEST PLAN
» EVALUATION AND SELECTION OF TEST AUTOMATION TOOLS
» CHARACTERISTICS OF AUTOMATED TEST CASES
» TEST AUTOMATION INFRASTRUCTURE
» ORTHOGONAL DEFECT CLASSIFICATION
» MEASURING TEST EFFECTIVENESS
» Time Time plays a key role in modeling software reliability metrics. Let us go back
» FACTORS INFLUENCING SOFTWARE RELIABILITY
» SOFTWARE QUALITY ASSURANCE GROUP
» ISO 9000:2000 SOFTWARE QUALITY STANDARD
» BASIC IDEA IN SOFTWARE PROCESS
Show more