Java is moving to be more modular so that you do not have to load the full JVM with classes you do not need. Started in Java8 with compact profiles that take the 55Mb install down to 11Mb for the most compact installation. They are planning to update how the classpath mechanism works so that the entire classpath does not have to be searched linearly.
All of this is currently in Project Jigsaw – http://openjdk.java.net/projects/jigsaw
Adding ‘value’ classes – “Codes like a class, works like an int”. The value type class may help java to work better with some of the scientific types of work since the arrays and iterators will have less overhead by not dealing with full Objects.
Profiling scenarios at runtime
- Invariants (known types, constants, null values)
- Statistics (used branches, calls, polymorphism)
- Inlining – gathers statistics to find hot spots – can inline across class boundaries if necessary
- Information available about when Inlining is being done by using the command line options: -XX:+UnlockDiagnosticVMOptions -XX:+PrintInlining
- Escape Analysis – analyzes object scope to remove unnecessary object creation – eliminates unnecessary locks/mutexes. May eliminate unnecessary defensive copies.
- On Stack Replacement (OSR) – replaces interpreted code with compiled code
- Loop unrolling
- Locks – optimizes synchronization blocks
This looks great, but the speaker is using the future tense to describe things. Not sure if this is just a Powerpoint Project. And then there was the demonstration!
Uses XTend for code generation. They will provide extension points to plugin your own generator or RTS. Not sure how mature this is, but we should be looking into using this as opposed to Rational Rose or Rhapsody.
This may have been one of the more eye-opening sessions of the week. You can find much more information here.
Added a CSS Editor with a gradient editor. Added code recommenders specific for JavaFX. Created an FXML-Editor with a code generator for the FXML config. Must use Java8.
Updated the l10n implementation for supporting multiple languages.
RRobot-DSL – generates setup for different deployment types
LivePreview was developed for FXML/FXGraph feedback.
Need to find the video of this after it is done.
Ported a logger used by DI with @Log annotation. Also ported StyledText and some JFace Text stuff.
Looks like a fully operational requirement & test management tool integrated into eclipse. Also integrated with Papyrus for linking to lower level requirements and other items. Showed how to use css to style a diagram based on properties (including stereotypes) of the items on the diagram. There was a nice linkage between the ReqCycle and Papyrus.
The PolarSys project has come a long way in the last year. It would be beneficial to come up to speed with the suite of tools being provided, as they are likely to be used at a large scale soon.
Standard model of Scientific Computing:
- Define the problem
- Run the simulator
- Analyze the output
- Archive the output
Defined a data model and business logic model for defining and performing scientific applications on Titan.
VisIt – open source tool for creating visualization within DOE. This looks very interesting, but it runs as a separate application connected with JSON.