Page 26 -
P. 26
ChaptEr 2
FLOW-SERVICE-QUALITY (FSQ)
SYSTEMS ENGINEERING
A Discipline for Developing Network-Centric Information Systems
alan hEVnEr, riChard lingEr, mark plEsZkoCh,
staCy prowEll, and gwEndolyn walton
Abstract: Modern enterprises are irreversibly dependent on large-scale information systems built
from components whose function and quality attributes are not necessarily known a priori. The
ad hoc and network-centric nature of these systems means that a complete static analysis of such
systems is difficult or impossible. These systems grow and interconnect with other systems in ways
that exceed current engineering techniques for intellectual control. We propose a new engineering
framework for reasoning about and developing such systems of systems: the Flow-Service-Quality
(FSQ) framework. Our aim is to provide rigorous, practical engineering tools and methods to reason
about system flows as first-class objects of specification, design, implementation, and operation.
System flows are realized as traces of system services, and their quality attributes are treated as
dynamic, changing quantities that are measured during system execution.
Keywords: Systems Engineering, System Integration, Flows, Services, Qualities, Information
Systems, Systems of Systems, System Analysis and Design, System Specification
MOTIVATION
Much of the complexity of modern information systems arises not from their size (e.g., lines of
code, function points, objects), but from their adaptive, component-based, and network-centric
natures. Such systems may exhibit indeterminate boundaries, as components and services come
and go and other systems connect and disconnect during execution. For this reason, the devel-
opment of large-scale, modern information systems is largely a matter of systems-of-systems
integration.
Assembling diverse commercial-off-the-shelf (COTS) components and network services to
accomplish a particular mission has become fundamental to information systems engineering.
These systems exhibit extensive asynchronous behaviors as a virtually unknowable interleaving of
communications among system components. Components may be homogeneous, as with database
and server pooling, or heterogeneous, as with Web browsers and sensor networks. To accomplish
a particular mission, the system may use one collection of components. Later, to accomplish the
same mission, the system may use a different collection of components. Because the boundar-
11