Geertjan is a DZone Zone Leader and has posted 460 posts at DZone. You can read more from them at their website. View Full User Profile

NASA Adopts the NetBeans Platform

11.16.2009
| 19429 views |
  • submit to reddit

Tim Boudreau (pictured, right), Senior Staff Engineer at Sun Microsystems, recently spent some time with engineers at NASA, showing them how to use the NetBeans Platfom.

Below, he reflects on some of the interesting engineering needs that NASA has and how the NetBeans Platform is well suited to respond to these. During the interview, Tom Wheeler, one of the NetBeans Platform's several external contributors, talks about his participation in the course at NASA, too!

So, Tim, you trained NASA to use the NetBeans Platform. Why did they want to do this training?

Tim: Well, they're building the launch control systems for the post spaceshuttle generation of spacecraft. So, if you are watching a launch on TV, you see a room full of people looking at screens showing different measurements. For example, the fuel needs to be transported to the spacecraft, while it also needs to be maintained at a constant pressure and temperature as it travels to the spacecraft. There is monitoring hardware along the pipes that the fuel travels through and these monitors transmit their information to the control room where it needs to be visualized for a human being to monitor. The screens you see someone looking at are initially designed by a hardware engineer who knows where the sensors are and so forth.

NASA needs a designer environment which is simple enough for a non-programmer hardware engineer to use when designing a Swing GUI to show these  various measurements. There are many similar systems that are part of launching a spacecraft that are all in need of human monitoring when the very complex process of preparing a spacecraft for launch is taking place.

That is all well and good. But what does the NetBeans Platform have to do with all of this?

Tim: Well, they are actually reusing a lot of NetBeans IDE. In fact, they are reusing the "Matisse" GUI builder. So, some of what we helped them with was stripping down the user interface of Matisse to hide UI elements that are useful to a programmer but not to someone who is simply designing a screen and mapping components to measurement inputs.

Wait a minute. It's possible to customize Matisse?

Tim: Well, as a matter of fact, I made a few changes to Matisse to make it easier to customize. In particular, you can now globally hide the additional custom property editors that allow you to bind property values to values from other components. In the form editor, everything has a custom editor, where you can choose 'get it from the component' or 'get it from custom code'. Those features are too complicated for a non programmer. And they are also not usful to a non programmer. It is not the job of a hardware engineer to write the logic of the system. We also suppressed a couple of property categories such as those relating to beans binding, since these don't make sense in this context.

Great. Matisse turns out to be customizable. But, these are tweaks, really, are they not? At the end of the day, you still up end generating Java code, right?

Tim: Yes. In fact, they have their own project template and they're reusing the NetBeans built-in support for Java projects. And we also wrote some custom actions for the project which will find the screen class within the project and run it in a test environment with simulated data.

OK, before we continue, what kind of components does NASA have that need to be incorporated into Matisse in this way?

Tim: So, the user interface that they're creating is very visual and should represent the actual hardware. In  other words, if you are monitoring the fueling of a spacecraft, you will actually see a picture of a tank and a pipe leading to a spacecraft which looks like the real thing and is showing you measurements.

That means, their UI visualizes something they're doing up in space.

Tim: No, on the ground, before they launch. This is all before launch time. There are a huge number of things that have to be done exactly right for a spacecraft to be launched successfully. As I understand it, getting a spacecraft off the ground is a lot more complicated than keeping it off the ground.

So, NASA was able to incorporate its own Swing components into Matisse in such a way that these Swing components could be used to model their launch procedures and other similar scenarios?

Tim: Yes. This also involved some custom property editors and a nice new tutorial fell out of this process: Integrated Property Editors in NetBeans.

Tim, I understand that you had some help from a member of the NetBeans community.  Could you talk a bit about that?

Tim: Tom Wheeler has been an active member of the NetBeans community for several years and I know that he's developed several interesting applications on the NetBeans Platform because he gave a presentation about it at JavaOne last year.  I felt that his experience would help augment my training, so I invited Tom to offer his advice to NASA about how they could get off to a good start.

Tom, could you summarize the advice that you gave NASA?

