osate / osate2-gtse

This plugin enables users to automatically explore the trade space of a system by connecting OSATE to Penn State's Trade Space Visualizer tool.
Other
5 stars 0 forks source link

Add support for list properties #9

Closed sprocter closed 6 years ago

sprocter commented 6 years ago

Since choicepoints are already a list of options, this will require a list of lists. At that point, rather than coming up with some one-off encoding, I'd like to use an encoding that's easy both for the configuration language to generate and for the GTSE plugin to decode. This leads to a few candidates:

  1. Something that uses EMF -- both the input and output should have EMF available, and no decoding needs be done by any of the "lightweight" .jars -- so the encoded string should be fine to pass through those.
  2. XML -- there's already a significant amount of xml parsing and unparsing using JAXB in GTSE, it would be good to stick to that.
sprocter commented 6 years ago

After discussing with @lwrage, we settled on option 3: nested, parentheses-wrapped lists. So, the proposed format is now:

  1. List: a,b,c
  2. List of lists: (a,b,c),(d,e,f),(g,h,i)
  3. List of lists of lists: ((a,b,c),(d,e,f),(g,h,i)),((j,k,l)...

For now I'm going to make the following simplifying assumptions (more will be added as I implement this...)

  1. The lists arities are the same.
sprocter commented 6 years ago

We now support single-item lists. Multi-item lists can be implemented once an encoding is decided on