WO2017072565A1 - Uniform interface specification for interacting with and executing models in a variety of runtime environments - Google Patents

Uniform interface specification for interacting with and executing models in a variety of runtime environments Download PDF

Info

Publication number
WO2017072565A1
WO2017072565A1 PCT/IB2016/000301 IB2016000301W WO2017072565A1 WO 2017072565 A1 WO2017072565 A1 WO 2017072565A1 IB 2016000301 W IB2016000301 W IB 2016000301W WO 2017072565 A1 WO2017072565 A1 WO 2017072565A1
Authority
WO
WIPO (PCT)
Prior art keywords
runtime environment
analytical
computerized
script
analytical model
Prior art date
Application number
PCT/IB2016/000301
Other languages
English (en)
French (fr)
Inventor
Rajaram N. VADAPANDESHWARA
Suresh B. Singh
Renjith Ravindran
Rekha Patil
Nagesh Shetty
Original Assignee
Oracle Financial Services Software Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oracle Financial Services Software Limited filed Critical Oracle Financial Services Software Limited
Priority to CN201680063016.4A priority Critical patent/CN108351796B/zh
Priority to JP2018521541A priority patent/JP6816136B2/ja
Publication of WO2017072565A1 publication Critical patent/WO2017072565A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45516Runtime code conversion or optimisation

