Page 28 -
P. 28
FLOW-SERVICE-QUALITY (FSQ) SYSTEMS ENGINEERING 13
Figure 2.1 Authentication Services
User
User
Authentication Authentication
Hashed
Encrypted Password File
Passwords
LDAP Server
Authentication
Database
Biometrics
Access Rules
to the service. The full history of use and the specific internal state of the service are seldom avail-
able from the point of view of a given system or user task. Because of this fact, it is necessary to
consider all possible responses resulting from all possible service states. Relational specifications
must be used to define the complete set of potential responses for any given request (Janicki and
Sekerinski, 2001), and effective abstractions may be used to manage the complexity of any such
specification (Prowell and Poore, 2003).
Flow Structures
Accomplishing a mission-centric user task may require the invocation of several services, and
these service invocations may be sequenced in a variety of ways. For example, a task might begin
by invoking a service to authenticate a user, and proceed only if the user is properly authenticated.
Exactly how a task is accomplished may change from one attempt to the next. If a required service
X is unavailable, other service invocations may still run while the system waits for service X to
become available.
While the specific sequence of service invocations to accomplish a task may remain unknown
until the task is actually performed, we can establish constraints on the allowable sequences. For ex-
ample, we may always require successful user authentication before other services are invoked.
The specifics of which sequence of service invocations is to be performed at any given
time and system environment are abstracted away by the concept of a flow structure. A flow
is a mission-centric user task that can be accomplished by sequencing service invocations in