IP Library › Granted Patent US 8,543,975
Granted Patent B2
US 8,543,975 · App. 12/338,306 · Granted Sep 24, 2013

Behavior-first event programming model

Inventors: Adam D. Nathan (Redmond, WA); Chi Wai Wong (Bellevue, WA)
Assignee: Microsoft Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,543,975
App. No.
12/338,306
Filed
Dec 18, 2008
Granted
Sep 24, 2013
Kind
B2
Examiner
LU, HUA
Art Unit
2171
USPC
717/107
Abstract

Traditional programming environments that support event-driven programming typically expose a model where the developer chooses an event to handle on a given object, and then writes the code for that event handler. In contrast, as described herein, the traditional flow of program development is reversed. A (configurable) event-handler (“behavior”) is selected. Upon selection of one of the behaviors, the event triggering the behavior is selected. This is a “what-then-when” approach rather than the traditional “when-then-what” approach for event-driven programming.

Claims (38)

1. A system for exposing a behavior-first event programming model comprising:

a software development computer comprising a processing unit coupled to a memory, the memory comprising an integrated development environment employed during development of an executable program, the integrated development environment comprising a behavior-first component exposing a behavior-first programming model for software development via at least one user interface, wherein the behavior-first programming model includes a set of abstractions for events and behaviors for use in developing a software program, wherein the behavior-first component receives selection from a user of a behavior comprising a configurable event-handler, the behavior-first component, in response to the selection, provides a list of a plurality of events that can be associated with the behavior to the user via the at least one user interface, the behavior-first component then receiving from the user selection of an event of the plurality of events on the list to trigger the behavior via the at least one user interface, the behavior-first component then transforming the received behavior and event into the executable program.

2. The system of claim 1 , further comprising:

the at least one user interface, wherein the at least one user interface receives input from the user and transfers the received input to the behavior-first component.

3. The system of claim 1 , wherein the behavior-first component receives configuration settings for events, conditions and actions associated with the selected behavior.

4. The system of claim 1 , wherein the behavior-first component generates an event-driven program from information received via the at least one user interface.

5. The system of claim 1 , wherein the behavior-first component generates output from which an event-driven program is generated.

6. The system of claim 5 , wherein the event-driven program is a video game.

7. The system of claim 1 , wherein the event handler is user-defined.

8. A method for creating an event-driven program comprising:

using an integrated development environment, during development of an executable program:

receiving selection of a behavior comprising a configurable event-handler based on input received from a user of a behavior-first programming model executed by a processor via at least one user interface;

in response to receiving selection of the behavior, providing a list of a plurality of events that can be associated with the behavior via the at least user interface;

receiving from the user an event of the plurality of events on the list to trigger the behavior via the at least one user interface; and

transforming the received behavior and event into the executable program.

9. The method of claim 8 , further comprising:

receiving configuration settings via the at least one user interface for events, conditions and actions associated with the received behavior.

10. The method of claim 9 , further comprising:

in response to receiving the configuration settings, generating connections so that at runtime the actions associated with the received behavior are performed.

11. The method of claim 8 , further comprising:

generating a file from which the executable program is generated.

12. The method of claim 11 , wherein the file comprises an XML file, wherein the XML in input to a game engine and the executable program is a video game.

13. The method of claim 8 , further comprising:

receiving input from a user via a user interface.

14. A computer-readable storage memory comprising computer-executable instructions which when executed cause a computing environment to:

during development of an executable program, using an integrated development environment to:

receive a behavior comprising a configurable event-handler based on input received from a user of a behavior-first programming model executed by a processor via at least one user interface;

in response to receiving the behavior, provide to the user a list of a plurality of events that can be associated with the behavior via the at least one user interface;

receive from the user selection of an event of the plurality of events on the list to trigger the behavior via the at least one user interface; and

transform the received behavior and event into the executable program.

15. The computer-readable storage memory of claim 14 , comprising further computer-executable instructions, which when executed cause the computing environment to:

generate a file from which the executable program is generated.

16. The computer-readable storage memory of claim 15 , comprising further computer-executable instructions, which when executed cause the computing environment to:

wherein the file comprises an XML file, wherein the XML in input to a game engine and the executable program is a video game.

17. The computer-readable storage memory of claim 14 , comprising further computer-executable instructions, which when executed cause the computing environment to:

generate a file from which the executable program is generated, the file comprising a source code file, an XML file, a script file, or a text file.

18. The computer-readable storage memory of claim 14 , comprising further computer-executable instructions, which when executed cause the computing environment to:

generate the executable program directly.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034564/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 13, 2009
From: NATHAN, ADAM D.; WONG, CHI WAI
To: MICROSOFT CORPORATION
Reel/Frame 023093/0488 →
Continuity (1)
Related Publication 20100162207A1 · Jun 24, 2010