Automated approach to resolving artificial algebraic loops
AssigneeThe MathWorks, Inc.
InventorsPieter J. Mosterman, John Ciolfi
Life of this patent
Estimating the term…
Abstract
A method and apparatus for resolving artificial algebraic loops in model executions include providing a model of an executable process having a plurality of functions. An analysis step identifies whether the process includes at least one potential artificial algebraic loop. If at least one potential artificial algebraic loop exists in the process, an artificial algebraic loop solution manipulates the order or manner by which the functions are executed to eliminate or otherwise resolve the artificial algebraic loop.
Claims53
A computer-implemented method of resolving a potential artificial algebraic loop in a block diagram model execution performed in a modeling environment, the method comprising:
- obtaining, using a computer system, a block diagram model of an executable process having a plurality of functions, the block diagram representing a dynamic system;
- generating one or more functions of the plurality of functions of the executable process using code generation, in the computer system;
- identifying whether the block diagram model of the process includes a potential artificial algebraic loop;
- modifying a manner by which the plurality of functions forming the potential artificial algebraic loop execute in the computer system if the potential artificial algebraic loop exists in the block diagram model of the executable process, while maintaining an outcome of the potential artificial algebraic loop;
- and
- storing the outcome of the potential artificial algebraic loop in a storage device.
A computer-implemented method of resolving a potential artificial algebraic loop in a block diagram model execution performed in a modeling environment, the method comprising:
- obtaining, using a computer system, a block diagram model of an executable process having a plurality of functions, the block diagram model representing a dynamic system;
- inferring a plurality of characteristics of the block diagram model of the executable process in the computer system;
- identifying whether the block diagram model of the process includes a potential artificial algebraic loop;
- modifying a manner by which the plurality of functions forming the potential artificial algebraic loop execute in the computer system if the potential artificial algebraic loop exists, while maintaining an outcome of the potential artificial algebraic loop;
- and
- storing the outcome of the potential artificial algebraic loop in a storage device.
A computer system for identifying and resolving a potential artificial algebraic loop in a block diagram model of an executable process performed in a modeling environment, the computer system comprising:
- a processor for executing:
- an identification mechanism for identifying whether the block diagram model of the executable process includes the potential artificial algebraic loop, the block diagram model of the executable process comprising a plurality of functions, the block diagram representing a dynamic system;
- a code generation mechanism generating one or more functions of the plurality of functions;
- an artificial algebraic loop solver for resolving the potential artificial algebraic loop by modifying a manner by which the plurality of functions forming the potential artificial algebraic loop execute if the potential artificial algebraic loop exists, while maintaining an outcome of the potential artificial algebraic loop;
- and
- a storage device for storing the outcome of the potential artificial algebraic loop.
A computer system for identifying and resolving a potential artificial algebraic loop in a block diagram model of an executable process performed in a modeling environment, the computer system comprising:
- an identification mechanism for identifying whether the block diagram model of the executable process includes the potential artificial algebraic loop, the block diagram model of the executable process comprising a plurality of functions, a plurality of characteristics of the block diagram model being inferred, the block diagram representing a dynamic system;
- an artificial algebraic loop solver for resolving the potential artificial algebraic loop by modifying a manner by which the plurality of functions forming the potential artificial algebraic loop execute in the computer system if the potential artificial algebraic loop exists, while maintaining an outcome of the potential artificial algebraic loop;
- and
- a storage device for storing the outcome of the potential artificial algebraic loop.
A computer-readable medium storing instructions for resolving a potential artificial algebraic loop in a block diagram model execution performed in a modeling environment, the instructions when executed by a computer would cause the computer to:
- obtain, using a computer system, a block diagram model of an executable process having a plurality of functions, the block diagram representing a dynamic system;
- generate one or more functions of the plurality of functions of the executable process using code generation in the computer system;
- identify whether the block diagram model of the executable process includes a potential artificial algebraic loop;
- modify a manner by which the plurality of functions forming the potential artificial algebraic loop execute in the computer system if the potential artificial algebraic loop exists, while maintaining an outcome of the potential artificial algebraic loop;
- and
- store the outcome of the potential artificial algebraic loop solution in a storage device.
A computer-readable medium storing instructions for resolving a potential artificial algebraic loop in a model execution performed in a modeling environment, the instructions when executed by a computer would cause the computer to:
- obtain, using a computer system, a block diagram model of an executable process having a plurality of functions, the block diagram representing a dynamic system;
- infer a plurality of characteristics of the block diagram model of the executable process;
- identify whether the block diagram model of the process includes a potential artificial algebraic loop;
- modify a manner by which the plurality of functions forming the potential artificial algebraic loop execute in the computer system if the potential artificial algebraic loop exists, while maintaining an outcome of the potential artificial algebraic loop;
- and
- store the outcome of the potential artificial algebraic loop in a storage device.
A computer-readable medium storing instructions for resolving an artificial algebraic loop in a block diagram model execution performed in a modeling environment, the instructions when executed by a computer would cause the computer to:
- obtain, using a computer system, a block diagram model of an executable process having a plurality of functions, the block diagram representing a dynamic system;
- infer a plurality of characteristics of the block diagram model of the executable process;
- identify whether the block diagram model of the process includes an artificial algebraic loop;
- and
- modify a manner by which the plurality of functions forming the artificial algebraic loop execute in the computer system if the artificial algebraic loop exists, while maintaining an outcome of the artificial algebraic loop;
- and
- store the outcome of the artificial algebraic loop in a storage device.
Dependencies are inferred from the claim text.