The Research Object Optimization Ontology

The Research Object Optimization Ontology

Release 20 July 2013

Latest version:
http://purl.org/net/RO-optimization
Revision
1.0
Authors:
Sonja Holl, Juelich Supercomputing Centre (JSC) Forschungszentrum Juelich, Germany.
Daniel Garijo, Ontology Engineering Group, Universidad Politecnica de Madrid, Spain.
Khalid Belhajjame, University of Manchester, UK.
Extended Ontologies:
RO: The Research Object Ontology
Wfprov: The wfprov Ontology
Wfdesc: The wfdesc Ontology
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.0 Generic License.

Abstract

This document describes the Research Object Optimization Ontology (RO-Opt). RO-Opt is an OWL ontology designed for representing optimizations done to workflows and their provenance, making possible to justify the parameters of a given execution and thus helping reproducing the results. RO-Opt is built on the Research Object model [RO], extending it when necessary.

The latest OWL encoding of RO-Opt can be found here

Table of Contents

1. Introduction back to ToC

The quality of the final result of a scientific workflow may depend on how good the choices for the input parameters are. Therefore, when sharing and reusing scientific workflow results, the final choice on the input parameters should be justified and recorded.

In order to find a suitable parameter set, scientists frequently use trial and error, parameter sweeps or even optimization techniques. This optimization process has to be performed for each workflow from scratch and is neither captured nor shared among scientists at the moment. However, the optimization process could be much more simplified and improved, if public workflow repositories would not only store provenance data of the workflow execution but also the necessary meta-information of the optimization process itself. This optimization provenance could be applied for example by other optimization runs to guide the optimization process of the initial sample of parameters. It will allow for a faster convergence of the optimization algorithm and is likely to improve the workflow overall results. Researchers could then reuse the valuable results of others to automatically improve their own scientific result and without investing time for analysis.

This document describes the Research Object Optimization Ontology (RO-Opt), an OWL ontology designed for representing optimizations done to workflows and the provenance of such optimizations. RO-Opt is built on top of the Research Object model, reusing and extending its main concepts when necessary. In particular, RO-Opt reuses the Core Research Object Ontology (ro) for describing the resources aggregated in a workflow optimization and the wfdesc and wfprov for linking and extending workflow concepts.

1.1. Namespace declarations back to ToC

Table 1: Namespaces used in the document
opt<http://purl.org/net/RO-optimization#>
owl<http://www.w3.org/2002/07/owl#>
rdfs<http://www.w3.org/2000/01/rdf-schema#>
ro<http://purl.org/wf4ever/ro#>
wfprov<http://purl.org/wf4ever/wfprov#>
wfdesc<http://purl.org/wf4ever/wfdesc#>

2. RO-Opt Overview back to ToC

An Optimization Research Object (opt:OptimizationResearchObject) is an aggregation of all the resources required for performing the workflow optimization process. Since Research Objects (ro:ResearchObject) are aggregations of the resources used or referenced within an investigation, an Optimization Research Object is a specific type of Research Object. Figure 1 shows an overview of the main resources aggregated as part of an Optimization Research Object: The algorithm (opt:Algorithm) used to generate the optimization parameters, the fitness function (opt:Fitness) used, the population of individuals (solutions) that have been produced at a given iteration of the optimization algorithm (opt:Generation), the optimization run (opt:OptimizationRun) of the part of the workflow on top of which the optimization has been performed, the search space (opt:SearchSpace) where the algorithm has searched for optimum values, the termination condition (opt:TerminationCondition) for the optimization algorithm, the workflow (wfdesc:Workflow) being optimized and the link to the best results (opt:hasBestResult) found.

RO-Opt Overview.
Figure 1. RO-Opt overview: The aggregated resources as part of a workflow optimization.

An overview of the classes, properties and dataproperties can be seen below:

Classes

Properties

Data Properties

3. RO-Opt Description back to ToC

3. An overview of Research Objects back to ToC

Research Objects aim at providing support for the description of scientific investigations in a machine readable format. In addition to the scholarly article that reports on the results of the research investigation, a Research Object encapsulates other resources that enable and promote the reuse, interpretation and reproducibility of such investigation results. In particular, a Research Object comprises the datasets used and generated during the research investigation, the workflow encoding the experiment carried out, the provenance traces captured by running the experiments and the various annotations that describes resources and their relationships.

Figure 2 illustrates a coarse-grained view of the Research Object model. Here we focus on Workflow-Centric Research Objects, i.e., Research Objects that contain at least a workflow. As illustrated in Figure 2, a Research Object aggregates a number of resources, namely:

RO-Opt Overview.
Figure 2. Research Object model in a nutshell.

