To (slightly) reduce the number of arguments, I suggest that a components states should all "know" the component name. This can either be through a MAPL-level attribute or encoded in the name of the state itself. Am leaning towards the former. Then the interfaces can look like this:
There are 2 types of user-level attributes to be supported by MAPL3.
Nominal structure:
To (slightly) reduce the number of arguments, I suggest that a components states should all "know" the component name. This can either be through a MAPL-level attribute or encoded in the name of the state itself. Am leaning towards the former. Then the interfaces can look like this:
Each of these should be overloaded for various value types. Strings and arrays should be allocatable for the getters.
Probably should also provide a lower level interface directly on Fields that is used by the above interfaces: