发明名称 Method for just-in-time compilation and execution of code blocks within discrete event simulations
摘要 A method for a discrete event simulation model of a system utilizing a just-in-time compilation for one or more code blocks associated with an event in one or more discrete event simulation models is disclosed. The method comprises the steps of determining the event in a discrete event simulation model according to a kind of event, retrieving the code block associated with the event, compiling the code block into an object file using a compiler, linking the object file with a predetermined function in a simulation library, compiling the object file and the predetermined function into a customized dynamic link library, loading the customized dynamic link library (DLL) within a discrete event simulation program execution and linking the customized DLL to a simulation program. The method allows user entered logic to be executed in high speed by integrating a just-in-time compiler embedded into the simulation model to allow dynamic generation of high speed code blocks within one or more simulations.
申请公布号 US9098293(B2) 申请公布日期 2015.08.04
申请号 US201313841128 申请日期 2013.03.15
申请人 Bioproduction Group 发明人 Johnston Lenrick;King Quint
分类号 G06F9/445;G06F9/44;G06F9/455;G06F17/50;G06F9/45;G06F9/46 主分类号 G06F9/445
代理机构 Temmerman Law Office 代理人 Temmerman Law Office ;Temmerman Matthew J.
主权项 1. A method for integrating at least one code block associated with at least one event into at least one discrete event simulation model of a system such that calculations are placed inside said at least one event thereby extending the functionality of a discrete event simulator to include any type of functionality which a common memory and code can perform, the method comprising the steps of: (a) initializing a simulation program residing on a non-transitory computer readable storage medium and retrieving a first event having a kind k, wherein the first event is inputted by a user and stored in a data file; (b) loading the first event from said data file and passing said kind of the first event for subsequent processing and wherein for each said kind k, a custom section of code text is encapsulated inside a single function and compiled to a common memory to define the at least one code block, and wherein said custom section of code text comprises a set of user entered text that describes logic calculations to be performed as part of the kind of said first event; (c) receiving the kind of the first event and checking the necessity of just-in-time compilation of the first event of the kind, k; (d) compiling the first event if the just-in-time compilation is necessary and running the at least one code block; (e) performing a check to determine whether a simulation program is over; and (f) writing outputs by the simulation program if the simulation program is over or retrieving a next event and the kind of the event, k, from a future events list, advancing a clock variable to a time of the next event and repeating step (c) if the simulation program is not over; (g) wherein on subsequent events of same event of the kind, k, recompilation is not required, wherein the running of the code block includes execution of a plurality of calculations based on a plurality of inputs, and wherein the plurality of inputs comprise at least one standard library selected from the group consisting of math, statistical, logic, graphics and other programming language libraries common to compiled code.
地址 Berkeley CA US