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

Not possible to start using main.kev with sintef.sintefnodetype #8

Open
sdalgard opened this issue Feb 24, 2015 · 6 comments
Open

Not possible to start using main.kev with sintef.sintefnodetype #8

sdalgard opened this issue Feb 24, 2015 · 6 comments
Assignees

Comments

@sdalgard
Copy link
Contributor

It is possible to start editor.kevoree.org and pull the model from the sintefboard.
The available components are then possible to add to MySintefNode of type sintef.sintefnodetype/1.0.0
The GUI added components and channels can be pushed to the sintefboard.

It is not possible to take the commands from the "GUI-kevscript" and add them to the main.kevs file.
When starting "mvn kev:run" it will throw an exception.

It seems to be a chicken-and-egg problem that the sintef.sintefnodetype has to be created by the SintefModComponent and not by the kevscript.

C:\heads\heads-rcd\sintefboard>\mvn\apache-maven-3.2.5\bin\mvn kev:run
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building SintefMod 1.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- org.kevoree.tools.mavenplugin:5.2.5:run (default-cli) @ SintefMod ---
[INFO] Manually install file:C:\heads\heads-rcd\sintefboard\target\classes for mvn:org.kevoree.project:SintefMod:1.0.0-SNAPSHOT
00:00 INFO: Bootstrap Kevoree node : node0, version 5.2.5
00:00 INFO: Load Bootstrap model from C:\heads\heads-rcd\sintefboard\target\classes\KEV-INF\lib.json
00:00 INFO: Request=JavaNode:5.2.3-SNAPSHOT,SintefModComponent:1.0.0-SNAPSHOT,WSGroup:5.2.3-SNAPSHOT,sintef.sintefnodetype:1.0.0,sintef.rxlcd:1.0.0,sintef.minma
x:1.0.0,sintef.sender:1.0.0,sintef.sintefchannel:1.0.0,
00:01 INFO: Resolved 57 typeDefinitions from Kevoree Registry http://registry.kevoree.org/v5/ (JavaNode/5.2.0,WSGroup/5.2.1-SNAPSHOT,JavaNode/5.0.3,JavaNode/5.2
.1,JavaNode/5.0.4,JavaNode/5.2.2,JavaNode/5.0.5,JavaNode/5.2.3,WSGroup/5.2.4-SNAPSHOT,WSGroup/5.0.8-SNAPSHOT,JavaNode/5.0.6-SNAPSHOT,JavaNode/5.2.4,JavaNode/5.0
.6,WSGroup/5.0.5-SNAPSHOT,JavaNode/5.0.7,JavaNode/5.1.4-SNAPSHOT,JavaNode/5.2.2-SNAPSHOT,JavaNode/5.2.5-SNAPSHOT,WSGroup/5.1.2,WSGroup/5.1.3,WSGroup/5.1.4,WSGro
up/5.1.0,WSGroup/5.1.1,JavaNode/5.0.3-SNAPSHOT,JavaNode/5.1.1-SNAPSHOT,JavaNode/5.1.2-SNAPSHOT,WSGroup/5.2.2-SNAPSHOT,WSGroup/5.0.7,WSGroup/5.2.3-SNAPSHOT,WSGro
up/5.1.2-SNAPSHOT,WSGroup/5.0.7-SNAPSHOT,JavaNode/5.2.3-SNAPSHOT,JavaNode/5.1.0,JavaNode/5.0.7-SNAPSHOT,JavaNode/5.1.1,JavaNode/5.1.2,JavaNode/5.1.3,JavaNode/5.
2.1-SNAPSHOT,WSGroup/0.1.0,WSGroup/5.0.3,WSGroup/5.2.1,WSGroup/5.2.2,WSGroup/5.0.4,WSGroup/5.0.3-SNAPSHOT,WSGroup/5.0.5,WSGroup/5.2.3,WSGroup/5.0.6,WSGroup/5.2.
4,WSGroup/5.1.1-SNAPSHOT,WSGroup/5.2.0,JavaNode/5.0.8-SNAPSHOT,JavaNode/5.2.4-SNAPSHOT,WSGroup/5.2.5-SNAPSHOT,WSGroup/5.1.4-SNAPSHOT,JavaNode/5.0.5-SNAPSHOT,WSG
roup/5.0.4-SNAPSHOT,JavaNode/5.0.4-SNAPSHOT)
00:01 WARN: Try to select snapshot in best effort mode for JavaNode
00:01 WARN: Try to select snapshot in best effort mode for SintefModComponent
00:01 WARN: Try to select snapshot in best effort mode for WSGroup
00:01 WARN: Try to select snapshot in best effort mode for sintef.sintefnodetype
java.lang.Exception: TypeDefinition not found with : sintef.sintefnodetype and version 1.0.0 in 0 selected
at org.kevoree.kevscript.util.TypeDefinitionResolver.resolve(TypeDefinitionResolver.java:127)
at org.kevoree.kevscript.KevScriptEngine.interpret(KevScriptEngine.java:128)
at org.kevoree.kevscript.KevScriptEngine.interpret(KevScriptEngine.java:124)
at org.kevoree.kevscript.KevScriptEngine.interpret(KevScriptEngine.java:119)
at org.kevoree.kevscript.KevScriptEngine.executeFromStream(KevScriptEngine.java:58)
at org.kevoree.bootstrap.Bootstrap.bootstrapFromKevScript(Bootstrap.java:218)
at org.kevoree.bootstrap.Bootstrap.bootstrapFromKevScript(Bootstrap.java:248)
at org.kevoree.bootstrap.Bootstrap.bootstrapFromFile(Bootstrap.java:350)
at org.kevoree.bootstrap.Bootstrap.main(Bootstrap.java:85)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.kevoree.microkernel.impl.KevoreeMicroKernelImpl$1.run(KevoreeMicroKernelImpl.java:223)
26:12 INFO: Stopping Kevoree
26:12 INFO: Kevoree core stopped
26:12 INFO: Stopped.

@maxleiko
Copy link
Contributor

Yes. That's because you are referring to non-existent TypeDefinition in your KevScript.
They have been created by your component by reading the state of the board, but they are not "real". There is no trace of those components on the registry, so the KevScript interpreter is unable to "use" them.

@sdalgard
Copy link
Contributor Author

We need to push different kevscripts to the sintefboard to enable different functionalities.
Are there any workaround?

@maxleiko
Copy link
Contributor

Yes, you can push models directly.

@maxleiko
Copy link
Contributor

$ mvn kev:run -Dnode.bootstrap=/path/to/a/model.json

Should work :)

@sdalgard
Copy link
Contributor Author

Is that a model that describes the same as the interpreter builds up?

What will happen if they dont match if the board reports more / different processes?

@maxleiko
Copy link
Contributor

If you want to start a Kevoree runtime using a predefined model, then the only way for you is to give a real model using -Dnode.bootstrap because there is no sintefnodetype, sintefchannel, etc, on the registry.
This means that, if you try to create a KevScript that looks like this:

add node0 : sintefnodetype

It will fail, because the Kevoree Registry does not know this TypeDefinition

However, if you create a model (not in KevScript, but a plain JSON model) that starts a JavaNode with your component (SintefModComponent) and a side node of type sintefnodetype with some components inside, then it will work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants