US 11,055,451 B2
System and methods for multi-language abstract model creation for digital environment simulations
Jason Crabtree, Vienna, VA (US); and Andrew Sellers, Monument, CO (US)
Assigned to QOMPLX, Inc., Tysons, VA (US)
Filed by QOMPLX, Inc., Tysons, VA (US)
Filed on Dec. 7, 2017, as Appl. No. 15/835,312.
Application 15/835,312 is a continuation in part of application No. 15/186,453, filed on Jun. 18, 2016.
Application 15/186,453 is a continuation in part of application No. 15/166,158, filed on May 26, 2016.
Application 15/166,158 is a continuation in part of application No. 15/141,752, filed on Apr. 28, 2016, granted, now 10,860,962.
Application 15/141,752 is a continuation in part of application No. 15/091,563, filed on Apr. 5, 2016, granted, now 10,204,147.
Application 15/091,563 is a continuation in part of application No. 14/986,536, filed on Dec. 31, 2015, granted, now 10,210,255.
Application 14/986,536 is a continuation in part of application No. 14/925,974, filed on Oct. 28, 2015, abandoned.
Prior Publication US 2018/0196899 A1, Jul. 12, 2018
Int. Cl. G06F 9/448 (2018.01); G06F 30/20 (2020.01); H04L 29/08 (2006.01); G06N 7/00 (2006.01); G06F 8/10 (2018.01); G06Q 10/06 (2012.01); G06N 5/00 (2006.01)
CPC G06F 30/20 (2020.01) [G06F 8/10 (2013.01); G06F 9/448 (2018.02); G06N 7/005 (2013.01); G06Q 10/0637 (2013.01); H04L 67/02 (2013.01); G06N 5/003 (2013.01)] 10 Claims
OG exemplary drawing
 
1. A system for abstract meta-model simulation creation and execution, comprising:
a computing device comprising a memory, a processor, a non-volatile data storage device, and a display device;
a domain-specific simulation model based on domain specific language stored in the non-volatile data storage device, the domain-specific simulation model comprising actors, objects, and events, and a plurality of behaviors of the actors, the objects, and the events within a specific application domain;
a probabilistic behavior interpreter comprising first plurality of programming instructions stored in the memory and operating on the processor, wherein the first plurality of programming instructions, when operating on the processor, cause the computing device to:
retrieve the domain-specific simulation model from the non-volatile data storage device;
calculate probabilistic behavior results based on the behaviors of the actors, objects, and events of the domain-specific simulation model, wherein the probabilistic behavior results include environment interactions, specific behaviors and outcomes of the specific behaviors;
store the probabilistic behavior results as a behavior tree model in the non-volatile data storage device;
a meta-model constructor comprising second plurality of programming instructions stored in the memory and operating on the processor, wherein the second plurality of programming instructions, when operating on the processor, cause the computing device to:
retrieve the domain-specific simulation model from the non-volatile data storage device;
retrieve the behavior tree model from the non-volatile data storage device;
create a meta-model specification from the domain-specific simulation model and the behavior tree model;
wherein the meta-model specification comprises a plurality of relationships between the domain-specific simulation model and a plurality of additional models outside the domain; and
wherein the domain-specific simulation model may itself be used as an object in the meta-model specification with or within other domain-specific simulations, thereby nesting simulations to achieve complex behaviors within a meta-model simulation;
a visual simulation model editor comprising third plurality of programming instructions stored in the memory and operating on the processor, wherein the third plurality of programming instructions, when operating on the processor, cause the computing device to:
retrieve the meta-model specification for the meta-model simulation;
graphically represent meta-model specification on a the display device;
receive a modification of the graphical representation of the meta-model specification using a graphical user interface; and
store the modified meta-model specification in the non-volatile data storage device;
a meta-model simulation execution environment comprising a fourth plurality of programming instructions stored in the memory and operating on the processor, wherein the fourth plurality of programming instructions, when operating on the processor, cause the computing device to:
retrieve the modified meta-model specification from the non-volatile data storage device; and
execute the meta-model simulation based on the modified meta-model specification; and
an internal heuristic comprising a fifth plurality of programming instructions stored in the memory and operating on the processor, wherein the fifth plurality of programming instructions, when operating on the processor, cause the computing device to:
receive data from the meta-model simulation when the meta-model simulation is being executed;
receive an input from a user when the user is connected to the meta-model simulation being executed as an active actor; and
alter the simulation environment of the meta model simulation being executed in response to the data from the meta-model simulation and the input from the user by parameterizing specific discrete objects, events, and actors in the received data of the meta-model simulation being executed;
wherein at least part of the input taken from the user represents parameters for objects, events, or actors within the meta-model simulation being executed, wherein the simulation environment alteration further include altering status of the specific discrete objects, events, and actors within the simulation environment to change the stored behaviors in the behavior trees or add new behaviors altogether.