On Wed, Jun 5, 2013 at 9:45 PM, Tudor Girba tudor@tudorgirba.com wrote:
Hi,
On Jun 5, 2013, at 9:27 PM, Stéphane Ducasse stephane.ducasse@inria.fr wrote:
On Jun 5, 2013, at 4:10 PM, Usman Bhatti usman.bhatti@gmail.com wrote:
Hello,
We discussed with Anne and Mathieu about the project moose on the web
and how would we search for an entity in a model by interacting with the moose server implementing REST API.
- The first API request to the server is allModels and then the server
responds with the list of the moose models (JSON data). Once the user has got a list of model, how can one choose the model one wants to explore. One can select a moose model based on: i) its name, ii) its position in the collection returned by the server (1 for first, 2 for second, etc.) or iii) its mooseID. The name of a moose model is not unique so it does not help choosing the correct unique model. For the time, we choose the position in the collection returned by the server but if we have huge list, the position is difficult to remember. mooseID does not have semantic meaning. A meaningful solution would be to make all moose models have a unique name. What do you think?
I think that at first you should only work with only one model in one image :).
Ok, we'll overlook this for the moment.
- Generalizing the search to all the entities in the model, how do you
select an Entity with its name in the model knowing that the names are not unique (there can be two "add:" in a model). Scoping information can help and we have mooseName that concatenates the name with the scoping information of an entity. So a method named get() in java with class and package information appended looks like "java.utils::Scanner.get()". Is the name uniqueness guaranteed with this mechanism?
In the past every entity had a uniqueName even invocation and attribute
accesses.
They still have a unique name as much as possible, only we only guarantee the unique names for named entities and only within the entities of the same kind. For example, you can have a package and a namespace with the same unique name, but both of them will be unique within their corresponding group.
So, you should not rely on a global search. Instead you can have something like: get?classNamed=com::example::ClassA
Or even better: getClass?mooseName=com::example::ClassA
Ok the second option is better. As the types of entities vary from one model to another, the server can communicate to the client the types of entities it contains.
Cheers, Doru
We had a discussion regarding the interaction with the server, I'll
send a separate mail for it.
Usman
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- www.tudorgirba.com
"There are no old things, there are only old ways of looking at them."
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev