Sun comes together to extend Jackpot into SALSA

Discussions

News: Sun comes together to extend Jackpot into SALSA

  1. John Crupi was recently interviewed by eWeek. The discussion revolves around an extension to Goslings Jackpot project.
    Sun's professional services, tools and labs groups are nearing completion of a jointly developed effort called the Sun Appliance for Live Software Analysis, or SALSA, project.

    But SALSA is not a hardware "appliance"; rather, it is a software tool that will help Sun PS architects extract, analyze and refactor, or edit, Java code designs and architectures using two-dimensional and three-dimensional visualizations.

    SALSA is built on top of a technology from Java creator James Gosling's Sun Labs called Jackpot, which automates software analysis. The SALSA team extended Jackpot to produce design and architectural software characteristics known as "design analysis facts," said John Crupi, a Sun distinguished engineer and chief architect at Sun PS.
    Read: Sun Triple-Dips into SALSA

    Read the original Jackpot interview: Father of Java Has His Eye on 'Jackpot'

    How many of us are involved in rearchitecting applications or going in as trouble shooters to help projects in trouble recover. If you are involved in that space please comment on your expectations of the usefulness of SALSA.

    Threaded Messages (10)

  2. Well but does it help[ Go to top ]

    Such a tool may help you spot bottlenecks and threading issues right away but it is probably fairly useless to address more fundamental - and ultimately more important - issue. For example, what EJB model is right for you, what underlying platform are you running on (BEA, IBM, Vitria) etc, how good your sql is and so forth.
  3. Yet to be seen[ Go to top ]

    It will help if you were reverse engineering somebody else's code! Recently I have been involved in such activity and believe me, you've gotta try that thing. There are times when you know what is being invoked where, upon a user initiated operation, but you still can't put all the pieces together, mainly because you can't really see it all on one screen, like a block diagram or something.

    The concept definitely seems helpful. The tool is yet to be seen.
  4. Yet to be seen[ Go to top ]

    It will help if/when it actually comes out. Jackpot has been in the works for - is it 3 years? - now, with no releases in sight. In the meantime, part of the promised utility of the tool is now standard in all IDEs but Netbeans with their refactoring support. Gosling has been giving practically the same interview for years now.
  5. Code visualization[ Go to top ]

    It will help if you were reverse engineering somebody else's code!
    I think this is the single bigest use of the tool. I have had to do architectural assessments in the past and they are very difficult to do properly. Given 200MB of source artifacts 20MB of Java src code etc. wading through all of it is just impractical. If this tool lives up to the hype it will make the job of doing an architectural assessment tons easier. And as a side effect it could help developers perform interim architectural assessments while developing as part of a peer review process.

    I personally can’t wait to try it out!
  6. Big Whoop[ Go to top ]

    LOL! James Gosling needs to earn his pay and have the JDK developers bring it up to the level of at least .NET. No file copy, no string padding, and other missing items.

    So this is where all their time goes instead of building a good solid core product for the java community. I wonder how much faster JDK 1.5 would have been release if they had NOT worked on this product. :P
  7. Gosling notes the need for his tool to access Java's abstract syntax tree. When I was inventing a Java visualization tool (perhaps similar to the one he describes), I directly used javac's AST, which is available under SCSL. Sun should publicize javac's AST explicitly in the JDK, instead of only hiding them without further mention in tools.jar.
  8. It's hard to know what this product might be when they release it
    "within three to six months". Gosling's interviews seems to be
    talking about an interactive tool, although I don't quite understand
    what his tool can do that IntelliJ can't already do. But the new
    press release talks about a tool that would be run automatically
    overnight and somehow verify that code corresponds to architectural
    block diagrams. But then it also talks about 2D and 3D visualizations,
    saying little about what those might be. Until more solid information
    comes out, it's not clear how much point there is in speculating about
    what this might be. To tell the truth, it's hard for me to understand why
    Sun wants to make an extremely vague pre-announcment like this at all.
  9. Gosling's interviews seems to betalking about an interactive tool, although I don't quite understandwhat his tool can do that IntelliJ can't already do.
    Much more analysis and presentation can be done that IntelliJ offers. Eg, I've experimented with data- and control- flow diagrams (with folding and navigation) as an alternate view of Java logic. Flow coding is beginning to arouse research interest. Another example is JProbe's many excellent visualizations for investigating "method and line level performance bottlenecks ... memory leaks and garbage collection activity ... thread deadlocks, stalls and data race conditions ... measuring code coverage".
    To tell the truth, it's hard for me to understand whySun wants to make an extremely vague pre-announcment like this at all.
    Whatever happened to Sun's other (Rave and Ace) recent experimental IDEs?
  10. Hi Brian,

    A much better example of flow analysis (especially transaction flows) can be found in JDBInsight a JDBC/J2EE transaction analyser/profiler.

    JDBInsight has many innovative visualizations which highlight transaction flows patterns including sub-transactions. It treats the data flowing (SQL commands) as first class citizens alongside the Java code. This coupling is especially important when you have generic frameworks which generate on the flying the data manipulation operations. Only looking at the code would render such tools as useless.

    I have found that for architectural reviews that it is much easier to gain an understanding of the application use cases and runtime engine when you can visualize the Java code execution alongside the database tables and columns accessed. Business analysts and testers feel much more comfortable with transaction transcripts. I typically reset the server profile before each use case take a snapshot and view the profile from within the console.

    Some screenshots and flash demos to help you better understand what I am talking about.

    http://www.jinspired.com/products/jdbinsight/downloads/index.html
    http://www.jinspired.com/products/jdbinsight/whatsnew.html
    http://www.jinspired.com/products/jdbinsight/tour.html

    For the coming release JDBInsight 2.2 "Tune-in-Time" we are focusing on concurrency analysis at the transaction and sql execution level as well as providing thread/transaction timeline analysis.

    JDBInsight already has a internal pattern matching mechanism as well as a classification engine which will become more visuable as we release newer minor releases for example when looking to corelate dips in throughput as a result of particular concurrency patterns at the container or database level.

    For J2EE database based applications JDBInsight is already ahead of the pack when it comes to runtime analysis.

    By the way do you work for JProbe (Quest)? Have you published any research?

    Regards,

    William Louth
    JDBInsight Product Architect
    JInspired


    "J2EE tuning and tesing with Insight"
    http://www.jinspired.com
  11. Gosling's interviews seems to betalking about an interactive tool, although I don't quite understandwhat his tool can do that IntelliJ can't already do.
    Much more analysis and presentation can be done that IntelliJ offers. Eg, I've experimented with data- and control- flow diagrams (with folding and navigation) as an alternate view of Java logic. Flow coding is beginning to arouse research interest. Another example is JProbe's many excellent visualizations for investigating "method and line level performance bottlenecks ... memory leaks and garbage collection activity ... thread deadlocks, stalls and data race conditions ... measuring code coverage".
    To tell the truth, it's hard for me to understand whySun wants to make an extremely vague pre-announcment like this at all.
    Whatever happened to Sun's other (Rave and Ace) recent experimental IDEs?
    Rave is now called Studio Creator, you can get hold of the beta / EA here :

    http://developers.sun.com/prodtech/javatools/jscreator/index.jsp

    Ace changed names :

    http://research.sun.com/projects/ace/

    Rich Sharples
    Sun Microsystems