Setting the Standards

  • CMU's Software Engineering Institute looks to the next 25 years
By Karen Hoffmann (S'04)

From a "smart grid" for delivering power, to electronic medical record systems, to transport systems, society relies more and more on software. As the scale and security implications of software continue to grow, the field of software engineering aims to make software production more disciplined and predictable.

For 25 years, Carnegie Mellon's Software Engineering Institute has given organizations the knowledge and technology they need to improve software development. In June, the Defense Department granted the SEI its fifth five-year contract extension, valued at $584 million, to continue its work advancing software research and improving the quality of software-related systems.

Though the federally funded research and development center is independent from the School of Computer Science, it's had strong links to SCS since its inception. Nico Habermann, founding dean of SCS, was also the co-founder of the SEI and served as acting director from 1984-85. One of the students Habermann advised was David Garlan, now a professor of computer science at CMU and director of Software Engineering Professional Programs in the Institute for Software Research. "Nico set the tone for the SEI," he says. "I think he got it right--a balance between practical technology transfer and research."

Habermann felt strongly that the SEI needed to be tightly integrated into CMU, says Garlan. "He brought people over and made it possible for them to participate." Habermann established technical initiatives and a focus on engineering, in addition to process management.

SEI was the original home of Carnegie Mellon's Master of Software Engineering degree--also established by Habermann. As the SEI began teaching its professional development courses for software professionals already in the field, that academic program was taken over by the SCS.

Although the MSE program is now part of the Institute for Software Research, SCS retains a strong educational connection to the SEI. SCS staff members teach many SEI courses, SEI staff work as mentors on SCS projects, and some SCS faculty and student projects are funded through the SEI's Independent Research and Development, or IRAD, program.

During remarks made in March at the 20th anniversary of the MSE program, Paul D. Nielsen, director and chief executive officer of the SEI, cited the university's "strong commitment, present since the beginning," to the Software Engineering Institute, and said that partnership goes both ways. "SEI's involvement with Carnegie Mellon's academic programs--particularly the MSE--is unflagging," Nielsen said. "The SEI continues to support the MSE with people, projects and a commitment to developing the highest caliber of professionals."

The SEI and SCS recently established a new joint degree program, the Master of Science in Information Technology- Software Engineering Management, now entering its second year. In addition to components from SCS and the SEI, the MSIT-SEM includes coursework from Heinz College. A distance degree aimed at mid-level managers, the MSIT-SEM is billed as "an MBA for software engineering."

The best-known piece of the SEI, at least to the general public, is probably the CERT Coordination Center, which responds to cybersecurity threats. ("As the Morris Worm Turned," The Link, Summer 2009.) But the SEI also conducts research and training on best practices for acquiring new software, measuring its performance and dependability, allocating resources, and ensuring different systems are interoperable. The Capability Maturity Model Integration, or CMMI, developed at the SEI has become the international standard by which large organizations evaluate their delivery of products and services both on-line and off-line.

One of the SEI's newest technical sections is devoted to developing the best architecture for ultra-large-scale software systems. Software architects decide how best to structure and organize the components of complex software systems. Ultra-large-scale, or ULS, systems are particularly challenging because they're big in all kinds of ways--they have many users, many lines of code, and vast amounts of data.

As a result, they come with their own unique challenges, and issues that may seem insignificant at smaller scales become critical problems at ultra-large scales. At a seminar conducted earlier this year, Linda Northrop, the director of the Research, Technology and System Solutions program at the SEI, compared a ULS system to a large city. Although a city might seem like a collection of buildings, it wasn't conceived and built by one single organization, but rather by individuals acting locally, over time.

Like cities, ULS systems should have separate, decentralized functions, which in the case of software can prevent malicious intruders from taking down an entire service provider with one attack. "The sheer scale will limit opportunities for central or hierarchical control," Northrop said. Decentralizing functions also enables problems in ultra-large-scale systems to be tackled locally, too, in the way that problems are addressed in cities. "There's construction going on every day, but it doesn't mean you need to take the (entire) city down for maintenance," Northrop said. The SEI is also working on developing self-healing mechanisms for systems. "We don't like to have fires in cities, but we still have fire departments," Northrop said. "We'll need those kinds of mechanisms in ULS systems."

CMU was instrumental in developing the field of software architecture. With Mary Shaw, the A.J. Perlis Professor of Computer Science in the SCS, Garlan wrote one of the earliest books on the field called "Software Architecture: Perspectives on an Emerging Discipline." And he and other SCS faculty continue to collaborate on research with SEI colleagues into software architecture.  "Defining the field of software architecture has been a synergistic effort," Garlan says.

At a celebration of the SEI's 25th anniversary earlier this year, Nielsen pointed out that software isn't confined to desktop and laptop computers. "It is part of our everyday life in automobiles, phones, kitchen appliances and airplanes," he said, and it's spreading, changing and growing. SEI can't afford to rest on its "past accomplishments," Nielsen said.

"We may be 25 years old, but we are only just beginning," he said. "This is an exciting time to be part of today's technological advances. We look forward to the next 25 years and providing organizations the research, skills, and tools they need to build better, faster, more reliable and more secure software."
For More Information: 
Jason Togyer | 412-268-8721 | jt3y@cs.cmu.edu