name

override var name: String(source)

The element's name, as stored.

This is not always the string handed to the constructor: a . is replaced with _, because the controls framework keys a control as elementName.propertyName and splits on that character. So an element constructed as "Study1.5" reports its name as "Study1_5", and that is the form that appears in reports, databases and the model's element map.

Looking one up does not require knowing which form you have: every name-based lookup on Model canonicalizes its argument the same way, so model.response("Study1.5:TimeInSystem") and model.response("Study1_5:TimeInSystem") find the same response. Use ModelElement.canonicalName to apply the rule yourself when building a key for something outside the model.