Method, system and computer readable storage device for generating software transaction-level modeling (TLM) model
First Claim
1. A system for generating a software transaction-level modeling (TLM) model, comprising:
- a processing unit;
a compiler coupled to said processing unit to generate target binary codes of a target software;
a decompiler coupled to said processing unit to decompile said target binary codes into high level codes, so as to generate a functional model of said target software, wherein said functional model includes a plurality of basic blocks;
an execution time calculating module coupled to said processing unit to calculate overall execution time of said plurality of said basic blocks of said functional model;
a sync point identifying module coupled to said processing unit to identify sync points of said software transaction-level modeling (TLM) model;
a time annotating module coupled to said processing unit to annotate said overall execution time of said plurality of said basic blocks and said sync points into said functional model, so as to obtain said software transaction-level model (TLM) model;
wherein said execution time calculating module comprises an estimating module coupled to said processing unit to estimate essential execution time of each of said basic blocks of said functional model; and
wherein said execution time calculating module further comprises an adjusting module coupled to said processing unit to employ correction codes to dynamically adjust said essential execution time of each of said basic blocks.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention discloses a system for generating a software TLM model, comprising a processing unit; a compiler coupled to the processing unit to generate target binary codes of a target software; a decompiler coupled to the processing unit to decompile the target binary codes into high level codes, for example C or C++ codes, to generate a functional model of the target software, wherein the functional model includes a plurality of basic blocks; an execution time calculating module coupled to the processing unit to calculate overall execution time of the plurality of the basic blocks of the functional model; a sync point identifying module coupled to the processing unit to identify sync points of the software transaction-level modeling model; and a time annotating module coupled to the processing unit to annotate the overall execution time of the basic blocks and the sync points into the functional model to obtain the software transaction-level modeling model.
16 Citations
14 Claims
-
1. A system for generating a software transaction-level modeling (TLM) model, comprising:
-
a processing unit; a compiler coupled to said processing unit to generate target binary codes of a target software; a decompiler coupled to said processing unit to decompile said target binary codes into high level codes, so as to generate a functional model of said target software, wherein said functional model includes a plurality of basic blocks; an execution time calculating module coupled to said processing unit to calculate overall execution time of said plurality of said basic blocks of said functional model; a sync point identifying module coupled to said processing unit to identify sync points of said software transaction-level modeling (TLM) model; a time annotating module coupled to said processing unit to annotate said overall execution time of said plurality of said basic blocks and said sync points into said functional model, so as to obtain said software transaction-level model (TLM) model; wherein said execution time calculating module comprises an estimating module coupled to said processing unit to estimate essential execution time of each of said basic blocks of said functional model; and wherein said execution time calculating module further comprises an adjusting module coupled to said processing unit to employ correction codes to dynamically adjust said essential execution time of each of said basic blocks. - View Dependent Claims (2)
-
-
3. A method for generating a software transaction-level modeling (TLM) model, comprising:
-
generating target binary codes of a target software, wherein said target binary codes include a plurality of instructions; decompiling said target binary codes into high level codes to generate a functional model of said target software, wherein said functional model includes a plurality of basic blocks; calculating overall execution time of said plurality of said basic blocks of said functional model by a processing unit; annotating said overall execution time into said functional model by said processing unit; and identifying and annotating sync points in front of each of said instructions by said processing unit; wherein the step of calculating overall execution time of said plurality of said basic blocks of said functional model comprises estimating essential execution time of each of said basic blocks of said functional model; and wherein the step of calculating overall execution time of said plurality of said basic blocks of said functional model further comprises employing correction codes to dynamically adjust said essential execution time of each of said basic blocks. - View Dependent Claims (4, 5, 6, 7, 8, 9)
-
-
10. A non-transitory computer readable storage device containing computer program instructions, which when executed by a computer, cause said computer to perform the following:
-
generating target binary codes of a target software, wherein said target binary codes include a plurality of instructions; decompiling said target binary codes into high level codes to generate a functional model of said target software, wherein said functional model includes a plurality of basic blocks; calculating overall execution time of said plurality of said basic blocks of said functional model by a processing unit; annotating said overall execution time into said functional model by said processing unit; identifying and annotating sync points in front of each of said instructions by said processing unit; wherein the steps of calculating overall execution time of said plurality of said basic block of said functional model comprises estimating essential execution time of each of said basic blocks of said functional model; and wherein the steps of calculating overall execution time of said plurality of said basic balcks of said functional model further comprises employing correction code to dynamically adjust said essential execution time of each of said basic blocks. - View Dependent Claims (11, 12, 13, 14)
-
Specification