1460709171-7c7df90f-f0db-470b-81a5-0e134d10656d

1. A method of analyzing executable software code by decompiling said executable code, comprising:
parsing said executable software code to identify one or more data flows; recursively, for each identified one or more data flow:
discovering a fitting data flow model fitting the respective identified data flow;
optimizing said fitting data flow model as a function of the respective identified data flow to form a refined data flow model;
propagating said refined data flow model as a function of the respective identified data flow until substantially all data variables are modeled; and
expressing said refined data flow model in an intermediate representation; parsing said executable software code to identify one or more control flows; recursively, for each identified one or more control flow:
discovering a fitting control flow model fitting the respective identified control flow, comprising one or more control branches;
optimizing said fitting control flow model as a function of the respective identified control flow to form a refined control flow model;
propagating said refined control flow model as a function of the respective identified control flow until substantially all said control branches are modeled; and
expressing said refined control flow model in said intermediate representation;
wherein said refined data flow model and said refined control flow model express a complete nanocode model of said executable software code in said intermediate representation.
2. The method of claim 1, further comprising translating said intermediate representation into a high-level language.
3. The method of claim 1, further comprising analyzing said nanocode model.
4. The method of claim 3, wherein said analyzing further comprises:
comparing said nanocode model to a reference nanocode model;
forming a report listing differences;
flagging said differences according to risk severity inherent therein.
5. The method of claim 3, wherein said analyzing further comprises:
performing one or more analytic tasks using one or more corresponding pre-defined task scripts, said task scripts comprising a plurality of search, control, andor data instructions to be executed by a control process and producing a result; and
forming a report based on said results of said scripts.
6. The method of claim 5, wherein said task scripts comprise pre-existing scripts and scripts adapted from previous uses.
7. The method of claim 5, wherein said report comprises plain language statements and one or more optional nanocode model annotations.
8. The method of claim 1, wherein said intermediate representation is the Dil Intermediate Language (DIL).
9. The method of claim 1 wherein:
discovering a fitting data flow model comprises:
generating a data flow signature for the respective identified data flow; and
comparing the generated data flow signature to a plurality of stored predetermined data flow signatures, each stored predetermined data flow signature representing a known data flow model; and

discovering a fitting control flow model comprises:
generating a control flow signature for the respective identified control flow; and
comparing the generated control flow signature to a plurality of stored predetermined control flow signatures, each stored predetermined control flow signature representing a known control flow model.
10. An apparatus for analyzing executable software code by decompiling said executable code, comprising:
first means for parsing said executable software code to identify one or more data flows;
means for recursively, for each identified one or more data flow:
discovering a fitting data flow model fitting the respective identified data flow;
optimizing said fitting data flow model as a function of the respective identified data flow to form a refined data flow model;
propagating said refined data flow model as a function of the respective data flow until substantially all data variables are modeled; and
expressing said refined data flow model in an intermediate representation; second means for parsing said executable software code to identify one or more control flows;

means for recursively, for each identified one or more control flow:
discovering a fitting control flow model fitting the respective identified control flow, comprising one or more control branches;
optimizing said fitting control flow model as a function of the respective identified control flow to form a refined control flow model;
propagating said refined control flow model as a function of the respective identified control flow until substantially all said control branches are modeled; and
expressing said refined control flow model in said intermediate representation;

wherein said refined data flow model and said refined control flow model express a nanocode model of said executable software code in said intermediate representation.
11. The apparatus of claim 10, further comprising means for translating said intermediate representation into a high-level language.
12. The apparatus of claim 10, further comprising means for analyzing said nanocode model.
13. The apparatus of claim 12, wherein said means for analyzing further comprises:
means for comparing said nanocode model to a reference nanocode model;
means for forming a report listing differences; and
means for flagging said differences according to risk severity inherent therein.
14. The apparatus of claim 12, wherein said means for analyzing further comprises:
means for performing one or more analytic tasks using one or more corresponding pre-defined task scripts, said task scripts comprising a plurality of search, control, andor data instructions to be executed by a control process and producing a result; and
means for forming a report based on said results of said scripts.
15. The apparatus of claim 14, wherein said task scripts comprise pre-existing scripts and scripts adapted from previous uses.
16. The apparatus of claim 14, wherein said report comprises plain language statements and one or more optional nanocode model annotations.
17. The apparatus of claim 10, wherein said intermediate representation is the Dil Intermediate Language (DIL).
18. The apparatus of claim 10, wherein:
discovering a fitting data flow model comprises:
generating a data flow signature for the respective identified data flow; and
comparing the generated data flow signature to a plurality of stored predetermined data flow signatures, each stored predetermined data flow signature representing a known data flow model; and

discovering a fitting control flow model comprises:
generating a control flow signature for the respective identified control flow; and
comparing the generated control flow signature to a plurality of stored predetermined control flow signatures, each stored predetermined control flow signature representing a known control flow model.
19. A computer system for use in analyzing executable software code by decompiling said executable code, the system comprising computer instructions for:
parsing said executable software code to identify one or more data flows;
recursively, for each identified one or more data flow:
discovering a fitting data flow model fitting the respective identified data flow;
optimizing said fitting data flow model as a function of the respective identified data flow to form a refined data flow model;
propagating said refined data flow model as a function of the respective identified data flow until substantially all data variables are modeled; and
expressing said refined data flow model in an intermediate representation;

parsing said executable software code to identify one or more control flows;
recursively, for each identified one or more control flow:
discovering a fitting control flow model fitting the respective identified control flow comprising one or more control branches;
optimizing said fitting control flow model as a function of the respective identified control flow to form a refined control flow model;
propagating said refined control flow model as a function of the respective identified control flow until substantially all said control branches are modeled; and
expressing said refined control flow model in said intermediate representation;

wherein said refined data flow model and said refined control flow model express a nanocode model of said executable software code in said intermediate representation.
20. The computer system of claim 19, further comprising computer instructions for translating said intermediate representation into a high-level language.
21. The computer system of claim 19, further comprising computer instructions for analyzing said nanocode model.
22. The computer system of claim 21, wherein said computer instructions for analyzing further comprise computer instructions for:
comparing said nanocode model to a reference nanocode model;
forming a report listing differences; and
flagging said differences according to risk severity inherent therein.
23. The computer system of claim 21, wherein said computer instructions for analyzing further comprise computer instructions for:
performing one or more analytic tasks using one or more corresponding pre-defined task scripts, said task scripts comprising a plurality of search, control, andor data instructions to be executed by a control process and producing a result; and
forming a report based on said results of said scripts.
24. The computer system of claim 23, wherein said task scripts comprise pre-existing scripts and scripts adapted from previous uses.
25. The computer system of claim 23, wherein said report comprises plain language statements and one or more optional nanocode model annotations.
26. The computer system of claim 19, wherein said intermediate representation is the Dil Intermediate Language (DIL).
27. The system of claim 19, wherein:
discovering a fitting data flow model comprises:
generating a data flow signature for the respective identified data flow; and
comparing the generated data flow signature to a plurality of stored predetermined data flow signatures, each stored predetermined data flow signature representing a known data flow model; and

discovering a fitting control flow model comprises:
generating a control flow signature for the respective identified control flow; and
comparing the generated control flow signature to a plurality of stored predetermined control flow signatures, each stored predetermined control flow signature representing a known control flow model.
28. A computer-readable medium storing a computer program for use in analyzing executable software code by decompiling said executable code, said computer program executable by a plurality of server computers, the medium comprising computer instructions for:
parsing said executable software code to identify one or more data flows;
recursively, for each identified one or more data flow:
discovering a filling data flow model fitting the respective identified data flow;
optimizing said filling data flow model as a function of the respective identified data flow to form a refined data flow model;
propagating said refined data flow model as a function of the respective identified data flow until substantially all data variables are modeled; and
expressing said refined data flow model in an intermediate representation;

parsing said executable software code to identify one or more control flows;
recursively, for each identified one or more control flow:
discovering a filling control flow model fitting the respective identified control flow comprising one or more control branches;
optimizing said filling control flow model as a function of the respective identified control flow to form a refined control flow model;
propagating said refined control flow model as a function of the respective identified control flow until substantially all said control branches are modeled; and
expressing said refined control flow model in said intermediate representation;

