CERT
 
Research Staff Biographies CMU Heinz School CMU School of Computer Science CERT Statistics US-CERT CyLab
 

STAR*Lab Flow-Service-Quality (FSQ) Engineering

Foundations for Developing Network-Centric Systems

Principal Investigator: Stacy Prowell

Problem Addressed

Modern society is dependent on large-scale, network-centric systems whose complexity can often exceed engineering capabilities for intellectual control. The result can be frustrations and delays in development and failures and compromises in operation. Intellectual control does not mean the absence of uncertainties or failures—they are inevitable—but rather the capability to address them in a rigorous engineering framework. System complexity and survivability are closely related. Complexity diminishes survivability by masking errors and vulnerabilities and hiding unforeseen paths for intrusion. The survivability of complex systems that support national infrastructures is of particular concern. The problem lies not with developers but with the lack of engineering methods to cope with system complexities. More effective engineering technology is required across the life cycle for fast and precise development and evolution of network-centric systems.

A promising path lies in the investigation of mathematical foundations that can accommodate the realities of large-scale networked systems: highly distributed heterogeneous components, shifting boundaries and users, uncertain commercial off-the-shelf component function and quality, extensive asynchronous operations, unpredictable failures and compromises, and lack of visibility and control. These foundations must also address enterprise needs for rapid development and evolution, and system interoperability to achieve mission goals. The objective of Flow-Service-Quality (FSQ) engineering is to develop theory-based engineering methods for network-centric system analysis, specification, design, verification, implementation, and operation. The focus of FSQ is on developing high-assurance systems, with special emphasis on complexity reduction and survivability improvement.

Research Approach

Initial research has identified three integrated engineering concepts that address the realities of network-centric systems:

  1. Flow Structures: User task flows and their refinements into system service uses can provide engineering foundations for analysis, specification, design, verification, and implementation of system functionality and quality attributes.
  2. Computational Quality Attributes: Quality attributes can be associated with both flows and the system services they invoke and computed as dynamic functional properties, rather than treated as static, a priori assessments of limited value in system operations.
  3. Flow Management Architectures: Flow structures and computational quality attributes support architecture frameworks that manage flows, network services, and quality attributes in execution.

Flow Structures

Flow structures are compositions of system services distributed across networks that combine to carry out user tasks that accomplish enterprise missions. They employ mathematical semantics that permit human understanding and analysis, despite the underlying asynchronism of network behavior. Flow structure engineering requires designing for unpredictable events that can impact mission survivability. In addition, flow structures provide a vehicle for specification and management of quality attributes such as security and reliability. Thus, the first-class concepts of flow, service, and quality are the primary artifacts of FSQ engineering [1,2,3].

Network-centric systems are usefully viewed as webs of asynchronously communicating components that provide services whose functions can be combined in various patterns to satisfy enterprise mission requirements. System services include all the functional capabilities of a system, from protocols, operating systems, and middleware, to databases and applications. The sequencing of operations in user task flows can be refined into compositions of network hardware, software, and human components that provide the services. These compositions are end-to-end traces that define slices of network architectures whose net effect is to carry out operations that satisfy user requirements.

The mathematical semantics of flow structures are defined to support development and verification for the uncertain environments of large-scale networked systems as a standard engineering practice. Flow structures are essentially procedures that define compositions of network service uses at levels of abstraction ranging from an enterprise mission down to its network implementation. Flows can specify integration and traversal of many systems and components. They can be expressed in simple control structures and refined, abstracted, and verified with precision. Flows invoke services, which can be refined into flows, and so forth, in a recursive process that employs identical methods at all levels of design. The functional specification of a network system is envisioned as a set of flow structures, where the union of the flows defines a necessary network architecture for further optimization, and the functional specification of each service in the network is based on the union of all its uses in flows where it appears.

Computational Quality Attributes.

FSQ engineering treats quality attributes as ever-changing functions that must be dynamically computed. Attributes must be measurable in defined metrics as computable functions. While such functions rely on what can be computed and may differ thereby from traditional methods, they permit new approaches to attribute analysis and evaluation. Attribute requirements can be associated with system component uses embedded within flow structures and dynamically compared with computed attribute capabilities in operation.

Flow Management Architectures.

Flow structures and computational quality attributes support system architectures that carry out dynamic flow and attribute management in execution. Flow management architectures (FMA) can provide design and implementation frameworks for this purpose. An open family of such frameworks can be defined for architecture development both in the small and in the large.

Expected Benefits

FSQ foundations prescribe engineering practices and tools for network-centric system analysis and development. In particular, the deterministic nature of flow structures facilitates human understanding. Computational quality attributes permit automated reactions to dynamically changing quality values in system execution. In addition, flow management architectures provide systematic frameworks for managing flows and quality attributes in operation.

2007 Accomplishments

Work continued on relating FSQ engineering to web services and service-oriented architectures.

2008 Plans

STAR*Lab is interested in continued development and application of FSQ engineering for large-scale networked systems. Interested organizations are invited to participate in creation of a proof-of-concept prototype and associated engineering practices.

References

[1] Hevner, A.; Linger, R.; Sobel, A.; & Walton, G. “The Flow-Service-Quality Framework: Unified Engineering for Large-Scale, Adaptive Systems.” Proceedings of the 35th Annual Hawaii International Conference on System Sciences (HICSS35). Waikoloa, HI, Jan. 7-10, 2002. Los Alamitos, CA: IEEE Computer Society Press, 2002.

[2] Linger, R.; Pleszkoch, M.; Walton, G.; & Hevner, A. Flow- Service-Quality (FSQ) Engineering: Foundations for Network System Analysis and Development (CMU/SEI-2002-TN-019). Pittsburgh, PA: Software Engineering Institute, Carnegie Mellon University, 2002. http://www.sei.cmu.edu/publications/documents/02.reports/02tn019.html.

[3] Hevner, A.; Linger, R.; Pleszkoch, M.; & Walton, G. “Flow- Service-Quality (FSQ) Engineering for the Specification of Complex Systems.” Practical Foundations of Business System Specifications (H. Kilov & K. Baclawski, eds.). Dordrecht, NL: Klewer Academic Publishers, 2003.


Disclaimers and copyright information

Last updated May 9, 2007