Heather J. Goldsby
Michigan State University
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Heather J. Goldsby.
engineering of computer-based systems | 2008
Heather J. Goldsby; Peter Sawyer; Nelly Bencomo; Betty H. C. Cheng; Danny Hughes
Self-adaptation is emerging as an increasingly important capability for many applications, particularly those deployed in dynamically changing environments, such as ecosystem monitoring and disaster management. One key challenge posed by dynamically adaptive systems (DASs) is the need to handle changes to the requirements and corresponding behavior of a DAS in response to varying environmental conditions. Berry et al. previously identified four levels of RE that should be performed for a DAS. In this paper, we propose the levels of RE for modeling that reify the original levels to describe RE modeling work done by DAS developers. Specifically, we identify four types of developers: the system developer, the adaptation scenario developer, the adaptation infrastructure developer, and the DAS research community. Each level corresponds to the work of a different type of developer to construct goal model(s) specifying their requirements. We then leverage the levels of RE for modeling to propose two complementary processes for performing RE for a DAS. We describe our experiences with applying this approach to GridStix, an adaptive flood warning system, deployed to monitor the River Ribble in Yorkshire, England.
aspect-oriented software development | 2009
Ji Zhang; Heather J. Goldsby; Betty H. C. Cheng
Cyber-physical systems increasingly rely on dynamically adaptive programs to respond to changes in their physical environment; examples include ecosystem monitoring and disaster relief systems. These systems are considered high-assurance since errors during execution could result in injury, loss of life, environmental impact, and/or financial loss. In order to facilitate the development and verification of dynamically adaptive systems, we separate functional concerns from adaptive concerns. Specifically, we model a dynamically adaptive program as a collection of (non-adaptive) steady-state programs and a set of adaptations that realize transitions among steady state programs in response to environmental changes. We use Linear Temporal Logic (LTL) to specify properties of the non-adaptive portions of the system, and we use A-LTL (an adapt-operator extension toLTL) to concisely specify properties that hold during the adaptation process. Model checking offers an attractive approach to automatically analyzing models for adherence to formal properties and thus providing assurance. However, currently, model checkers are unable to verify properties specified using A-LTL. Moreover, as the number of steady-state programs and adaptations increase, the verification costs (in terms of space and time) potentially become unwieldy. To address these issues, we propose a modular model checking approach to verifying that a formal model of an adaptive program satisfies its requirements specified in LTL and A-LTL, respectively.
model driven engineering languages and systems | 2008
Heather J. Goldsby; Betty H. C. Cheng; Ji Zhang
Increasingly, software must dynamically adapt its behavior in response to changes in the supporting computing, communication infrastructure, and in the surrounding physical environment. Assurance that the adaptive software correctly satisfies its requirements is crucial if the software is to be used in high assurance systems, such as command and control or critical infrastructure protection systems. Adaptive software development for these systems must be grounded upon formalism and rigorous software engineering methodology to gain assurance. In this paper, we briefly describe AMOebA-RT , a run-time monitoring and verification technique that provides assurance that dynamically adaptive software satisfies its requirements.
IEEE Computer | 2008
Philip K. McKinley; Betty H. C. Cheng; Charles Ofria; David B. Knoester; Benjamin E. Beckmann; Heather J. Goldsby
In digital evolution, self-replicating computer programs-digital organisms-experience mutations and selective pressures, potentially producing computational systems that, like natural organisms, adapt to their environment and protect themselves from threats. Such organisms can help guide the design of computer software.
Proceedings of the 2006 international workshop on Self-adaptation and self-managing systems | 2006
Betty H. C. Cheng; Heather J. Goldsby; Ji Zhang
Adaptive software is being used increasingly frequently by various users, such as the medical community, software industry, and in response to terror attacks. Therefore, understanding the requirements of an adaptive system is crucial to developing them correctly. Developers need to be able to reason about the requirements of a systems adaptive behavior. Adaptation semantics are intended to describe how systems behave during adaptation. Previously, Zhang and Cheng formally specified three commonly occurring adaptation semantics in terms of Adapt operator-extended LTL (A-LTL). This paper presents goal-oriented specifications of these three adaptation semantics. These specifications, specified with the KAOS methodology, provide a graphical wrapper to the formal A-LTL specifications of the semantics. The combination of the goal-oriented, graphical KAOS specifications and A-LTL specifications provides the benefits of formal specifications as well as the benefits of an easier to understand, graphical, and more intuitive presentation of adaptive systems requirements. This work also provides a means to incorporate the adaptation semantics into the goal-oriented requirements specifications of an adaptive system.
Proceedings of the National Academy of Sciences of the United States of America | 2012
Heather J. Goldsby; Anna Dornhaus; Benjamin Kerr; Charles Ofria
From microbes to humans, the success of many organisms is achieved by dividing tasks among specialized group members. The evolution of such division of labor strategies is an important aspect of the major transitions in evolution. As such, identifying specific evolutionary pressures that give rise to group-level division of labor has become a topic of major interest among biologists. To overcome the challenges associated with studying this topic in natural systems, we use actively evolving populations of digital organisms, which provide a unique perspective on the de novo evolution of division of labor in an open-ended system. We provide experimental results that address a fundamental question regarding these selective pressures: Does the ability to improve group efficiency through the reduction of task-switching costs promote the evolution of division of labor? Our results demonstrate that as task-switching costs rise, groups increasingly evolve division of labor strategies. We analyze the mechanisms by which organisms coordinate their roles and discover strategies with striking biological parallels, including communication, spatial patterning, and task-partitioning behaviors. In many cases, under high task-switching costs, individuals cease to be able to perform tasks in isolation, instead requiring the context of other group members. The simultaneous loss of functionality at a lower level and emergence of new functionality at a higher level indicates that task-switching costs may drive both the evolution of division of labor and also the loss of lower-level autonomy, which are both key components of major transitions in evolution.
model driven engineering languages and systems | 2008
Heather J. Goldsby; Betty H. C. Cheng
Increasingly, high-assurance applications rely on dynamically adaptive systems (DASs) to respond to environmental changes, while satisfying functional requirements and non-functional preferences. Examples include critical infrastructure protection and transportation systems. A DAS comprises 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, and (2) using functional and non-functional trade-offs to respond to the changing environment. To address this uncertainty, we are inspired by living organisms that are astonishingly adept at adapting to changing environmental conditions using evolution. In this paper, we describe a digital evolution-based approach to 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.
international conference on autonomic computing | 2008
Heather J. Goldsby; Betty H. C. Cheng; Philip K. McKinley; David B. Knoester; Charles Ofria
We describe an automated method to generating models of an autonomic system. Specifically, we generate UML state diagrams for a set of interacting objects, including the extension of existing state diagrams to support new behavior. The approach is based on digital evolution, a form of evolutionary computation that enables a designer to explore an enormous solution space for complex problems. In our application of this technology, an evolving population of digital organisms is subjected to natural selection, where organisms are rewarded for generating state diagrams that support key scenarios and satisfy critical properties as specified by the developer. To achieve this capability, we extended the Avida digital evolution platform to enable state diagram generation, and integrated AviDA with third-party software engineering tools, e.g., the Spin model checker, to assess the generated state diagrams. To illustrate this approach, we successfully applied it to the generation of state diagrams describing the autonomous navigation behavior of a humanoid robot.
PLOS Biology | 2014
Heather J. Goldsby; David B. Knoester; Charles Ofria; Benjamin Kerr
Experimental evolution of digital organisms suggests that mutagenic side effects associated with performing valuable metabolic work can produce germ-soma differentiation in multicellular organisms.
2006 First International Workshop on Requirements Engineering Visualization (REV'06 - RE'06 Workshop) | 2006
Sascha Konrad; Heather J. Goldsby; Karli Lopez; Betty H. C. Cheng
As the Unified Modeling Language (UML) and modeldriven development (MDD) become increasingly common in industry, many developers are faced with the difficult task of understanding how an existing UML model realizes system requirements. Essentially, developers are required to understand the structure and behavior of UML models that they may have not created. Understanding these relationships is non-trivial, because the interactions in the model are not readily apparent. Commonly, the only means to elicit these relationships is visual inspection and guided simulation. This paper describes an alternative approach termed REVU (Requirements Visualization of UML), a process for visualizing functional requirements in terms of behavioral interactions in a UML model. We illustrate the use of this process with the visualization of scenarios for an adaptive light control system.