Claims
- 1. A method of developing a computer application to perform tasks, comprising:
providing a set of object types; providing a set of aspect patterns, the aspect patterns including generalized functionality that can be implemented for at least some of the set of object types; and establishing desired connections between selected object types in the set of object types and selected aspect patterns in the set of aspect patterns.
- 2. The method of claim 1 wherein establishing desired connections, comprises:
storing an aspect pattern identifier for a selected aspect pattern in metadata for a selected object type connected to the selected aspect pattern; and storing an object type identifier for the selected object type in metadata for the selected aspect pattern.
- 3. The method of claim 2 and further comprising:
providing a set of event types that identify possible occurrences to which aspect patterns and object types can react; establishing desired connections between selected event types and selected object types; and establishing desired connections between selected event types and selected aspect patterns.
- 4. The method of claim 3 wherein establishing desired connections between selected event types and selected object types, comprises:
storing an event type identifier for a selected event type in metadata for a selected object type connected to the selected event type; and storing an object type identifier for the selected object type in metadata for the selected event type.
- 5. The method of claim 4 wherein establishing desired connections between selected event types and selected aspect patterns, comprises:
storing an event type identifier for a selected event type in metadata for a selected aspect pattern connected to the selected event type; and storing an aspect pattern identifier for the selected aspect pattern in metadata for the selected event type.
- 6. The method of claim 5 wherein establishing desired connections between selected event types and selected aspect patterns, comprises:
identifying selected functionality in the selected aspect pattern that is to be performed in response to the selected event type.
- 7. The method of claim 5 and further comprising:
providing a set of propagated values; and establishing desired connections between selected object types and selected propagated values.
- 8. The method of claim 7 wherein the propagated value includes a source aspect pattern identifier identifying a source aspect pattern from which a new propagated value is received, and a target aspect pattern identifier identifying a target aspect pattern in which the new propagated value is placed.
- 9. The method of claim 8 wherein establishing desired connections between selected object types and selected propagated values, comprises:
storing an object type identifier for selected object types in metadata for the propagated values.
- 10. The method of claim 9 and further comprising:
establishing a connection between the source and target aspect patterns and at least one object type.
- 11. The method of claim 10 and further comprising:
establishing a connection between the source and target aspect patterns and a plurality of different object types.
- 12. The method of claim 2 wherein the selected aspect pattern comprises a relation aspect pattern, and further comprising:
storing an object type identifier for a second selected object type in metadata for the relation aspect pattern, such that the selected object type and the second selected object type are connected through the relation aspect pattern.
- 13. The method of claim 1 wherein one of the set of aspect patterns includes a rule expression and a rule source identifier, the rule expression defining a calculation to be performed on at least one specified value and the rule source identifier identifying a location where the specified value is to be retrieved.
- 14. The method of claim 13 and further comprising:
connecting the one aspect pattern to a second aspect pattern by identifying the second aspect pattern in the rule source identifier of the one aspect pattern.
- 15. The method of claim 1 wherein providing a set of aspect patterns, comprises:
storing metadata associated with the aspect patterns in a first store; and storing first order data associated with instances of the aspect patterns in a second store.
- 16. The method of claim 1 wherein providing a set of object types, comprises:
storing metadata associated with the object types in a first store; and storing first order data associated with instances of the object types in a second store.
- 17. The method of claim 3 wherein providing a set of event types, comprises:
storing metadata associated with the event types in a first store; and storing first order data associated with instances of the event types in a second store.
- 18. A computer system configured to run an application program, comprising:
a first store storing aspect pattern metadata associated with a plurality of aspect patterns and object type metadata associated with a plurality of object types, the aspect patterns implementing functionality for the object types and the aspect pattern metadata and object type metadata describing connections between the aspect patterns and the object types; a second store storing aspect pattern instances of the aspect patterns and object instances of the object types; an object controller controlling interaction between the object instances and the aspect pattern instances based on the aspect pattern metadata and object type metadata.
- 19. The computer system of claim 18 wherein the first store stores event metadata associated with a plurality of event types and wherein the second store stores event instances of the event types.
- 20. The computer system of claim 19 wherein the object controller comprises:
an object component configured to receive event instances and provide the event instances to the aspect patterns based on the event metadata.
- 21. The computer system of claim 20 wherein the object controller further comprises:
an aspect pattern component implementing an aspect pattern interface through which the object component passes event instances to the aspect patterns.
- 22. The computer system of claim 21 wherein the object controller further comprises:
an event manager component receiving the event instances and managing an order in which the event instances are provided to the object component.
- 23. The computer system of claim 22 wherein the first data store stores propagated value metadata associated with a plurality of propagated values.
- 24. The computer system of claim 23 wherein the propagated value metadata identifies a source aspect pattern and a target aspect pattern for each propagated value, the source aspect pattern being an aspect pattern from which the corresponding propagated value is to be retrieved and the target aspect pattern being an aspect pattern to which the propagated value is to be delivered.
- 25. The computer system of claim 24 wherein the object controller further comprises:
a propagated value component coupled to the object component and identifying target aspect patterns for source aspect patterns provided to the propagated value component from the object component.
- 26. The computer system of claim 25 wherein the object component is configured to push the propagated value to the target aspect patterns identified by the propagated value component.
- 27. The computer system of claim 26 wherein the object component is configured to receive from a requesting aspect pattern instance a rule expression indicative of a calculation to be performed on a value, and a source identifying a source aspect instance from which the value is to be retrieved.
- 28. The computer system of claim 27 wherein the object component is configured to obtain the value from the source aspect instance and perform the calculation using the value to obtain a new value.
- 29. The computer system of claim 28 wherein the object component is configured to return the new value to the requesting aspect pattern instance.
Priority Claims (1)
Number |
Date |
Country |
Kind |
PA 200 01670 |
Nov 2000 |
DK |
|
Parent Case Info
[0001] The present application is based on and claims the benefit of U.S. provisional patent application Serial No. 60/355,808, filed Feb. 13, 2002 and entitled TASK PATTERNS, the content of which is hereby incorporated by reference in its entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60355808 |
Feb 2002 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
PCT/DK01/00740 |
Nov 2001 |
US |
Child |
10365824 |
Feb 2003 |
US |