Tom: I'd first like to thank Tim for giving me the opportunity.  Like him, I've always been fascinated by the work they do and I was honored to volunteer my time to help them.

I prepared for this by anticipating the questions they might ask, since I figured they'd be similar to the ones I had when I started working with the NetBeans Platform nearly five years ago.  Here are a few of them:

  • How do you determine the best way to split an application into modules?
  • Should you strive to have a few large modules or lots of little ones?
  • How should we handle configuration management for a platform-based application?
  • How do we stay current on changes to NetBeans APIs?
  • Is it difficult to set up our own AutoUpdate Center?
  • How can we customize our application without changing NetBeans source code?

I wasn't able to attend the training in person on NASA's campus in Florida, so Tim arranged for me to call in to a conference room where he had gathered the development team.  I began by asking if they had any specific questions for me.  It turns out that I had done a good job of anticipating their questions because they asked nearly everything for which I'd already prepared an answer!

Great. In the end, Tim, you guys basically spent some days giving NASA engineers a course about the NetBeans Platform. The topic relating to integration with the Matisse GUI Builder was a big part of that. But what other aspects of the NetBeans Platform were of relevance to their scenario?

Tim: They have a great bunch of really smart folks and they take what they do very seriously. They really wanted to know comprehensively about the NetBeans Platform. I doubt this is the last project where they will end up using it. So we spent three days doing the standard training, and then another two days focusing on the things they were likely to need, and focusing specifically on the functionality they were likely to implement.

Really? NASA was paying Sun for consulting services?

Tim: There are lots of organizations using the NetBeans Platform and I've done consulting with many of them. Generally, what I get asked to do is a few days of training and then sketch the architecture of what they are building and then make sure they know what they need to use and then understand it.

But, wait a minute, NetBeans is a free and open source project! Sun is getting paid for all this?

Tim: Yes, this is Sun making money on open source! And, personally, it was really a thrill to spend time with NASA. One of my earliest memories is watching the moon shots. To be part of all that in a miniscule way is really something special.

How large was the developer team attending this course and the related consultancy?

Tim: There were 10 folks I was working with directly, most of them were working with the launch control system, while others were working on the language integration for a spacecraft control language. And they are discussing creating an internal NetBeans user group for internal users of NetBeans!

Isn't it correct to say that NASA was customizing NetBeans IDE rather than doing anything with the NetBeans Platform?

Tim: If you're customizing the IDE, you're customizing the NetBeans Platform. The only difference is what modules and APIs you expect to be in the environment. It's really the NetBeans Platform all the way down.

What are the next steps that you anticipate your students to take?

Tim: Well, the next steps are to complete their integration with the NetBeans Platform. I helped them get on the path with this, though I didn't write this for them. My job is to give the students the tools they need to be successful. The next steps are to finish creating the components they will use, get them all embedded into modules so they are automatically installed into the Matisse GUI builder's palette, and then start using it in production.

Hopefully the next time you watch the spacecraft used on TV, you will see user interfaces built in NASA's customized NetBeans IDE!

 

Published at DZone with permission of its author, Geertjan Wielenga.

Comments

Fabrizio Giudici replied on Mon, 2009/11/16 - 3:20am

Great stuff. Since NASA is one of the recurrent testimonials of Eclipse Platform, now we can add it to the list of users of the NetBeans Platform. Even though there's an eclipse-NASA use case that we can't beat... ;-)

Varun Nischal replied on Mon, 2009/11/16 - 7:50am

Cool stuff :)

Sudhakar Ramasamy replied on Mon, 2009/11/16 - 1:51pm

Since NASA has in the past and maybe even currently uses Eclipse RCP did that ever come up in your discussions of why Netbeans was being chosen for this particular project?

Geertjan Wielenga replied on Mon, 2009/11/16 - 2:25pm

Most organizations use multiple different solutions at the same time. In this particular case (read the interview), the reason for the choice of NetBeans has a lot to do with the Matisse GUI Builder, which is created by NetBeans engineers.

Eugene Kisly replied on Mon, 2009/11/16 - 4:23pm

Great, Java will be in stars :)

