Impacts of SoS on Software Development USC CSSE Workshop

advertisement
Impacts of SoS on
Software Development
USC CSSE Workshop
Integrating Systems and Software Engineering
October 29, 2007
Gary Hafen
Corporate Fellow,
Software Engineering
Situation
• Software is providing an increasing
percentage of functionality in our
systems
– Space Craft
– Aircraft
– Ships
– Automobiles
– Cell Phones
– Etc.
Situation
• Systems are being networked to
achieve capabilities beyond what
individual systems alone can provide
– System of Systems
– Family of Systems
– Global Information Grid
– Communities of Interest
Ramification
• Monolithic System design methods
and techniques won’t scale up to an
asynchronous, loosely coupled, multinode, system of systems
– Does not hierarchically
decompose functionally
– Manage and minimize
constraints vs. variables
– Adaptive vs. conformal
interface logic
Monolithic System Design
• Defined and Contained Scope of Function
• Centralized control
– Can design with hierarchical structure
• Deterministic Behavior
– Desirable characteristic that is verified and validated
• Planned Evolution
– Controlled centrally
Traditional Acquisition Process Works
For These Systems
SoS Design
• Initially Defined Scope of Function
– Not all requirements can be known
• Decentralized control of internal and external
interfaces
– Architecture must be adaptive to uncontrolled
interface changes
• Behavior Emerges
– Cannot perform traditional Verification
– Emerging behavior may be good or bad
depending on objectives and constraints
• SoS Evolution is not controlled by a central authority
– It Happens
Impact on Software - 1
• Software Requirements Allocation is problematic
– All requirements are not known
– Software solutions must balance performance
versus adaptability/flexibility
– Functionality may need to be migrated between nonheterogeneous systems
– Interfaces cannot be assured to be consistent or
even present
• Functionality must adapt to external environment
• Creates a wider range of test conditions
Requirements Growth/Instability is a Traditional
Software Risk
Impact on Software - 2
• Software Architecture Technologies
– Standards such as DoDAF, SoA, XML,
CORBA are necessary
– Adaptive, intelligent network awareness
characteristics are now required
– Exploitation of Expert Agent and Data Mining
Technologies to achieve capability
– Polymorphic Computing Architectures
– Fault Containment/Tolerance to unplanned
external stimulus
Non-Determinism is Now an Asset
Impact on Software - 3
• Implementation Technologies
– Model Based Development
– Auto-generation of code, test vectors
– 4th or 5th generation languages
– Intelligent System composition tools
– Performance and Quality of Service assurance
Impact on Software - 4
• Test/Verification/Validation
– Non-deterministic functional operation
– Uncontrolled Test Environment
– Isolation of errors in shared SoS architecture space
– Intelligent System validation
• Software Assurance
– Multiple Independent Levels of Security
– Information Assurance in an Information Warfare
environment
– Cyber Attack
Summary
• A System of Systems cannot be defined, designed,
developed, verified and validated by conventional
system development processes
• What used to be considered design “gold plating”
may now be mainstream thinking
• Controlling functional performance to a confined
envelope of conditions is no longer feasible
– Emergent behavior has to be evaluated as desirable
or undesirable
– Adaptive characteristics need to be included in
requirements allocation
• With the lack of controlled behavior, continuous
Software Assurance becomes a focused priority.
Download