wherein said refined data flow model and said refined control flow model express a nanocode model of said executable software code in said intermediate representation.
29. The computer-readable medium of claim 28, further comprising computer instructions for translating said intermediate representation into a high-level language.
30. The computer-readable medium of claim 28, further comprising computer instructions for analyzing said nanocode model.
31. The computer-readable medium of claim 30, wherein said computer instructions for analyzing further comprise computer instructions for:
comparing said nanocode model to a reference nanocode model;
forming a report listing differences; and
flagging said differences according to risk severity inherent therein.
32. The computer-readable medium of claim 30, wherein said computer instructions for analyzing further comprise computer instructions for:
performing one or more analytic tasks using one or more corresponding pre-defined task scripts, said task scripts comprising a plurality of search, control, andor data instructions to be executed by a control process and producing a result; and
forming a report based on said results of said scripts.
33. The computer-readable medium of claim 32, wherein said task scripts comprise pre-existing scripts and scripts adapted from previous uses.
34. The computer-readable medium of claim 32, wherein said report comprises plain language statements and one or more optional nanocode model annotations.
35. The computer-readable medium of claim 28, wherein said intermediate representation is the Dil Intermediate Language (DIL).
36. The computer-readable medium of claim 28, wherein:
discovering a fitting data flow model comprises:
generating a data flow signature for the respective identified data flow; and
comparing the generated data flow signature to a plurality of stored predetermined data flow signatures, each stored predetermined data flow signature representing a known data flow model; and

discovering a fitting control flow model comprises:
generating a control flow signature for the respective identified control flow; and
comparing the generated control flow signature to a plurality of stored predetermined control flow signatures, each stored predetermined control flow signature representing a known control flow model.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A medium tray attachable to an image recording apparatus for feeding record medium one by one and recording an image on said medium, said medium tray comprising a depository in which said record medium is loaded such that front and rear portions of said medium have different angles with respect to a feeding direction of said medium when said record medium are in said depository.
2. The medium tray according to claim 1, wherein said depository comprises a medium support on which said front portion of said record medium is put and a rear guide extending upwardly from a rear end of said medium support so that said rear portion of said record medium is guided upwardly.
3. The medium tray according to claim 2, which further comprises a restricting member arranged at said medium support or rear guide and restricting said record medium put in said depository such that said record medium is not spaced from said medium support or rear guide more than a predetermined distance and is transported along said medium support and rear guide when said record medium is fed into said image recording apparatus.
4. The medium tray according to claim 2, wherein said depository further comprises a curved section between said medium support and rear guide.
5. The medium tray according to claim 1, which further comprises a folding member provided at a rear portion of said depository such that said record medium in said depository is folded toward said image recording apparatus.
6. The medium tray according to claim 5, wherein said folding member is composed of a restricting member which restricts said record medium put in said depository such that said record medium is not spaced from said depository more than a predetermined distance and is transported along said depository when said record medium is fed into said image recording apparatus.
7. The medium tray according to claim 6, wherein said restricting member comprises a rotation member which supports said record medium such that said record medium is folded.
8. The medium tray according to claim 5, which further comprises at least one rear supporter provided above said depository for supporting a rear portion of said record medium folded at said folding member.
9. The medium tray according to claim 8, wherein said at least one rear supporters is a plurality of rear supporters, each supporter corresponding to a length of said record medium put in said depository.
10. The medium tray according to claim 8, wherein said rear supporter comprises a rotation member brought into contact with a surface of said record medium facing down after being folded.
11. The medium tray according to claim 8, wherein said rear supporter holds said rear portion of said record medium such that rear portion is rolled up by said rear supporter.
12. The medium tray according to claim 8, wherein said rear supporter is made of at least one shaft.
13. The medium tray according to claim 5, wherein said depository comprises a medium support on which said front portion of said record medium is put and a rear guide extending upwardly from a rear end of said medium support so that said rear portion of said record medium is guided upwardly, and said folding member is composed of said rear guide and an upper guide extending from an top end of said rear guide toward a main body of said image recording apparatus such that said upper guide covers said rear guide.
14. The medium tray according to claim 13, wherein said upper guide can be opened or closed with a side of said main body of said image recording apparatus as a fulcrum.
15. The medium tray according to claim 13, wherein said upper guide comprises a rear supporter for supporting a rear portion of said record medium put in said depository.
16. The medium tray according to claim 15, wherein said rear supporter holds said rear portion of said record medium such that rear portion is rolled up by said rear supporter.
17. The medium tray according to claim 13, wherein said rear guide is made of at least one shaft.
18. The medium tray according to claim 13, wherein said upper guide is made of at least one shaft.
19. An image recording apparatus comprising said medium tray according to claim 1.
20. An image recording apparatus comprising said medium tray according to claim 5, wherein a rear portion of said record medium folded at said folding member is supported by an upper surface of said image recording apparatus.
21. An image recording apparatus comprising said medium tray according to claim 13 and a medium outputting section on an upper face of said image recording apparatus, said medium outputting section outputting said record medium carrying said image, wherein said upper guide is connected to said upper face so that said record medium outputted from said medium outputting section is stacked in said upper guide.
22. The image recording apparatus according to claim 21, wherein said upper face and said upper guide provide a space therebetween in which said rear portion of said record medium put in said depository of said medium tray is supported.

1460709161-0965b89b-7cfc-418b-9f2a-872abdad1586

I claim:

1. A golf ball retrieval apparatus for maintaining a bottom surface of a golf course pond or stream in a substantially debris free state, comprising,
a flexible mesh sized to overlie at least part of said bottom surface, said mesh being characterized by openings having a size which permit substantially unrestricted flow of water therethrough while substantially preventing the passage of golf balls therepast,
hold down means for securing an edge portion of said mesh adjacent to an edge of said pond or stream,
a lifting mechanism positioned towards a central area of such pond or stream, the lifting mechanism being selectively operable between collapsed and inflated configurations to move a remote portion of said mesh spaced from said edge portion, between a submerged position wherein said mesh is substantially in juxtaposition with said bottom surface when said lifting mechanism is collapsed, and a raised position when said lifting mechanism is inflated, and wherein said remote portion of said mesh is raised vertically from said pond or stream to a height to permit golf balls which accumulate on the mesh to be moved away from the raised remote portion in a direction towards the mesh edge portion.
2. An apparatus as claimed in claim 1 wherein said apparatus further includes a coupling member secured to said remote portion of said mesh for coupling said mesh to said lifting mechanism, and
said lifting mechanism comprising an inflatable bladder which is pneumatically operable.
3. An apparatus as claimed in claim 1 wherein said lifting mechanism is pneumatically operable.
4. An apparatus as claimed in claim 1 wherein said mesh overlies substantially all of said bottom surface, and said hold down means secures said mesh edge portion along substantially the entire edge of said pond or stream.
5. An apparatus as claimed in claim 4 wherein said hold down means is selected from the group consisting of an anchor, a spike and paver.
6. An apparatus as claimed in claim 1 wherein said mesh is formed from a corrosive resistant material selected from the group consisting of resistive corrosive metals, stainless steel, rubber, nylon and plastic.
7. An apparatus as claimed in claim 1 wherein when said remote portion is raised to the raised position, substantially all of said mesh is positioned above said pond or stream.
8. An apparatus as claimed in claim 1 wherein said lifting mechanism comprises an inflatable bladder and a gas source in fluid communication with said bladder for selectively supplying an inflating gas thereto.
9. A golf course water hazard liner for maintaining a bottom surface of a water hazard substantially free of golf balls, comprising,
a flexible mesh sized to overlie at least part of said bottom surface, wherein said mesh is characterized by mesh openings having a size which permit substantially unrestricted movement of water therethrough while preventing the passage of golf balls therethrough,
said mesh having a peripheral edge portion permanently secured adjacent to an edge of said water hazard,
at least one lifting mechanism spaced towards a central area of said pond or stream, the lifting mechanism comprising a bladder and gas supply mechanism for selectively supplying pressurized gas to or releasing gas from said bladder operable to move a remote portion of said mesh which is spaced from said edge portion between a submerged position wherein said mesh is substantially in juxtaposition with said bottom surface, and a raised position wherein said remote portion is raised vertically relative to said edge portion sufficiently to lift substantially all of the mesh from the water and wherein said bladder may be selectively inflated or deflated between a substantially collapsed orientation wherein said mesh is moved to said submerged position and an inflated orientation wherein said bladder and said remote portion of said mesh are moved to said raised position.
10. An apparatus as claimed in claim 9 wherein said peripheral edge portion is secured by hold down means selected from the group consisting of anchors, spikes and pavers.
11. An apparatus as claimed in claim 9 wherein said mesh overlies substantially all of said bottom surface and said edge portion of said mesh is secured along substantially the entire edge portion of said water hazard, and further comprising at least one support wire coupled to said bladder and the edge portion of said water hazard, wherein on movement of said bladder to said raised position, the support wire engaging and at least partially supporting the mesh.
12. An apparatus as claimed in claim 9 wherein said mesh is formed from a corrosive resistant material selected from the group consisting of corrosive resistive metals, stainless steel, rubber, nylon and plastic.
13. A method of maintaining a bottom surface of a golf course water hazard free of golf balls, weeds or litter by the use of a liner comprising,
a flexible mesh sized to overlie at least part of said bottom surface, said mesh being characterized by openings having a size which permit substantially unrestricted flow of water therethrough while substantially preventing the passage of golf balls therepast,
an edge portion of said mesh being secured adjacent to an edge of said water hazard,
a lifting mechanism comprising an inflatable bladder disposed on said bottom surface and an air supply mechanism selectively operable to inflate or deflate said bladder between a collapsed orientation and an inflated orientation, the inflation of the bladder from the collapsed to the inflated orientation floating the bladder and moving a remote portion of said mesh which is spaced from said edge portion therewith from a submerged position where said mesh is substantially in juxtaposition with said bottom surface, and a raised position where said remote portion is raised vertically above said pond or stream to a height to permit any golf balls accumulating on the surface of the mesh to move from the raised remote portion towards the edge portion,
said method comprising the steps of:
activating said air supply mechanism to inflate said bladder with air and cause it to move with said remote portion of said mesh to said raised position,
removing any golf balls which accumulate towards the edge portion, and
deflating said bladder to lower said remote portion of said mesh to said submerged position substantially in juxtaposition with said bottom surface.
14. The method of claim 13 comprising the further step of pressure spray cleaning said mesh while said remote portion is in said raised position.
15. The method of claim 13 comprising the further step of vibrating said mesh while said remote portion is in said raised position.
16. The method of claim 13 wherein said air supply mechanism is activated to deflate said bladder.
17. An apparatus as claimed in claim 4 wherein said lifting mechanism comprises an inflatable bladder and a gas source in fluid communication with said bladder for selectively supplying an inflating gas thereto.
18. An apparatus as claimed in claim 7 wherein said lifting mechanism comprises an inflatable bladder and a gas source in fluid communication with said bladder for selectively supplying an inflating gas thereto.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A system comprising:
an interface of a target application, the interface comprising a plurality of operations to be selected by a user;
a monitoring unit configured to monitor data of selecting of the plurality of operations of the interface by the user, and to generate a log of the monitored data, to package the log of the monitored data into different forms of the monitored data using a packaging object derived from an abstract class;
a communicating unit configured to receive an object derived from the abstract class including the log of the monitored data, and to communicate the log of the monitored data.
2. A system according to claim 1, wherein the target application is a software application and the interface is a display screen of the software application.
3. A system according to claim 1, wherein the target application is an image forming device and the interface is an operation panel of the image forming device.
4. A system according to claim 1, wherein the target application is an appliance and the interface is an operation panel of the appliance.
5. A system according to claim 1, wherein the communicating unit sends the log of the monitored data when the user exits the target application.
6. A system according to claim 1, further comprising a setting unit configured to set a number of sessions of the target application to be executed by the user prior to the communicating unit communicating the log of the monitored data.
7. A system according to claim 6, wherein the abstract class includes first and second derived classes, the first derived class storing data of one session and the second derived class storing data of the set number of sessions.
8. A system according to any one of claims 1-7, wherein the communicating unit communicates the log of the monitored data by Internet mail.
9. A system comprising:
interface means of a target application means, the interface means for providing a plurality of operations to be selected by a user;
monitoring means for monitoring data of selecting of the plurality of operations of the interface means by the user, and for generating a log of the monitored data, to package the log of the monitored data into different forms of the monitored data using a packaging object derived from an abstract class;
communicating means for receiving an object derived from the abstract class including the log of the monitored data, and for communicating the log of the monitored data.
10. A system according to claim 9, wherein the target application means is a software application and the interface means is a display screen of the software application.
11. A system according to claim 9, wherein the target application means is an image forming device and the interface means is an operation panel of the image forming device.
12. A system according to claim 9, wherein the target application means is an appliance and the interface means is an operation panel of the appliance.
13. A system according to claim 9, wherein the communicating means sends the log of the monitored data when the user exits the target application means.
14. A system according to claim 9, further comprising a setting means for setting a number of sessions of the target application means to be executed by the user prior to the communicating means communicating the log of the monitored data.
15. A system according to claim 14, wherein the abstract class includes first and second derived classes, the first derived class storing data of one session and the second derived class storing data of the set number of sessions.
16. A system according to any one of claims 9-15, wherein the communicating means communicates the log of the monitored data by Internet mail.
17. A method of monitoring usage of an interface of a target application, the interface including a plurality of operations to be selected by a user, comprising the steps of:
monitoring data of selecting of the plurality of operations of the interface by the user;
generating a log of the monitored data, to package the log of the monitored data into different forms of the monitored data using a packaging object derived from an abstract class; and
receiving an object derived from the abstract class including the log of the monitored data, and communicating the log of the monitored data.
18. A method according to claim 17, wherein the target application is a software application and the interface is a display screen of the software application.
19. A method according to claim 17, wherein the target application is an image forming device and the interface is an operation panel of the image forming device.
20. A method according to claim 17, wherein the target application is an appliance and the interface is an operation panel of the appliance.
21. A method according to claim 17, wherein the communicating step sends the log of the monitored data when the user exits the target application.
22. A method according to claim 17, further comprising a step of setting a number of sessions of the target application to be executed by the user prior to the communicating device communicating the log of the monitored data.
23. A system according to claim 22, wherein the abstract class includes first and second derived classes, the first derived class storing data of one session and the second derived class storing data of the set number of sessions.
24. A method according to any one of claims 17-23, wherein the communicating step communicates the log of the monitored data by Internet mail.
25. A computer program product comprising:
a computer storage medium and a computer program code mechanism embedded in the computer storage medium for causing a computer to monitor a user’s usage of an interface of a target application, the interface comprising a plurality of operations to be selected by a user, comprising:
a first computer code device configured to monitor data of selecting of the plurality of operations of the interface by the user, and configured to generate a log of the monitored data, to package the log of the monitored data into different forms of the monitored data using a packaging object derived from an abstract class; and
a second computer code device configured to receive an object derived from the abstract class including the log of the monitored data, and to communicate the log of the monitored data.
26. A computer program product according to claim 25, wherein the target application is a software application and the interface is a display screen of the software application.
27. A computer program product according to claim 25, wherein the target application is an image forming device and the interface is an operation panel of the image forming device.
28. A computer program product according to claim 25, wherein the target application is an appliance and the interface is an operation panel of the appliance.
29. A computer program product according to claim 25, wherein the second computer code device is further configured to send the log of the monitored data when the user exits the target application.
30. A computer program product according to claim 25, further comprising a third computer code device configured to set a number of sessions of the target application to be executed by the user prior to the second computer code device communicating the log of the monitored data.
31. A computer program product according to claim 30, wherein the abstract class includes first and second derived classes, the first derived class storing data of one session and the second derived class storing data of the set number of sessions.
32. A computer program product according to any one of claims 25-31, wherein the second computer code device is further configured to communicate the log of the monitored data by Internet mail.