Difference between revisions of "Computer Science at GE Research"
Line 28: | Line 28: | ||
approach). GE Research management supported it in varying degrees over the | approach). GE Research management supported it in varying degrees over the | ||
years, but never really appreciated its impact. | years, but never really appreciated its impact. | ||
− | ''Key GE Research Players:'' Jim Miller, Bill Lorensen | + | ''Key GE Research Players:'' Jim Miller, Dan Blezek, Bill Lorensen |
[http://en.wikipedia.org/wiki/Extreme_programming Extreme Programming] - The Visualization and Computer Vision (VCV) group at GE Research was an early adopter and, driven by six sigma, focused on software quality control and distributed software | [http://en.wikipedia.org/wiki/Extreme_programming Extreme Programming] - The Visualization and Computer Vision (VCV) group at GE Research was an early adopter and, driven by six sigma, focused on software quality control and distributed software |
Revision as of 12:52, 30 June 2013
When I look back at some GE Research software efforts, the projects that gained most notoriety and respect outside the Company were usually less enthusiastically received within the Company.
Generic Programming - a basic computer science breakthrough, now used and accepted by the world's software community. Enabled at GE Research by the "academic" Computer Science Branch. Key GE Research Players: Alex Stepanov, Dave Musser.
Object-Oriented Modelling - at the time (1984), a new way to manage software complexity. There was some GE Aerospace acceptance but the technology was far too advanced for the Company when it was developed. Now, OO is the basis for almost all software systems. The book, Object-Oriented Modelling and Design (written by 5 GE Research authors) has sold over 220,000 copies world-wide. The book has over 9000 citations on google scholar. Key GE Research Players: Jim Rumbaugh, Mike Blaha, Bill Premerlani, Fred Eddy and Bill Lorensen.
Open Source Toolkits - GE Research produced the Visualization Toolkit, VTK. When we started VTK in 1994, the term open source did not exist. VTK was fostered early on by management that trusted the vision we had. VTK was also supported by some GE Medical Systems managers. Certainly, VTK is much more accepted and successful outside of GE than inside. Key GE Research Players: Will Schroeder, Ken Martin and Bill Lorensen.
Government funded software - The Insight Toolkit, ITK was started and is still supported by NIH National Library of Medicine. The original concept was conceived by Terry Yoo (a student) and Bill Lorensen while Lorensen was on his Coolidge sabbatical in 1995. A from-scratch registration and segmentation toolkit that is still vital after over 10 years. Much of ITK was built with GE Research technology (object-oriented, extreme programming, pipelines, toolkit approach). GE Research management supported it in varying degrees over the years, but never really appreciated its impact. Key GE Research Players: Jim Miller, Dan Blezek, Bill Lorensen
Extreme Programming - The Visualization and Computer Vision (VCV) group at GE Research was an early adopter and, driven by six sigma, focused on software quality control and distributed software engineering. The VTK/ITK approach is now used as a model for many scientific and biomedical software systems. The VTK and ITK quality dashboards still receive kudos from the open source community. Kitware has enhanced and expanded the software process with a number of tools including cmake, ctest and cdash. Key GE Research players: Jim Miller, Tim Kelliher, Dan Blezek, Bill Lorensen.
OpenGE - The Visualization and Computer Vision Group at GE Research started this grass roots effort to expose GE software engineers to modern collaborative tools. We leveraged the then successful sourceforge. Key GE Research Players: Jim Miller, Bill Lorensen, Tim Kelliher, Bill Leue, Dan Blezek.
It is interesting that the last four and to some extent OO Modeling, were all started in the Visualization and Computer Vision (VCV) group, an algorithm versus software group. These were technologies that we needed to make our algorithmic software easier to write, maintain and share. The tools and techniques accidentally became useful outside of the initial domain.