The present application claims priority to India Patent Application No. 202021013527, filed before Indian Patent Office on Mar. 27, 2020. Entire contents of the aforementioned application are incorporated herein by reference.
The disclosure herein generally relates to Design of Experiments (DOE), and, more particularly, to a model driven sub-system for design and execution of experiments.
Design of Experiments (DOE) is a field of science which deals with planning, conducting, analyzing, and interpreting controlled tests to evaluate factors that control value of a parameter of a group of parameters. A system that performs the DOE need to be capable of analyzing data so as to understand relationship between a process and various parameters. For example, consider a task that involves multiple variables. Change in any or all of these variables result in change in any variables that are dependent on these variables, and in turn on final results/outputs generated. During the DOE of the task, such variables, dependency of one or more other variables, and so on are defined, such that an intended final result can be obtained.
However, most of the times the systems that originally generate or store the data may not be able to perform the data processing for the DOE. As a result, the data may have to be transferred to an external storage medium or one or more external systems having data processing capability to perform the DOE. Further, the external systems may have to be given rights to access the data, which may cause data security issues.
Embodiments of the present disclosure present technological improvements as solutions to one or more of the above-mentioned technical problems recognized by the inventors in conventional systems. For example, in one embodiment, a model driven sub-system for design and execution of experiments consisting of a digital workflow with one or more in-silico experiments in a model-driven system is provided. The model driven sub-system includes one or more hardware processors, one or more communication interfaces, and one or more memory storing a plurality of instructions. The plurality of instructions when executed cause the one or more hardware processors to define design of an experiment, and generate a result for the defined design of the experiment, by executing the design of the experiment. Defining the design of experiment includes selecting a system process for the experiment. Further, a functional model for the selected system process is created if the functional model does not already exist. Further, each functional parameter is mapped with corresponding ontology parameters. Further, a meta-design space is initialized for the functional model. Further, the experiment is created from the functional model, wherein a plurality of experiment parameters of the experiment conform to the functional parameters of the functional model. The experiment parameters are attached with the functional parameters, and then an input generator and a distribution generator are selected for the design of the experiment.
In another aspect, a processor implemented method for design and execution of experiments consisting of a digital workflow with one or more in-silico experiments in a model-driven system is provided. The method includes defining design of an experiment, and generating a result for the defined design of the experiment by executing the design of the experiment. Defining the design of experiment includes selecting a system process for the experiment. Further, a functional model for the selected system process is created if the functional model does not already exist. Further, each functional parameter is mapped with corresponding ontology parameters. Further, a meta-design space is initialized for the functional model. Further, the experiment is created from the functional model, wherein a plurality of experiment parameters of the experiment conform to the functional parameters of the functional model. The experiment parameters are attached with the functional parameters, and then an input generator and a distribution generator are selected for the design of the experiment.
The non-transitory computer readable medium initially defines design of an experiment via one or more hardware processors. The non-transitory computer readable medium further generates a result for the defined design of the experiment by executing the design of the experiment. Defining the design of experiment by the non-transitory computer readable medium involves the following steps: Initially a system process is selected for the experiment. Further, a functional model for the selected system process is created if the functional model does not already exist. Further, each functional parameter is mapped with corresponding ontology parameters. Further, a meta-design space is initialized for the functional model. Further, the experiment is created from the functional model, wherein a plurality of experiment parameters of the experiment conform to the functional parameters of the functional model. The experiment parameters are attached with the functional parameters, and then an input generator and a distribution generator are selected for the design of the experiment. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.
The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate exemplary embodiments and, together with the description, serve to explain the disclosed principles:
Exemplary embodiments are described with reference to the accompanying drawings. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. Wherever convenient, the same reference numbers are used throughout the drawings to refer to the same or like parts. While examples and features of disclosed principles are described herein, modifications, adaptations, and other implementations are possible without departing from the scope of the disclosed embodiments. It is intended that the following detailed description be considered as exemplary only, with the true scope being indicated by the following claims.
Referring now to the drawings, and more particularly to
The I/O interface(s) 106 can include a variety of software and hardware interfaces, for example, a web interface, a Graphical User Interface (GUI), and the like and can facilitate multiple communications within a wide variety of networks N/W and protocol types, including wired networks, for example, LAN, cable, etc., and wireless networks, such as WLAN, cellular, or satellite. In an embodiment, the I/O interface (s) 106 can include one or more ports for connecting a number of devices to one another or to another server. For example, the I/O interface 106 enables the authorized user to access the system disclosed herein through the GUI and communicate with one or more other similar sub-systems 100.
The memory 102 may include any computer-readable medium known in the art including, for example, volatile memory, such as static random access memory (SRAM) and dynamic random access memory (DRAM), and/or non-volatile memory, such as read only memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes. Thus, the memory 102 may comprise information pertaining to input(s)/output(s) of each step performed by the processor(s) 104 of the sub-system 100 and methods of the present disclosure. In an embodiment, the memory 102 stores a data model that is being used by the sub-system 100 for designing and executing the experiment. Examples of structure of the data model are depicted in
Functions:
Statistical Model:
Step:
Algorithm:
System Process (Legacy Component):
Any Procedure with determined Input and Output can be treated as a process, and the process block represents any such blocks available in the system's ontology.
System Process Parameter (Legacy Component):
Every system process has corresponding input and outputs defined in the system ontology, and the system process parameter block is used to represent such components.
System Process Step (Legacy Component):
The system process step block is to represent trigger blocks in the existing system. Trigger blocks are the blocks which are used to trigger specific step executions in any system. For instance, in any Business Process Model and Notification (BPMN) Process, every task can be treated as a trigger block.
Functional Model (Sub-System Component):
The functional model block is to capture the definition of function on which the perturbation and analysis is to be performed. The functional model block is associated with existing systems process, and every process has one and only one function counter-part in the sub-system. A Functional Model can form multiple design of experiment definition. A Functional Model can have multiple function parameters, but can have at least 1 function parameter.
Functional Model Parameter (Sub-System Component):
This block is to capture the input and output parameters of the function which is captured in the functional model. The functional model parameter block is associated with existing system's process parameters, and every process parameter has one and only one function parameter counter-part in the sub-system. This parameter is classified as Input and Output using a ‘type’ attribute in the block. A functional model parameter has only one functional model, and can form multiple design of experiment's parameter definition.
Design of Experiment (Sub-System Component):
The ‘Design of Experiment’ block represents definition of Design of Experiment and captures the function that needs to be perturbed by an association to functional model, and also captures the function parameters and their configuration by associating to the experiment parameter. This block also has an association to design process step to enable it the control of design of experiment life-cycle. A Design of Experiment has only one functional model. Further, a design of experiment can have multiple function parameter configuration, and at least one functional parameter configuration. Every Design of experiment is linked to one design of experiment step to maintain the life-cycle of design of experiment.
Statistical Model (Sub-System Component):
The statistical model is a super-class of design of experiment, and is generalized to accommodate all the type of statistical models that may be catered by the sub-system.
Experiment Parameter (Sub-System Component):
The experiment parameter block represents the configuration of function parameter in a definition of design of experiment, the configuration containing the applicability condition, allowed tolerance, default values and so on, of the function parameter. The experiment parameter is linked to only one functional model parameter that specifies the function parameter for which configuration is applicable. The experiment parameter has one design of experiment to indicate for which design the configuration is set.
Design of Experiment Step (Sub-System Components):
This block represents a trigger point to handle the life-cycle of design of experiment. The design of experiment step extends the system process step which are essentially trigger blocks in the existing system. This block is linked to only one design of experiment block. The design of experiment step is linked to one input generator that generates the input set for the design of experiment. This may be linked to one distribution generator that generates the noisy set on the input set generated to factor in the noises generated in real world experiments.
Algorithm (Sub-System Component):
Purpose of this element is to capture a library of procedures that can be executed in the existing system to get specific output after giving specific input. Difference between system process and the algorithm is that the state of algorithm is saved with design space, making it an integral part of the sub-system.
Algorithm Parameter (Sub-System Component):
Every algorithm has some parameters that are specific to the definition of the algorithm, which are passed to an algorithm executor (which may be the existing system or any external system).
Input Generator (Sub-System Component):
The input generator is a type of algorithm which generates the input sets on which the function is executed.
Distribution Generator (Sub-System Component):
This is a type of algorithm which will generate the noise sets from the generated input set to factor in the noises generated in real world experiments.
Design of Experiment Model is the first level model which can be used to configure and create design of experiment problem and whenever the execution of design of experiment problem is triggered from the existing system a second level snapshot of the first level model is created to store the run-time values of entities. Every execution has an instance level model associated with it and this model stores the design space generated from the design of experiment execution. The instance level model is depicted in
Functional Model Instance (Sub-System Component):
This entity is to capture the execution level details of function.
Functional Model Parameter Instance (Sub-System Component):
This entity is to capture the execution level details of function parameter.
Design of Experiment Instance (Sub-System Component):
This entity is to capture the execution level details of design of experiment. Being the bridge entity for communication between different modules of sub-system the design space will be associated with this entity.
Experiment Parameter Instance (Sub-System Component):
This entity captures the execution level details of function parameter configuration such as range bounds, standard deviation, and default/constant value of parameter.
Parameter Table (Sub-System Component):
This entity captures the design space information of design of experiment which includes the input and output value of each run of experiment, thus the format for data persistence is preferred to be a table. This entity contains pointer to a data storage structure. Each parameter table must have only one design of experiment instance. Further, each parameter table must have one or more than one column parameter.
Column Parameter (Sub-System Component):
This entity captures the column information (input/output parameters) of a design space. Each column parameter is linked to an experiment parameter instance to specify which function parameter is referred by this column. Also, each column parameter must have only one parameter table.
Design of Experiment Step Instance (Sub-System Component):
This entity captures the execution level details of design of experiment step, each step may have multiple design of experiment step instances (one for each execution).
Input Generator Instance (Sub-System Component):
This entity captures the execution level details of input generator, each input generator having multiple input generator instances (one for each execution).
Distribution Generator Instance (Sub-System Component):
This entity captures the execution level details of distribution generator, each input generator having multiple distribution generator instances (one for each execution, distribution generator instance is not created if no distribution generator is defined in design of experiment).
Algorithm Parameter Instance (Sub-System Component):
This entity captures the value of algorithm parameter.
After defining the DOE, the sub-system 100 executes (204) the defined DOE to generate results, which may be provided to the user using a suitable interface (for example, a visual display) provided by the I/O interface(s) 106. Steps involved in the process of executing the defined design of the experiment is depicted in method 400 (
Problem (which is Given as Input to the System):
Consider a rectangular cantilever beam (a beam mounted on support from only one side), now when a perpendicular force is applied on the other side, the beam tends to deflect, this deflection is a factor of various parameters such as geometric dimensions of beam, material composition of beam, material properties of beam. By doing Design of Experiment on the respective problem a Design Space for Beam deflection behavior can be obtained.
a) System Process and System Process Parameters
The process for calculation of deflection is a function of x1, x2 . . . xn, where x1 . . . xn can be geometric parameters of beam and material properties of beam, results in y which is beam deflection, thus the process can be represented as:
y=F(l,w,h,t) (1)
where y=beam deflection, l=length of beam, w=width of beam, h=height of beam, t=tensile strength of beam material. Here, F( ) is the system process and l, w, h, t are the system process parameters.
b) Identification and Creation of Functional Model and Functional Model Parameters
The sub-system 100 provides a list of possible functional models to the system and then the system may select one of the functional models from the list or the system may ask the sub-system 100 to create a new functional model. The sub-system 100 creates a functional model Ffm and a functional model parameter for each system process parameter lfm, wfm, hfm, tfm, yfm. The sub-system 100 also creates a parameter table PTfm to store the design space of the functional model and column parameters for each functional model parameter.
c) Creation of Design of Experiment and Experiment Parameters
To perform a DOE on a closed range of process parameter values, certain configurations such as range bounds for each process parameter under which the parameters will fluctuate are to be provided. For example, the DOE is performed when length does not exceed 35 cm and the material tensile strength can not exceed 500 psi, thus the sub-system 100 can create an experiment with respective range for experiment parameters. The DOE may have to be performed on the functional model within a closed range of process parameter values, thus for each such DOE, the sub-system 100 creates an experiment, Fex, for the functional model and experiment parameters for each functional model parameter, lex, wex, hex, tex, yex that contain the configuration of process parameters.
d) Input Generator and Distribution Generator Configuration
The function of Input Generator is to generate possible input sets for design of experiment that adheres to experiment parameter configuration, such as:
The function of Distribution Generator is to generate possible noisy sets for each individual input set adhering to experiment parameter configuration, such as:
The sub-system 100 provides a list of possible input generators and distribution generators for the system to pick for the given experiment. Once the System picks the appropriate input generator and distribution generator, the sub-system 100 configures the input and distribution generator with the experiment. The sub-system 100 may be configured to allows the system to manage the input generator and distribution generator repositories.
Once the design of experiment is defined in the sub-system 100, the system can perform multiple simultaneous execution of the defined design of experiment. Thus, once the design of experiment for the Beam Deflection is created within the above-specified bounds, execution of the Design of Experiment can be started by requesting the sub-system 100 to invoke the execution.
a) Creation of Design of Experiment Instance
The sub-system 100 creates an experiment instance and the experiment parameter instances that contain the state of the current execution of the design of experiment. The sub-system 100 also initializes the parameter table, PTexp, along with the column parameters to store the design space of the current execution of the design of experiment. The sub-system 100 then initializes the input generation instances and distribution generation instances.
b) Generation of Input Sets and Noisy Sets
The sub-system 100 invokes the input generation algorithm using the configuration from input generation instance and fetches the generated individual input set to perform the design of experiment and on each generated individual input set the sub-system 100 performs distribution generation using the distribution generation algorithm and its configuration in the distribution generation instance. The sub-system 100 collects both generated individual input sets and noisy sets and persist them in the PTexp.
c) Creation of Design Space
The sub-system 100 iterates over the generated input sets and checks if the individual input set exists in the design space of functional model PTfm, if it exists the individual output set is picked up from the design space of functional model. If the input set doesn't exist, the sub-system 100 requests the system to invoke the system process with individual input set values as input and the individual output set is picked up from the result of execution and pushed to the design space of functional model with corresponding individual input set and then this individual output set is appended to design space of experiment PTexp. After exhausting complete input sets, the results stored in PTexp are depicted as:
The written description describes the subject matter herein to enable any person skilled in the art to make and use the embodiments. The scope of the subject matter embodiments is defined by the claims and may include other modifications that occur to those skilled in the art. Such other modifications are intended to be within the scope of the claims if they have similar elements that do not differ from the literal language of the claims or if they include equivalent elements with insubstantial differences from the literal language of the claims.
The embodiments of present disclosure herein address unresolved problem of design of experiments and execution of the design of experiments. The embodiment thus provides a sub-system that can be plugged-into a model-driven system having no capability of designing and executing experiments, to enable the system to perform the designing and execution of experiments.
It is to be understood that the scope of the protection is extended to such a program and in addition to a computer-readable means having a message therein; such computer-readable storage means contain program-code means for implementation of one or more steps of the method, when the program runs on a server or mobile device or any suitable programmable device. The hardware device can be any kind of device which can be programmed including e.g. any kind of computer like a server or a personal computer, or the like, or any combination thereof. The device may also include means which could be e.g. hardware means like e.g. an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a combination of hardware and software means, e.g. an ASIC and an FPGA, or at least one microprocessor and at least one memory with software processing components located therein. Thus, the means can include both hardware means and software means. The method embodiments described herein could be implemented in hardware and software. The device may also include software means. Alternatively, the embodiments may be implemented on different hardware devices, e.g. using a plurality of CPUs.
The embodiments herein can comprise hardware and software elements. The embodiments that are implemented in software include but are not limited to, firmware, resident software, microcode, etc. The functions performed by various components described herein may be implemented in other components or combinations of other components. For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can comprise, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
The illustrated steps are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope of the disclosed embodiments. Also, the words “comprising,” “having,” “containing,” and “including,” and other similar forms are intended to be equivalent in meaning and be open ended in that an item or items following any one of these words is not meant to be an exhaustive listing of such item or items, or meant to be limited to only the listed item or items. It must also be noted that as used herein and in the appended claims, the singular forms “a,” “an,” and “the” include plural references unless the context clearly dictates otherwise.
Furthermore, one or more computer-readable storage media may be utilized in implementing embodiments consistent with the present disclosure. A computer-readable storage medium refers to any type of physical memory on which information or data readable by a processor may be stored. Thus, a computer-readable storage medium may store instructions for execution by one or more processors, including instructions for causing the processor(s) to perform steps or stages consistent with the embodiments described herein. The term “computer-readable medium” should be understood to include tangible items and exclude carrier waves and transient signals, i.e., be non-transitory. Examples include random access memory (RAM), read-only memory (ROM), volatile memory, nonvolatile memory, hard drives, CD ROMs, DVDs, flash drives, disks, and any other known physical storage media.
It is intended that the disclosure and examples be considered as exemplary only, with a true scope of disclosed embodiments being indicated by the following claims.
Number | Date | Country | Kind |
---|---|---|---|
202021013527 | Mar 2020 | IN | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/IN2021/050320 | 3/27/2021 | WO |