Page 34 -
P. 34
FLOW-SERVICE-QUALITY (FSQ) SYSTEMS ENGINEERING 19
for system design. In fact, in order for the FSQ manager to correctly map each flow request to
an appropriate flow instance that meets all requirements, each flow must be characterized in
terms of services, their responses, and the appropriate next actions. This requires the definition
of a flow structure language in which flows can be specified. Such a specification includes the
necessary services, an ordering of these services, and their quality attributes. The services should
be described at the highest level of abstraction possible and treated as “black boxes” in order to
allow the maximum flexibility to implement the flow. These services may themselves be refined
recursively into flows and lower-level services as necessary. By treating services as black boxes
and writing flow specifications in terms of service responses, however obtained, such a system
achieves referential transparency and provides an appropriate level of abstraction for managing
systems-of-systems development and integration.
MANAGING COMPUTING QUALITY ATTRIBUTES
A CQA’s value is another responsibility for the FSQ manager. Local values for attributes must
be combined to determine the end-to-end values for each flow. Alternately, a flow may impose
particular attribute requirements on a service. The process of measuring, predicting, or estimating
quality attribute values and then generating a modified set of flows that takes the attributes into
account can adversely affect system performance. However, in a large networked system there is
no other way to assure that each flow meets its quality requirements. Future research is needed to
find better ways to monitor the state of quality attributes and to dynamically compute the system
qualities available for the execution of flow instances.
When a flow demand is presented to the FSQ manager, the manager must assemble a collection
of candidate flow instances and evaluate the CQA values for each instance. Flows that satisfy the
required CQA values are selected, and one is chosen from among them, perhaps based on user-
specified priorities. Note that since the flow will unfold over time it is necessary that the FSQ
manager predict the relevant CQA values at the time each given service will execute. Such a pre-
diction may be simple (assume no change from current value) or may employ various estimation
techniques (assume some time distribution and extrapolate). The only essential aspect is that the
CQA values are used to choose an appropriate flow instance from among the possibilities.
CONCLUSION AND RESEARCH DIRECTIONS
FSQ systems engineering recognizes flows, services, and computational quality attributes as first-
class concepts for understanding, developing, operating, and maintaining large-scale, network-
centric information systems. These concepts provide a unifying framework around which systems
development methods, practices, and tools can be developed. The concept of dynamically map-
ping flows to available services relying on real-time computational quality attributes provides
the ability to manage dynamic systems whose available services and network properties cannot
be known a priori.
Theoretical foundations developed in this research can prescribe engineering practices that will
improve system management, acquisition, analysis, development, operation, and evolution. The
following observations summarize our research and development vision.
• FSQ supports complexity reduction and survivability improvement in development and
operation of large-scale network systems composed of any mix of newly developed and
COTS/ESP components.