CN102646053B - Method and system for cylindrical surface calculation based on modeling simulation verification language (MSVL) of arithmetic expression - Google Patents
Method and system for cylindrical surface calculation based on modeling simulation verification language (MSVL) of arithmetic expression Download PDFInfo
- Publication number
- CN102646053B CN102646053B CN201210038404.0A CN201210038404A CN102646053B CN 102646053 B CN102646053 B CN 102646053B CN 201210038404 A CN201210038404 A CN 201210038404A CN 102646053 B CN102646053 B CN 102646053B
- Authority
- CN
- China
- Prior art keywords
- time ordered
- expression formula
- ordered interval
- explanation
- cylinder
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
The invention discloses a method and a system for cylindrical surface calculation based on a modeling simulation verification language (MSVL), and belongs to the technical field of formal modeling and verification of a computer system. According to the method and the system, a multi-core parallel program syntax and a semanteme are defined, the concurrent execution of one or more processes is described, and a cylindrical surface computational model is constructed. An expression of basic time sequence interval is expanded into an arithmetical expression and a time sequence expression, the descriptive power is strong, and the processes can be controlled accurately; the explanation of the processes comprises the explanation of a process execution body and the explanation of a time sequence interval expression, and the time sequence interval expression of the progresses controls the sustaining time sequence interval granularity of an execution effect of the progress execution body; and the system takes part in parallel explanation of a plurality of progresses by using an MSVL parallel projection method, and each parallel program is controlled to communicate at an end state point of one explanation of each progress. By the method and the system, a shared object can be described, multi-core parallel programs can be composed in a convenient and fast controllable mode, and simulation, modeling and verification can be performed on the multi-core parallel programs.
Description
Technical field
The invention belongs to computer system Formal Modeling and verification technique field, relate generally to and parallel Programming system is carried out to modeling and checking by formal method, specifically MSVL cylinder computing method and the system based on arithmetic expression, can be used for modeling and the checking of multi-core parallel concurrent Program design for calculation.
Technical background
Sequential logic has been widely used in the field such as soft project, Design of Digital Circuit as a kind of system modelling and verification tool.Sequential logic mainly contains three large branches: linear time temporal logic (ITL), branch's sequential logic (CTL) and Interval temporal logic (ITL).Projection sequential logic (PTL) is expanded ITL, temporal logic language MSVL is that of PTL can carry out subset, it is a sequential logic programming language that integrates modeling (Modeling), emulation (Simulation) and checking (Verification), it is unified in the description of the modeling of system and character in same logical framework, by the character of model detection technique verification system.
From the seventies in last century, parallel or the real-time programming language of a large amount of one process based on interval or real-time model is suggested, as with the shared CSP of process algebra and CCS, be all the typical language of describing and verifying real-time system, but these language are all not executable.Sequential logic is a kind of for describing and verify the important method of real-time system real-time, and the program under same logical framework can be described and prove to a lot of programming languages based on sequential logic.Cactus is based on branching time sequential logic, XYZ/E, and THLP, Chronolog, Tempura and Tokio are based on Interval temporal logic, and TLA is also a kind of descriptive language based on sequential logic behavior.But these language are for describing and checking more, instead of exploitation real-time system program.Above-mentioned most language for be all one process, by the real-time process solving under staggered or true real-time model, can not directly process multi-process programming language.
A concurrent program is made up of multiple processes, and each process is a sequencer program (sequential program), has local variable and statement separately, and therefore concurrent program is more difficult than single program.It is a huge challenge that multi-process program design or multinuclear parallel program design are developed concurrent program for programmer, therefore, study basic multi-process programmatics and develop relevant support facility (for example model detector) and theoretical proof is all the desirabilities in computer system Formal Modeling and verification technique field, the research that the present invention carries out just in this respect and innovation.Compare with above-mentioned formalization method, MSVL has significant advantage.Because MSVL is a sequential logic programming language, there are three kinds of execution patterns: modeling, emulation and checking, so be called modeling and simulating checking language (Modeling Simulation Verification Language, i.e. MSVL).As the formal instrument of one, MSVL can be for carrying out modeling and checking to multinuclear parallel program design system.But the basic time ordered interval expression formula of MSVL is also confined to positive integer at present, a little less than descriptive power and ability to express, application underaction, can not substitute with temporal expression and arithmetic expression according to the difference of problem, and adaptive surface is too narrow.Existing MSVL lacks a kind of effectively time ordered interval describing method, and this has seriously limited the descriptive power of MSVL to parallel multi-core programming system.
Project team of the present invention, to domestic and international patent documentation and the journal article retrieval of publishing, not yet finds report or the document closely related and the same with the present invention.
Summary of the invention
A little less than the present invention is directed to the descriptive power and ability to express of time ordered interval expression formula in prior art, the technical matters that range of application is narrow, provide a kind of arithmetic expression and temporal expression all can represent time interval, description ability to express is strong, makes more accurate and controlled MSVL cylinder computing method and the system based on arithmetic expression of execution of process.
The present invention is a kind of MSVL cylinder computing method based on arithmetic expression, belong to system form modeling and verification technique field, MSVL program process module is carried out to emulation, modeling and checking, the present invention defines multinuclear parallel program grammer, based on this multinuclear parallel program grammer and a multinuclear parallel program of MSVL statement statement, in this multinuclear parallel program, different processes is carried out on time ordered interval separately, this execution is by the time ordered interval expression formula control of process, the time ordered interval of process and main time interval are parallel, the time ordered interval of each process forms a planar model of cylinder around main time interval concurrently, MSVL cylinder calculation process based on arithmetic expression includes:
Step 1, definition multinuclear parallel program grammer, multinuclear parallel program or by a process, i.e. one process composition, or formed by multiple parallel processes, form by multiple one process are parallel; The syntactic definition of multinuclear parallel program is:
CCM::=Single_Progress|CCM
1|||CCM
2
Wherein, CCM is multinuclear parallel program, || | be the key word that connects different concurrent processes, Single_Progress is one process, CCM
1and CCM
2for two mutually parallel multinuclear parallel programs;
A process comprises the execution body of process and time ordered interval expression formula two parts of process, and the syntactic definition of one process is:
Single_Progress::=φovl
Wherein, φ has defined the execution body of process, and l is that control process is carried out the time ordered interval expression formula that body φ carries out, and ov is the key word that connection process is carried out body and time ordered interval expression formula;
The syntactic definition of multiple concurrent processes is CCM
1|| | CCM
2, at least comprise two parallel one process.
State a multinuclear parallel program, for the legal multinuclear parallel program of grammer, structure cylinder computation model, it is formalized model, the present invention has defined formal syntax and the semanteme of multinuclear parallel program, compatible mutually with existing MSVL Formal Semantic, for cylinder computation model, can expand the method making new advances based on MSVL formalization method and make an explanation, execution step 2.
Step 2, legal multinuclear parallel program is judged, if this multinuclear parallel program is made up of a process, execution step 3; If being formed by multiple task parallelisms of this multinuclear parallel program, execution step 4;
Step 3, the CCM model forming for one process make an explanation, invocation step 5 is once explained one process, after completing one process once being explained, whether the execution body that judges new process is empty, if the execution body of new process is not empty, judge whether the time ordered interval expression formula of new process is empty, if the time ordered interval expression formula of new process is not empty, construct new cylinder computation model for new process, continue execution step 3; If time ordered interval expression formula is empty, the statement that new process is carried out in body is carried out as common MSVL program, deletes new process, and a complete interpretation process of one process completes, and then performs step 7; If the execution body of process is empty, delete new process, a complete interpretation process of one process completes, execution step 7;
Step 4, multiple concurrent processes of cylinder computation model are made an explanation, utilize the parallel projection method in MSVL, control the concurrent execution on time ordered interval separately of multiple parallel processes, for the multinuclear parallel program being formed by multiple processes, respectively each one process is once explained, the once explanation of one process all performs step 5, when all processes all complete after once explanation, could continue, the execution body that judges whether all new processes is sky, if the execution body of all new processes is all empty, delete all new processes, execution step 7; If exist the execution body of process not for empty, first deleting and carrying out body is empty process, then be not that sky and time ordered interval expression formula are empty new process for carrying out body, the statement of being carried out in body is carried out as common MSVL program, delete new process, be not that sky and time ordered interval expression formula are not constructed cylinder computation model for empty new process for carrying out body, return to execution step 2;
Step 5, the individual process of multinuclear parallel program is once explained, the execution body of process is carried out on the time ordered interval state of oneself, first the structure of one process is judged, one process includes labyrinth and simple structure, if process is labyrinth, so this process is carried out to recursive structure conversion, be converted to a simple structure, then perform step 6; If process is simple structure, directly perform step 6;
Step 6, once explain for simple structure process, the execution body of simple structure process is carried out on the time ordered interval state of oneself, and an interpretation process of simple structure process comprises: first, process is carried out to body and make an explanation, then, time ordered interval expression formula is made an explanation, the execution body of process is divided into current state collection of programs and NextState collection of programs in current state, explanation in current state to execution body, refer to the statement of carrying out in current state collection of programs, implementation effect is reflected in the renewal of program variable and the change of cylinder computation model, to the explanation of time ordered interval expression formula, in order to control the lasting time ordered interval granularity of this implementation effect, then, execution body using the statement in NextState collection of programs as new process, time ordered interval expression formula after explaining is as the time ordered interval expression formula of new process, construct a new process and replace existing process, change time sequence status simultaneously, jump to next time sequence status from current time sequence status, occurring on these state points of redirect, time sequence status spot projection on main time interval is to the time ordered interval of process, process completes and communicates by letter with main time interval on this time sequence status point, complete the once explanation of simple structure process, also complete the once explanation to one process, step 6 finishes,
Step 7, whole calculation process finish.
The present invention relates generally to and concurrent program is carried out to modeling and checking by formal method.Cylinder computation model has been constructed CCM::=φ ovl|CCM
1|| | CCM
2structure, is more suitable for multinuclear programming.Not only can describe shared object, also can write multi-process concurrent program and it be carried out to emulation, modeling and checking in a kind of convenient controlled mode simultaneously.The invention provides a kind of semantic abstraction model based on shared variable and the programming language for multinuclear programming.
Realization of the present invention is also: the syntactic definition of the time ordered interval expression formula described in step 1 is:
Wherein, l represents time ordered interval expression formula,
represent that time ordered interval expression formula is empty, e represents basic temporal expression, l
1, l
2represent the concatenation operation of time sequence spacing expression formula, l
1+ l
2represent the exclusive disjunction of time sequence spacing expression formula, l
*represent the closure operation of time ordered interval expression formula, l
nrepresent definite number of times repetitive operation of time ordered interval expression formula, n is nonnegative integer.
The fundamental operation of time ordered interval expression formula has been expanded to regular operations by the present invention, and added definite number of times repetitive operation, makes time ordered interval expression formula descriptive power more flexible more by force.
Realization of the present invention is also: the syntactic definition of basic time ordered interval expression formula is:
e::=n|x|Ox|Θx|function|e
0?op?e
1
op::=+|-|×|mod
N represents positive integer, and x represents the value of variable x in current state, and Ox represents the value of variable x at NextState, and Θ x represents the value of variable x in previous state, function representative function rreturn value, e
0op e
1represent two basic time ordered interval expression formula e
0and e
1the value obtaining through arithmetical operation.Op represents basic time ordered interval expression formula e
0and e
1the arithmetic operator that can carry out, comprises addition (+), subtraction (-), and multiplication (×) and modulo operation (mod), the value after semantic legal basic time ordered interval expression formula e abbreviation is nonnegative integer.
The form of the basic time ordered interval expression formula after expansion comprises positive integer, and variable is in the value of different time sequence status, the arithmetic operation results of function return value and basic temporal expression.The present invention has expanded to arithmetic expression and temporal expression by basic temporal expression from integer, ability to express and descriptive power are strengthened, for different modeling objects and process, can select different temporal expressions to describe time ordered interval, overcome the narrow situation of classic method adaptive surface, also made interval describe accurate and flexible more.
Realization of the present invention is also: described in step 6, time ordered interval expression formula being made an explanation is: for multi-form time ordered interval expression formula, by first basic representation component extraction of time ordered interval expression formula out, this basic time ordered interval expression formula is made an explanation, retain remaining part as the time ordered interval expression formula after explaining, wherein for the explanation to basic time ordered interval expression formula:
If basic time ordered interval expression formula e is nonnegative integer n, n returns as explanation results;
If basic time ordered interval expression formula e is variable x, direct query token table, value the returning results as explanation using x in current state;
If basic time ordered interval expression formula e is Ox, direct query token table, value the returning results as explanation using x at NextState;
If basic time ordered interval expression formula e is Θ x, direct query token table, value the returning results as explanation using x in previous state;
If basic time ordered interval expression formula e is function, that the rreturn value of this function is explained as basic time ordered interval expression formula returns results;
If basic time ordered interval expression formula e is two basic time ordered interval expression formula e
0and e
1the expression formula that counts, so first explain e
0and e
1obtain its value, then by e
0and e
1carry out arithmetic operator, the operation result obtaining returns as the result of explaining.
For the abbreviation of basic time ordered interval expression formula, abbreviation result must be all a nonnegative integer.
The present invention makes an explanation to the basic time ordered interval expression formula of expansion with a kind of succinct method of system, provide imperfectly the interpretation procedure of the basic time ordered interval expression formula of form of ownership, it is more accurate based on the method, the explanation results of time ordered interval expression formula to be made the control of process execution body implementation effect, flexibly.
Realization of the present invention is also: the lasting time ordered interval granularity of implementation effect of statement in body current state collection of programs is carried out in the control of the expression formula of time ordered interval described in step 6 explanation results, be will the abbreviation result of basic time ordered interval expression formula e be denoted as to n, control as follows effect:
If n is not nonnegative integer, stop explaining prompting mistake;
If n is nonnegative integer, the effect that the statement in the set of current state statement is carried out so starts to continue n time sequence status from current state, the time ordered interval granularity that length is n, and then the statement in current state collection of programs is carried out and is finished.
According to existing interpretative rule in MSVL, make an explanation for the execution body of each process, then time ordered interval expression formula is made an explanation, time ordered interval expression formula makes the execution of process more controlled for the description restriction of process, accurately, is easy to describe.
Realization of the present invention is also: the labyrinth process described in step 5 refers to and in time ordered interval expression formula, contains exclusive disjunction, closure operation, or process is carried out and is contained in body or the process of operational character (or), wherein said structure conversion, refer to first process is carried out to equivalence transformation, be converted into the CCM model being formed by simple structure process;
The present invention is for the time ordered interval expression formula of expansion, provide the interpretation procedure of a cover system, for the time ordered interval expression formula expanding or the operation of operation and closure, provide effective structure conversion method, made the cylinder computation model of labyrinth process structure after having carried out structure conversion compatible mutually with existing MSVL model.
The present invention or a kind of MSVL cylinder computing system based on arithmetic expression, include morphology syntactic definition module, interpretation of programs module, morphology syntactic definition module has specified the grammer of MSVL program, generate MSVL model, interpretation of programs module makes an explanation to the MSVL model generating, and obtains explanation results.MSVL cylinder computing system based on arithmetic expression also includes time ordered interval definition module, in morphology syntactic definition module, include cylinder and calculate the legal foster son's module of word French, time ordered interval definition module is in cylinder and calculates in the legal foster son's module of word French, calculated the grammer of the legal foster son's module definition of word French multinuclear parallel program by cylinder, specify a multinuclear parallel program or formed by an one process, or being formed by multiple parallel one process; An one process includes the execution body of process and the time ordered interval expression formula of process.Calculating the legal foster son's module of word French by cylinder is multinuclear parallel program structure cylinder computation model.Morphology and the grammer of time ordered interval definition module definition process time ordered interval expression formula.In interpretation of programs module, comprise process explanation module, process explanation module is provided with: labyrinth abbreviation module and simple structure explanation module.Calculate for cylinder the cylinder computation model that the legal foster son's module of word French generates, first with process explanation module, it is distinguished, if labyrinth, first utilize labyrinth abbreviation module to carry out recurrence abbreviation to the structure of labyrinth process, recycling simple structure explanation module makes an explanation to it, if simple structure directly utilizes simple structure explanation module to make an explanation to it.Cylinder has calculated word French legal foster son's module definition multinuclear parallel program, for multinuclear parallel program structure cylinder computation model, process explanation module makes an explanation to the cylinder computation model of process, generate new cylinder computation model, provide emulation and modeling result based on cylinder computation model, for the explanation of multiple task parallelism forms, call parallel projection module, participate in the parallel interpretation of multiple processes.
Realization of the present invention is also: simple process explanation module is provided with: carry out body explanation module and time ordered interval expression formula explanation module, the execution that process is carried out body is by the time ordered interval expression formula control of process.
In the MSVL cylinder computing system based on arithmetic expression, the execution of each concurrent process of parallel projection module controls, controlling each concurrent program can communicate simultaneously on some specific time sequence state: for parallel process, different processes is carried out on time ordered interval separately, and the time ordered interval of each process walks abreast with main time ordered interval.After each process is once explained and finished, some the specific state point on main time interval can project on the time ordered interval of process, and each process is carried out alternately with other processes on subpoint, shared resource.The execution of each concurrent process of executed in parallel module controls also can communicate on some specific time sequence state, has increased the independence that concurrent process is carried out, and has reduced the resource consumption of interprocess communication.
In general, the MSVL cylinder computing method based on arithmetic expression and system that the present invention proposes can be better for multinuclear parallel program design system is carried out to emulation, modeling and checking, and compared with the conventional method, advantage of the present invention is as follows:
(1) for basic time ordered interval expression formula, the present invention has expanded to arithmetic expression and temporal expression from original integer expression, strengthen descriptive power, for different modeling objects and process, can select different basic time ordered interval expression formulas to describe time ordered interval, overcome the narrow situation of classic method adaptive surface, also made interval describe accurate and flexible more.
(2) for the operation of time ordered interval expression formula, the basic operation of time ordered interval expression formula has been expanded to regular operations operation by the present invention, and added definite number of times repetitive operation, makes the description of time ordered interval more flexibly, and ability to express is stronger.
(3) for definition and the execution of process execution body, compatible mutually with existing MSVL statement.
(4) according to existing interpretative rule in MSVL, execution body for each process makes an explanation, and time ordered interval expression formula is carried out to abbreviation simultaneously, and time ordered interval expression formula makes the execution of process more controlled for description and the restriction of process, accurately, be easy to describe.
(5) parallel process is carried out on time ordered interval separately, carries out alternately on some specific time sequence status, has increased the independence that concurrent process is carried out, and has reduced the resource consumption of interprocess communication.
Brief description of the drawings
Fig. 1 is the MSVL cylinder computing method overview flow chart that the present invention is based on arithmetic expression;
Fig. 2 is the process flow diagram that the present invention once explains individual process;
Fig. 3 is the process flow diagram that the present invention once explains simple structure process;
Fig. 4 is the composition schematic diagram that the present invention is based on the MSVL cylinder computing system of arithmetic expression;
Fig. 5 is the simulation drawing of the present invention to 8 figure place merges sort.
Embodiment:
Embodiment 1
The present invention is a kind of MSVL cylinder computing method based on arithmetic expression, belong to system form modeling and verification technique field, MSVL program process module is carried out to emulation, modeling and checking, the present invention defines multinuclear parallel program grammer, based on this multinuclear parallel program grammer and a multinuclear parallel program of MSVL statement statement, in this multinuclear parallel program, different processes is carried out on time ordered interval separately, this execution is by the time ordered interval expression formula control of process, the time ordered interval of process and main time interval are parallel, the time ordered interval of each process forms a planar model of cylinder around main time interval concurrently, referring to Fig. 1, the MSVL cylinder calculation process based on arithmetic expression includes:
Step 1, definition multinuclear parallel program grammer, multinuclear parallel program or by a process, i.e. one process composition, or formed by multiple parallel processes, form by multiple one process are parallel; The syntactic definition of multinuclear parallel program is:
CCM::=Single_Progress|CCM
1|||CCM
2
Wherein, CCM is multinuclear parallel program, || | be the key word that connects different concurrent processes, Single_Progress is individual process, CCM
1and CCM
2for two mutually parallel multinuclear parallel programs;
A process comprises the execution body of process and time ordered interval expression formula two parts of process, and the execution body of each process is MSVL program, and the syntactic definition of one process is:
Single_Progress::=φovl
Wherein, φ has defined the execution body of process, and l is that control process is carried out the time ordered interval expression formula that body φ carries out, and ov is the key word that connection process is carried out body and time ordered interval expression formula;
The syntactic definition of multiple concurrent processes is CCM
1|| | CCM
2, at least comprise two parallel one process.
The time ordered interval expression formula of process, what reality was described is the set of a final state list.The syntactic definition of time ordered interval expression formula is:
Wherein, l represents time ordered interval expression formula,
represent that time ordered interval expression formula is empty, e represents basic time ordered interval expression formula, l
1, l
2represent the concatenation operation of time sequence spacing expression formula, l
1+ l
2represent the exclusive disjunction of time sequence spacing expression formula, l
*represent the closure operation of time ordered interval expression formula, l
nrepresent definite number of times repetitive operation of time ordered interval expression formula, n is nonnegative integer.
The priority of the operational character of time ordered interval expression formula is followed successively by from high in the end:
1), closure operation, determine number of times repetitive operation
2), concatenation operation
3), exclusive disjunction
The concatenation operation of time ordered interval expression formula, l
1, l
2represent time ordered interval expression formula l
1and l
2between there is strict ordinal relation, first explain l
1, then could explain l
2;
The exclusive disjunction of time ordered interval expression formula, l
1+ l
2be illustrated in time ordered interval expression formula l
1and l
2between optional one make an explanation;
The closure operation l of time ordered interval expression formula
*be defined as
Definite number of times repetitive operation l of time ordered interval expression formula
nrefer to that n time ordered interval expression formula l does concatenation operation, can be defined as l
n=l, l
n-1;
For the time ordered interval expression formula of various complex forms, the following rule of equal value (R1-R11) of can applying in a flexible way is carried out calculation process to it, and rule of equal value (R1-R11) is as follows:
R1.l
1,(l
2+l
3)=l
1,l
2+l
1,l
3
R2.l
1+l
2=l
2+l
1
R3.(l
1+l
2),l
3=l
1,l
3+l
2,l
3
R4.0,l=l,0=l
R5.l+l=l
R6.l
1,(l
2,l
3)=(l
1,l
2),l
3
R7.l,l
*=l
*,l
R8.l
1,(l
2,l
1)
*=(l
1,l
2)
*,l
1
R9.l
*,l
*=l
*
R10.(l
*)
*=l
*
R11.l
1+(l
2+l
3)=(l
1+l
2)+l
3
These rules of equal value also can be for the explanation of time ordered interval expression formula.
In time ordered interval expression formula, the syntactic definition of basic time ordered interval expression formula is:
e::=n|x|Ox|Θx|function|e
0?op?e
1
op::=+|-|×|mod
N represents positive integer, and x represents the value of variable x in current state, and Ox represents the value of variable x at NextState, and Θ x represents the value of variable x in previous state, function representative function rreturn value, e
0op e
1represent two basic time ordered interval expression formula e
0and e
1the value obtaining through arithmetical operation.Op represents basic time ordered interval expression formula e
0and e
1the arithmetic operator that can carry out, comprises addition (+), subtraction (-), and multiplication (×) and modulo operation (mod), the value after semantic legal basic time ordered interval expression formula e abbreviation is nonnegative integer.
The basic operation of time ordered interval expression formula has been expanded to regular operations operation by the present invention, and add definite number of times repetitive operation, basic time ordered interval expression formula has been expanded to arithmetic expression and temporal expression from integer expression simultaneously, for different modeling objects and process, can select different temporal expressions to describe time ordered interval, overcome the narrow situation of classic method adaptive surface, make interval describe accurate and flexible more, strengthened ability to express and the descriptive power of time ordered interval expression formula.
State a multinuclear parallel program, for the legal multinuclear parallel program of grammer, structure cylinder computation model, it is formalized model, the present invention has defined formal syntax and the semanteme of multinuclear parallel program, compatible mutually with existing MSVL Formal Semantic, for cylinder computation model, can expand the method making new advances based on MSVL formalization interpretation procedure and make an explanation, execution step 2.
Step 2, legal multinuclear parallel program is judged, if this multinuclear parallel program is made up of a process, execution step 3; If being formed by multiple task parallelisms of this multinuclear parallel program, execution step 4;
Step 3, the CCM model forming for one process make an explanation, invocation step 5 is once explained one process, after completing one process once being explained, whether the execution body that judges new process is empty, if the execution body of new process is not empty, judge whether the time ordered interval expression formula of new process is empty, if the time ordered interval expression formula of new process is not empty, construct new cylinder computation model for new process, continue execution step 3; If time ordered interval expression formula is empty, the statement that new process is carried out in body is carried out as common MSVL program, deletes new process, and a complete interpretation process of one process completes, and then performs step 7; If the execution body of process is empty, no matter whether the time ordered interval expression formula of process is empty, all deletes new process, and a complete interpretation process of one process completes, execution step 7;
Step 4, multiple concurrent processes of cylinder computation model are made an explanation, utilize the parallel projection method in MSVL, control the concurrent execution on time ordered interval separately of multiple parallel processes, for the multinuclear parallel program being formed by multiple processes, respectively each one process once to be explained, the once explanation of one process all performs step 5, when all processes all complete after once explanation, could continue, all task parallelisms advance, instead of say complete interpretation process successively.The execution body that judges whether all new processes is sky, if the execution body of all new processes is all empty, deletes all new processes, execution step 7; If exist the execution body of process not for empty, deleting and carrying out body is empty process, to carrying out body not for the time ordered interval expression formula of empty process judges, if the time ordered interval expression formula of process is empty, the statement that new process is carried out in body is carried out as common MSVL program, deletes new process, if the time ordered interval expression formula of process is not empty, be the new process structure cylinder computation model generating in step 6, return to execution step 2;
Step 5, the individual process of multinuclear parallel program is once explained, the execution body of process is carried out on the time ordered interval state of oneself, first the structure of one process is judged, one process includes labyrinth and simple structure, if process is labyrinth, so this process is carried out to recursive structure conversion, be converted to a simple structure, then perform step 6; If process is simple structure, directly perform step 6;
Step 6, once explain for simple structure process, the execution body of simple structure process is carried out on the time ordered interval state of oneself, and an interpretation process of simple structure process comprises: first, process is carried out to body and make an explanation, then, time ordered interval expression formula is made an explanation, the execution body of process is divided into current state collection of programs and NextState collection of programs in current state, explanation in current state to execution body, refer to the statement of carrying out in current state collection of programs, implementation effect is reflected in the renewal of program variable and the change of cylinder computation model, to the explanation of time ordered interval expression formula, in order to control the lasting time ordered interval granularity of this implementation effect, then, execution body using the statement in NextState collection of programs as new process, time ordered interval expression formula after explaining is as the time ordered interval expression formula of new process, construct a new process and replace existing process, change time sequence status simultaneously, jump to next time sequence status from current time sequence status, occurring on these state points of redirect, time sequence status spot projection on main time interval is to the time ordered interval of process, process completes and communicates by letter with main time interval on this time sequence status point, complete the once explanation of simple structure process, also complete the once explanation to one process, step 6 finishes,
Step 7, whole calculation process finish.
The present invention has defined the syntax and semantics of multinuclear parallel program, for describing the concurrent execution of one or more processes, is multinuclear parallel program structure cylinder computation model; Basic time ordered interval expression formula has been expanded to arithmetic expression and temporal expression by the present invention, makes descriptive power stronger, more accurate to the control of process; The present invention makes an explanation to the cylinder computation model of process, the explanation of process is comprised for process and carries out the explanation of body and the explanation for time ordered interval expression formula, utilize the concurrent execution of each concurrent process of parallel projection method control in MSVL, can on the state point in the time that each process is once explained end, communicate with controlling each concurrent program.
This method has been constructed the CCM::=φ ovl|CCM of multinuclear parallel program
1|| | CCM
2structure, is more suitable for multinuclear programming.The invention provides a kind of semantic abstraction model based on shared variable and the programming language for multinuclear programming.The basic operation of time ordered interval expression formula has been expanded to regular expression by the present invention, and add definite number of times repetitive operation, simultaneously, the form of basic time ordered interval expression formula has been expanded to positive integer by the present invention, the value of variable on different time sequence status, the arithmetic operation results of function return value and basic time ordered interval expression formula.The present invention has completed for the definition of a multinuclear parallel program and description, not only can describe shared object, also can write multi-process concurrent program in a kind of convenient controlled mode simultaneously, and it is carried out to emulation, modeling and checking.
Embodiment 2
MSVL cylinder computing method based on arithmetic expression are with embodiment 1, step 6 is once to explain for simple structure process, the execution body of simple structure process is carried out on the time ordered interval state of oneself, with reference to Fig. 3, an interpretation process of single structure process comprises: first, process is carried out to body and make an explanation, then, time ordered interval expression formula is made an explanation, then by interval granularity of explanation effect duration of time ordered interval expression formula explanation results control process.
First, the execution body of process is made an explanation.For each process, it is by the time ordered interval expression formula control of this process that process is carried out the executing state of each statement in body.Each process is carried out definition and execution and the existing MSVL program compatibility mutually of the program in body, and it can be divided into the set of current state statement and the set of NextState statement in current state, and the form of Definition of process execution body is as follows:
φ=present_φ∧next(remain_φ)
Wherein, present_ φ represents current state collection of programs, and remain_ φ represents NextState collection of programs.Statement in present_ φ is carried out on current time sequence status, and its effect is reflected in the renewal of program variable value and the change of cylinder computation model, and in present_ φ, the execution of statement is limited to the explanation results of the time ordered interval expression formula of this process.If remain_ φ is not empty, the statement in remain_ φ set will be carried out at NextState so.
Then, time ordered interval expression formula is made an explanation, obtain an orderly final state list collection, the execution time sequence spacing granularity of statement in this list collection control current state collection of programs.Concrete refers to for multi-form time ordered interval expression formula, by first basic time ordered interval expression formula component extraction of time ordered interval expression formula out, this basic time ordered interval expression formula is made an explanation, retain remaining part as the time ordered interval expression formula after explaining, in the process of once explaining of simple structure process, after the execution body of process and the time ordered interval expression formula of process are carried out and finished, the time ordered interval expression formula after explaining is as the time ordered interval expression formula of new process.The explanation of the present invention to basic time ordered interval expression formula:
If basic time ordered interval expression formula e is nonnegative integer n, n returns as explanation results;
If basic time ordered interval expression formula e is variable x, direct query token table, value the returning results as explanation using x in current state;
If basic time ordered interval expression formula e is Ox, direct query token table, value the returning results as explanation using x at NextState;
If basic time ordered interval expression formula e is Θ x, direct query token table, value the returning results as explanation using x in previous state;
If basic time ordered interval expression formula e is function, the rreturn value of this function is returned as the explanation results of basic time ordered interval expression formula;
If basic time ordered interval expression formula e is two basic time ordered interval expression formula e
0and e
1the expression formula that counts, so first explain e
0and e
1obtain its value, then this value is carried out to arithmetical operation, operation result returns as explanation results.
For the explanation of basic time ordered interval expression formula, explanation results must be all a nonnegative integer.Basic time ordered interval expression formula has been expanded to temporal expression and arithmetic expression by the present invention, compatible mutually for interpretation procedure and the existing MSVL formalization method of temporal expression and arithmetic expression.
The present invention extracts first component control process of time ordered interval expression formula and carries out the lasting time sequence status granularity of body explanation effect, realizes the control of process being carried out to the implementation effect of body.
Finally, the lasting time ordered interval granularity of implementation effect of statement in body current state collection of programs is carried out in the control of time ordered interval expression formula explanation results, will the abbreviation result of basic time ordered interval expression formula e be denoted as to n, controls as follows effect:
If n is not nonnegative integer, sequential interval table reaches the semantic clash method of formula, stops explaining prompting mistake;
If n is nonnegative integer, the effect that the statement in the set of current state statement is carried out so starts to continue n time sequence status from current state, the time ordered interval granularity that length is n, and then the statement in current state collection of programs is carried out and is finished.
The present invention is in a kind of accurately controlled mode, cylinder computation model for a process structure in multinuclear parallel program makes an explanation, for the explanation of the execution body of process, method is compatible mutually with the interpretation procedure in existing MSVL language, for the time ordered interval expression formula of expansion and the basic time ordered interval expression formula of expansion, this method has also provided detailed complete interpretation procedure, the present invention has provided the method for the time ordered interval granularity of time ordered interval expression formula explanation results control process simultaneously, has operability.Based on said method, the cylinder computation model that process is made an explanation and constructed, thus providing the emulation for this process, modeling and the result, make the execution of process more controlled for the description restriction of process, accurately, is easy to describe.
Embodiment 3
MSVL cylinder computing method based on arithmetic expression are with embodiment 1-2, referring to Fig. 2, labyrinth process of the present invention refers to and in time ordered interval expression formula, contains exclusive disjunction, closure operation, or process is carried out and is contained in body or the process of operational character (or), carry out structure conversion for labyrinth, refer to the equivalence transformation of first process being carried out recurrence, be converted into the CCM model being formed by simple structure process; Equivalence transformation is carried out according to following rule:
L1.φov(l
1+l
2)≡(φovl
1)or(φovl
2)
L3.(φ
1orφ
2)ov(l)≡(φ
1ovl)or(φ
2ovl)
Wherein or is existing a kind of operational character in MSVL, and the simplifying method of this operational character is that one of two detached processes selecting or connection are carried out abbreviation.Above-mentioned labyrinth process can abbreviation be always two simple structure processes, and then in these two simple structure processes, optional one is carried out, and has ensured the consistance of whole method.
The present invention is for the time ordered interval expression formula of expansion, provide the interpretation procedure of a cover system, for the time ordered interval expression formula expanding or the operation of operation and closure, provide concrete effectively structure conversion method, be the model of simple structure process composition by labyrinth process switch, after structure conversion, the cylinder computation model of structure is compatible mutually with existing MSVL model.The present invention has accurately strictly completed the modeling to labyrinth process, and the cylinder computation model based on labyrinth process is provided to complete emulation, and modeling and the result have been expanded descriptive power and the range of application of MSVL model.
Embodiment 4
MSVL cylinder computing method based on arithmetic expression are with embodiment 1-3, the present invention is directed to the multinuclear parallel program of multi-process composition, utilize the parallel projection method in MSVL, control the concurrent execution on time ordered interval separately of multiple parallel processes: for parallel process, different processes is executed in parallel on time ordered interval separately, main time interval is defined as the time interval that high density unit subsequence that one is 1 by length forms, and each process is carried out between the coarseness projection in zone of oneself with the speed of oneself, the time interval of process and main time interval walk abreast.Once explain in each process on the state point of end, the state point on main time interval can project on the time ordered interval of process, and each process is carried out alternately with other processes on subpoint, shared resource.
The present invention utilizes carrying out on the time ordered interval of oneself of each concurrent process of parallel projection method control in MSVL, and each parallel process communicates on some specific time sequence state, increase the independence that concurrent process is carried out, reduced the resource consumption of interprocess communication.Parallel projection method has ensured that in parallel multi-core program, each subprocess is carried out independently on time ordered interval separately, obtains the cylinder computation model of parallel multi-core program, thereby has completed emulation, modeling and the checking of multinuclear parallel program.
Embodiment 5
The present invention or a kind of MSVL cylinder computing system based on arithmetic expression are the computing systems that exploitation expands on the basis of the MSVL cylinder computing method based on arithmetic expression.
With reference to Fig. 4, the MSVL cylinder computing system based on arithmetic expression includes morphology syntactic definition module, interpretation of programs module, morphology syntactic definition module has specified the grammer of MSVL program, generate MSVL model, interpretation of programs module makes an explanation to the MSVL model generating, and obtains explanation results.Native system also includes time ordered interval definition module, in morphology syntactic definition module, include cylinder and calculate the legal foster son's module of word French, time ordered interval definition module is in cylinder and calculates in the legal foster son's module of word French, and the state of mind interval of the execution body of time ordered interval expression formula definition module to different processes in multinuclear parallel program is described and modeling.Calculated the grammer of the legal foster son's module definition of word French multinuclear parallel program by cylinder, specify a multinuclear parallel program or formed by an one process, or formed by multiple parallel one process, an one process includes the execution body of process and the time ordered interval expression formula of process; It is multinuclear parallel program structure cylinder computation model that cylinder calculates the legal foster son's module of word French.Time ordered interval definition module, has defined morphology and the grammer of process time ordered interval expression formula; In interpretation of programs module, comprise process explanation module, the time ordered interval expression formula of process explanation module based on process carried out emulation and modeling to the execution body of this process.Process explanation module is provided with: labyrinth abbreviation module and simple structure explanation module.Calculate for cylinder the cylinder computation model that the legal foster son's module of word French generates, first with process explanation module, it is distinguished, if labyrinth, first utilize labyrinth abbreviation module to carry out abbreviation to its structure, recycling simple structure explanation module makes an explanation to it, if simple structure directly utilizes simple structure explanation module to make an explanation to it.Simple structure explanation module is provided with: carry out body explanation module and time ordered interval expression formula explanation module.It is by the time ordered interval expression formula control of process that process is carried out the execution of body.For the explanation of the parallel form of multi-process, call parallel projection module, participate in the parallel interpretation of multi-process.
Cylinder has calculated word French legal foster son's module definition morphology form and the grammatical form of multinuclear parallel program design, time ordered interval definition module is described and modeling the time ordered interval that in concurrent program system, different processes are carried out, the time ordered interval of process explanation module based on process makes an explanation and modeling to different processes, each concurrent process of parallel projection module controls is carried out on time ordered interval separately, increase the independence between concurrent process, parallel process is concurrent execution on time ordered interval separately, on some specific time sequence status, carry out mutual, reduce the resource consumption of interprocess communication.
The present invention has realized a kind of MSVL cylinder computing system based on arithmetic expression, MSVL is possessed for multinuclear parallel program design system and carry out emulation, the function of modeling and checking.The present invention is incorporated into the cylinder computing method of expansion in MSVL, description and the ability to express of the time ordered interval expression formula of process are strengthened, strengthened the emulation of MSVL for multinuclear concurrent program design system, modeling and authentication function, can be widely used in modeling and the checking of concurrent program system.
Embodiment 6
MSVL cylinder computing system based on arithmetic expression is with embodiment 5, and the MSVL cylinder computing method based on arithmetic expression are with embodiment 1-4, and with reference to Fig. 5, simple process explanation module is provided with: carry out body explanation module and time ordered interval expression formula explanation module.Carry out body explanation module and be responsible for the execution body of process to make an explanation, time ordered interval explanation module is responsible for the time ordered interval sequential of this process to make an explanation.For the once explanation of a process, first be to carry out this process by execution body explanation module to carry out the program in the current state collection of programs of body, the method of carrying out is compatible mutually with the manner of execution in existing MSVL interpreter, the effect of carrying out is reflected in the renewal of model and variable, process carry out the current state program of body complete after, explain immediately current time ordered interval expression formula, arithmetic expression for nested definition in time ordered interval expression formula calculates, obtain the value of first basic time ordered interval expression formula of time ordered interval expression formula, control the lasting time ordered interval status number of this implementation effect of execution body of process with this.Then the execution body using the program in NextState collection of programs as new process, time ordered interval expression formula after abbreviation is as the time ordered interval expression formula of new process, continues next time abbreviation until the execution body of new process is that sky or time ordered interval expression formula are for empty.
Embodiment 7
MSVL cylinder computing system based on arithmetic expression is with embodiment 5-6, and the MSVL cylinder computing method based on arithmetic expression are with embodiment 1-4.
With reference to Fig. 5, utilize the cylinder computing system based on the expression formula that counts to carry out emulation, modeling to the MERGING/SORTING ALGORITHM of 8 numbers.
In first time sequence, 8 numerals are divided into four groups successively, every group of two numerals, sort to two numerals of every group.Because in each group two digital sequences be logic independently, therefore executed in parallel in four processes respectively, defines four process p1, p2, p3, p4, completes respectively the 1st, 2 successively, 3,4 group's numeric sortings are concurrent carrying out for the sequence of the 1st to 4 groups;
In second time sequence, the 1st group and the 2nd group that complete sequence are carried out to the 1st large group of merge sort formation, the 3rd group and the 4th group that complete sequence are carried out to the 2nd large group of merge sort formation simultaneously, between this twice merger process, be also logic independently, therefore the 1st group and the 2nd group are carried out to the process that merge sort forms the 1st large group completes in process p1, the 3rd group and the 4th group are carried out to the process that merge sort forms the 2nd large group and in process p2, complete, the process of these two merges sort is concurrent carrying out also;
Finally, two large group of completing second time merger carried out to merge sort again, this process is carried out in process p1.
With reference to Fig. 5, in figure, the main time interval that the high density unit subsequence that is 1 by length of cylindrical axis representative forms, in first time sequence, process p3 and p4 carry out respectively the sequence of the 3rd and the 4th group, complete after these two groups sequences, s6 on main shaft projects to respectively on the time ordered interval of p3 and p4, and p3 completes and communicates by letter with main shaft respectively with p4 on the subpoint of oneself, and the time ordered interval granularity of p3 and p4 is all 2; Process p3 and process p4 finish;
First process p2 is responsible for the sequence of the 2nd group in first time sequence, and the s6 after group's sequence on main shaft projects on the time ordered interval of p2, and on this subpoint, p2 and main shaft communicate, and the time ordered interval granularity of p2 is all 2; Then the 3rd group and the 4th group are carried out the 2nd large group of merge sort formation by p2, and after the 2nd large group forms, the s36 on main shaft projects on the time ordered interval of p2, and on this subpoint, p2 and main shaft communicate, and the time ordered interval granularity of p2 is all 30.Process p2 finishes;
First process p1 is responsible for the sequence of the 1st group in first time sequence, and the s6 after group's sequence on main shaft projects on the time ordered interval of p1, and on this subpoint, p1 and main shaft communicate, and the time ordered interval granularity of p1 is all 2; Then the 1st group and the 2nd group are carried out the 1st large group of merge sort formation by p1, and after the 1st large group forms, the s36 on main shaft projects on the time ordered interval of p1, and on this subpoint, p1 and main shaft communicate, and the time ordered interval granularity of p1 is all 30.Finally, provide ranking results thereby p1 carries out merge sort by two large group, after this merge sort finishes, the s98 on main shaft projects on the time ordered interval of p1, and on this subpoint, p1 and main shaft communicate, and process p1 finishes; Whole EOP (end of program).
For one process program, need to first carry out the sequence of the first Tang Zhongsige group, then carry out successively the merge sort of the second merger Cheng Liangge group of Tang Zhongsige group, finally could carry out merger to two large group.And in multinuclear parallel program, in logic separate program can be in different processes concurrent execution, then different processes is communicated by letter on specified point, thereby has saved time and resource.
To sum up, the present invention has defined multinuclear parallel program syntax and semantics, describes the concurrent execution of one or more processes, structure cylinder computation model.Basic time ordered interval expression formula is expanded to arithmetic expression and temporal expression, and descriptive power strengthens, more accurate to process control; The present invention comprises for process and carries out the explanation of body and the explanation for time ordered interval expression formula the explanation of process, the lasting time ordered interval granularity of implementation effect of the time ordered interval expression formula control process execution body of process; Utilize MSVL parallel projection method to participate in the parallel interpretation of multiple processes, control each concurrent program and once explain communication on done state point in each process.
MSVL cylinder computing method and system based on arithmetic expression that the present invention proposes, MSVL is possessed for multinuclear parallel program design system and carry out emulation, the function of modeling and checking, and the basic representation of the expression formula of time ordered interval is expanded to arithmetic expression and temporal expression from integer, can more flexible and efficiently describe exactly the sequence of intervals that process is carried out.Because a concurrent program is made up of multiple processes, and each process is an ordered program that has own local variable and statement, the difficulty of therefore processing concurrent program is far longer than processes single ordered program.And existing MSVL is in concurrent program is processed, time ordered interval description and control section for single subprocess are still a weak link, the present invention is incorporated into the cylinder computing method based on arithmetic expression in MSVL, description and the ability to express of the time ordered interval expression formula of process are strengthened, increase the emulation of MSVL for multinuclear concurrent program design system, modeling and authentication function, not only can describe shared object, also can write multinuclear parallel program in convenient controlled mode.
Claims (8)
1. the MSVL cylinder computing method based on arithmetic expression, MSVL program process module is carried out to emulation, modeling and checking, it is characterized in that: definition multinuclear parallel program grammer, based on a multinuclear parallel program of this multinuclear parallel program grammer statement, processes different in this program are carried out on time ordered interval separately, this execution is by the time ordered interval expression formula control of process, the time ordered interval of process and main time interval are parallel, and the time ordered interval of each process forms a cylinder computation model around main time interval concurrently; MSVL cylinder calculation process based on arithmetic expression includes:
Step 1, definition multinuclear parallel program grammer, multinuclear parallel program or by a process, i.e. one process composition, or formed by multiple parallel processes, form by multiple one process are parallel; The syntactic definition of multinuclear parallel program is:
CCM::=Single_Progress|CCM
1|||CCM
2
Wherein, CCM is multinuclear parallel program, || | be the key word that connects different concurrent processes, Single_Progress is individual process, CCM
1and CCM
2for two mutually parallel multinuclear parallel programs;
A process comprises process execution body and process time ordered interval expression formula two parts, and the syntactic definition of one process is:
Single_Progress::=φov?l
Wherein, φ has defined the execution body of process, and l is that control process is carried out the time ordered interval expression formula that body φ carries out, and ov is the key word that connection process is carried out body and time ordered interval expression formula;
The syntactic definition of multiple concurrent processes is CCM
1|| | CCM
2, at least comprise two parallel one process;
State a multinuclear parallel program, and construct cylinder computation model, be i.e. formalized model, execution step 2;
Step 2, legal multinuclear parallel program is judged, if this multinuclear parallel program is made up of a process, execution step 3; If being formed by multiple task parallelisms of this multinuclear parallel program, execution step 4;
Step 3, the parallel multi-core program forming for one process make an explanation, invocation step 5 is once explained one process, after completing one process once being explained, whether the execution body that judges new process is empty, if the execution body of new process is not empty, judge whether the time ordered interval expression formula of new process is empty, if the time ordered interval expression formula of new process is not empty, construct new cylinder computation model for new process, continue execution step 3; If time ordered interval expression formula is empty, the statement that new process is carried out in body is carried out as common MSVL program, deletes new process, and a complete interpretation process of one process completes, and then performs step 7; If the execution body of process is empty, delete new process, a complete interpretation process of one process completes, execution step 7;
Step 4, multiple concurrent processes of cylinder computation model are made an explanation, utilize the parallel projection method in MSVL, control the concurrent execution on time ordered interval separately of multiple parallel processes, for the multinuclear parallel program being formed by multiple processes, respectively each one process is once explained, the once explanation of one process all performs step 5, when all processes all complete after once explanation, could continue, the execution body that judges whether all new processes is sky, if the execution body of all new processes is all empty, delete all new processes, execution step 7; If exist the execution body of process not for empty, first deleting and carrying out body is empty process, then be not that sky and time ordered interval expression formula are empty new process for carrying out body, the statement of being carried out in body is carried out as common MSVL program, delete new process, be not that sky and time ordered interval expression formula are not constructed cylinder computation model for empty new process for carrying out body, return to execution step 2;
Step 5, the individual process of multinuclear parallel program is once explained, the execution body of process is carried out on the time ordered interval state of oneself, first the structure of one process is judged, one process includes labyrinth and simple structure, if process is labyrinth, so this process is carried out to recursive structure conversion, be converted to a simple structure, then perform step 6; If process is simple structure, directly perform step 6;
Step 6, once explain for simple structure process, the execution body of simple structure process is carried out on the time ordered interval state of oneself, and an interpretation process of simple structure process comprises: first, process is carried out to body and make an explanation, then, time ordered interval expression formula is made an explanation, the execution body of process is divided into current state collection of programs and NextState collection of programs in current state, explanation in current state to execution body, refer to the statement of carrying out in current state collection of programs, implementation effect is reflected in the renewal of program variable and the change of cylinder computation model, to the explanation of time ordered interval expression formula, in order to control the lasting time ordered interval granularity of this implementation effect, then, execution body using the statement in NextState collection of programs as new process, time ordered interval expression formula after explaining is as the time ordered interval expression formula of new process, construct a new process and replace existing process, change time sequence status simultaneously, jump to next time sequence status from current time sequence status, occurring on these state points of redirect, time sequence status spot projection on main time interval is to the time ordered interval of process, process completes and communicates by letter with main time interval on this time sequence status point, complete the once explanation of simple structure process, also complete the once explanation to one process, step 6 finishes,
Step 7, whole calculation process finish.
2. the MSVL cylinder computing method based on arithmetic expression according to claim 1, is characterized in that: the syntactic definition of the time ordered interval expression formula described in step 1 is:
Wherein, l represents time ordered interval expression formula,
represent null set, e represents basic time ordered interval expression formula, l
1, l
2represent the concatenation operation of time sequence spacing expression formula, l
1+ l
2represent the exclusive disjunction of time sequence spacing expression formula, l
*represent the closure operation of time ordered interval expression formula, l
nrepresent definite number of times repetitive operation of time ordered interval expression formula, n is nonnegative integer.
3. the MSVL cylinder computing method based on arithmetic expression according to claim 2, is characterized in that: the syntactic definition of basic time ordered interval expression formula is:
e::=n|x|Ox|Θx|function|e
0op?e
1
op::=+|-|×|mod
N represents positive integer, and x represents the value of variable x in current state, and Ox represents the value of variable x at NextState, and Θ x represents the value of variable x in previous state, function representative function rreturn value, e
0op e
1represent two basic time ordered interval expression formula e
0and e
1the value obtaining through arithmetical operation, op represents basic time ordered interval expression formula e
0and e
1the arithmetic operator that can carry out, comprises addition, subtraction, and multiplication and modulo operation, the value after semantic legal basic time ordered interval expression formula e abbreviation is nonnegative integer.
4. the MSVL cylinder computing method based on arithmetic expression according to claim 3, it is characterized in that: described in step 6, time ordered interval expression formula being made an explanation is: for multi-form time ordered interval expression formula, extract first basic time ordered interval expression formula of time ordered interval expression formula, this basic time ordered interval expression formula is made an explanation, retain remaining part as the time ordered interval expression formula after explaining, the wherein explanation to basic time ordered interval expression formula:
If basic time ordered interval expression formula e is nonnegative integer n, n returns as explanation results;
If basic time ordered interval expression formula e is variable x, direct query token table, value the returning results as explanation using x in current state;
If basic time ordered interval expression formula e is Ox, direct query token table, value the returning results as explanation using x at NextState;
If basic time ordered interval expression formula e is Θ x, direct query token table, value the returning results as explanation using x in previous state;
If basic time ordered interval expression formula e is function, that the rreturn value of this function is explained as basic time ordered interval expression formula returns results;
If basic time ordered interval expression formula e is two basic time ordered interval expression formula e
0and e
1the expression formula that counts, first explain e
0and e
1obtain its value, then it is carried out to arithmetic operator, the result obtaining is returned as explanation results;
For the abbreviation of basic time ordered interval expression formula, abbreviation result must be all a nonnegative integer.
5. the MSVL cylinder computing method based on arithmetic expression according to claim 4, it is characterized in that: the lasting time ordered interval granularity of implementation effect of statement in body current state collection of programs is carried out in the explanation results control of the expression formula of time ordered interval described in step 6, be that the abbreviation result of basic time ordered interval expression formula e is denoted as to n, control as follows effect:
If n is not nonnegative integer, stop explaining prompting mistake;
If n is nonnegative integer, the effect that in the set of current state statement, statement is carried out so starts to continue n time sequence status from current state, the time ordered interval granularity that length is n, and the statement in current state collection of programs is carried out and is finished.
6. the MSVL cylinder computing method based on arithmetic expression according to claim 5, it is characterized in that: the labyrinth process described in step 5 refers to and in time ordered interval expression formula, contains exclusive disjunction or closure operation, or process is carried out and is contained in body or the process of operational character (or), wherein said structure conversion, refer to first process is carried out to equivalence transformation, be converted into the CCM model being formed by simple structure process.
7. the MSVL cylinder computing system based on arithmetic expression, include morphology syntactic definition module, interpretation of programs module, morphology syntactic definition module has specified the grammer of MSVL program, generate cylinder computation model, interpretation of programs module makes an explanation to the cylinder computation model generating, obtain explanation results, it is characterized in that: the MSVL cylinder computing system based on arithmetic expression also includes time ordered interval definition module, in morphology syntactic definition module, include cylinder and calculate the legal foster son's module of word French, time ordered interval definition module is in cylinder and calculates in the legal foster son's module of word French, calculated the grammer of the legal foster son's module definition of word French multinuclear parallel program by cylinder, and be multinuclear parallel program structure cylinder computation model, time ordered interval definition module, morphology and the grammer of definition process time ordered interval expression formula, in interpretation of programs module, comprise process explanation module, process explanation module is provided with: labyrinth abbreviation module and simple structure explanation module, process explanation module makes an explanation to the cylinder computation model of process, generate new cylinder computation model, provide emulation and modeling result based on cylinder computation model, for the explanation of multiple task parallelism forms, call parallel projection module, participate in the parallel interpretation of multiple processes.
8. the MSVL cylinder computing system based on arithmetic expression according to claim 7, it is characterized in that: simple structure explanation module is provided with: carry out body explanation module and time ordered interval expression formula explanation module, the execution that process is carried out body is by the time ordered interval expression formula control of process.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210038404.0A CN102646053B (en) | 2012-02-20 | 2012-02-20 | Method and system for cylindrical surface calculation based on modeling simulation verification language (MSVL) of arithmetic expression |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210038404.0A CN102646053B (en) | 2012-02-20 | 2012-02-20 | Method and system for cylindrical surface calculation based on modeling simulation verification language (MSVL) of arithmetic expression |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102646053A CN102646053A (en) | 2012-08-22 |
CN102646053B true CN102646053B (en) | 2014-08-20 |
Family
ID=46658882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210038404.0A Active CN102646053B (en) | 2012-02-20 | 2012-02-20 | Method and system for cylindrical surface calculation based on modeling simulation verification language (MSVL) of arithmetic expression |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102646053B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104731582B (en) * | 2015-02-13 | 2018-01-02 | 西安电子科技大学 | A kind of social networking system modeling and privacy policy Property Verification method based on MSVL |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2293900B (en) * | 1994-10-03 | 2000-01-19 | Univ Westminster | Data processing method and apparatus for parallel discrete event simulation |
JP2003308219A (en) * | 2002-04-18 | 2003-10-31 | Nec Soft Ltd | Exclusive control system |
CN101694628B (en) * | 2009-10-21 | 2012-07-04 | 中国人民解放军国防科学技术大学 | Parallel computer system performance simulation method by combining serial simulation and parallel simulation |
CN102103519A (en) * | 2009-12-21 | 2011-06-22 | 同济大学 | Method for optimizing Web service execution based on scripts |
-
2012
- 2012-02-20 CN CN201210038404.0A patent/CN102646053B/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN102646053A (en) | 2012-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
De Moura et al. | Satisfiability modulo theories: An appetizer | |
Marques-Silva et al. | On improving MUS extraction algorithms | |
Torlak | A constraint solver for software engineering: finding models and cores of large relational specifications | |
Narodytska et al. | Core-guided minimal correction set and core enumeration | |
Tulsian et al. | MUX: algorithm selection for software model checkers | |
CN106371887A (en) | System and method for MSVL compiling | |
Doan et al. | Verifying heterogeneous multi-agent programs | |
Gupta et al. | Extensional crisis and proving identity | |
CN104216703A (en) | Development method of embedded software system program | |
Hu et al. | Equivalence checking of scheduling in high-level synthesis using deep state sequences | |
Chen | Building a hybrid SAT solver via conflict-driven, look-ahead and XOR reasoning techniques | |
Bandyopadhyay et al. | A path construction algorithm for translation validation using PRES+ models | |
CN102646053B (en) | Method and system for cylindrical surface calculation based on modeling simulation verification language (MSVL) of arithmetic expression | |
Woodcock | Engineering UToPiA: formal semantics for CML | |
Chukharev et al. | FbSAT: Automatic inference of minimal finite-state models of function blocks using SAT solver | |
McCabe-Dansted et al. | A parallel linear temporal logic tableau | |
Lin et al. | Counterexample-guided assume-guarantee synthesis through learning | |
Nguyen et al. | A model checking framework for hierarchical systems | |
De Moura et al. | Bugs, moles and skeletons: Symbolic reasoning for software development | |
Samuel et al. | Hydroflow: A Model and Runtime for Distributed Systems Programming | |
CN109766268B (en) | A kind of sequence assembly instruction program verification method and system | |
Prokesch et al. | Towards automated generation of time-predictable code | |
Wieringa et al. | Asynchronous multi-core incremental SAT solving | |
Börger | The abstract state machines method for modular design and analysis of programming languages | |
Silva et al. | Computer Aided Verification: 33rd International Conference, CAV 2021, Virtual Event, July 20–23, 2021, Proceedings, Part II |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |