home · mobile · calendar · defenses · 2009-2010 · 

Thesis Defense - Lepthien

Dynamic Behavior Management in an Entity-Oriented Software Environment
Computer Science PhD Candidate

Preserving entity identity over time while changing behavior is a problem often encountered in software systems. The need for changes in behavior has multiple causes: it can stem from changes to the situation of a real-world entity for which a software entity is a proxy, from upgrades to software capabilities, or a need to utilize new interfaces when communicating with changing or new external entities. Strategies to permit change in behavior have ranged from self-modifying programs to duck typing. Existing methods have drawbacks that limit their utility.

To understand behavior, one needs to understand types. Investigation reveals a few basic types: structure, interface, behavior, and categorization. To implement, we use well-defined interfaces, which we call contexts, as the basis for defining entity behavior. An entity is instantiated as a structure, which may contain other structures as well as non-structure data. A structure's core behavior is defined in a template. Other behavior is implemented by contained structures, whose interfaces may be exposed as if they were the containing structure's own.

The implementation examples display the flexibility of this approach, showing definition of explicit behavior, dynamic behavior acquisition, and dynamic behavior change. The ability to dynamically add or change behavior without the necessity of a prior road map, but with well-defined interfaces, opens up interesting possibilities for new programming paradigms.

Committee: Kenneth Anderson, Associate Professor (Chair)
Ruth Dameron, Department of Electrical and Computer Engineering
Amer Diwan, Associate Professor
Dennis Heimbigner, University Corporation for Atmospheric Research Unidata
Kai Larsen, Leeds School of Business
Department of Computer Science
University of Colorado Boulder
Boulder, CO 80309-0430 USA
May 5, 2012 (14:20)