Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Axioms of model #1060

Open
5 tasks
l-emele opened this issue Mar 3, 2022 · 18 comments
Open
5 tasks

Axioms of model #1060

l-emele opened this issue Mar 3, 2022 · 18 comments
Assignees
Labels
[B] restructure Restructuring existing parts of the ontology OEKG important for knowledge graph generation oeo dev meeting Discuss issue at oeo dev meeting oeo-model changes the oeo-model module

Comments

@l-emele
Copy link
Contributor

l-emele commented Mar 3, 2022

Description of the issue

The class model is defined as: A model is a generically dependent continuant that is used for computing an idealised reproduction of a system and its behaviours.

However, the only axiom (apart from SubclassOf) is models some 'independent continuant'. The relations to system and process ("its behaviours") are missing,

Ideas of solution

If you already have ideas for the solution describe them here

Workflow checklist

  • I discussed the issue with someone else than me before working on a solution
  • I already read the latest version of the workflow for this repository
  • The goal of this ontology is clear to me

I am aware that

  • every entry in the ontology should have a definition
  • classes should arise from concepts rather than from words
@l-emele l-emele added [B] restructure Restructuring existing parts of the ontology oeo-model changes the oeo-model module To do Issues that haven't got discussed yet labels Mar 3, 2022
@l-emele l-emele added this to the oeo-release-1.10.0 milestone Mar 3, 2022
@stap-m
Copy link
Contributor

stap-m commented Mar 3, 2022

The def of models is A relation between a model and the thing it reproduces.
The range is currently independent continuant. With respect to your proposal, we should extend it to process (or occurant, but I think that's not really necessary).

@l-emele
Copy link
Contributor Author

l-emele commented Mar 11, 2022

Maybe, not the model need the relation to the processes but the system. After reading again, I think the definition part and its behaviours shows that the system relations to some process.

So we might add the following axioms:

  • system participates in some process
  • model models some system

But if we look at the subclasses of model, not all of these relate to systems:

  • electricity transshipment model: An electricity transshipment model is a model that applies the transshipment problem to the electricity grid.
    models some electricity grid => electricity grid is via supply grid an object aggregate and thus not a system. ❌
  • energy market model: An energy market model is a model that is about the energy market.
    models some market model => energy market exchange is an organisation and thus and independent continuant. ❌
  • energy system model: An energy system model is a model of an energy system.
    models some energy system => energy system is a system ✔️.
  • optimisation model: An optimisation model is a model that optimises a target function.
    'has part' some 'objective function' => Does not express a more detailed type of system, but a method and thus the inherited relation to the (general) system is okay. ✔️
    not ('has part' some 'objective function') => Does not express a more detailed type of system, but a method and thus the inherited relation to the (general) system is okay. ✔️
  • single node model: A single node model is a model where a region is represented as a single node.
    =>Does not have any axioms. ❔

So I think, we need here a better general structure for model and this helps then to put the relations with models straight. For example, I don't see any reason, why electricity transshipment model is not a subclass of energy system model. If I understand electricity transshipment model correctly, it is an energy system model that models that part of an energy system that is consists of an electricity grid. Maybe we need here not only the electricity grid but also something like an electricity supply system?

@l-emele
Copy link
Contributor Author

l-emele commented Mar 31, 2022

From today's OEKG meeting:

  • model models some objects and their behaviours (process) issue Axioms of model #1060
    • fix def and ranges / axioms

@github-actions github-actions bot removed the To do Issues that haven't got discussed yet label Mar 31, 2022
@stap-m stap-m added the OEKG important for knowledge graph generation label Apr 5, 2022
@stap-m
Copy link
Contributor

stap-m commented Apr 11, 2022

grafik

I tried to picture the relations between model, system, behavioral process (not an OEO term!) and model calculation. It's a draft.

I tried to find examples for these relations:

  • 'energy system model' models some 'energy (supply) system' (Differentiation between energy system and supply system #1071)
  • 'energy system model' models some 'energy consumption'
  • 'energy (supply) system' 'participates in' some 'energy consumption' (does this make sense?)
  • 'energy system model' 'participates in' some optimisation

If we restructure model, what I'm in favour of, I think we should leave the distiction between optimisation and simulation to model calculation, maybe also single node. They don't refer to the system / behaviour the model depicts, but to the method that is applied.

@stale stale bot added the stale already discussed issues that haven't got worked on for a while label Apr 27, 2022
@l-emele l-emele mentioned this issue May 3, 2022
5 tasks
@stale stale bot removed stale already discussed issues that haven't got worked on for a while labels May 9, 2022
@stale stale bot added the stale already discussed issues that haven't got worked on for a while label May 25, 2022
@stap-m
Copy link
Contributor

stap-m commented Jun 23, 2022

Any comments? @l-emele @Ludee @chrwm

@stale stale bot removed the stale already discussed issues that haven't got worked on for a while label Jun 23, 2022
@stap-m stap-m self-assigned this Jun 23, 2022
@l-emele
Copy link
Contributor Author

l-emele commented Jun 24, 2022

I general, I agree. But I think, optimisation and simulation are classified wrongly. I'd prefer if these were subclasses of methodology:

  • An optimisation is a model calculation methodology with the goal to find a best choice or result for at least one variable or function in the model.
  • A simulation is a model calculation that simulates a methodology that represents the dynamic characteristic of a process or system behaviour from the real world.

This would lead to the axioms simulation model has information content entity some simulation and optimisation model has information content entity some optimisation.

EDIT: We might introduce a subproperty of has information content entity, maybe something like has methodology, to clarify this relation.

@stap-m stap-m added the oeo dev meeting Discuss issue at oeo dev meeting label Jun 30, 2022
@u-mueller
Copy link
Contributor

In the OEO 'model' is used in a rather unspecific way, which in my opinion does not fully reflect how it is used in energy systems modelling. Maybe you can define it more specifically as a subclass of "algorithm" with which one can make calculation-based predictions? IAO "algorithm" is implemented in the OEO as a subclass of plan specification. This 'plan' is realized in the process that you refer to as a "model calculation", so I would refer to this term in the definition of "model" as well.

"A model is an algorithm that is realized in a model calculation process with the objective to…."

This might help to clarify the logical relations of some of the terms you refer to in this discussion, as simulation, optimization etc. with 'model' (or 'model calculation' or 'modelling' as a process)?

@stap-m
Copy link
Contributor

stap-m commented Dec 2, 2022

A model is more than an algorithm, also in our context. We could add a part of-relation, though.
I agree, that the definition of model is rather general, but that's somehow intended. But maybe it makes sense to find more specific definition for its subclasses.
Anyway, let's focus on the axioms in this issue.

@u-mueller
Copy link
Contributor

A model is more than an algorithm, also in our context. We could add a part of-relation, though.
I agree, that the definition of model is rather general, but that's somehow intended. But maybe it makes sense to find more specific definition for its subclasses.
Anyway, let's focus on the axioms in this issue.

Ok, thanks for explaining @stap-m, finding more specific definitions for its subclasses might be a good idea.

@l-emele
Copy link
Contributor Author

l-emele commented Feb 9, 2023

Anyway, let's focus on the axioms in this issue.

We should axiomatise most/all of the existing model subclasses as equivalent classes to allow a multihierarchical structure.

For example, Öko-Institut's PowerFlex model would be (together with similar electricity market models) in a class of models that should be a subclass of both energy market model, energy system model and optimisation model.

Öko-Institut's ENUSEM1 model however would be in a class that is a subclass of both energy system model and optimisation model, but not a subclass of energy market model.

Footnotes

  1. No model factsheet available, but a model description elsewhere.

@areleu
Copy link
Contributor

areleu commented Feb 23, 2023

grafik

I tried to picture the relations between model, system, behavioral process (not an OEO term!) and model calculation. It's a draft.

I tried to find examples for these relations:

* `'energy system model' models some 'energy (supply) system'` ([Differentiation between `energy system` and `supply system` #1071](https://github.com/OpenEnergyPlatform/ontology/issues/1071))

* `'energy system model' models some 'energy consumption'`

* `'energy (supply) system' 'participates in' some 'energy consumption'` (does this make sense?)

* `'energy system model' 'participates in' some optimisation`

If we restructure model, what I'm in favour of, I think we should leave the distiction between optimisation and simulation to model calculation, maybe also single node. They don't refer to the system / behaviour the model depicts, but to the method that is applied.

I think with the direction with behavioral process is right but I think there is a more general approach. Complex Systems participate in dynamics like physical dynamics (ex. thermodynamics), social dynamics, market dynamics etc.

Models collect one or multiple dynamics and represent them (not exclusively) with mathematical equations, logics and/or code. Related discussion: #1444

@areleu
Copy link
Contributor

areleu commented Feb 24, 2023

Note on semantics between behaviours and dynamics , at least from a quick look into the dictionary they seem to mean the same thing. But I would argue that behaviour has a social/biological connotation whereas dynamics has a more physical/quantitative connotation.

@l-emele
Copy link
Contributor Author

l-emele commented Feb 24, 2023

According to Merriam-Webster, behavio(u)r does not have exclusively a social/biological connotation:

3
: the way in which something functions or operates
They tested the behavior of various metals under heat and pressure.

But I don't mind replacing behaviour with dynamics in the definition of model if that is clearer.

@christian-rli
Copy link
Contributor

christian-rli commented Mar 13, 2023

Notes from the developer Meeting:

  1. consider modelling methods in methodology instead of model calculation:
  • An optimisation is a model calculation methodology with the goal to find a best choice or result for at least one variable or function in the model.
  • A simulation is a model calculation that simulates a methodology that represents the dynamic characteristic of a process or system behaviour from the real world.
  • also: top-down vs. bottom-up (economic or technological components of the simulation), equilibrium vs. optimization vs. simulation, and intertemporal vs. sequential.
  • Should we distinguish between simulation method and simulation process, etc?
  1. Modelling dynamics / behaviours
  • depict physical, social, economical behaviours/dynamics
  • Suggestions from other Ontologies:
    • Behaviour is the set of actions and mannerisms made by systems (biological or otherwise) in response to stimuli or inputs, whether internal or external, conscious or subconscious, overt or covert, and voluntary or involuntary. http://semanticscience.org/resource/SIO_001195
  • -dynamic(s) as such is not a term in ontologies --> very broad
  • axioms:
    • model models some (system or object or dynamics/behavioural processes)
    • model calculation covers some (spatial region or sector or temporal region) --> covers would have to be extended to model calculations (not just studies)

Also, note that there is a lot of energy modelling jargon missing -- EA

@stap-m
Copy link
Contributor

stap-m commented Dec 2, 2024

The class model is defined as: A model is a generically dependent continuant that is used for computing an idealised reproduction of a system and its behaviours.

However, the only axiom (apart from SubclassOf) is models some 'independent continuant'. The relations to system and process ("its behaviours") are missing,

@madbkr @LillyG901 could you take a look at the initial question of this issue please?

@LillyG901
Copy link
Contributor

LillyG901 commented Dec 7, 2024

Since this issue was created the defintion of model changed. It is now defined as
A model is a continuant to represent a system and its behaviours in a simplified or idealised way..

The defintion of the relation models is A relation between a model and the thing it reproduces.,
Per the current definition the thing it reproduces is a system and its behaviours.
However, models currently has the domain numerical computer model intersects model, which might cause inconsistencies as not all models are numerical computer models. If this cannot be amended we might have to come up with a different relation.

Additionally, while I think the definition of models also applies to the processes within the system the range of models is limited to continuants.

I don't think the OEO currently provides a relation that links model and a process in a way that makes sense.
The closest I could find might be participates in - a relation between a continuant and a process, in which the continuant is somehow involved in the process.
But the model isn't really involved in the process. It just represents it in some way.

I think the best solution might be to broaden both the range and domain of models and then add:

model SubClass Of models some system.
model SubClass Of models some process.

If that isn't possible we might consider creating a new relation like represents to fill the requirements currently not met by models.

@LillyG901
Copy link
Contributor

After discussing with @stap-m we decided, that it makes sense to adjust the domain and range. I will draft a pull request.

@LillyG901
Copy link
Contributor

LillyG901 commented Dec 14, 2024

I just tried to start implementing this domain/range change but ran into an intersting issue:
The definition of the domain of models differs between oeo.omn and oeo-shared, in which models seems to be defined.

domain in oeo.omn: numerical computer model intersects model
domain in oeo-shared: model

I'm not entirely sure how to deal with this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[B] restructure Restructuring existing parts of the ontology OEKG important for knowledge graph generation oeo dev meeting Discuss issue at oeo dev meeting oeo-model changes the oeo-model module
Projects
None yet
Development

No branches or pull requests

8 participants