Title: ORCHID: A Digital Evolution Approach to Designing Dynamically Adaptive High-Assurance Software
Dr. Betty Cheng, Department of Computer Science and Engineering, MSU
Date: January 28, 2011
Time: 10:20 am
Room: 1279 Anthony Hall
Society depends increasingly on cyberinfrastructure for some of its most important functions. A robust cyberinfrastructure must be able to adapt to changing conditions and protect itself from component failures and security attacks. A dynamically adaptive system (DAS) must monitor, configure, and reconfigure itself, augment its functionality, continually optimize itself, protect itself, and recover itself, while hiding this complexity from the user. In addition to all the issues that must be addressed in the design of traditional (non-adaptive) software systems, the developer must anticipate, what, how, and when the software will need to adapt in the future, codify this behavior in decision-making components to govern the adaptation, and ensure that system integrity is not compromised during adaptations. Development environments that explicitly support these tasks have the potential to dramatically improve the design of self-adaptive systems. We consider a DAS to comprise a collection of (non-adaptive) target systems (represented as UML models) and a set of adaptations that realize transitions among target systems. Two sources of uncertainty inherent to DASs are: (1) predicting the future execution environment, including user interactions, and (2) using functional and non-functional trade-offs to respond to the changing environment. This talk will overview the Orchid project, a recently launched project that is exploring how the field of digital evolution can be leveraged to improve the design of dynamically-adaptive systems. Digital evolution studies how a population of self-replicating computer programs exist in a user-defined computational environment and are subject to mutations and natural selection. Our digital evolution-based approach addresses some of this uncertainty by generating models that represent possible target systems suitable for different environmental conditions, enabling the developer to identify the functional and non-functional trade-offs between the models, and then assisting the developer in selecting target systems for the DAS.
Betty H.C. Cheng is a professor in the Department of Computer Science and Engineering at Michigan State University. Her research and teaching interests include automated software engineering, requirements engineering, software development environments, object-oriented analysis and design, embedded systems development, assurance patterns, adaptive systems, visualization, and distributed computing. She collaborates with industrial partners for both her class projects and research in order to facilitate technology exchange between academia and industry. She was awarded a NASA/JPL Faculty Fellowship in 1993 to investigate the use of new software engineering techniques for a portion of the shuttle software. In 1998, she spent her sabbatical working with the Motorola Software Labs investigating automated analysis techniques of specifications of telecommunication systems. Her research has been funded by several federal funding agencies, including NSF, ONR, DARPA, NASA, AFRL, ARO, and numerous industrial organizations. She serves on the editorial boards for Requirements Engineering Journal, and Software and Systems Modeling and IEEE Transactions on Software Engineering. She received her BS from Northwestern University in 1985 and her MS and PhD from the University of Illinois-Urbana Champaign in 1987 and 1990, respectively, all in computer science.