Since Pathfinder Solutions has been kind enough to sponsor this weblog, I need to provide some information about them. Pathfinder Solutions is a company that provides tools and consulting related to translation.
Translation is a paradigm shift in the way software is developed. Translation is a logical evolution in software development that represents automation and design reuse of the computing space. When I started in this business programs were done on plug boards. Assembly Language was the Silver Bullet to solve the Software Crisis while FORTRAN and COBOL hadn't been introduced and there weren't even linkers or loaders. Over the decades a whole lot of automation has been introduced to the point where writing Assembly is now an anachronism in specialized niches like embedded systems and it is possible to develop entire applications using RAD environments without writing even 3GL code.
That automation is possible because the computing space itself is highly deterministic. Everything we do in that space must eventually be unambiguously mapped into the computational models of Turing and von Neumann. So everything in the computing space tends to be defined with mathematical precision. Thus automation is an inevitable evolution. However, it is not achieved without pain because the computing space is quite large and enormously complex.
Though the technology has been around since the early '80s, it was not until the late '90s that the engineering had improved to the point where it could enter the mainstream of general purpose software development. In addition, it was only in the late '90s that the Object Management Group (OMG) provided much needed standardization through its Model-Driven Architecture (MDA) initiative.
Once one automates the computing space, though, there are tremendous benefits. All nonfunctional requirements -- size, performance, reliability, maintainability, etc. -- depend upon the specific computing environment. (The "computing environment" is a catch-all for target 3GL, hardware platform, operating system, technologies like networking, infrastructures like EJB or .NET, and a host of other specialized facilities.) The basic idea behind translation is that one can isolate those concerns in a transformation engine that is tailored to the specific environment. That engine can then optimize any application that needs to execute in that environment. In effect one gets compete reuse across applications of engineering that deals with optimization for nonfunctional requirements.
That, in turn, allows the application developer to focus exclusively on the solution to the functional requirements of the particular customer problem without being concerned about optimizations for nonfunctional requirements. That focus improves productivity and reliability enormously, especially when the notation employed has the abstraction of a fourth generation language (4GL). It also allows portability of the application across computing environments without any change to the solution.
Pathfinder Solutions provides tools for 100% 3GL code generation from 4GL UML models, consulting, mentoring, and other services related to translation. If you are not familiar with translation, I strongly urge you to visit their web sight and peruse their technical papers. It could mean double-digit improvement in your bottom line.