US7487080B1ExpiredUtility

Partitioning a model in modeling environments

90
Assignee: MATHWORKS INCPriority: Jul 8, 2004Filed: Jul 8, 2004Granted: Feb 3, 2009
Est. expiryJul 8, 2024(expired)· nominal 20-yr term from priority
G06F 9/4488
90
PatentIndex Score
46
Cited by
5
References
65
Claims

Abstract

Methods and systems for partitioning objects in modeling environments are disclosed. The modeling environments enable users to partition an object (parent object) to include other objects (child objects). The parent object may reference the child objects (referenced objects). The child objects may be subsystems in the hierarchy of the parent object or modules (or units) in the partitioning of the parent object. The child objects may be encapsulated so that changes in the parent object do not affect the child objects. The partition of the parent object may allow users to load and compile the parent object incrementally. The partition of the parent object may also allow users to generate code for the parent object incrementally.

Claims

exact text as granted — not AI-modified
1. In an electronic device running a software tool that provides a modeling environment, a method comprising:
 providing a first object with components, wherein the first object is partitioned to include a second object, wherein said second object includes an interface; 
 when loading the first object, loading the interface of the second object separately from the content of the second object; and 
 storing the first object in a storage. 
 
   
   
     2. The method of  claim 1  wherein the second object is referenced by the first object. 
   
   
     3. The method of  claim 1  wherein the software tool provides a block diagram modeling environment and the first object includes a block diagram model. 
   
   
     4. The method of  claim 1  wherein the interface of the second object is used to design a schematic representation of the first object. 
   
   
     5. The method of  claim 1  wherein the second object further comprise contents, and the contents of the second object are output to a user in an illegible format. 
   
   
     6. The method of  claim 5  wherein the contents of the second object are output to a user in a binary format. 
   
   
     7. The method of  claim 5  wherein the contents of the second object are output to a user in an encrypted format. 
   
   
     8. The method of  claim 5  wherein the second object is stored in a storage structure, and information relating to the interface of the second object is stored at a location in the storage structure prior to the location of the contents of the second object in the storage structure. 
   
   
     9. The method of  claim 1  further comprising:
 enabling an object designer to add property information of the interface of the second object. 
 
   
   
     10. The method of  claim 1  wherein the modeling environment includes a block diagram environment and the objects are represented in a block. 
   
   
     11. In an electronic device running a software tool that provides modeling environments, a method for partitioning objects, the method comprising:
 providing a first object with components, wherein the first object is partitioned to include a second object, wherein said second object includes an interface; 
 encapsulating the second object so that, if the first object changes, changes in the first object are prevented from being propagated into the second object; and 
 storing the first object in a storage. 
 
   
   
     12. The method of  claim 11  wherein the second object is referenced by the first object. 
   
   
     13. The method of  claim 11  further comprising:
 if the second object changes, recompiling the second object to incorporate the changes in the second object; and 
 running the first object without recompiling the first object. 
 
   
   
     14. The method of  claim 11  wherein the second object behaves independently of the first object in which the second object is used. 
   
   
     15. The method of  claim 14  wherein the second object used in the first object behaves the same as the second object is executed by itself. 
   
   
     16. In an electronic device that provides a modeling environment, a method for compiling an object in the modeling environment, the method comprising:
 providing a first object with components, wherein the first object is partitioned to include a second object, wherein said second object includes an interface; 
 when there are changes in the second object, compiling the second object to determine properties of components in the second object; 
 determining whether the interface of the second object is affected by the changes in the second object; 
 compiling the first object based on the determination; and 
 storing the first object in a storage. 
 
   
   
     17. The method of  claim 16  wherein the second object is referenced by the first object. 
   
   
     18. The method of  claim 16  wherein the step of compiling the second object comprises:
 determining properties of the components in the second object that are affected by the changes in the second object. 
 
   
   
     19. The method of  claim 16  wherein the step of compiling the first object comprises;
 when the interface of the second object is not affected by the changes in the second object, avoiding compiling the first object if the first object is compiled before the changes in the second object. 
 
   
   
     20. The method of  claim 16  wherein the step of compiling the first object comprises;
 when the interface of the second object is affected by the changes, compiling the first object to determine properties of the components in the first object. 
 
   
   
     21. The method of  claim 20  wherein the step of compiling the first object comprises;
 determining properties of the components in the first object that are affected by the interface of the second object. 
 
   
   
     22. In an electronic device that provides modeling environments, a method for generating code for an object, the method comprising:
 providing a first object that includes components, wherein the first object is partitioned to include a second object, wherein said second object includes an interface; 
 generating code for the first object that includes the interface of the second object; 
 checking for a change in the second object; 
 when there is a change in the second object, updating the code for the second object; 
 linking the code for the second object with the code for the first object to execute the first object in the electronic device; and 
 storing the first object in a storage. 
 
   
   
     23. The method of  claim 22  wherein the second object is referenced by the first object. 
   
   
     24. The method of  claim 22 , wherein the step of generating comprises:
 when the changes in the second object affect the interface of the second object, regenerating code for the first object that includes the interface of the second object. 
 
   
   
     25. The method of  claim 22  wherein the step of providing includes encapsulating the second object so that changes in the first object are prevented from being propagated into the second object. 
   
   
     26. The method of  claim 22  wherein the code for the first object is independent of changes made in the contents of the second object. 
   
   
     27. The method of  claim 22  wherein the step of checking includes:
 deriving a checksum of the second object; and 
 utilizing the checksum of the second object to determine whether the code for the second object is updated. 
 
   
   
     28. The method of  claim 22  wherein the step of checking includes:
 utilizing a date stamp of the second object to determine whether code for the second object is updated. 
 
   
   
     29. The method of  claim 22  further comprising:
 after the code for the second object is updated, reusing the code for the second object. 
 
   
   
     30. The method of  claim 22  wherein the code for the second object is referenced and used in other objects than the first object. 
   
   
     31. In an electronic device that provides modeling environments, a method for executing a first object that includes components, wherein one of the components references a second object, the method comprising:
 selecting a first set of the components that is executed in a first execution mode; and 
 selecting a second set of the components that is executed in a second execution mode, the component referencing the second object being included in one of the first set of the components and the second set of the components; 
 executing the first object in a mixed execution mode to determine behaviors of the first object wherein the first set of the components is executed in the first execution mode and the second set of the components are executed in the second execution mode; and 
 storing the first object in a storage. 
 
   
   
     32. The method of  claim 31  wherein the first execution mode includes an accelerated execution mode. 
   
   
     33. The method of  claim 31  wherein the second execution mode includes an interpretive execution mode. 
   
   
     34. The method of  claim 31  wherein the first execution mode executes in a fixed step while the second execution mode executes in a variable step. 
   
   
     35. The method of  claim 32  wherein the second object is included in the first set of the components and executed in the accelerated execution mode. 
   
   
     36. The method of  claim 33  wherein the second object is included in the second set of the components and executed in the interpretive execution mode. 
   
   
     37. The method of  claim 32  wherein the first set of components is precompiled before executing the first object. 
   
   
     38. A medium holding instructions executable in an electronic device that when executed cause the electronic device to provide modeling environments, the medium holding:
 instructions for providing a first object with components, wherein the first object is partitioned to include a second object, wherein said second object includes an interface; 
 instructions for, when loading the first object, loading the interface of the second object separately from the content of the second object, and 
 instructions for storing the first object in a storage. 
 
   
   
     39. The medium of  claim 38  wherein the second object is referenced by the first object. 
   
   
     40. The medium of  claim 38  wherein the interface of the second object is used to design a block diagram of the first object. 
   
   
     41. The medium of  claim 38  wherein the second object further comprises contents, and the contents of the second object are output to a user in an illegible format. 
   
   
     42. A medium holding instructions executable in an electronic device that when executed cause the electronic device to provide modeling environments, the medium holding:
 instructions for providing a first object with components, wherein the first object is partitioned to include a second object, wherein the second object includes an interface; 
 instructions for encapsulating the second object so that changes in the first object are prevented from being propagated into the second object; and 
 instructions for storing the first object in a storage. 
 
   
   
     43. The medium of  claim 42  wherein the second object is referenced by the first object. 
   
   
     44. The medium of  claim 42  further comprising:
 instructions for recompiling the second object to incorporate the changes in the second object; and 
 instructions for running the first object without recompiling the first object. 
 
   
   
     45. A medium holding instructions executable in an electronic device that when executed cause the electronic device to provide modeling environments for compiling an object incrementally, the medium holding:
 instructions for providing a first object with components, wherein the first object is partitioned to include a second object, wherein said second object includes an interface; 
 instructions for, when there are changes in the second object, compiling the second object to determine properties of components in the second object; 
 instructions for determining whether the interface of the second object is affected by the changes in the second object; 
 instructions for compiling the first object based on the determination; and 
 instructions for storing the first object in a storage. 
 
   
   
     46. The medium of  claim 45  wherein the second object is referenced by the first object. 
   
   
     47. The medium of  claim 45  wherein the instructions for compiling the first object comprises;
 instructions for, when the interface of the second object is not affected by the changes in the second object, avoiding compiling the first object if the first object is compiled before the changes in the second object; and 
 instructions for, when the interface of the second model is affected by the changes, compiling the first object to determine properties of the components in the first object that are affected by the interface of the second object. 
 
   
   
     48. A medium holding instructions executable in an electronic device that when executed cause the electronic device to provide modeling environments, the medium holding:
 instructions for providing a first object that includes components, wherein the first object is partitioned to include a second object, wherein said second object includes an interface; 
 instructions for generating code for the first object that includes the interface of the second object; 
 instructions for determining when there are changes in the second object; 
 instructions for, when there are changes in the second object, updating the code for the second object; 
 instructions for linking the code for the second object with the code for the first object to execute the first object in the electronic device; and 
 instructions for storing the first object in a storage. 
 
   
   
     49. The medium of  claim 48  wherein the second object is referenced by the first object. 
   
   
     50. The medium of  claim 48  wherein the step of determining comprises
 deriving a checksum of the second object; and 
 utilizing the checksum of the second object to determine whether the code for the second object is updated. 
 
   
   
     51. The medium of  claim 48  wherein the step of determining comprises utilizing a date stamp of the second object to determine whether code for the second object is updated. 
   
   
     52. A medium holding instructions executable in an electronic device that when executed cause the electronic device to execute a first object in modeling environments, wherein the first object includes components and one of the components references a second object, the medium holding:
 instructions for selecting a first set of the components that is executed in an accelerated execution mode; 
 instructions for selecting a second set of the components that is executed in an interpretive execution mode, the component referencing the second object being included in one of the first set of the components and the second set of the components; 
 instructions for executing the first object in a mixed execution mode to determine behaviors of the first object wherein the first set of the components is executed in the accelerated mode and the second set of the components are executed in the interpretive execution mode; and 
 instructions for storing the first object in a storage. 
 
   
   
     53. The medium of  claim 52  wherein the second object is referenced by the first object. 
   
   
     54. The medium of  claim 52  wherein the first set of components is precompiled before executing the first object. 
   
   
     55. A system for designing and executing a model in a modeling environment, the system comprising:
 a storage for storing a first model with components, wherein the first model is partitioned to include a second model, wherein said second model includes an interface and contents; and 
 a processor configured to
 run a computer program for loading the first model into a memory, wherein the computer program loads the interface of the second model separately from the contents of the second model, and 
 store the first model in a storage, 
 
 wherein the interface of the second model is used to design a schematic representation of the first model. 
 
   
   
     56. The system of  claim 55 , wherein the second model is referenced by the first model. 
   
   
     57. The system of  claim 55 , wherein the modeling environment comprises a block diagram environment. 
   
   
     58. The system of  claim 55 , wherein the interface of the second model comprises user-changeable properties. 
   
   
     59. The system of  claim 55 , wherein the computer program generates code for the first model that includes the interface of the second model, wherein if there are changes in the second model, the computer program updates the code for the second model. 
   
   
     60. The system of  claim 59 , wherein if the changes in the second model affect the interface of the second model, the computer program regenerates code for the first model that includes the interface of the second model. 
   
   
     61. The system of  claim 59 , wherein the code for the first model is independent of changes made in the contents of the second model. 
   
   
     62. The system of  claim 59 , wherein the code for the second model is used in the first model and other models that reference the second model. 
   
   
     63. The system of  claim 55 , wherein computer program executes the first model in a mixed execution mode in which a first set of components of the first model is executed in a first execution mode and a second set of components of the first model is executed in a second execution mode. 
   
   
     64. The system of  claim 63 , wherein the first execution mode comprises an accelerated execution mode and the second execution mode comprises an interpretive execution mode. 
   
   
     65. The system of  claim 63 , wherein the first execution mode executes in a fixed step while the second execution mode executes in a variable step.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.