Currently it's not possible to handle somehow derived references in MPS in a "native" way, but if you'd like to display some kind of read-only information by adding

* R/O model access *

prettyPrint();
cell into the editor. Such cell is able to display string based on model query, so you can iterate through all "unowned" associations there and collect a label representing this information in an editor.

Going back to the original question (not sure I understood it correctly) - in MPS it's possible to store node either inside another node or directly inside a model. In case you have to create associations and then bind them to source/target entities I think you can store all associations as model root nodes or create single root node "associationContainer" and save all associations there.

I currently use the read only model access. But it's really inconvenient if you want to display a list of information, because you can just return a string. If you want to show a variable number of elements (for example all subclasses of a class) then you must construct the string with seperators and line wraps. But you can't use something like indentation. So it would be nice to return a collection of string, which could be embedded in a collection cell. Is this possible?

I was trying to help with this case by automatically maintaining a root node that contains all the associations, and then in each entity have a reference to this collection of associations, which is also automatically maintained. Then I tried to display the list of associations through the reference, and that works - each entity's editor can display all associations, and by making the reference concepts' editors read only, I can display them and disallow editing as well. The problem comes when I try to display only the unowned associations. I need to filter the collection of associations for only those whose target is equal to the entity, but unfortunately the cell list editor node's filter query function only has two parameters, scope and childNode, so I cannot obtain the Entity node which owns this editor cell. So I am unable to proceed.

But I can alternatively make the special root node contain a mapping from Entity to its unowned associations. However, that is not much different from letting each entity have a child collection of unowned associations due to the similar memory cost and maintenance code needed.

I think I will wait for this feature and live with the r/o access for now. Mostly I use this just to display some debug information, for example to show which elements my scopes return at some statement. Such use case does not justify any structure changes.

Hi all,yes this was also was I was looking for.I had some difficulties and errors when using the actual nodes from another concept.So i decided to use node.copy to create a transient copy for the AbstractCellProvider.Now it is more stable. The only downside is, that changes to the original node are only displayed, when the editor containing the CellProvider is reopend.How can I switch the editor for nodes displayed by CellProvider to readonly (editable=false). Can I use a switch in the editor definition? What is the condition for the switch? Or do i need to change this programmatically in the CellProvider?