Structured Data
OpenROAD supports structured data in the form of userclasses and userclass arrays. A userclass is analogous to a row of data with a well-defined set of column types, and a userclass array is analogous to multiple rows of data with the same column types. OpenROAD userclasses and userclass arrays can be nested to any number of levels, allowing the construction of very complex hierarchical data structures.
Fortunately, COM Automation supports two-dimensional arrays, and allows those arrays to be nested to any number of levels. Therefore, OpenROAD structured data can be expressed as nested two-dimensional arrays, where each row represents one userclass instance or one row of a userclass array. The parameter name array can be similarly nested to create a descriptor that defines not only the names of the parameters at the top level, but also the mappings to names of userclass attributes at all the nested levels. This allows very complex structured data to be passed as parameters to remote 4GL procedure calls.
Creating and manipulating the nested two-dimensional arrays that represent complex structured parameters is not easy, but it is not necessary to manipulate those structures directly. The Parameter Data Object (and OpenROAD 4GL RemoteServer system class) encapsulate those array structures and provide a more intuitive syntax for creating and accessing complex structured parameters.
Last modified date: 12/20/2023