Patent ID: 7464365

Claim:
A method for operating a specification of a system, comprising: storing a structure of the specification described in a system description language in a storage unit, the specification being composed of a plurality of behaviors; storing constraint information indicating a set of first execution order constraints each represented by an order relation of the behaviors and associated with the specification in the storage unit; converting the specification to another specification having a set of second execution order constraints equivalent to the set of first execution order constraints or having a set of third execution order constraints stronger than the set of first execution order constraints by referring to the constraint information of the storage unit; and moving contents of a predetermined portion of the specification in the structure of the specification to another portion in the structure thereof to change the structure of the specification while the contents of the specification are maintained, by subjecting a first thread of the specification to synchronization processing using a pair of start (x) and fork (x) and a pair of end (x) and join (x), (x represents an ID number), the pair of the start (x) and fork (x) having identical ID numbers being synchronously executed, and the pair of the end (x) and join (x) having identical ID numbers being synchronously executed, in communications to guarantee to execute sequentially the behaviors of the first thread of the specification according to an execution order, the moving including: determining whether or not contents of the predetermined portion in the structure of the specification are able to be moved based on a movability determination rule; displaying destination candidates on a display device when the moving is able to be performed; specifying one destination referring to the displayed destination candidates; calculating the another portion in the structure based on a movability portion calculation rule in response to the specifying of the one destination; correcting part of the specification to perform the movement based on a specification correction rule; and moving the contents of the predetermined portion to said another portion by: executing the pair of the fork (x) and the start (x), by executing the fork (x) in the first thread, wherein executing the fork (x) halts execution of the first thread and moves execution of a behavior in the first thread to a second thread, and executing the start (x) in a second thread, executing the behavior in the second thread, and after completion of the behavior in the second thread, executing the pair of the end (x) and the join (x), by executing the end (x) in the second thread and the join (x) in the first thread, wherein the execution of the join (x) restarts execution of the first thread to be able to further execute other behaviors in the first thread.