ease-crc / soma

The Socio-physical Model of Activities (SOMA) is a formal activity model for embodied agents that need to operate their body to generate motions that cause intentional effects in the physical and social world.
GNU Lesser General Public License v3.0
16 stars 23 forks source link

Use Konclude instead of Hermit for CI #219

Open mrnolte opened 2 years ago

mrnolte commented 2 years ago

Because Konclude is MUCH faster (up to 50.000 times)

sasjonge commented 2 years ago

@mrnolte Can you provide a script like this for Konclude:

https://github.com/ease-crc/soma/blob/master/scripts/hermit_test.py

Then I could add it to the CI

sasjonge commented 2 years ago

We could also solve this Issue in the same PR:

https://github.com/ease-crc/soma/issues/206

mrnolte commented 2 years ago

I unfortunately have no idea how to update the CI, although i can certainly write a java script that asks conclude for the subclasses etc. However, Konclude would have to be started and stopped externally (starting works via java, stopping not)

sasjonge commented 2 years ago

CI is generally very simple you just tell it which commands to run, see here:

https://github.com/ease-crc/soma/blob/995bdf0f9c9f416b3547c0aa5aacf347a6f4b3e8/.github/workflows/deployment.yml#L64

Is there not alternative to having Konclude started and stopped explicitly? So you can't like with hermit, just call it on the commandline?

Also I would prefer using Python over javascript, else we would have to install javascript in the ci too. The hermit script basically executes commandline commands, couldn't we do the same for Konclude?

mrnolte commented 2 years ago

Not javascript, a script written in Java. But i guess we can try to use konclude this way to

mrnolte commented 2 years ago

However, i only used Konclude via OwlLink - maybe @mpomarlan knows best using Konclude via Command Line?

mpomarlan commented 2 years ago

I'll have a look at it. Indeed, Konclude works via command line too, and I think the first version of the CI actually used it :)

mpomarlan commented 2 years ago

I'm writing a version of this script for Konclude but I encounter a problem: Konclude doesn't seem to return an object property hierarchy.

The "classification" command (available for the command line) returns the class hierarchy only. The command line also allows sending an owllink request, but the GetSubObjectProperties and GetSubObjectPropertyHierarchy return "node not supported" messages.

On the other hand, maybe this isn't too big a limitation. Whenever we've had a problem with a property being empty, so far it was because its domain or its range was empty, and we would still catch that. I'll write the script and make a pull request later. We can always add stuff if we figure out something/Konclude adds new features.