By Geertjan-Oracle on Mar 13, 2015
A few days ago I had the opportunity to visit the headquarters of the Royal Netherlands Navy in Den Helder, which is in the tip of the most northern part of the Netherlands. That's where naval ships such as the following are managed:
The various military components on naval ships like the above are controlled by programs coded via an MDA (Model Driven Architecture) methodology based on the Shlaer-Mellor methodology, comparable to Executable UML. An in-house Shlaer-Mellor MDA and an ASL implementation are used for coding. The models and the ASL are compiled by an in-house compiler into C code, which is then compiled into an executable via a C compiler.
An in-house IDE has been developed for the in-house implementation of the Shlaer-Mellor/Executable UML methodology, by SATS Den Helder, which is part of the Defence Material Organisation, for the approximately 40 in-house internal developers who are working with these modeling methodologies. The IDE is used for modeling, as well as for the related ASL code, providing the rich features expected of a modern IDE, in addition to the modelling features you see below, this includes a full-blown ASL editor, with syntax coloring, code completion, refactoring, find usages, code navigation, compilation, and diffing of models.
Guess what that in-house IDE, specifically created for those 40 developers, looks like? Click to enlarge it:
What you see is a complete development environment created on NetBeans for the usage of the Shlaer-Mellor/Executable UML methodology together with the in-house implementation of ASL, created with the key idioms that NetBeans provides, e.g., Module, TopComponent, Lookup, etc. However, there's no project system, because each application is stored in a single XML file. Everything you see above is extrapolated from a single XML file.
The developers told me they'd never have created the above application without NetBeans, since it provides an enormous amount of plumbing, especially the window system that you see above. The Visual Library is used, for the modeling, as well as JFreeChart (which might potentially become JavaFX). The immediate professional appearance that an application on NetBeans gains out of the box was a key reason for using it.
Prior to using the NetBeans Platform as the basis of this application, extensive analysis was done in comparing it with Eclipse RCP. Clearly, NetBeans won. Other applications have been developed, while others are being started from scratch, by the Royal Netherlands Navy on the NetBeans Platform. Being able to share modules between different applications is a big win and that's something that the development team is leveraging as they develop more applications that do similar things. I have some more screenshots of these that I'll share in the coming days.