-
Notifications
You must be signed in to change notification settings - Fork 3
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
GRoot integration #6
Comments
Perhaps I never made this clear, but the current implementation of the interpreter (and mkspec also) are already using precisely Faconti's XML schema. Indeed I just verified that our interpreter will happily run the first file (modulo the preliminary execution of readskill). |
Good. Afaik to avoid duplication it could be GRoot to perform 1. parameter value propagation and 2. sub-tree expansion, so as to e.g. transform the third BT into the first. I'm currently looking at the Groot internals to get an idea of how it works: We might ask for this and the ability to edit contracts directly in GRoot. |
I agree. In fact doing the transformation doesn't look difficult. Especially sub-tree insertion should be straightforward. As regards skill parameters, we can have a discussion about supporting them natively (i.e. modifying our current BT data type) versus supporting them by means of a preprocessing step in GRoot (e.g. the condition "IsRoomKnown" with parameter "Kitchen" becomes the (non-parametric) skill "IsRoomKnown_Kitchen", or similar) |
By the way, I noticed that in the output files produced by GRoot there is a "TreeNodesModel" tag which is (basically) a list of the basic skills used in the BT. By making a trivial modification to the |
|
Hi, first of all, if everything isn't clear, just let me know ;)
|
Hi @facontidavide, thanks for the clarifications. Given your "semantic" description, it seems better for us to stick with our current approach (i.e., to give a list of all the usable skills in a separate XML file).
|
Sure, I will work on that.
I am not sure I understood... probably because we haven't agreed on the relationship between the word "skill" and a LeafNode. If I guess correctly, you want some syntactic sugar to convert this: <Condition ID="IsRoomKnown" room="Kitchen"/> into <IsRoomKnown_Kitchen/> |
Actually I would like the target to be
In any case, we did not decide yet if we are going to handle the parameters in this way... |
Goal: Enable the CARVE BT interpreter to read BT specifications generated by the GRoot tool from the Mood2Be ITP.
See the uploaded BT specifications.
The first BT specification should pose no difficulties, it is just a matter of agreeing on the
.xml
schema:The last one tries to experiment with tree parameters (with the goal of identifying reusable sub-trees). It first defines two parametric sub-trees
GotoRoom
andFindAndFetchObject
and then instances them. One open point is if-and-how to refer to the parameters of a sub-tree from its nodes. This example uses the syntax${subtree.PARAM_NAME}$
just to convey the idea. To be discussed with Davide.The text was updated successfully, but these errors were encountered: