INFORMATION TECHNOLOGY
L3 Communications (formerly Intermetrics, Inc.)
In the late
1990s, companies used several software applications across multiple platforms
and programming languages to build an electronic business transaction system.
These software applications were like components in the online enterprise, and
the system was appropriately called a component-based software system. At that
time, no tools were available for detecting potential problems or for debugging
these software systems. However, most electronic businesses could reduce
downtime significantly if the system could be debugged quickly and easily. So
the challenge was to find a debugging tool for component-based software
systems.
If a
“detective” probe could be inserted at key points in the software code to
detect anomalies, and then send a message back to the computer server about its
observation, the programmer could easily locate the error and remove the “bug”
quickly. In 1997, Intermetrics, a software company in
Developing
this probe technology would involve high technical risk. With Advanced
Technology Program (ATP) funding support, Intermetrics could implement its
technical plan quickly and make a significant impact. The company applied under
the 1997 “Component-Based Software” focused program and received a cost-shared
funding award. During and after the ATP-funded project, Intermetrics’ corporate
ownership changed several times, and the company was finally acquired
by L3 Communications in 2006. However, the team of researchers
remained together throughout these changes and met all their technical project
goals. They made two technical presentations on their invention.
The research
team developed an advanced probe technology that could (1) intercept messages
without modifying source code, (2) precisely coordinate messages across several
software components in an e-business transaction, and (3) operate autonomously
even when part of the entire software system had crashed. A large computer manufacturer
bought the license to this technology and incorporated it in their enterprise
management solution portfolio. As of 2006, the product has performed
successfully among enterprise software products.
Composite
Performance Score
(based on a four-star rating)
* *
Research
and data for Status Report 97-06-0038 were collected during February–March
2006.
Debugging Is Key to Software Development
In the late 1990s, software systems for electronic businesses were made up of components across multiple platforms like COM (Component Object Model) and CORBA (Common Object Request Broker Architecture), programmed in various languages such as Java and C, and followed various network protocols. No tools were available to troubleshoot these complicated software systems, even though software failure could cause substantial financial loss and organizational disruption to the business.
If
computer programmers make mistakes in planning and executing programs, the result
is manifested either when the software is initially tested or later when it is
used. Computer code can contain three types of errors (“bugs”). These are:
·
A syntax error occurs when the software
programmer writes the code in a manner not allowed by the rules of the
programming language; it is almost like writing a sentence with grammatical
errors. Finding the cause of a syntax error is simple once the programmer
learns the rules of “grammar."
·
A semantic error is more subtle; it is
like writing a sentence with the wrong words, but the correct grammar, so that
the actual meaning is affected. Because the software code adheres to certain
rules, a programmer cannot detect semantic errors easily. A semantic error
could cause the software program to terminate with or without an error message.
·
A logic error occurs when a software
program continues to run despite semantic errors, but the internal state of the
software program, called program logic, is wrong.
The problem-solving process of detecting these
errors is called debugging. A software developer’s goal is to debug and
fix the errors before the software reaches the user’s desktop. However, in
1997, there were no debugging tools on the market that would work on components
of a software system across all languages and platforms. Indeed, software
companies commonly believed that their products had to be produced and
distributed quickly to ensure financial viability, and most decided not to
invest in debugging tools that took time and money away from that process.
Contrary to this perspective, debugging tools could greatly increase developer
productivity, improve software systems’ reliability, and shorten delivery time.
This is supported by estimates from the software industry itself that better
quality and greater reliability of software would have resulted in
approximately $1 billion in benefits to the
Intermetrics Proposes
Detective Probe Concept
One
idea for debugging was to develop a “detective” probe that could be inserted at
key points in the program code to detect anomalies and send error messages to
the computer server. If software developers and system integrators who
integrated software components into e-business applications could read these
error messages and quickly diagnose problems throughout the software system,
the job of debugging component-based software systems could be simplified.
In
1997, Intermetrics, a software engineering company in
Using the proposed tool, a software developer could click at certain points in the software design and automatically insert probes at those points. These probes would filter out pre-defined software behavior information and capture only information about significant anomalies. The probe would observe the anomaly and transmit a message to a central server for semantic evaluation. These probes would be resistant to the errors affecting the rest of the software system and would record message histories despite any failure of the computer system at large. The central server would orchestrate all probe communication for debugging, even when the network failed or the system malfunctioned. If the software component developed problems on the end-user’s desktop, far away from the developer’s purview, the probe would apply its semantic knowledge and provide the user with a meaningful explanation of the anomalous behavior. It would also create custom viewers on the user’s desktop to display these messages. Once inserted within the software code, these probes would function without modifying the basic architecture of the software.
Intermetrics had
developed a preliminary design of the initial architecture for debugging, which
they called InterCom. They wanted to develop an interceptor or detective probe
to be added to InterCom. They also planned to develop a prototype tool, called
OWatch, to insert probes in software components, compose custom viewers on the
user’s computer, and apply semantic knowledge to diagnose anomalies. Existing
debugging tools could not be applied to component-based software systems or
server-based applications; OWatch was designed to address both environments.
Probe Concept
Posed Significant Technical Challenge
The development of probes and viewers within the debugging tool posed significant technical challenges. In 1997, various component architectures such as COM, CORBA, and Java Beans were being promoted by the major software vendors. The Intermetrics team would need to thoroughly understand these individual architectures and cover all related issues in order to implement the research plan. While semantic analysis was not new, Intermetrics planned to extend this technology much further with its plan to generate a custom viewer for debugging. This presented technical risk and the possibility of a long development period. Without ATP funding, such a major undertaking would be far beyond Intermetrics’ research and development resources. With ATP support, they could implement their technical plan quickly enough to have a significant impact on component-based software technology. So Intermetrics applied for ATP funding under the 1997 “Component-Based Software” focused program and was awarded funds for a three-year project that started that year.
Debugging Tool Can
Benefit All Industries
The benefits of a debugging system that combined InterCom architecture with the OWatch tool would be tremendous. Software users would have fewer bugs to deal with in e-business transactions and distributed component-based applications. Users would also have built-in diagnostic capabilities to understand the anomalies that caused syntax, semantic, or logic errors, as well as intelligent agents to eliminate or reduce the impact of these anomalies.
The Institute of Electrical and Electronics Engineers (IEEE) forecasted in 1997 that by 2000, as many as 400 million computers would be running Windows 95 or its successors, of which about 300 million computers would be accessing the Internet and approximately 75 million would be hosting Internet and/or intranet sites. Error-free software systems or early resolution of errors in software would constitute billons of dollars in savings in this huge market.
Before starting the ATP-funded project, Intermetrics identified the following potential customers for this technology:
· Software development organizations
· Independent verification and validation organizations
· Database management system vendors
· System software vendors
· Manufacturing process control, financial services, games and entertainment, and medical services companies
Research
Project Develops Working Model
The ATP-funded project researchers adopted a three-phased research plan: message-based debugging, intelligent probe design, and semantic debugging. They planned to work on all three phases concurrently. By the end of 1997, the research team had designed a probe architecture to communicate messages about application events to another computer acting as a "host" and had developed ways to wrap Java-coded messages on the probe. In March 1998, they completed the initial plan for message-based debugging and addressed a wide range of issues concerning enhancements to the InterCom framework. They also created a model for semantic debugging and distributed debugging architecture. According to this model, an individual probe would capture information about an anomaly and transmit a message to a central collection point, called a host manager. The host manager would collect and organize information from all communicating probes and would pass it to a centralized InterCom server. Based on the InterCom server’s semantic knowledge, the message would be analyzed and displayed on a custom viewer console on the user’s desktop. The user could use this information to either resolve the problem locally or ask for intensive debugging by a software programmer. Since the anomaly had already been identified and analyzed, its resolution would be quick and the application downtime significantly reduced.
In early 1998, Intermetrics acquired Pacer-Infotec, a similarly sized company that serviced mainly government contracts. A new parent company was created called Averstar, Inc., and Intermetrics became a wholly owned subsidiary of Averstar. By June, Averstar had implemented tool architecture based on the model described above. A significant advance over existing debugging systems was the users’ ability to install components of the InterCom system on different computers to save network and computer resources. This novel approach to message-based debugging was validated by a prototype that successfully captured and displayed messages in a component-based software environment without affecting the source code. This became the distinguishing feature of the InterCom technology. Soon the research team went on to implement a probe in the C++ language for COM-based software systems.
Two
Prototype Tools Are Built
In parallel with the work on the tool architecture, Averstar
was also developing another family of debugging tool prototypes from the
InterCom technology called EWatch. This tool was intended to provide
comprehensive debugging and monitoring capabilities to network-based software
applications. A network-based software system might have more than one software
component, but it operated through an electronic network simultaneously on
several desktops. In its statement for its initial public offering in May 1999,
Averstar listed EWatch and another similar product for Java technology, called
JWatch, as its two most promising prototypes for future product development.
Averstar demonstrated a prototype of EWatch at the Enterprise Management Summit
in August 1999, but the company did not have a large enough distribution and
sales force to launch and support the product on its own.
Averstar was purchased by Titan Corporation in June 2000. By that point in the ATP-funded project, Averstar researchers had developed a prototype probe for monitoring the performance of web-based applications. Along with debugging, this probe could (1) measure the minimum, maximum, and total time spent by software in processing a task and the total number of successful and failed transactions for a given task; and (2) display the results on the user’s desktop. This kind of performance analysis and display was a huge improvement over the existing technology in this field.
Averstar’s debugging technology had three advanced features:
· Ability to intercept communication without modifying the software source code and to add a diagnostic context to it.
· Ability to analyze software performance across component, process, technology, and computer boundaries.
· Ability to operate autonomously without the need to communicate with the InterCom console. Although this console was used to configure the probes to capture diagnostic data in response to tracking requests, the probes did not have to communicate with the console in the event of a computer crash.
Based on their research work in the ATP-funded project, the Intermetrics team made two presentations, one to a technology workshop and another for a product launch. They benefited in several other ways from the ATP-funded project, namely by gaining credibility in the marketplace and a reputation among their professional peers. Furthermore, the project validated an important technical concept about probe architecture that continues to be just as relevant in the software environment in 2006 as it was in 1997. Several members of the original Intermetrics team considered this to be the “most satisfying” research project they had worked on.
Averstar’s
Technology Merges with
When the project ended, Titan licensed the debugging technology for one year to Mercury Interactive to be sold as part of a larger original equipment manufacturer product. Another large computer manufacturer entered into an exclusive licensing agreement with Titan for this technology in 2001. While Averstar had its debugging probes to monitor software applications, this company had its own software to monitor web browsers on desktop computers or web servers. These two complementary technologies were merged in 2002 to form an enterprise-wide software management solution. An ATP study on this project, performed in November 2002, determined that without ATP funding to Intermetrics, similar technology would have taken at least three more years to develop.
This product offered an enterprise-wide software portfolio to monitor computer transactions in large-scale, business-critical applications and to identify problems and diagnose the root cause of these problems for quick resolution. The ATP-funded technology was utilized to monitor the performance of web-based applications and collect data that would allow the systems analyst to rapidly isolate problems within the web server, the web browser, and other Java-based application servers. The same technology was used in developing tools for deploying probes within Windows and Java-based applications for local and remote debugging. However, due to the proprietary nature of the licensing agreement between the companies, details of this product are not forthcoming.
Conclusion
Anticipating
the software industry’s need to debug component-based software, a group of
researchers from Intermetrics conceived of an interceptor technology in 1997.
Significant technical risks and scarce company resources led them to seek ATP
funding. By the end of the three-year ATP-funded project, the researchers had
developed a unique probe technology that would seamlessly trace the flow of
messages across computer transactions and relay messages to a central server.
This was a tremendous improvement on existing debugging technology for
component-based software systems used by e-businesses, and would have a
significant positive impact on the economy if commercialized.
However, Intermetrics had experienced several corporate mergers and acquisitions within the same timeframe and lacked the resources to commercialize this novel technology. The original research team moved from Intermetrics to Averstar to Titan Corporation and finally to another computer manufacturer, taking the same migratory path as the novel interceptor technology they had developed in the ATP-funded research project. They incorporated this technology as a stand-alone module in a much larger enterprise-wide portfolio of software solutions, and made it into a commercial success. Titan Corporation merged with L3 Communications in 2006 to become the L3-Titan group. While the specific code that ran the debugging tool in 2000 has become outdated, along with CORBA and COM-based languages, the concept of seamless addition of a non-intrusive interceptor within a software architecture is still operational.
Project Title: Identifying
“Bugs” in Software Components for Enterprises (Debugging Component-Based Software
for
Project: To develop a non-intrusive interceptor for software
debugging within a component-based system consisting of heterogeneous platforms
and languages.
Duration: 10/1/1997–01/01/2000
ATP Number: 97-06-0038
Funding (in thousands):
|
ATP Final Cost: |
$1,705 |
62.9% |
|
Participant Final Cost: |
1,005 |
37.1% |
|
Total: |
$2,710 |
|
Accomplishments: The Intermetrics research team that conceived of the
technical idea for this ATP-funded project and developed the debugging probe
technology remained intact through several corporate changes and market
adjustments. They were ultimately chosen to lead this novel technology’s
migration to an enterprise-wide software management solution offered by a large
computer manufacturer. These researchers accomplished all the technical goals
defined in their proposal to ATP:
·
Developed
and validated a debugging technology for component-based software systems
·
Developed
a prototype of OWatch and EWatch debugging tools
·
Developed
a unique probe technology for detecting and diagnosing anomalies in software
behavior and displaying the message on a console on the user’s desktop
·
Added
an automatic insertion feature by which probes could be placed by the software
developer with a mere click of the mouse on a point in the software code
·
Successfully
built resilience into the probe concept so that it could communicate with a
central server about its observation, even when the application crashed
·
Solved
a critical need in the industry to improve software quality while raising
developer productivity
·
Successfully
countered threat of obsolescence by making this debugging tool upgradable to
next-generation software systems
Commercialization Status: The
various companies that have acquired and continued to develop the product have
successfully commercialized Intermetrics’ probe technology. Titan’s primary
emphasis was on technology development, but they lacked resources for sales,
marketing, or support. When the ATP-funded project ended, Titan licensed the
product for one year to Mercury Interactive to be sold as part of a larger
original equipment manufacturer product. Another large computer manufacturer
entered into an exclusive licensing agreement with Titan in February 2001 for
the ATP-funded technology. This company incorporated this technology into their
stand-alone module in a much larger enterprise-wide portfolio of software
solutions.
Outlook: The outlook for the ATP-funded debugging technology is
strong according to the forecasts by the company that currently holds all
licensing rights to its application and commercialization. Although
Intermetrics, the original company that proposed the development of the
debugging tool, has gone through several corporate acquisitions and mergers,
its research team has successfully developed and extended the technology to
meet the changing demands of enterprise software systems. As of 2006, these
researchers had applied an updated version of this monitoring technology to
Java-based applications, thus proving that the interceptor technology fits well
into current Java-based enterprise edition (J2EE) software systems.
Composite Performance Score: * *
Focused Program: Component-Based Software,
1997
Company:
L3-Titan
Group, L3 Communications
Contact: Bruce Burton
Phone: (571) 334-2105
Presentations:
·
Rees, J.
“Intermetrics’ OWatch Debugging Technology for Distributed, Component-Based
Systems,” Workshop on Compositional Software Architecture,
·
Fortier, S., and
J. Rees. “Application of EWatch Information Assurance Probes,” Information
Technology and
Research
and data for Status Report 97-06-0038 were collected during February–March
2006.