Agilent Puts Perl to Work Dispensing CAD Databy Bonnie Allen
If you're an engineer, you can spend a lot of time creating computer-assisted design, or CAD, data for commonly used parts--or you can get the data ready-made from Agilent's new CAD Data Store--built with Perl.
"When you use a CAD tool, you typically design circuits that have many parts in them," said research scientist Tom Anderson, from Agilent EEsof EDA (Electronic Design Automation), a group within Hewlett-Packard's new subsidiary Agilent Technologies. "You have to enter information about each part into the CAD tool. A lot of companies generate this CAD data themselves. We're getting into the business of selling the data over the Web, a part at a time, so you only buy what you need."
Access to the CAD Data Store's parts, with their electronic CAD data (symbol, footprint, and mapping file), can reduce the process of designing complex circuits from weeks to minutes. It's based on a system that has been used internally by Hewlett-Packard and Agilent engineers since 1993.
"The system has helped HP engineers save significant design time over the years, and we want to offer that same advantage to our customers," said Karl Kachigan, product manager for the CAD Data Store, in an October 1999 press release.
Anderson and his group built a prototype of the site, using Perl, which was so successful that Anderson had no trouble convincing management to go with Perl for the project.
Anderson emphasized that the relative low cost of open-source software was not a factor in the choice; their decision to use Perl was simply a matter of being able to solve the right problems. "We needed the middleware to go between the Web and an existing database that we designed a long time ago," he said. "That's a different problem than what you typically address with an off-the-shelf software solution.
"Basically, you have to make a build-versus-buy decision. In this case, our solution has a fair amount of build in it. We'll certainly buy commercial software if it looks right, but when we looked at commercial solutions, the alignment wasn't that good. "
Perl, says Anderson, is ideal for building something that you figure out as you go along. Anderson's group started with architectural drawings of their Web site, including pictures of screens and how they wanted the site to work. Then they built the Web site and worked on it until they got something they liked. "We measured the performance, found the bottlenecks, and removed them to scale up the performance."
That's harder to do in a language like C++, said Anderson, "where you're supposed to figure out your whole problem in an analysis phase; model all the objects and their relationships and the life cycle of all the data; and then go through the coding and come out with a perfect system at the end."
The CAD Data Store is also available for those who simply want to research their specifications. The site's powerful search engine (with some very responsive, flexible search capacities, which would normally put a huge burden on a CPU) uses Perl and SQL to accommodate thousands of simultaneous users in a dual system--inside and outside the company firewall.
And it's built to accommodate a lot of users, said Anderson, who knew Web projects are often victims of their own success. "You get a whole lot of traffic, and then your site crashes. So we were fully scaled on day one for what we thought the business would be." Its success has made it a company hallmark for fast, high-traffic Web applications.
Interested in learning more about Perl? Read more Perl Success Stories.
Elsewhere at Agilent, Perl is widely used for text-file manipulation and data analysis, said Anderson. "In a manufacturing setting you produce a lot of data; then somebody's got to reduce all that data and turn it into a report. That's a strength of Perl."
Anderson doesn't worry about finding support for Perl. "We can buy support for just about anything. We're in the commercial software business and we know what it takes to get really critical support in place."
And, he points out, Open Source is a time-tested concept. "I used to download stuff from comp.sources.unix, or ftp things from netlib.org before there was a Web, so I'm used to expecting high quality from open-source software. You try it, get a feel for how good it is, and either throw it away or use it. It's just another tool."
Agilent's CAD Data Store is another example of how, in the business world, the open-source choice has little to do with ideology. It's a bottom-line decision that is made project-by-project, based on the suitability of the software for the task. And for a growing number of applications, Perl is the logical best choice.