IP Library Granted Patent US 7,949,991
Granted Patent B1
US 7,949,991 · App. 11/194,118 · Granted May 24, 2011

Systems and methods for specifying states within imperative code

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 7,949,991
App. No.
11/194,118
Granted
May 24, 2011
Kind
B1
Abstract

Systems and methods which implement declarative language for specifying states within imperative code are shown. According to embodiments an application program developer declaratively identifies one or more states within the imperative code of the application program. Declarative language identifying a particular state of an application program may both operate to identify the state and to describe the state so that the state may be selected or “jumped to” without a user having to navigate the application program flow to arrive at the state. Particular states may be described using a difference or “delta” between the particular state and another state, such as a base state. Transitions may be implemented between states, such as to provide animation, fading, color change, et cetera.

Claims (36)

1. A system comprising:

an application program stored on a computer readable medium having computer executable code thereon, the application program comprising:

declarative language for a base state describing a user interface of the application program in the base state;

imperative code providing a set of instructions setting forth logic to provide operations occurring as a flow of the application program progresses, a portion of the imperative code resulting in changes to the base state of the user interface of the application program; and

declarative language for an other state comprising identification information identifying the other state of the application program, wherein the other state is a point in the application program changed from the base state by the portion of the imperative code, the declarative language for the other state comprising a description of differences between the application program user interface in the base state and the application program user interface in the other state; and

wherein the application program can directly provide the other state without providing the user interface in the base state or using the portion of imperative code to progress from the base state to the other state, wherein the application program can directly provide the other state using the declarative language for the base state and the declarative language for the other state.

2. The system of claim 1 wherein the application program comprises a Web enabled application program operable in an Internet browser.

3. The system of claim 1 wherein the application program comprises a rich Internet application operable in a plug-in operable in an Internet browser.

4. The system of claim 1 wherein the identification information comprises a reference for directly navigating to the other state.

5. The system of claim 4 wherein the reference comprises a link.

6. The system of claim 4 wherein directly navigating to the other state comprises executing the application program and displaying the user interface of the application program in the other state without first displaying the user interface of the application program in the base state.

7. The system of claim 4 wherein directly navigating to the other state comprises executing the application program and displaying the user interface of the application program in the other state without receiving input navigating the application program to the other state.

8. The system of claim 1 wherein the base state is an initial state of the application program provided upon execution of the application program.

9. A method comprising:

providing an application program development environment on a computing device;

receiving, at the development environment, declarative language for a base state describing a user interface of an application program in the base state, the application program being developed in the development tool;

receiving, at the development environment, imperative code providing a set of instructions setting forth logic to provide operations occurring as a flow of the application program progresses, a portion of the imperative code resulting in changes to the base state of the user interface of the application program; and

determining, via the development environment, declarative language for an other state comprising identification information identifying the other state of the application program, wherein the other state is a point in the application program changed from the base state by the portion of the imperative code, the declarative language for the other state comprising a description of differences between the application program user interface in the base state and the application program user interface in the other state; and

wherein the application program can directly provide the other state without providing the user interface in the base state or using the portion of imperative code to progress from the base state to the other state, wherein the application program can directly provide the other state using the declarative language for the base state and the declarative language for the other state.

10. The method of claim 9 wherein the identification information comprises a reference for directly navigating to the other state.

11. The method of claim 10 wherein directly navigating to the other state comprises executing the application program and displaying the user interface of the application program in the other state without first displaying the user interface of the application program in the base state.

12. The method of claim 10 wherein directly navigating to the other state comprises executing the application program and displaying the user interface of the application program in the other state without receiving input navigating the application program to the other state.

13. The method of claim 9 wherein the base state is an initial state of the application program provided upon execution of the application program.

14. A system comprising:

an application program stored on a computer readable medium having computer executable code thereon, the application program comprising:

declarative language for a base state describing a user interface of the application program in the base state;

imperative code providing a set of instructions setting forth logic to provide operations occurring as a flow of the application program progresses, a portion of the imperative code resulting in changes to the base state of the user interface of the application program; and

declarative language for an other state comprising identification information identifying the other state of the application program, wherein the other state is a point in the application program changed from the base state by the portion of the imperative code, the declarative language for the other state comprising a description of the user interface of the application program in the other state; and

wherein the application program can directly provide the other state without providing the user interface in the base state or using the portion of imperative code to progress from the base state to the other state, wherein the application program can directly provide the other state using the declarative language for the other state.

15. The system of claim 14 wherein the application program comprises a Web enabled application program operable in an Internet browser.

16. The system of claim 14 wherein the application program comprises a rich Internet application operable in a plug-in operable in an Internet browser.

17. The system of claim 14 wherein the identification information comprises a reference for directly navigating to the other state.

18. The system of claim 17 wherein the reference comprises a link.

19. The system of claim 17 wherein directly navigating to the other state comprises executing the application program and displaying the user interface of the application program in the other state without first displaying the user interface of the application program in the base state.

20. The system of claim 17 wherein directly navigating to the other state comprises executing the application program and displaying the user interface of the application program in the other state without receiving input navigating the application program to the other state.

21. The system of claim 14 wherein the base state is an initial state of the application program provided upon execution of the application program.

Assignments (3)
CHANGE OF NAME Recorded Mar 6, 2019
From: ADOBE SYSTEMS INCORPORATED
To: ADOBE INC.
Reel/Frame 048525/0042 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2006
From: MACROMEDIA, INC.
To: ADOBE SYSTEMS INCORPORATED
Reel/Frame 017034/0263 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2005
From: KUWAMOTO, SHO; ANDERS, MARK; GREENFIELD, ELIOT
To: MACROMEDIA, INC.
Reel/Frame 016702/0308 →