Patent Document ID: 7617483
Application ID: 11022090
Patent Flag: 1

Claim One:
1. A system, comprising: a processor; a framework for developing software components, the framework using a framework state model and implementing at least one interface, the framework state model including multiple model states and multiple model state transitions, each model state transition being a state transition from a first model state to a second model state, the software components including at least one embedding component, wherein the embedding component comprises at least one embedded component, the embedding and embedded components implementing a respective component state model that implements a subset of the framework model states and a subset of the framework model state transitions, the embedding and embedded components further implementing at least one interface, the embedding and embedded components implementing respective operations to perform state transitions supported by the components; the embedded and embedding components having at least an edit role and a display role, the edit role specifying a subset of the component interfaces that is used by the framework to update functionality of the component and the display role specifying a subset of the component interfaces that is used by the framework to display the component; the framework being operable to use the interfaces to cause the embedding and embedded components under control of the framework to perform operations and to provide state information to the framework, the interfaces defining methods to use the processor to: determine a current state of a specified one of the embedding components, determine which state transitions are available state transitions for the current state for the specified embedding component, the available state transitions being at least one allowable state transition that is implemented by the specified embedding component for the current state, and direct the specified embedding component to perform a specified available state transition and thereby cause the specified embedding component to perform at least one operation implemented by the specified embedding component to achieve the specified available state transition, wherein if the specified state transition requires a corresponding state transition in at least one component embedded in the specified embedding component, the specified embedding component directs the embedded component to perform the corresponding state transition using framework interfaces of the embedded component, wherein when the functionality of the specified embedding component is updated in the edit mode, the specified embedding component performs the specified available transition consistently with the updated functionality.