Definitions

  • the model includes computational expressions that have to be executed by a computing system that runs a specialized application for such models.
  • the model may be very complex and the company may typically use an outside vendor (a quantitative analysis provider) to execute the model.
  • the outside vendor provides a runtime environment in which to execute the model by way of custom software.
  • the runtime environment is configured to execute computational expressions that are specific to the runtime environment. Thus any input to the runtime environment must be in a specific computer language/format that is recognized by the runtime environment.
  • a business analyst may not be trained with respect to any particular runtime environment, however.
  • the business analyst may initially create a statistical model using, for example, the English language, pseudo-code, or flowcharts.
  • the business analyst may then work with a software programmer that is trained with respect to a particular runtime environment and its particular programming language.
  • the software programmer then creates a program of the model that complies with and uses computational expressions of the runtime environment.
  • a computer-implemented method is described as performed by a computing device, where the computing device includes at least a processor for executing instructions from a memory.
  • the method comprises: identifying a selected runtime environment from a group of available computerized runtime environments, wherein the selected runtime environment is selected to execute an analytical model that includes analytical expressions, wherein the analytical model is in a format not compatible for execution with the selected runtime environment; generating a user-script data structure, wherein the user-script data structure includes instructions for mapping the analytical expressions of the analytical model to executable expressions of the selected runtime environment based on a runtime specification of the selected runtime environment; generating a computerized specification object, wherein the computerized specification object includes: (i) a pre-script data structure specifying how the selected runtime environment is to access input data to be operated upon by the analytical model, (ii) the user-script data structure and the analytical model, and (iii) a post-script data structure specifying how to output results data produced by the analytical
  • the method further comprises; transmitting a computerized configuration object over the computer network to the selected runtime environment to synchronize with the selected runtime environment based on a set of parameters, and to specify where the analytical model is to be executed in the selected runtime environment.
  • the method further comprises: initiating execution of the computerized specification object in the selected runtime environment.
  • the executable expressions include a plurality of computational steps to be executed in sequence by the selected runtime environment.
  • pre-script data structure is generated to specify how the selected runtime environment is to connect to a database device to access the input data to be operated upon by the analytical model.
  • pre-script data structure is generated to specify how the input data to be operated upon by the analytical model is to be read by the selected runtime environment from a data file.
  • the method further comprises: providing access to a configuration file by the selected runtime environment, wherein the configuration file specifies whether the analytical model is to be executed on local nodes, remote nodes, clustered nodes, or a combination of the local nodes, the remote nodes, and the clustered nodes of the selected runtime environment.
  • the method further comprises: transmitting a computerized initiation object over the computer network to the selected runtime environment, wherein the computerized initiation object specifies a plurality of data structures, storing the input data for the analytical model, to be accessed by the selected runtime environment.
  • the user-script data structure is generated to specify a sequence of analytical steps of the analytical model to be performed by the selected runtime environment on the input data.
  • a computing system comprising: analytical application logic configured to generate a computerized specification object having: a user-script data structure specifying an analytical model having analytical expressions, wherein the user-script data structure includes instructions for mapping the analytical expressions to executable expressions of a computerized runtime environment; a pre-script data structure specifying how the computerized runtime environment is to access independent variable data to be operated upon by the analytical model, and a post-script data structure specifying how to output results data produced by the analytical model when executed by the computerized runtime environment; and user interface logic configured to facilitate user interaction with the analytical application logic for generating the computerized specification object.
  • the analytical model specifies a plurality of computational steps, as the analytical expressions, to be executed in sequence by the computerized runtime environment.
  • the analytical model specifies a plurality of statistical operations, as the analytical expressions, to be executed in sequence by the computerized runtime environment.
  • the computing system further comprises a database device configured to store the independent variable data and the results data, wherein the database device is accessible by the computerized runtime environment.
  • the prescript data structure specifies how the computerized runtime environment is to connect to the database device to access the independent variable data.
  • the postscript data structure specifies how the computerized runtime environment is to connect to the database device to store the results data.
  • Fig. 1 illustrates one embodiment of a system having an analytical application infrastructure (AAI) which is configured to allow an analytical model to be defined such that the analytical model can be executed in any of a number of different quantitative analysis provider runtime environments.
  • AAI analytical application infrastructure
  • Fig. 2 illustrates another embodiment of a system having an analytical application infrastructure (AAI) which is configured to allow an analytical model to be defined such that the analytical model can be executed in any of a number of different quantitative analysis provider runtime environments.
  • AAI analytical application infrastructure
  • FIG. 3 illustrates one embodiment of a deployment architecture which shows how the system of Fig. 1 appears from a deployment perspective.
  • Fig. 4 illustrates one embodiment of a method, which can be performed by the analytical application infrastructure (AAI) of Fig. 1.
  • AAI analytical application infrastructure
  • Fig. 5 illustrates an example computing device that is configured and/or programmed with one or more of the example systems and methods described herein, and/or equivalents.
  • Computerized systems and methods are described herein that are configured to allow a user (e.g., a business analyst) to create statistical models (or other types of analytical models).
  • An interface is implemented that allows an analytical model to be executed in multiple different types of runtime environments (e.g., MATLAB, Python, R, etc.) without having to re-generate or re-configure the analytical model for a specific runtime environment that is selected for executing the model.
  • the term "analytical model” is used herein generically and may refer to a mathematical model, a business model, a statistical model, an algorithmic model, or any combination thereof that is configured to be readable by and input to a computing system.
  • an analytical model may be defined using a series of statements (e.g., analytical expressions) in a document such as an extensible markup language (XML) file.
  • XML extensible markup language
  • computerized runtime environment refers to a computerized computational system (e.g., a web service system) provided by a quantitative analysis provider.
  • push refers to sending (e.g., transmitting) data to another program or computer without the other program or computer having requested the data.
  • pulse and its various forms, as used herein, refers to requesting data from another program or computer and receiving the data.
  • an analytical application infrastructure (AAI) is provided.
  • the AAI is also sometimes referred to herein as analytical application logic.
  • the AAI enables execution of scripted models to be executed on one or more nodes of a computerized runtime environment (e.g., a remote server computer system). By configuring the AAI with a run time parameter, model execution can be performed on any node, or the model can be distributed for execution on multiple nodes.
  • an interface and plugin driver are provided to allow statistical models to be plugged into a runtime environment, and to declaratively configure processing nodes for the same.
  • the AAI provides an interface specification and plugin module to allow for any statistical runtime environment to be used for executing an analytical model.
  • an analytical model can be defined irrespective of an encoding format or syntax that is specific for executing the analytical model in a particular runtime environment (e.g. , MATLAB, Scala, M-Lib, etc.). Different runtime environments require different encoding formats for the input analytical model. Thus, if an analytical model is defined in a format that is different from a format that is expected by a runtime environment, then the analytical model will not be recognized by the runtime environment and cannot be executed (e.g., incompatible format).
  • the AAI allows for an analytical model, in one format, to be submitted and executed in any of various runtime environments regardless of format. Additionally in one embodiment, the AAI provides functionality to provide instructions to a runtime environment that declaratively direct the processing of the analytical model to particular hardware infrastructure (e.g., local nodes, remote nodes, a Hadoop cluster) of the runtime environment.
  • the AAI generates an execution model or specification that includes a "pre-script” block, a "user-script” block, and a "postscript” block.
  • the specification is generated and maintained as a computerized object (i.e., a computerized specification object), in accordance with one embodiment.
  • the three components together create an executable artifact that can be declaratively associated to a designated runtime environment of a particular quantitative analysis provider and additionally can be targeted to run on local or remote nodes, or on a Hadoop cluster.
  • the pre- and postscript plugins are well specified.
  • the pre-script and the post-script may be implemented by the quantitative analysis provider (runtime environment - host server side) or by a provider of the analytical application logic (client side).
  • the AAI includes the following distinct parts in a computerized specification object (specification):
  • [0040] - a pre-script block that binds model variables to data handles, prepares the workspace for models, prepares provider specific syntactic structures to query for data, and prepares input/output data structures.
  • a core business logic represented at least in part by a statistical model (model definition) of quantitative analysis techniques in a user script block along with bindings to variable/static parameters and place-holders.
  • the core business logic automatically determines the runtime environment to bind against based on meta-information associated with the user-script block. For example, the meta-information identifies a particular runtime environment that has been selected (from a group of runtime environments) for executing the statistical model. Therefore changing the meta-information associated with the user-script block switches the runtime environment (and thus the provider) without change to the model definition (i.e., the analytical/statistical model).
  • post-script block a post processing block that prepares an output of the execution for downstream consumption.
  • a system is configured that is able to access, for example, MATLAB and Python- based runtime environments and have statistical models execute against both of them.
  • the statistical model is a single definition model. Typically today, if an algorithm is being developed against MATLAB, MATLAB-specific code is written. Similarly, if an algorithm is being developed against Python, Python-specific code is written.
  • one specification (script, not code) of a statistical model is able to be defined that can bind with and run with the underlying MATLAB, Python, or other runtime environment without the model being coded in the specific code of the runtime environment.
  • the functions that a statistical model performs can be specified in a runtime-agnostic manner (i.e., via a script).
  • a statistical model has a set of independent variables (input data) and a set of dependent variables (results data).
  • a dependent variable may be the probability of a certain segment of the population defaulting on their home loan.
  • the independent variables might be gross domestic product (GDP), unemployment rate, inflation rate, and historical average of balances on home loans.
  • GDP gross domestic product
  • the model may operate on these four (4) independent variables to calculate or determine the probability of default.
  • the four (4) independent variables may be subjected to various analytical algorithms as defined by the model (e.g., maybe a linear regression algorithm or some other statistical algorithm that is run in a number of steps to finally determine the end result, which is the probability of default).
  • a declarative specification (a computerized specification object) is generated that is based on a declarative paradigm (e.g., spoken English), In the computerized specification object, variables are selected, the type of computations these variables will be subjected to is declared, and the type of output result is defined.
  • This declarative specification is then stored, for example, in an XML format.
  • the specification can then be sent to an underlying quantitative analysis provider (e.g. MATLAB or Python) such that three separate distinct sets of instructions from the specification are input into the runtime environment of the quantitative analysis provider.
  • the approach of having a pre-script, a main user-script, and a post-script is uniform with respect to the underlying runtime environment (quantitative analysis engine) of a quantitative analysis provider. That is, the same specification structure having a same analytical model defined in a user-script (single-definition) can be used with any underlying runtime environment without having to re-write the analytical model or deviate from the specification structure (pre-script, user-script, post-script).
  • the runtime environment of the quantitative analysis provider e.g., MATLAB or Python
  • the quantitative analysis provider does not have to be programmed to recognize specifics of the analytical application infrastructure (AAI) or any specific interface information.
  • the scripts guarantee that the model will work in the runtime environment.
  • Customers do not want to be restricted into having to rely on one quantitative analysis provider to execute their statistical models.
  • the mechanisms described herein allow the customer to move from one runtime environment to another without having to reprogram existing statistical models into a new language with new expressions that are specific to a runtime environment.
  • the statistical models defined in the AAI environment can be inputted for execution with different runtime environments.
  • Fig. 1 illustrates one embodiment of a computerized system 100 having an analytical application infrastructure or logic 110.
  • the analytical application logic 110 is configured to allow an analytical (e.g., statistical) model to be defined and be deployed/submitted for execution in any of a number of different runtime environments without having to reprogram/rewrite the statistical model to comply with specific requirements of a selected runtime environment.
  • the analytical application logic 110 includes a Java engine 112, which supports generation of a computerized specification object 114 (specification).
  • the computerized specification object 1 14 includes a pre-script 1 15, a user-script 1 16, and a post-script 1 17.
  • the computerized specification object 1 14 may also include a computerized initiation object and a computerized configuration object, as discussed later herein.
  • the computerized system 100 also includes a database device 120 operably connected to analytical application logic 1 10 directly and/or via a network interface to allow access to the database device 120 via a network connection.
  • the database device 120 is configured to store and manage computerized objects and data structures (e.g., records of independent variable data and output results data for a statistical model) associated with analytical application logic 1 10 in a database system (e.g., an analytical application database system).
  • the computerized system 100 also includes user interface logic 130 operably connected to analytical application logic 1 10.
  • user interface logic 130 is configured to generate a graphical user interface (GUI) to facilitate user interaction with analytical application logic 1 10.
  • GUI graphical user interface
  • user interface logic 130 includes program code that generates and causes the graphical user interface to be displayed based on an implemented graphical design of the interface. In response to user actions and selections via the GUI, associated aspects of scripts and model definitions may be manipulated.
  • the computerized system 100 also includes a display screen 140 operably connected to analytical application logic 1 10.
  • the display screen 140 is implemented to display views of and facilitate user interaction with a graphical user interface (GUI) generated by user interface logic 130 for viewing and updating information associated with single definition analytical modeling.
  • GUI graphical user interface
  • analytical application logic 1 10 is a centralized server-side application that is accessed by many client devices/users.
  • the display screen 140 may represent multiple computing devices/terminals that allow users to access and receive services from analytical application logic 110 via networked computer communications.
  • the user interface logic 130 is also configured to facilitate outputting and displaying of results data via the graphical user interface on the display screen 140.
  • Results data is data generated by and received from the computerized runtime environment 150 after executing the selected analytical model that was submitted for execution. Further discussion of the computerized runtime environment 150 follows later herein. Other types of results data are possible as well, in accordance with various other embodiments.
  • analytical application logic 1 10 is an executable application including algorithms and/or program modules configured to perform the functions of the logic when executed by a processor of the computerized system 100.
  • the application is stored as a computer program product in a non-transitory computer storage medium.
  • functions of analytical application logic 1 10 are implemented as modules stored on a non-transitory computer-readable medium where the modules include instructions executable by at least the processor to perform the functions described herein.
  • the quantitative analysis provider wants clients to implement the pre-script and post-script, the quantitative analysis provider would have to share, with the clients, runtime specifications and syntax including how to connect to a database to perform a query within the runtime environment. Then, a client that operates the analytical application logic 110 can implement the prescript and post-script, given the specifications from the quantitative analysis provider. Alternatively, the quantitative analysis provider can implement the prescript and post-script internally for a runtime environment for operating with a particular client, for example, if the quantitative analysis provider does not want to reveal the runtime specifications to clients.
  • the pre-script accesses the data and organizes the data into a format such that the external runtime environment can correctly read and recognize the data that is inputted as part of the analytical model.
  • one runtime environment may be configured to read data as a list of values. Thus if the input data is not formatted as a list of values, the input data will not be read correctly.
  • Another runtime environment may be configured to read the data in a table format.
  • a third runtime environment may read the data in a specific format such as, for example, an Excel format. That is, each quantitative analysis provider may treat the data in a different manner that suits their runtime environment. Therefore, the pre-script is constructed or configured accordingly for the runtime environment of a particular quantitative analysis provider.
  • the pre-script allows connection to the data environment, allows the data be extracted out, and massages the data in such a way that the runtime environment can properly observe the data.
  • the user-script is a main part of the specification object 114.
  • the user-script specifies the analytical (e.g., statistical) model that computes, for example, a probability of defaulting on a loan for a group of customers based on four (4) independent variables using linear regression, among other statistical and mathematical methods. That is, the user-script specifies the series of computational (e.g., statistical) steps or operations (as analytical expressions) to be performed on the independent variable data.
  • the quantitative analysis provider provides the actual statistical and mathematical functions (executable expressions) that will operate on the data and compute the result in the runtime environment 150.
  • the input data is made available by the pre-script.
  • the user-script includes instructions for mapping the analytical expressions that make up the analytical model to corresponding executable expressions of the computerized runtime environment.
  • the user-script provides a mechanism for allowing the runtime environment to execute the analytical model that is input, even though the analytical model itself has an unrecognizable/incompatible format.
  • a linear regression algorithm may be configured to input three (3) variables separated by commas in parentheses. Such a mathematical format cannot be changed. Even though the data may be presented to a runtime environment as a list of values for a linear regression algorithm, the name or expression of the algorithm also has to be recognized and identifiable by the runtime environment. For example, the MATLAB runtime environment may call the algorithm "linear regression”, the Python runtime environment might call the algorithm "LREG”, and a third quantitative analysis provider runtime environment may call the algorithm "LR".
  • the names, formats, and other rules of a runtime environment can be regarded as a syntax of the runtime environment that is defined by a runtime specification.
  • a database of runtime specifications in data structure form) can be generated from a variety of available runtime environments.
  • a corresponding runtime specification is analyzed from the database and the user-script is generated to include expressions that are specific/compatible with the syntax of the selected runtime environment. Therefore, in one embodiment to make an analytical model developed in the analytical application environment compatible with a different runtime environment, the user script includes statements that re-map the names of the steps in the analytical model to the names and syntax used by the runtime environment for corresponding steps/actions based on the runtime specifications. Thus in one embodiment, the user script is configured to translate the statements of the analytical model (that has no specific format or syntax) to statements that comply with the syntax of a selected runtime environment.
  • a runtime specification from a quantitative analysis provider may include information or data for how to take an output result and read the output result back from the algorithm.
  • Such information or data can be used in the post-script to define the outputting of data. For example, if the output is a probability of default for a group of customers that will default on a home loan, the runtime environment may return the value in a number of different ways (e.g., numerically, as a string, as some binary value that has to be decoded back to a numeric format).
  • the post-script is configured accordingly such that results can be written back or output back to the analytical application environment (e.g., to the database device 120).
  • the post-script can be tailored to a particular runtime environment.
  • the post-script data structure 1 17 specifies how the computerized runtime environment is to connect to the database device 120 to store results data.
  • the user-script is also generated to re-map the expression names of the steps or call functions used in the model to the names/syntax of the corresponding algorithm (e.g., linear regression, correlation, etc.) of the new runtime environment to be compatible with the new runtime environment.
  • the runtime specification of the new runtime environment is retrieved from a database and used to determine appropriate translation and mapping instructions. Therefore, for the user-script, a mapping is performed that translates statements in the model to corresponding statements and syntax of the runtime environment.
  • the analytical application environment names are taken and are mapped to the runtime environment names. Therefore, when a customer changes quantitative analysis providers, a new mapping is performed and generated for the user-script based on the syntax of the new runtime environment. The business analyst does not see this mapping. Therefore, to the business analyst, the statistical model (as defined in the user- script) has not changed and does not have to be reprogrammed by the business analyst.
  • an initiation block (e.g., a computerized initiation object), which is part of the computerized specification object 114, that provides a set of steps that occur in the analytical application environment prior to initiating the actual execution.
  • the initiation block may be a computerized initiation object that is separate from the computerized specification object.
  • the initiation block defines which tables, columns, etc. supply the actual data.
  • Some quantitative analysis providers write the output results back as a file. They never read and write to the database device 120. Therefore, if the quantitative analysis provider provides that file to the analytical application environment, the analytical application environment determines what data structures are to be prepared up front such that there are write permissions for the quantitative analysis provider to write back to the file.
  • the configuration block (e.g., a computerized configuration object) is used to synchronize one or more of the system elements to a set of parameters.
  • the set of parameters may include, for example, parameters related to the location of remote files (Remote_File_Location), the identification of edge nodes (Edge_Node_ldentifier), hive sessions (Hive_Session_Parameters), and the identification of functions (FunctionJD).
  • the configuration block may define where the model is being run (local nodes, remote nodes, on a cluster) in the computerized runtime environment.
  • Fig. 1 shows one embodiment of the analytical application environment which includes the analytical application logic 110.
  • the database device 120 which includes a meta model database where objects defined with the analytical application logic 110 get stored.
  • Fig. 1 shows a dotted connection to the meta-model database 120, which is a depository that holds all of the defined objects. Even the model definition is an object that gets deposited into the meta-model database 120.
  • the application tier of the AAI is the Java Engine 112, in accordance with one embodiment.
  • the key framework in the application tier is the modeling framework where the statistical models are built (e.g., by human business analysts).
  • the core modeling framework is where a business user (a human business analyst) declaratively defines the intent of the model which results in a computerized specification object 114 (specification) having at least a pre-script, a user-script, and a post-script.
  • the computerized specification object 114 is represented as an XML file.
  • the contents of the XML file is, for example, spoken English in some sense such that anyone literate in the English language can look at the XML file and understand what the model definition means. Therefore, the specification (pre-script, user-script, post-script) is a translation of a notation that was traditionally written in the awkward and cryptic language of statistical programming, into a notation that a business person can understand. This is represented in Fig. 1 as the "Model Runtime" Node(s) config. in XML file 118.
  • Fig. 1 also shows a representation of that same model definition being input to a node where the computerized runtime environment 150 performs execution of the model by first taking the model definition and binding the model definition to the actual implementation (e.g., R-based runtime engine 152 or MATLAB-based or Python-based runtime engine 154). Then the physical aspect of the execution can be input to a Hadoop node (e.g., a cluster of commodity hardware). These various executable hardware system nodes are determined by the quantitative analysis provider for various reasons/preferences.
  • Fig. 1 shows an execution environment that is configured to run in a Hadoop environment. The Hadoop environment has a single main node 156 and a couple of worker slave nodes 157 and 158 where the analytical model is actually executed, clock cycle by clock cycle.
  • the system 200 of Fig. 2 is similar to the system 100 of Fig. 1 , except the system 200 of Fig. 2 uses a file-based representation of data.
  • Fig. 1 there is no representation of such a file.
  • Fig. 2 there is a block 210 labeled "hdfs file created for the Model input dataset and variables”.
  • An hdfs file is a Hadoop Distributed File System file.
  • Fig. 3 illustrates one embodiment of a deployment architecture which shows how the system 100 of Fig. 1 appears from a deployment perspective.
  • the analytical application environment 310 is on the right side of Fig. 3 and the quantitative analysis provider environment 320 is on the left side of Fig. 3.
  • the pre-script 322 and the post-script 324 parts of the specification have been transmitted (pushed) from the analytical application environment 310 to the quantitative analysis provider environment 320 as plug- ins, and the statistical model has been input to (pushed to) the quantitative analysis provider environment from the analytical application environment.
  • the pushing process shown in Fig. 3 is how execution is initiated, in accordance with one embodiment.
  • Block 326 of Fig. 3 is where the provider runtime environment 320 executes the analytical model and can be spread out over a number of nodes depending on the complexity of the analytical model and the amount of data to be processed.
  • the post-script 324 is configured to write back to a disk or an hdfs file 328.
  • the file is read back via a receiving (pulling) process and is posted to the AAI database device 312 which is shown on the right in Fig. 3.
  • the pulling process is a network communication process that includes transmitting a request for data to another computer and, after the computer responds with output results, receiving the output results from the computer.
  • Fig. 4 illustrates one embodiment of a method 400, which can be performed by the analytical application logic 1 10 of Fig. 1.
  • Method 400 describes operations of the analytical application logic 1 10 and is implemented to be performed by the analytical application logic 1 10 of Fig. 1 , or by a computing device configured with an algorithm of the method 400.
  • method 400 is implemented by a computing device configured to execute a computer application.
  • the computer application is configured to process data in electronic form and includes stored executable instructions that perform the functions of method 400.
  • Method 400 will be described from the perspective of Fig. 1 , where the analytical application logic 1 10 is part of the computerized system 100 that provides a user interface and translation mechanism for submitting an analytical model to a selected runtime environment from a group of available runtime environments.
  • an analytical model can be described as a mathematical model, a business model, a statistical model, an algorithmic model, or any combination thereof.
  • an analytical model may be defined using a series of statements (e.g., analytical expressions) in a computerized document such as an extensible markup language (XML) file.
  • An analytical model is generated by, for example, a business analyst using analytical expressions that are uniform in the analytical application environment.
  • the method 400 allows a business analyst or other operator to select a runtime environment from a group of available runtime environments for executing an analytical model.
  • the method 400 provides a mechanism to easily switch from one runtime environment to a different runtime environment, to actually execute the analytical model, without having to modify or reprogram the analytical model.
  • an input parameter is read from the user interface that identifies a selected runtime environment.
  • the identified runtime environment is stored as meta-information.
  • a list/group of available runtime environments may be displayed to allow a user to make a selection.
  • a runtime specification for the selected runtime environment is then retrieved from a database as previously described.
  • the runtime specification defines at least syntax and functions/statements of the associated runtime environment and this data is used for generating appropriate instructions for the user-script.
  • Block 410 may also include identifying the analytical model from a group of existing analytical models that is to be submitted for execution.
  • the model may be identified from a user input via the user interface, and then the method includes retrieving the model from a database or other storage location that stores the identified model.
  • the analytical model includes analytical expressions that are defined using a format that is not compatible with the runtime environment.
  • a user-script data structure is generated.
  • the retrieved runtime specification is used to generate instructions for mapping statements of the analytical model to equivalent/corresponding statements of the runtime environment.
  • the user-script data structure includes instructions for mapping the analytical expressions of the analytical model to executable expressions of the computerized runtime environment based on the meta- information.
  • the executable expressions may include multiple computational steps to be executed in sequence by the computerized runtime environment, in accordance with one embodiment.
  • the user-script data structure specifies a sequence of analytical steps of the analytical model to be performed by the computerized runtime environment on input data.
  • the instructions of the user-script data structure are used by the runtime environment to properly read and execute the analytical model even though the analytical model is defined in a format unrecognized by the runtime environment.
  • the selected analytical model to be executed is added to/included with the user-script data structure.
  • a computerized specification object is generated.
  • the computerized specification object includes the user-script data structure and the analytical model to be executed, a pre-script data structure, and a post-script data structure as previously described.
  • the post-script data structure specifies how to output results data produced by the analytical model from the computerized runtime environment.
  • the pre-script data structure specifies how the computerized runtime environment is to access input data (e.g., independent variable data) to be operated upon by the analytical model.
  • the pre-script data structure may specify how the computerized runtime environment is to connect to a database device to access input data to be operated upon by the analytical model.
  • the prescript data structure may specify how input data to be operated upon by the analytical model is to be read by the computerized runtime environment from a data file.
  • the computerized specification object (which includes the analytical model) is pushed over a computer network to the selected computerized runtime environment for execution of the analytical model by the computerized runtime environment.
  • the term "pushed" and its various forms, as used herein, refers to sending (e.g., transmitting) data to another program or computer (e.g., the computerized runtime environment) via network communications without the other program or computer having requested the data.
  • Execution of the computerized specification object in the runtime environment may be initiated upon being received at the runtime environment, in accordance with one embodiment.
  • the analytical model is caused to be executed by the selected runtime environment in accordance with at least the instructions for mapping contained in the user-script data structure.
  • the mapping instructions allow the runtime environment to properly read and execute the analytical model thereby making the analytical model compatible for execution in the runtime environment.
  • the computerized specification object functions as an interface that causes the analytical model to be compatible with the selected runtime environment even though the analytical model is defined in a format that is incompatible with the runtime environment.
  • the results data generated by the computerized runtime environment by executing the analytical model, are pulled from the computerized runtime environment.
  • the term "pulled” and its various forms, as used herein, refers to requesting data from another program or computer and receiving the data via network communications.
  • the results data is pulled from the runtime environment to the analytical application environment based on the post-script data structure upon completion of the execution of the analytical model by the runtime environment.
  • an analytical model can be executed by a selected runtime environment without being reprogrammed/rewritten in a format compatible with the selected runtime environment.
  • the user-script data structure is re-generated based on the runtime specification of the newly selected runtime environment to re-map the analytical expressions of the analytical model to executable expressions of the newly selected runtime environment.
  • the analytical model along with the user- script data structure is then transmitted to the new runtime environment for execution.
  • a computerized configuration object may be pushed over the computer network to the computerized runtime environment.
  • the computerized configuration object is used to synchronize with system elements of the computerized runtime environment and to specify where the analytical model is to be executed in the computerized runtime environment.
  • access to a configuration file by the computerized runtime environment specifies where (e.g., hardware-wise) the analytical model is to be executed in the computerized runtime environment.
  • the configuration file may specify that the analytical model is to be executed on local nodes, remote nodes, clustered nodes, or a combination thereof, in the runtime environment.
  • a computerized initiation object may be pushed over the computer network to the computerized runtime environment.
  • the computerized initiation object specifies multiple data structures, storing input data for the analytical model, to be accessed by the computerized runtime environment.
  • a user e.g., a business analyst
  • a computerized specification object can be generated that has a standardized format.
  • the standardized format includes at least a pre-script data structure, a user-script data structure, and a post-script data structure.
  • the user-script data structure specifies the analytical model and maps analytical expressions of the analytical model to executable expressions of a selected runtime environment upon execution of the user-script data structure.
  • the present system is a computing/data processing system including an executable application or collection of distributed applications in an enterprise.
  • the present analytical application infrastructure (AAI) is an implemented component/program module of the application.
  • the application and computing system may be configured to operate with or be implemented as a cloud-based networking system, a software-as-a-service (SaaS) architecture, or other type of networked computing solution.
  • the present system is a centralized server-side application that provides at least the functions disclosed herein and that is accessed by many users via computing devices/terminals communicating with the computing system (functioning as the server) over a computer network.
  • one or more of the components described herein are configured as program modules stored in a non-transitory computer readable medium.
  • the program modules are configured with stored instructions that when executed by at least a processor cause the computing device to perform the corresponding function(s) as described herein.
  • Fig. 5 illustrates an example computing device that is configured and/or programmed with one or more of the example systems and methods described herein, and/or equivalents.
  • the example computing device may be a computer 500 that includes a processor 502, a memory 504, and input/output ports 510 operably connected by a bus 508.
  • the computer 500 includes analytical application logic 530, similar to analytical application logic 1 10 in Fig. 1 , configured to facilitate the functions of the AAI as previously described.
  • the logic 530 may be implemented in hardware, a non- transitory computer-readable medium with stored instructions, firmware, and/or combinations thereof.
  • logic 530 is illustrated as a component attached to the bus 508, it is to be appreciated that in other embodiments, the logic 530 could be implemented in the processor 502, stored in memory 504, or stored in disk 506.
  • logic 530 or the computer is a means (e.g. , structure: hardware, non-transitory computer-readable medium, firmware) for performing the actions described.
  • the computing device may be a server operating in a cloud computing system, a server configured in a Software as a Service (SaaS) architecture, a smart phone, laptop, tablet computing device, and so on.
  • SaaS Software as a Service
  • the means may also be implemented as stored computer executable instructions that are presented to computer 500 as data 516 that are temporarily stored in memory 504 and then executed by processor 502.
  • Logic 530 may also provide means (e.g., hardware, non-transitory computer-readable medium that stores executable instructions, firmware) for performing the functions of the analytical application infrastructure (AAI).
  • the processor 502 may be a variety of various processors including dual microprocessor and other multi-processor architectures.
  • a memory 504 may include volatile memory and/or non-volatile memory. Non-volatile memory may include, for example, ROM, PROM, and so on. Volatile memory may include, for example, RAM, SRAM, DRAM, and so on.
  • a storage disk 506 may be operably connected to the computer 500 via, for example, an input/output (I/O) interface (e.g., card, device) 518 and an input/output port 510.
  • the disk 506 may be, for example, a magnetic disk drive, a solid state disk drive, a floppy disk drive, a Zip drive, a flash memory card, a memory stick, and so on.
  • the disk 506 may be a CD-ROM drive, a CD-R drive, a CD-RW drive, a DVD ROM, and so on.
  • the memory 504 can store a process 514 and/or a data 516, for example.
  • the disk 506 and/or the memory 504 can store an operating system that controls and allocates resources of the computer 500.
  • the computer 500 may interact with input/output (I/O) devices via the I/O interfaces 518 and the input/output ports 510.
  • I/O input/output
  • Input/output devices may be, for example, a keyboard, a microphone, a pointing and selection device, cameras, video cards, displays, the disk 506, the network devices 520, and so on.
  • the input/output ports 510 may include, for example, serial ports, parallel ports, and USB ports.
  • the computer 500 can operate in a network environment and thus may be connected to the network devices 520 via the I/O interfaces 518, and/or the I/O ports 510. Through the network devices 520, the computer 500 may interact with a network. Through the network, the computer 500 may be logically connected to remote computers. Networks with which the computer 500 may interact include, but are not limited to, a LAN, a WAN, and other networks. [00107] Definitions and Other Embodiments
  • a non-transitory computer readable/storage medium is configured with stored computer executable instructions of an algorithm/executable application that when executed by a machine(s) cause the machine(s) (and/or associated components) to perform the method.
  • Example machines include but are not limited to a processor, a computer, a server operating in a cloud computing system, a server configured in a Software as a Service (SaaS) architecture, a smart phone, and so on).
  • SaaS Software as a Service
  • a computing device is implemented with one or more executable algorithms that are configured to perform any of the disclosed methods.
  • the disclosed methods or their equivalents are performed by either: computer hardware configured to perform the method; or computer software embodied in a non-transitory computer- readable medium including an executable algorithm configured to perform the method.
  • references to "one embodiment”, “an embodiment”, “one example”, “an example”, and so on, indicate that the embodiment(s) or example(s) so described may include a particular feature, structure, characteristic, property, element, or limitation, but that not every embodiment or example necessarily includes that particular feature, structure, characteristic, property, element or limitation. Furthermore, repeated use of the phrase “in one embodiment” does not necessarily refer to the same embodiment, though it may.
  • ASIC application specific integrated circuit
  • CD compact disk.
  • CD-R CD recordable.
  • CD-RW CD rewriteable.
  • DVD digital versatile disk and/or digital video disk.
  • LAN local area network
  • RAM random access memory.
  • DRAM dynamic RAM.
  • SRAM synchronous RAM.
  • ROM read only memory
  • PROM programmable ROM.
  • USB universal serial bus
  • WAN wide area network
  • An "operable connection”, or a connection by which entities are “operably connected”, is one in which signals, physical communications, and/or logical communications may be sent and/or received.
  • An operable connection may include a physical interface, an electrical interface, and/or a data interface.
  • An operable connection may include differing combinations of interfaces and/or connections sufficient to allow operable control. For example, two entities can be operably connected to communicate signals to each other directly or through one or more intermediate entities (e.g., processor, operating system, logic, non- transitory computer-readable medium).
  • An operable connection may include one entity generating data and storing the data in a memory, and another entity retrieving that data from the memory via, for example, instruction control.
  • a "data structure”, as used herein, is an organization of data in a computing system that is stored in a memory, a storage device, or other computerized system.
  • a data structure may be any one of, for example, a data field, a data file, a data array, a data record, a database, a data table, a graph, a tree, a linked list, and so on.
  • a data structure may be formed from and contain many other data structures (e.g., a database includes many data records). Other examples of data structures are possible as well, in accordance with other embodiments.
  • Computer-readable medium refers to a non-transitory medium that stores instructions and/or data configured to perform one or more of the disclosed functions when executed by a processor.
  • a computer-readable medium may take forms, including, but not limited to, non-volatile media, and volatile media.
  • Non-volatile media may include, for example, optical disks, magnetic disks, and so on.
  • Volatile media may include, for example, semiconductor memories, dynamic memory, and so on.
  • a computer-readable medium may include, but are not limited to, a floppy disk, a flexible disk, a hard disk, a magnetic tape, other magnetic medium, an application specific integrated circuit (ASIC), a programmable logic device, a compact disk (CD), other optical medium, a random access memory (RAM), a read only memory (ROM), a memory chip or card, a memory stick, solid state storage device (SSD), flash drive, and other media from which a computer, a processor or other electronic device can function with.
  • ASIC application specific integrated circuit
  • CD compact disk
  • RAM random access memory
  • ROM read only memory
  • memory chip or card a memory chip or card
  • SSD solid state storage device
  • flash drive and other media from which a computer, a processor or other electronic device can function with.
  • Each type of media if selected for implementation in one embodiment, may include stored instructions of an algorithm configured to perform one or more of the disclosed and/or claimed functions.
  • Logic represents a component that is implemented with computer or electrical hardware, a non-transitory medium with stored instructions of an executable application or program module, and/or combinations of these to perform any of the functions or actions as disclosed herein, and/or to cause a function or action from another logic, method, and/or system to be performed as disclosed herein.
  • Equivalent logic may include firmware, a microprocessor programmed with an algorithm, a discrete logic (e.g., ASIC), at least one circuit, an analog circuit, a digital circuit, a programmed logic device, a memory device containing instructions of an algorithm, and so on, any of which may be configured to perform one or more of the disclosed functions.
  • logic may include one or more gates, combinations of gates, or other circuit components configured to perform one or more of the disclosed functions. Where multiple logics are described, it may be possible to incorporate the multiple logics into one logic. Similarly, where a single logic is described, it may be possible to distribute that single logic between multiple logics. In one embodiment, one or more of these logics are corresponding structure associated with performing the disclosed and/or claimed functions. Choice of which type of logic to implement may be based on desired system conditions or specifications. For example, if greater speed is a consideration, then hardware would be selected to implement functions. If a lower cost is a consideration, then stored instructions/executable application would be selected to implement the functions.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Stored Programmes (AREA)
PCT/IB2016/000301 2015-10-27 2016-01-28 Uniform interface specification for interacting with and executing models in a variety of runtime environments WO2017072565A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201680063016.4A CN108351796B (zh) 2015-10-27 2016-01-28 用于在各种运行时环境中与模型交互并执行模型的统一接口规范
JP2018521541A JP6816136B2 (ja) 2015-10-27 2016-01-28 多様なランタイム環境でモデルと対話してモデルを実行するための統一インターフェイス仕様

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562246657P 2015-10-27 2015-10-27
US62/246,657 2015-10-27
US14/972,291 US9684490B2 (en) 2015-10-27 2015-12-17 Uniform interface specification for interacting with and executing models in a variety of runtime environments
US14/972,291 2015-12-17

Publications (1)

Publication Number Publication Date
WO2017072565A1 true WO2017072565A1 (en) 2017-05-04

Family

ID=58558759

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2016/000301 WO2017072565A1 (en) 2015-10-27 2016-01-28 Uniform interface specification for interacting with and executing models in a variety of runtime environments

Country Status (4)

Country Link
US (1) US9684490B2 (ja)
JP (1) JP6816136B2 (ja)
CN (1) CN108351796B (ja)
WO (1) WO2017072565A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3332320B1 (en) 2015-08-05 2023-04-05 Equifax, Inc. Model integration tool
US10438132B2 (en) 2015-12-16 2019-10-08 Accenture Global Solutions Limited Machine for development and deployment of analytical models
US10387798B2 (en) 2015-12-16 2019-08-20 Accenture Global Solutions Limited Machine for development of analytical models
DE102016203855B4 (de) * 2016-03-09 2023-11-02 Siemens Aktiengesellschaft Verfahren und Vorrichtung zum Steuern eines technischen Systems anhand von Steuermodellen
US11080435B2 (en) 2016-04-29 2021-08-03 Accenture Global Solutions Limited System architecture with visual modeling tool for designing and deploying complex models to distributed computing clusters
US10871753B2 (en) 2016-07-27 2020-12-22 Accenture Global Solutions Limited Feedback loop driven end-to-end state control of complex data-analytic systems
US10831550B2 (en) * 2018-03-27 2020-11-10 Oracle Financial Services Software Limited Computerized control of execution pipelines
US11381575B2 (en) * 2019-05-03 2022-07-05 Microsoft Technology Licensing, Llc Controlling access to resources of edge devices
CN110750264B (zh) * 2019-10-16 2021-01-05 珠海格力电器股份有限公司 脚本界面的显示方法及装置
CN111460620B (zh) * 2020-03-06 2023-06-20 北京仿真中心 一种试验评估模型构建方法及系统
US20210406246A1 (en) * 2020-06-24 2021-12-30 David Mueller Management of diverse data analytics frameworks in computing systems
CN111782717A (zh) * 2020-07-21 2020-10-16 政采云有限公司 一种数据处理方法、系统及电子设备和存储介质
CN112328304B (zh) * 2020-10-12 2024-04-09 中国建设银行股份有限公司 一种脚本适配方法、系统、设备及计算机存储介质
CN113127413B (zh) * 2021-05-12 2024-03-01 北京红山信息科技研究院有限公司 一种运营商数据处理方法、装置、服务器及存储介质
US11782888B2 (en) * 2021-09-16 2023-10-10 Bank Of America Corporation Dynamic multi-platform model generation and deployment system

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10636084B2 (en) * 1996-10-31 2020-04-28 Citicorp Credit Services, Inc. (Usa) Methods and systems for implementing on-line financial institution services via a single platform
EP1107157A3 (en) 1999-12-01 2001-11-28 International Business Machines Corporation System and method for performing predictive analysis
US6873979B2 (en) 2000-02-29 2005-03-29 Marketswitch Corporation Method of building predictive models on transactional data
EP1146687A3 (en) 2000-04-12 2004-08-25 Hewlett-Packard Company, A Delaware Corporation Internet usage analysis system and method
US6928398B1 (en) 2000-11-09 2005-08-09 Spss, Inc. System and method for building a time series model
EP1402435A4 (en) * 2001-03-08 2007-04-25 Richard M Adler SYSTEM AND METHOD FOR MODELING AND ANALYZING STRATEGIC BUSINESS DECISIONS
US20030023951A1 (en) 2001-04-05 2003-01-30 Rosenberg Philip S. MATLAB toolbox for advanced statistical modeling and data analysis
US7451065B2 (en) 2002-03-11 2008-11-11 International Business Machines Corporation Method for constructing segmentation-based predictive models
US20040030667A1 (en) 2002-08-02 2004-02-12 Capital One Financial Corporation Automated systems and methods for generating statistical models
US7079993B2 (en) 2003-04-29 2006-07-18 Daniel H. Wagner Associates, Inc. Automated generator of optimal models for the statistical analysis of data
US20060106626A1 (en) * 2004-11-16 2006-05-18 Jun-Jang Jeng Method and apparatus of model driven business solution monitoring and control
US8762193B2 (en) 2005-11-11 2014-06-24 Accenture Global Services Limited Identifying target customers for campaigns to increase average revenue per user
US7881535B1 (en) 2006-06-29 2011-02-01 Capital One Financial Corporation System and method for managing statistical models
US8046200B2 (en) 2006-09-05 2011-10-25 Colorado State University Research Foundation Nonlinear function approximation over high-dimensional domains
CN100468330C (zh) * 2007-03-30 2009-03-11 腾讯科技(深圳)有限公司 一种脚本内核管理方法及系统
CN100485692C (zh) * 2007-06-29 2009-05-06 中兴通讯股份有限公司 Xml数据存储系统和方法
US8417715B1 (en) * 2007-12-19 2013-04-09 Tilmann Bruckhaus Platform independent plug-in methods and systems for data mining and analytics
US9569468B2 (en) * 2013-05-07 2017-02-14 Red Hat Israel, Ltd. Deploying database upgrades to multiple environments in a different order
US10579396B2 (en) * 2014-04-09 2020-03-03 Nice-Systems Ltd. System and automated method for configuring a predictive model and deploying it on a target platform
CN103955369B (zh) * 2014-04-28 2017-05-17 中国人民解放军理工大学 一种基于扩展uml的软件模糊自适应建模工具构造方法
US9436507B2 (en) * 2014-07-12 2016-09-06 Microsoft Technology Licensing, Llc Composing and executing workflows made up of functional pluggable building blocks
CN104899046B (zh) * 2015-06-26 2018-01-30 上海斐讯数据通信技术有限公司 一种多功能脚本运行方法和系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
FETHI A RABHI ET AL: "ADAGE: a framework for supporting user-driven ad-hoc data analysis processes", COMPUTING ; ARCHIVES FOR SCIENTIFIC COMPUTING, SPRINGER-VERLAG, VI, vol. 94, no. 6, 30 March 2012 (2012-03-30), pages 489 - 519, XP035066562, ISSN: 1436-5057, DOI: 10.1007/S00607-012-0193-0 *
IBM: "IBM SPSS Modeler 15 User's Guide", 2012, XP055272523, Retrieved from the Internet <URL:http://faculty.smu.edu/tfomby/eco5385_eco6380/data/SPSS/SPSS%20Modeler%2015%20Users%20Guide.pdf> [retrieved on 20160513] *
KOSAKU KIMURA ET AL: "Runtime Composition for Extensible Big Data Processing Platforms", 2015 IEEE 8TH INTERNATIONAL CONFERENCE ON CLOUD COMPUTING, 27 June 2015 (2015-06-27), pages 1053 - 1057, XP055272472, ISBN: 978-1-4673-7287-9, DOI: 10.1109/CLOUD.2015.151 *
ZUBCOFF J ET AL: "Integrating the Development of Data Mining and Data Warehouses via Model-driven Engineering", ACTAS DE LOS TALLERES DE LAS JORNADAS DE INGENIERÍA DEL SOFTWARE Y BASES DE DATOS, SISTEDES, 2008, vol. 2, no. 1, 2008, pages 75 - 86, XP055272508, ISSN: 1988-3455 *

Also Published As

Publication number Publication date
JP2018536227A (ja) 2018-12-06
US20170115964A1 (en) 2017-04-27
JP6816136B2 (ja) 2021-01-20
CN108351796A (zh) 2018-07-31
CN108351796B (zh) 2022-05-13
US9684490B2 (en) 2017-06-20

Similar Documents

Publication Publication Date Title
US9684490B2 (en) Uniform interface specification for interacting with and executing models in a variety of runtime environments
US11513776B2 (en) System for self modification
US10073867B2 (en) System and method for code generation from a directed acyclic graph using knowledge modules
US11789964B2 (en) Load plan generation
EP3258393A1 (en) Data revision control in large-scale data analytic systems
US9898259B2 (en) Data binding for model-based code generation
US20240184539A1 (en) Platform for integrating back-end data analysis tools using schema
US9507838B2 (en) Use of projector and selector component types for ETL map design
CN112199086A (zh) 自动编程控制系统、方法、装置、电子设备及存储介质
JP2018067280A (ja) ソフトウェアサービスの実行のためのシステム、方法、及びプログラム
CN113190576A (zh) 数据处理方法、装置、计算机设备和可读存储介质
Fernandez et al. Java2SDG: stateful big data processing for the masses
US20230161596A1 (en) Unified pipeline flow with common and phase-specific paths
WO2024046458A1 (zh) 层次化系统、运算方法、装置、电子设备及存储介质
Gosein IT Architecture Design of a Future Data Analysis System for Particle Physics at CERN
Dobos et al. Graywulf: A platform for federated scientific databases and services
Ranabahu Abstraction driven application and data portability in cloud computing
Deinum et al. NoSQL and BigData
Yao ADAGE: a framework for supporting user-driven ad hoc data analysis processes
da Silva Teixeira Implementation of a data virtualization layer applied to insurance data
Bubak et al. Collection and storage of provenance data
ZÁBOJNÍK Online repository for exploring Boolean networks
Toka A BENCHMARKING FRAMEWORK FOR BIG DATA TECHNOLOGIES

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16713982

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2018521541

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16713982

Country of ref document: EP

Kind code of ref document: A1