PaulGaspardo
Joined 15 years ago
Joined 15 years ago
public class StringList extends java.util.ArrayList<String> {
public static void main(String[] args) throws Exception {
StringList asStringList = new StringList();
java.util.ArrayList<Integer> asArrayList = (java.util.ArrayList<Integer>)(Object)asStringList;
System.out.println("It knows it's an ArrayList<String>: " + java.util.Arrays.toString(((java.lang.reflect.ParameterizedType)asArrayList.getClass().getGenericSuperclass()).getActualTypeArguments()));
System.out.println("But you can save and store Integers in it:");
asArrayList.add(42);
System.out.println(asArrayList.get(0));
System.out.println(asArrayList.get(0).getClass());
System.out.println("Unless it's static type is StringArrayList:");
System.out.println(asStringList.get(0));
}
}
That prints out: It knows it's an ArrayList<String>: [class java.lang.String]
But you can save and store Integers in it:
42
class java.lang.Integer
Unless it's static type is StringArrayList:
Exception in thread "main" java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.String (java.lang.Integer and java.lang.String are in module java.base of loader 'bootstrap')
at StringList.main(StringList.java:11)Like this technical memo about Apollo data network systems from 1966: https://ntrs.nasa.gov/citations/19670009662
JPL specifically has its own repository with similar content at https://dataverse.jpl.nasa.gov/dataverse/jor
Like this paper about file transfers with the Europa Clipper spacecraft: https://dataverse.jpl.nasa.gov/file.xhtml?fileId=72593&versi...
There was also a semantic object-level diff we got for "free" by virtue of building on top of the Eclipse Modeling Framework. It was integrated into the Eclipse git UI and could help resolve merge conflicts without having to touch the XML directly, but merge conflicts were still annoying to deal with so generally engineers coordinated with each other to not touch the same part of the model at the same time.
Normally for review though I think users tended to compare reports generated from the model rather than trying to diff the source model files directly. There was a sort of automated build process that took care of that once you pushed your branch to Github.
For keeping track of power use and interfaces specifically it turns out doing it all with SysML diagrams wasn't so great. Aside from all the pointless futzing around with boxes and arrows the model eventually became so huge the authoring software could barely handle just opening it up. So it must have been shortly after these slides when all the power use tracking was shifted to a custom tool with a more tabular user interface that we were already using for tracking electrical interfaces (slide 15) with version control in git.
https://en.wikipedia.org/wiki/Deep_Space_Optical_Communicati...
And here on Earth there's a new DSN antenna currently under construction at Goldstone (California) that will be capable of handling both radio and optical signals.
https://www.peraton.com/news/meet-dss-23-the-112-foot-wide-a...
So nothing operational yet, but stuff is happening.