The Research Object model is represented by a family of ontologies, divided into a Research Object Core Ontology and extension modules that cater for different domain specific requirements (Research Object evolution, scientific workflows, etc.). RO-Opt extends the Research Object Core Ontology and the ontologies used to specify Workflow-Centric Research Objects: the wfdesc ontology (used to specify workflow templates) and the wfprov ontology (used to capture the provenance traces of the workflow executions).

3.2. RO-Opt as an extension of the RO model

In this section we describe the different parts of an optimization, according to Figure 1.

3.2.1. Algorithm

As the fitness landscape of scientific workflows can be rugged and contain less gradient information, meta-heuristic search methods are convenient search algorithms (opt:Algorithm) to deal with the optimization of scientific workflows.

Figure 3 shows the type of search algorithms we focus on this paper: Genetic Algorithms (opt:GeneticAlgorithm), Particle Swarm Optimization (opt:ParticleSwarmOptimizationAlgorithm) or other methods that are conceivable and can be implemented as a plugin of the optimization framework.

The used optimization algorithms should be stored for typing and comparing aspects. Not only the type of algorithm but also the specific parameter of the algorithm may be reused in later optimization runs.

Algorithm Overview.
Figure 3. Main classes and properties of the Algorithm section of RO-Opt. Blue concepts show the terms reused from the Research Object Ontologies.

3.2.2. Fitness

In order to automate the optimization process, workflow results are evaluated by the optimization algorithm. The workflow result is based on an output parameter (opt:FunctionOutputParameter), which represents a specific fitness measure (opt:Fitness). Figure 4 depicts an overview of the fitness section of the ontology. The fitness measure may consist of one or several output parameter. Several parameters and weights are used, if the user wants to perform a multi-objective optimization (opt:MultiObjectiveFitness) instead of a single-objective optimization (opt:SingleObjectiveFitness). Multi-objective optimization tries to solve problems that have two or more, often conflicting, objectives. Single-objective optimization in turn tries to solve only a single objective. The fitness function (opt:FintessFunction) associated to the fitness measure can store not only output parameters and weights but also a body (opt:hasBody), which may contain a piece of code representing a unique measure description.

Algorithm Overview.
Figure 4. Main classes and properties of the Fitness section of RO-Opt. Blue concepts show the terms reused from the Research Object Ontologies.

3.2.3. Generation

During the optimization process each workflow instance of a population of size y is executed. Each of these instances is made up of a unique parameter and component combination. After the execution and evaluation of the workflow instances, a new generation of unique workflow set-ups is executed. To monitor the population evolvement, each individual workflow run has a corresponding generation number (opt:hasGenerationNumber). Additionally, the population size of each generation is stored (opt:hasPopulationSize), as this number can vary for optimization runs in general and each generation in particular.

3.2.4. Optimization Run

Results obtained during the optimization process may be of interest and required to learn from in later optimization runs (opt:OptimizationRun). Thus the executed workflow instances and their results should be captured as well. However we recommend against storing the entire provenance trace of a workflow run if the original trace has already been saved. This is due to the fact that, usually, many relevant data objects (e.g. intermediate results) are already stored to achieve reproducibility. We assume that these data objects are negligible when achieving optimization reproducibility and especially when learning from optimization runs. The crucial values to capture are fitness values (opt:hasFitnessValue) and a flag (opt:Flag), which depicts the origin of the fitness value. As shown in Figure 5, the flag indicates that the fitness value may have been calculated (opt:Original), approximated (opt:Approx) or just taken from a prior similar or identical optimization run (opt:LinkToOriginal). The flag allows users to relate where the specific fitness value originates from. In particular, when optimizing identical workflows it would be useful to reuse fitness values from prior optimization runs (and use the opt:LinkToOriginal flag).

Algorithm Overview.
Figure 5. Main classes and properties of the Optimization Run section of RO-Opt. Blue concepts show the terms reused from the Research Object Ontologies.

3.2.6. Termination Condition

The optimization process will stop at a certain time preferably if the algorithm has converged. However this may be a heavy time consuming task, and thus the user often wantsto add additional termination criteria. The termination condition (opt:TerminationCondition) should be stored due to reasons of the plausibility of the optimization run. The termination condition precisely stores under which condition the optimization is to be terminated. This can be the maximum number of performed workflow executions (opt:hadMaxNumberOfExecutions), the maximum number of evolutionary steps (opt:hadNumberOfSteps), the required time for the optimization process (opt:hadMaxTime), a reached fitness value (opt:hadFitnessReached) or a number of generations that did not improve the fitness measure (opt:noChange). Depending on the workflow, the search space settings and how strict the termination conditions have been selected, inferences on how valuable the final best result is, can be made.

3.2.7. Workflow

The original workflow (wfdesc:Workflow) should be stored within the Optimization Research Object to increase the optimization process discoverability (with the opt:hasWorkflow property). The workflow may be stored in an abstract or concrete fashion to capture the scientific experiment. Together with this resource, one representative workflow run (wfdesc:WorkflowRun) should be stored, to capture all used input data.

3.2.8. Link to best results

To ensure a fast and eased analysis, link(s) to the best result(s) (opt:hasBestResult) should be stored. For single objective optimization one link is stored, for multi-objective optimization several results are stored representing the Pareto Front.

Finally, Figure 7 shows a complete schema of all the classes, properties and data properties of the RO-Opt ontology, and how they are connected to the Research Object ontologies.

Search Overview.
Figure 7. All classes, properties and data properties of the RO-Opt ontology. Blue concepts show the terms reused from the Research Object Ontologies.

4. Cross reference for RO-Opt classes and properties

This section provides details for each class and property defined by RO-Opt.

Classes

opt:Algorithmc back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#Algorithm

Workflow optimizations can be performed by different optimization algorithms. Typically, one optimization algorithm is not best suitable for each optimization problem and another may be tested. Examples are opt:GeneticAlgorithms (GA) or opt:ParticleSwarmOptimization (PSO).

opt:has super-classes
opt:OptimizationResource c
opt:has sub-classes
opt:GeneticAlgorithm c, opt:ParticleSwarmOptimizationAlgorithm c
is in domain of
opt:hasAlgorithmParameter op
is in range of
opt:hasAlgorithm op

opt:AlgorithmParameterc back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#AlgorithmParameter

Parameter to specify the used optimization algorithm. These parameter may influence the effectiveness or convergence time of the algorithm.

opt:has super-classes
wfdesc:Parameter c
is in domain of
opt:hasParameterValue dp
is in range of
opt:hasAlgorithmParameter op

opt:Approxc back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#Approx

The fitness value was not calculated, only approximated based on e.g. surrogate model or neighborhood values.

opt:has super-classes
opt:Flag c

opt:Artifactc back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#Artifact

An opt:Artifact holds information of the used opt:OptimizationInputParameter.

opt:has super-classes
wfprov:Artifact c

opt:BooleanInputParameterc back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#BooleanInputParameter

An opt:BooleanInputParameter represents a workflow input parameter of the type boolean. Its value can be true or false, storing the initial setting.

opt:has super-classes
opt:OptimizationInputParameter c
is in domain of
opt:hasBooleanValue dp

opt:ChoiceInputParameterc back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#ChoiceInputParameter

An opt:ChoiceInputParameter represents a workflow input parameter of the type choice. A choice represents fixed values. E.g. a parameter can have as input "Gaussian", "Polynomial" or "RBF". The algorithm may then select one of these opt:ChoiceInputParameter values ["Gaussian", "Polynomial", "RBF"]

opt:has super-classes
opt:OptimizationInputParameter c
is in domain of
opt:hasChoiceValue dp

opt:Dependencyc back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#Dependency

An opt:Dependency describes the dependency between two parameters or processors, which is defined by the user. Processors might only work in specific combinations, though only specific processors should be connected to each other within a workflow. Those dependencies must be defined by the user, in order that the non-compatible component combinations are excluded from the search space. Additionally, parameter values may not be compatible with each other. E.g. if a parameter value A is within a specific range parameter value B may only be true.

opt:has sub-classes
opt:ParameterDependency c, opt:ProcessorDependency c
is in domain of
opt:compatibleResource dp, opt:hasSourceProcessor op
is in range of
opt:hasDependency op

opt:DoubleInputParameterc back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#DoubleInputParameter

An opt:DoubleInputParameter represents a workflow input parameter of the type double

opt:has super-classes
opt:NumericInputParameter c

opt:ExponentialFunctionc back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#ExponentialFunction

An opt:ExponentialFunction describes a function for selecting a valid value for an opt:NumericInputParameter.

opt:has super-classes
opt:NumericFunction c

opt:FileInputParameterc back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#FileInputParameter

An opt:FileInputParameter represents a workflow input parameter of the type file. A file input can be taken from a fixed list of input files or a directory.

opt:has super-classes
opt:OptimizationInputParameter c
is in domain of
opt:hasFileName dp

opt:Fitnessc back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#Fitness

An opt:OptimizationResearchObject has a opt:Fitness description which in turn can have one or several opt:FitnessFunctions. An optimization can be a Multi-Objective Optimization or Single-Objective Optimization.

opt:has super-classes
opt:OptimizationResource c
opt:has sub-classes
opt:MultiObjectiveFitness c, opt:SingleObjectiveFitness c
is in domain of
opt:hasFitnessFunction op
is in range of
opt:hasFitness op

opt:FitnessFunctionc back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#FitnessFunction

The opt:FitnessFunctions characterize the specific functions that were used during the optimization to evaluate the workflow. A fitness function can have a body, which is e.g. a function describing a performance measure. A fitness function can also have an opt:FunctionOutputParameter, whose numeric output value is used for the evaluation. For the evaluation a user may also want to give different weights to the fitness function, which can be defined by using the weight field.

opt:has super-classes
opt:Function c
is in domain of
opt:hasBody dp, opt:hasOutputParameter op, opt:hasWeight dp
is in range of
opt:hasFitnessFunction op

opt:Flagc back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#Flag

Each tested parameter sample set has a fitness value, which was calculated, approximated or taken from a prior run. To store the trustworthiness of a fitness value this flag can be set to opt:Original, opt:Approx, opt:Original or opt:LinkToOriginal.

opt:has sub-classes
opt:Approx c, opt:LinkToOriginal c, opt:Original c
is in range of
opt:hasFlag op

opt:Functionc back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#Function

An opt:Function groups the different typs of Functions found in an Optimization Research Object: Fitness Functions and Numeric Functions.

opt:has sub-classes
opt:FitnessFunction c, opt:NumericFunction c

opt:FunctionOutputParameterc back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#FunctionOutputParameter

An opt:FunctionOutputParameter specifies the output that can be used by an optimization algorithm to evaluate the fitness of a specific parameter sample set.

opt:has super-classes
wfdesc:Parameter c
is in range of
opt:hasOutputParameter op

opt:Generationc back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#Generation

A Generation represents the population of individuals (solutions) that have been produced at a given iteration of the optimization algorithm.

is in domain of
opt:hasGenerationNumber dp, opt:hasPopulationSize dp
is in range of
opt:belongsToGeneration op

opt:GeneticAlgorithmc back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#GeneticAlgorithm

Class designed to indicate that the optimization was performed by a Genetic Algorithm. The used parameter for crossover and mutation rate are stored within opt:AlgorithmParameter respectively.

opt:has super-classes
opt:Algorithm c

opt:IntegerInputParameterc back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#IntegerInputParameter

An opt:IntegerInputParameter represents a workflow input parameter of the type integer.

opt:has super-classes
opt:NumericInputParameter c

opt:LinkToOriginalc back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#LinkToOriginal

The fitness value was not calculated, it was substituted by a result from a prior run, having equal or similar settings.

opt:has super-classes
opt:Flag c

opt:MultiObjectiveFitnessc back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#MultiObjectiveFitness

If a Fitness is a Multi-Objective Optimization, many fitness functions will be stored to define the maximization or minimization problem of a specific workflow. MO also effects the number of best results, as typically many parameter sets are optimal regarding the various fitness functions (they represent the Pareto front).

opt:has super-classes
opt:Fitness c

opt:NumericFunctionc back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#NumericFunction

An opt:NumericFunction describes a function for selecting a valid value for an opt:NumericInputParameter. Possible function types are opt:ExponentialFunction, opt:PointFunction or opt:PolynomicalFunction. The function value determines the step size for a opt:PointFunction, the basis for opt:ExponentialFunction and the exponent for a opt:PolynomicalFunction. The value for a parameter is then calculated by using e.g. 3*x whereas 3 is the fixed function value and x is a number heuristically determined by the optimization algorithm.

opt:has super-classes
opt:Function c
opt:has sub-classes
opt:ExponentialFunction c, opt:PointFunction c, opt:PolynomicalFunction c
is in domain of
opt:hasFunctionValue dp
is in range of
opt:hasNumericFunction op

opt:NumericInputParameterc back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#NumericInputParameter

An opt:NumericInputParameter represents a workflow input parameter of a numeric type, a double (opt:DoubleInputParameter) or interger (opt:IntegerInputParameter). The range of an opt:NumericInputParameter can be fixed by a minimum and a maximum value. A value can also be selected regarding a numerical function (opt:NumericFunction). A opt:NumericalInputParameter value may also be rounded by linking opt:hasRoundValue with true.

opt:has super-classes
opt:OptimizationInputParameter c
opt:has sub-classes
opt:DoubleInputParameter c, opt:IntegerInputParameter c
is in domain of
opt:hasMaxValue dp, opt:hasMinValue dp, opt:hasNumericFunction op, opt:hasRoundValue dp

opt:OptimizationInputParameterc back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#OptimizationInputParameter

An opt:OptimizationInputParameter represents the workflow input parameter that has been used during an optimization. On the one hand, it stores the exact value for a specific parameter that has been used during one execution and on the other hand it stores the specification of the range in which a value can be selected. An opt:OptimizationInputParameter has a name (opt:name) and an value (opt:Value), which stores the exact value that were used during an optimization run for this specific parameter. An opt:OptimizationInputParameter can be an opt:NumericInputParameter, opt:StringInputParameter, opt:FileInputParameter, opt:BooleanInputParameter, or opt:ChoiceInputParameter.

opt:has super-classes
wfdesc:Parameter c
opt:has sub-classes
opt:BooleanInputParameter c, opt:ChoiceInputParameter c, opt:FileInputParameter c, opt:NumericInputParameter c, opt:StringInputParameter c
is in domain of
opt:hasName dp.
is in range of
opt:hasInputParameter op, opt:onParameter op

opt:OptimizationResearchObjectc back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#OptimizationResearchObject

An opt:OptimizationResearchObject stores all relevant information and specifications that have been used to perform an optimization run as well as the optimization result. With the storage of these meta-data, the optimization run can be re-executed and/or analysed to guide future optimization runs. By reusing this knowledge, optimization runs improve workflow settings and workflows may produce more meaningful results.

opt:has super-classes
ro:ResearchObject c
is in domain of
opt:hasAbortCriteria op, opt:hasAlgorithm op, opt:hasBestResult dp, opt:hasFitness op, opt:hasOptimizationRun op, opt:hasSearchSpace op, opt:hasSubWorkflow op, opt:hasWorkflow op

opt:OptimizationResourcec back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#OptimizationResource

An opt:OptimizationResource groups all those elements that are found in an OptimizationResearchObject.

opt:has super-classes
ro:Resource c
opt:has sub-classes
opt:Algorithm c, opt:Fitness c, opt:OptimizationRun c, opt:SearchSpace c

opt:OptimizationRunc back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#OptimizationRun

An opt:OptimizationRun represents one result of a specific paramater sample within an opt:OptimizationResearchObject. Different opt:OptimizationRuns can be specified by several properties. On the one hand, an opt:OptimizationRun has a fitness value and a flag to type the fitness value. On the other hand it has a used parameter sample set and sub-workflow. The sub-workflow specifies the exact workflow and wfprov:Artifact describes the parameter sample set, which holds the exact parameter values for each parameter used for the execution to gain the specific fitness value.

opt:has super-classes
opt:OptimizationResource c
wfprov:WorkflowRun c
is in domain of
opt:hasFitnessValue dp, opt:hasFlag op
is in range of
opt:hasOptimizationRun op

opt:Originalc back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#Original

The fitness value was calculated by the workflow.

opt:has super-classes
opt:Flag c

opt:ParameterDependencyc back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#ParameterDependency

Paremeter dependencies are defined between a source Processor and its opt:OptimizationInputParameter and another opt:OptimizationInputParameter. A constraint can be defined, which implements a function describing the dependency between these two OptimizationInputParameters.

opt:has super-classes
opt:Dependency c
is in domain of
opt:hasParameterConstraint dp, opt:onParameter op

opt:ParticleSwarmOptimizationAlgorithmc back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#ParticleSwarmOptimizationAlgorithm

Class designed to indicate that the optimization was performed by a Particle Swarm Optimization Algorithm.

opt:has super-classes
opt:Algorithm c

opt:PointFunctionc back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#PointFunction

An opt:PointFunction describes a function for selecting a valid value for an opt:NumericInputParameter

opt:has super-classes
opt:NumericFunction c

opt:PolynomicalFunctionc back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#PolynomicalFunction

An opt:PolynomicalFunction describes a function for selecting a valid value for an opt:NumericInputParameter

opt:has super-classes
opt:NumericFunction c

opt:Processorc back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#Processor

A opt:Processor represents a node within a workflow. This can be a specific task e.g. a web service or application, or any abstract component description.

opt:has super-classes
wfdesc:Process c
is in domain of
opt:hasInputParameter op
is in range of
opt:hasProcessor op, opt:hasSourceProcessor op, opt:hasTargetProcessor op

opt:ProcessorDependencyc back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#ProcessorDependency

opt:Processor dependencies are defined by specifying the compatibility between a source and target opt:Processor. Respectifely to the compatibility these two processors can or can not be used within one workflow for optimization.

opt:has super-classes
opt:Dependency c
is in domain of
opt:hasTargetProcessor op

opt:SearchSpacec back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#SearchSpace

The opt:SearchSpace describes the search space that is spanned by the different opt:Processors, their parameters and constraints. The user defines this space by setting ranges or regular expressions to opt:OptimizationInputParameter and defining dependencies between opt:Processors and opt:OptimizationInputParameter. The optimization algorithm will choose parameter values within the search space for the sampling process.

opt:has super-classes
opt:OptimizationResource c
is in domain of
opt:hasDependency op, opt:hasProcessor op
is in range of
opt:hasSearchSpace op

opt:SingleObjectiveFitnessc back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#SingleObjectiveFitness

If a opt:Fitness is Single-Objective Optimization, typically only one fitness function is given. Sometimes there will be more than one fitness function defined, they are merged into one fitness value at the end regarding their weight.

opt:has super-classes
opt:Fitness c

opt:StringInputParameterc back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#StringInputParameter

An opt:StringInputParameter represents a workflow input parameter of the type string. A string value can be optimized by modifying the string regarding to a respective regular expression given by the user.

opt:has super-classes
opt:OptimizationInputParameter c
is in domain of
opt:hasRegularExpression dp

opt:TerminationConditionc back to ToC or Class ToC

IRI: http://purl.org/net/RO-optimization#TerminationCondition

The opt:TerminationCondition describes the finalization of the optimization. A user may want to run the optimization until i) a maximum number of executions is reached ii) a maximum number of evolutionary steps have been made iii) a maximum time has been reached iv) the fitness value has not changed within a specific number of iterations v) a specific fitness value is reached. Sometimes a user may also want to combine those termination criteria e.g. proceed the optimization until a specific fitness value is reached but within a maximum time and maximum number of executions.

is in domain of
opt:FitnessReached dp, opt:hadMaximumNumberOfExecutions dp, opt:hadMaximumTime dp, opt:hadNumberOfSteps dp, opt:noChange dp
is in range of
opt:hasAbortCriteria op

Object Properties

opt:belongsToGenerationop back to ToC or Object Property ToC

IRI: http://purl.org/net/RO-optimization#belongsToGeneration

This property links an opt:OptimizationResearchObject to an opt:TerminationCondition.

opt:has domain
opt:OptimizationRun c
opt:has range
opt:Generation c

opt:hasAbortCriteriaop back to ToC or Object Property ToC

IRI: http://purl.org/net/RO-optimization#hasAbortCriteria

This property links an opt:OptimizationResearchObject to an opt:TerminationCondition.

opt:has domain
opt:OptimizationResearchObject c
opt:has range
opt:TerminationCondition c

opt:hasAlgorithmop back to ToC or Object Property ToC

IRI: http://purl.org/net/RO-optimization#hasAlgorithm

This property links an opt:OptimizationResearchObject to the description of the used optimization algorithm.

opt:has super-properties
terms: op
opt:has domain
opt:OptimizationResearchObject c
opt:has range
opt:Algorithm c

opt:hasAlgorithmParameterop back to ToC or Object Property ToC

IRI: http://purl.org/net/RO-optimization#hasAlgorithmParameter

An opt:Algorithm has different opt:AlgorithmParameters that can be linked by opt:hasAlgorithmParameter

opt:has domain
opt:Algorithm c
opt:has range
opt:AlgorithmParameter c

opt:hasDependencyop back to ToC or Object Property ToC

IRI: http://purl.org/net/RO-optimization#hasDependency

An opt:SearchSpace can have different opt:Processor or opt: OptimizationParameterInput opt:Dependencies to narrow the search space.

opt:has domain
opt:SearchSpace c
opt:has range
opt:Dependency c

opt:hasFitnessop back to ToC or Object Property ToC

IRI: http://purl.org/net/RO-optimization#hasFitness

Property that links an opt:OptimizationResearchObject to an opt:Fitness

opt:has super-properties
terms: op
opt:has domain
opt:OptimizationResearchObject c
opt:has range
opt:Fitness c

opt:hasFitnessFunctionop back to ToC or Object Property ToC

IRI: http://purl.org/net/RO-optimization#hasFitnessFunction

opt:hasFitnessFunction links and opt:Fitness with the used fitness functions. Opt:Fitness may have one or more opt:FitnessFunctions

opt:has domain
opt:Fitness c
opt:has range
opt:FitnessFunction c

opt:hasFlagop back to ToC or Object Property ToC

IRI: http://purl.org/net/RO-optimization#hasFlag

The fitness values gained during the optimization can have different origins, which are identified by opt:Flag

opt:has super-properties
owl:topObjectProperty
opt:has domain
opt:OptimizationRun c
opt:has range
opt:Flag c

opt:hasInputParameterop back to ToC or Object Property ToC

IRI: http://purl.org/net/RO-optimization#hasInputParameter

Property used to specify the input parameter of a given opt:Processor

opt:has super-properties
wfdesc:hasInput op
opt:has domain
opt:Processor c
opt:has range
opt:OptimizationInputParameter c

opt:hasNumericFunctionop back to ToC or Object Property ToC

IRI: http://purl.org/net/RO-optimization#hasNumericFunction

An opt:NumericInputParameter may be further specified by a opt:NumericFunction

opt:has domain
opt:NumericInputParameter c
opt:has range
opt:NumericFunction c

opt:hasOptimizationRunop back to ToC or Object Property ToC

IRI: http://purl.org/net/RO-optimization#hasOptimizationRun

This property links an opt:OptimizationResearchObject to the results of a performed optimization.

opt:has super-properties
terms: op
opt:has domain
opt:OptimizationResearchObject c
opt:has range
opt:OptimizationRun c

opt:hasOutputParameterop back to ToC or Object Property ToC

IRI: http://purl.org/net/RO-optimization#hasOutputParameter

This object property is used to specify an output parameter as the fitness of a given opt:FitnessFunction

opt:has domain
opt:FitnessFunction c
opt:has range
opt:FunctionOutputParameter c

opt:hasProcessorop back to ToC or Object Property ToC

IRI: http://purl.org/net/RO-optimization#hasProcessor

An opt:SearchSpace may have one or several opt:Processors that describe the dimensions of the search space

opt:has domain
opt:SearchSpace c
opt:has range
opt:Processor c

opt:hasSearchSpaceop back to ToC or Object Property ToC

IRI: http://purl.org/net/RO-optimization#hasSearchSpace

This property links an opt:OptimizationResearchObject to an opt:SearchSpace.

opt:has super-properties
terms: op
opt:has domain
opt:OptimizationResearchObject c
opt:has range
opt:SearchSpace c

opt:hasSourceProcessorop back to ToC or Object Property ToC

IRI: http://purl.org/net/RO-optimization#hasSourceProcessor

This property is used to specify the opt:Processor that acts as a source to a opt:Dependency, source and target are linked by their compatibility.

opt:has domain
opt:Dependency c
opt:has range
opt:Processor c

opt:hasSubWorkflowop back to ToC or Object Property ToC

IRI: http://purl.org/net/RO-optimization#hasSubWorkflow

This property links an opt:OptimizationResearchObject to a wfdesc:Workflow in order to specify the abstract sub-workflow used for the optimization.

opt:has super-properties
terms: op
opt:has domain
opt:OptimizationResearchObject c
opt:has range
wfdesc:Workflow c

opt:hasTargetProcessorop back to ToC or Object Property ToC

IRI: http://purl.org/net/RO-optimization#hasTargetProcessor

This property is used to specify the opt:Processor that acts as a target to an opt:ProcessorDependency source and target are linked by their compatibility

opt:has domain
opt:ProcessorDependency c
opt:has range
opt:Processor c

opt:hasWorkflowop back to ToC or Object Property ToC

IRI: http://purl.org/net/RO-optimization#hasWorkflow

This property links an opt:OptimizationResearchObject to a wfdesc:Workflow in order to specify the original actract workflow of the optimization process.

opt:has super-properties
terms: op
opt:has domain
opt:OptimizationResearchObject c
opt:has range
wfdesc:Workflow c

opt:onParameterop back to ToC or Object Property ToC

IRI: http://purl.org/net/RO-optimization#onParameter

This property is used to specify the opt:OptimizationInputParameter that acts as a target to a opt:ParameterDependency, source and target are linked by their compatibility and a constraint.

opt:has domain
opt:ParameterDependency c
opt:has range
opt:OptimizationInputParameter c

Data Properties

opt:compatibleResourcedp back to ToC or Data Property ToC

IRI: http://purl.org/net/RO-optimization#compatibleResource

This property can be true or false specifying if a source and target opt:Processor are usable within one workflow or not

opt:has domain
opt:Dependency c
opt:has range
xsd:boolean

opt:FitnessReacheddp back to ToC or Data Property ToC

IRI: http://purl.org/net/RO-optimization#fitnessReached

An opt:TerminationCondition can be defined by a reached fitness value

opt:has domain
opt:TerminationCondition c
opt:has range
xsd:float

opt:hadMaximumNumberOfExecutionsdp back to ToC or Data Property ToC

IRI: http://purl.org/net/RO-optimization#hadMaximumNumberOfExecutions

An opt:TerminationCondition can be defined by a maximum number of performed executions

opt:has domain
opt:TerminationCondition c
opt:has range
xsd:int

opt:hadMaximumTimedp back to ToC or Data Property ToC

IRI: http://purl.org/net/RO-optimization#hadMaximumTime

An opt:TerminationCondition can be defined by a maximum time an optimization may take.

opt:has domain
opt:TerminationCondition c
opt:has range
xsd:long

opt:hadNumberOfStepsdp back to ToC or Data Property ToC

IRI: http://purl.org/net/RO-optimization#hadNumberOfSteps

A opt:TerminationCondition can be defined by a maximum number of performed evolutionary steps.

opt:has domain
opt:TerminationCondition c
opt:has range
xsd:int

opt:hasBestResultdp back to ToC or Data Property ToC

IRI: http://purl.org/net/RO-optimization#hasBestResult

Links an opt:OptimizationResearchObject with the best result or the best result set (Pareto front) of the specific optimization run.

opt:has domain
opt:OptimizationResearchObject c
opt:has range
xsd:anyURI

opt:hasBodydp back to ToC or Data Property ToC

IRI: http://purl.org/net/RO-optimization#hasBody

Links a opt:FitnessFunction with a respective body (script or source code) to calculate the fitness

opt:has domain
opt:FitnessFunction c
opt:has range
xsd:string

opt:hasBooleanValuedp back to ToC or Data Property ToC

IRI: http://purl.org/net/RO-optimization#hasBooleanValue

This property links a opt:BooleanInputParameter with its value.

opt:has domain
opt:BooleanInputParameter c
opt:has range
xsd:boolean

opt:hasChoiceValuedp back to ToC or Data Property ToC

IRI: http://purl.org/net/RO-optimization#hasChoiceValue

This property links a opt:ChoiceInputParameter with its list of valid values.

opt:has domain
opt:ChoiceInputParameter c
opt:has range
xsd:string

opt:hasFileNamedp back to ToC or Data Property ToC

IRI: http://purl.org/net/RO-optimization#hasFileName

This property links a opt:FileInputParameter with a list of valid file names.

opt:has domain
opt:FileInputParameter c
opt:has range
xsd:string

opt:hasFitnessValuedp back to ToC or Data Property ToC

IRI: http://purl.org/net/RO-optimization#hasFitnessValue

Links an opt:OptimizationRun with the specific fitness value that was calculated for the specific parameter sample set stored within this opt:OptimizationRun.

opt:has domain
opt:OptimizationRun c
opt:has range
xsd:float or xsd:string

opt:hasFunctionValuedp back to ToC or Data Property ToC

IRI: http://purl.org/net/RO-optimization#hasFunctionValue

opt:NumericFunctions have a function value to describe their basis, exponent or step size.

opt:has domain
opt:NumericFunction c
opt:has range
xsd:float

opt:hasGenerationNumberdp back to ToC or Data Property ToC

IRI: http://purl.org/net/RO-optimization#hasGenerationNumber

Property that specifies the iteration that produced the generation in question.

opt:has domain
opt:Generation c
opt:has range
xsd:int

opt:hasMaxValuedp back to ToC or Data Property ToC

IRI: http://purl.org/net/RO-optimization#hasMaxValue

The range of a opt:NumericInputParameter is defined by a maximum value and minimum value.

opt:has domain
opt:NumericInputParameter c
opt:has range
xsd:float

opt:hasMinValuedp back to ToC or Data Property ToC

IRI: http://purl.org/net/RO-optimization#hasMinValue

The range of a opt:NumericInputParameter is defined by a minimum value and maximum value.

opt:has domain
opt:NumericInputParameter c
opt:has range
xsd:float

opt:hasNamedp back to ToC or Data Property ToC

IRI: http://purl.org/net/RO-optimization#hasName

Links the name of an opt:OptimizationInputParameter.

opt:has domain
opt:OptimizationInputParameter c
opt:has range
xsd:string

opt:hasParameterConstraintdp back to ToC or Data Property ToC

IRI: http://purl.org/net/RO-optimization#hasParameterConstraint

The dependency of two parameters is defined by a parameter constraint, defining e.g. a numerical function.

opt:has domain
opt:ParameterDependency c
opt:has range
xsd:string

opt:hasParameterValuedp back to ToC or Data Property ToC

IRI: http://purl.org/net/RO-optimization#hasParameterValue

Links the numerical value, which has been used during the optimization run to a specific opt:AlgorithmParameter.

opt:has domain
opt:AlgorithmParameter c
opt:has range
xsd:string

opt:hasPopulationSizedp back to ToC or Data Property ToC

IRI: http://purl.org/net/RO-optimization#hasPopulationSize

Property that specifies the number of individuals that belong to a given generation.

opt:has domain
opt:Generation c
opt:has range
xsd:int

opt:hasRegularExpressiondp back to ToC or Data Property ToC

IRI: http://purl.org/net/RO-optimization#hasRegularExpression

This property links the regular expression to describe a opt:StringInputParameter.

opt:has domain
opt:StringInputParameter c
opt:has range
xsd:string

opt:hasRoundValuedp back to ToC or Data Property ToC

IRI: http://purl.org/net/RO-optimization#hasRoundValue

Defines whether a opt:NumericInputParameter should be rounded.

opt:has domain
opt:NumericInputParameter c
opt:has range
xsd:boolean

opt:hasValuedp back to ToC or Data Property ToC

IRI: http://purl.org/net/RO-optimization#hasValue

Links the value of an opt:Artifact (of a opt:OptimizationInputParameter) that was used for a specific optimization run.

opt:has domain
opt:Artifact c
opt:has range
xsd:string

opt:hasWeightdp back to ToC or Data Property ToC

IRI: http://purl.org/net/RO-optimization#hasWeight

An opt:FitnessFunction can be evaluated with respect to a specific weight.

opt:has domain
opt:FitnessFunction c
opt:has range
xsd:int

opt:noChangedp back to ToC or Data Property ToC

IRI: http://purl.org/net/RO-optimization#noChange

An opt:TerminationCondition can be defined by a maximum number of steps within the fitness value had no change

opt:has domain
opt:TerminationCondition c
opt:has range
xsd:int

5. References back to ToC

6. Acknowledgements back to ToC

The authors would like to thank Silvio Peroni for developing LODE, a Live OWL Documentation Environment used for representing the Corss Referencing Section of this document.