Joseph Schmidt replied on Tue, 2009/11/17 - 12:07pm

The question is how cool is NB for Oracle :(. Considering it's JDeveloper, it's very well possible to fall behind after a few years.

Geertjan Wielenga replied on Tue, 2009/11/17 - 12:56pm

Jonathan, you think it would make more sense to create a visual designer from scratch rather than reuse an existing one? (I'm trying and believe me, it's not as easy as reusing Matisse.) And the URL has changed (big site migration recently) http://platform.netbeans.org/graph. Yes, it's very much alive (and part of the NetBeans Platform and VisualVM and many others).

Mateo Gomez replied on Fri, 2012/08/03 - 2:06am

Wow...NASA!it's such a wondeful thing..i am proud of you Netbeans

mexican salsa recipes
 

Matt Coleman replied on Fri, 2012/12/07 - 1:12am

I would like to Congratulate NB for the NASA account!Great job everyone!

present for graphic designer 

Bryan Low replied on Mon, 2012/12/24 - 10:57pm

Tanah Merah New Launch is also near to Laguna Tennis & Nation Group and Safra Tennis & Nation Group. Entertainment for your near near close relatives is therefore at your satisfaction with the complete property functions as well as the alternatives near Urban Vista.

Thx

Bryan Low replied on Fri, 2013/02/01 - 10:11pm

Twin Fountains EC is a 99-years leasehold Woodlands EC development located at Woodlands Drive 16 in District 25. With expected completion in mid 2016, it comprises of 8 towers with 418 units and stands 14 storeys tall. Good Job on the post

Twin Fountains

Mark Lewis replied on Thu, 2013/02/21 - 12:48pm

Some real powerful stuff here. I appreciate your efforts. I'll be back for future posts.

Affiliate Marketing 

Bryan Low replied on Sun, 2013/02/24 - 4:44am

Great Post. I have not been visiting the site recently. Took a visit again and there were some great comments on the site. Excellent post. Keep up the good work.

Bartley Ridge

Eric Lim replied on Wed, 2013/03/06 - 8:44am

Thanks for sharing with us on NASA Adopts the NetBeans Platform

New Launch  | Urban Vista 

Bryan Low replied on Thu, 2013/03/07 - 10:06pm

I have always believed that investments in Hillview Peak condo and condominiums is always a better choice than any other forms of investment. Not only can the investor leverage on his investment, he can always stay in the unit should he decide not to rent out the unit. Investing in stocks, gold etc has really no tangible benefits on your investment. Thats just my 2 cents thought though. Thank you author for the informative writeup.

Hillview Peak

Andy Man replied on Sun, 2013/03/31 - 5:15am

I have always thought that cluster housings are undervalued in today's property market and this indeed looks like it when the new launch Belgravia Villas  launch at below $900psf for a freehold cluster house in Ang Mo Kio. This will be the buy of the year and certainly a great investment for families who will be residing in the place.

Bryan Low replied on Tue, 2013/04/23 - 2:35am

Ecopolitan EC has full and unique facilities, which includes a guard house, clubhouse, Function Room & Indoor Gym Tennis Court, 50m Freeform Pool Pool Deck, Wading Pool, Splash Pool & Family Pool Jacuzzi & Hydro Spa, BBQ Area Dining and Play Fountain, Fitness Alcove & Children’s Playground and Garden Trail. The condo’s facilities provide full family entertainment needs for your family and loved ones. Indulge in a serene and tranquil lifestyle right in the heart of Punggol.Punggol Way EC

At Ppty replied on Sat, 2013/05/04 - 9:30pm

Awesome blog. I enjoyed reading your articles. This is truly a great read for me. I have bookmarked it and I am looking forward to reading new articles. Keep up the good work. Corals at Keppel Bay 

Bryan Low replied on Tue, 2013/05/14 - 7:28am

J Gateway is a new and upcoming condominium located in Boon Lay Way, Jurong East area. It is located right beside JCube, and the upcoming Westgate and Jem. With expected completion in mid 2016, it comprises of 4 towers with 783 units and stands 38 storeys tall. J Gateway Site Plan

Bryan Low replied on Sat, 2013/05/25 - 12:44am

Great Post. I have not been visiting the site recently. Took a visit again and there were some great comments on the site. Excellent post. Keep up the good work. Jewel Buangkok Site Plan

Bryan Low replied on Fri, 2013/05/31 - 1:35am

Coral Edge Residences is a 99-years leasehold Punggol EC development located at Punggol Walk in District 19. With expected completion in mid 2016, it comprises of TBA towers with TBA units and stands TBA storeys tall. It is situated right beside Punggol MRT Station. Future residents will be able to access the nearby Compass Point and Rivervale Mall which is a short drive away for some family fun and gatherings. A truly unique lifestyle awaits you. Coral Edge EC

Bryan Low replied on Tue, 2013/06/04 - 12:51am

For vehicle owners, it takes less than 5 minutes to drive to the business hub and vibrant Orchard Road shopping district, via Pan Island Expressway (PIE) and Central   Expressway (CTE). DUO

Bryan Low replied on Mon, 2013/06/17 - 12:51am

Lush Acres EC is a 99-years leasehold Punggol EC development located Sengkang West Way / Fernvale Link in District 19. With expected completion in mid 2016, it comprises of TBA towers with TBA units and stands TBA storeys tall. It is situated right beside Kupang LRT Station. Fernvale EC

Bryan Low replied on Tue, 2013/07/02 - 9:02pm

Kensington Square has full and unique facilities, which includes a guard house, clubhouse, children's playground, swimming pool, piano room, pool room, indoor gym, hydrotherapy beds, hydrotherapy baths, reading room, function room, onsen, jacuzzi. Kensington Square

Bryan Low replied on Tue, 2013/07/09 - 1:35am

Sembawang EC has full and unique facilities, which includes a guard house, clubhouse, Function Room & Indoor Gym Tennis Court, 50m Freeform Pool Pool Deck, Wading Pool, Splash Pool & Family Pool Jacuzzi & Hydro Spa, BBQ Area Dining and Play Fountain, Fitness Alcove & Children’s Playground and Garden Trail. The condo’s facilities provide full family entertainment needs for your family and loved ones. Indulge in a serene and tranquil lifestyle right in the heart of Woodlands. Sembawang EC

Bryan Low replied on Fri, 2013/07/12 - 4:24am

Sea Horizon EC has full and unique facilities, which includes a guard house, clubhouse, children's playground, swimming pool, Aerobic/Yoga room, piano room, pool room, indoor gym, hydrotherapy beds, hydrotherapy baths, reading room, function room, onsen, jacuzzi. Sea Horizon Eligibility

John Tan replied on Fri, 2013/07/26 - 7:38am

 Developed by renowned Sing Holdings, Waterwoods is located at the junction of Punggol Field Walk and Punggol East and is just a 5 mins walk to Coral Edge LRT and Punggol Plaza.  waterwoods ec punggol

John Tan replied on Fri, 2013/07/26 - 7:38am

 Residents at the Sea Horizon can get to nearby supermarkets and shopping malls for a variety of amenities which include grocery and retail shopping, bank, eateries and more! E!Hub is just a 5 mins walk from this development while White Sands at Pasir Ris MRT Station is just a short drive away! sea horizon pasir ris

John Tan replied on Fri, 2013/07/26 - 7:39am

 The first ever luxurious executive condominium is launching soon in the maturing estate of Sembawang. This EC come with full condo facilities, with modern design architecture, and the finest interior finishing to be expected. This new Sembawang EC is within the close proximity to various amenities, and also just a stone throw away to Sembawang MRT station.
skypark singapore

The Skywoods replied on Tue, 2013/08/06 - 4:31am

The Skywoods  is located within an established private housing estate, enjoying good accessibility to major arterial roads and expressway such as Bukit Timah Expressway (BKE), Pan Island Expressway (PIE) and Upper Bukit Timah Road. Travelling to and from the area is also easy with the launch of Hillview MRT Station (Downtown Line, Phase 2) in 2015 which is located within close proximity from The Skywoods, thus making it more accessible to the rest of the island.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.