I am developing a visual programming language, and after reading this paper it looks as if icons are a very good solution to improve the language and increase understanding. But since I am a programmer and not a UI designer, I am hardly capable (now) of thinking how to select icons that convey the semantics of my programming language.
For example, in my language an object (represented by a rectangle) that is connected to a process (represented by an ellipse) with a link that ends with an open circle means that the process uses the object as a tool an does not change it (see image below):
But what icon should I use instead of the open circle? a tool? a book (read-only)? a handle of a machine? And of course, this is not the only link that can be used in the language. I would also like to add icons to objects that are arguments and stuff like that.
All questions asking "what is the best icon for XXX" are closed because they are too specific, so my question is: How do I select which icon to use? Are there any books/papers/tutorials that I can read on the subject?