Hamerschlag Hall A-308
Electrical and Computer Engineering Department
Carnegie Mellon University
Pittsburgh, PA 15213 USA
Phone/voice mail: +1 (412) 268-5225
Current Pittsburgh weather
Don't forget to practice your Pittsburghese before you visit!
My PGP public key
The vast majority of the billions of processors manufactured yearly are incorporated into products other than general-purpose computers. These embedded systems can have significantly different tradeoffs than general-purpose computer designs. Issues include interdisciplinary optimization, cost sensitivity, real-time performance, reliability, safety and life-cycle support. Over time I am addressing various aspects of embedded computing in my research, with my current emphasis areas below. I also teach two courses in embedded systems: 18-348 Embedded System Engineering (for juniors and seniors); and 18-649 Distributed Embedded Systems (for graduate students).
Embedded System Security and Survivability:
As embedded sytems are increasingly connected to enterprise systems and the Internet, security becomes an increasing concern. A common approach to attempting to provide security to embedded systems is to install some sort of gateway node to keep attackers out. That looks great on architectural diagrams, but nobody is really sure what should go in this gateway. We're looking at the problems that might be encountered in such gateways. Example areas of interest include the propagation of timing faults (and attacks) across such gateways, and what types of mechanisms are most suitable for managing traffic that is exchanged between networks via these gateways.
Embedded networks are typically optimized for periodic, short, and often safety critical messages. But, they commonly have little or no support for security functions such as authentication and secrecy. We're looking at ways to add security mechanisms to embedded control networks under extreme constraints of bandwidth, message size, and backward compatibility with existing protocols.
Embedded System Safety:
Embedded systems often provide critical functions that must work correctly and with high reliability. For example, fly-by-wire systems in aircraft have to work more or less perfectly at all times. (Future drive-by-wire systems in cars will have similar dependability requirements.) Not all systems are as critical, but most embedded systems have some functions that just have to be done right. We are looking at ways to make it easier to deal with safety, especially in systems where only a small fraction of the overall system functionality is actually critical. Current work includes finding ways to partially decompose system-level safety properties into subsystem properties, and creating simple approaches to improve the safety of unmanned robotic ground vehicles.
Philip Koopman is an Associate Professor at the Carnegie Mellon University Electrical and Computer Engineering Department. Additionally, he is the Embedded & Reliable Information System thrust leader at the CMU Institute for Complex Engineered Systems, the Dependable Embedded System thrust leader for the CMU/General Motors collaborative research laboratory, and a courtesy faculty member of the Institute for Software Research, International (ISRI).
Koopman received a Ph.D. in Computer Engineering from Carnegie Mellon University in 1989 and both a M.Eng. and B.S. in Computer and Systems Engineering from Rensselaer Polytechnic Institute in 1982.
From 1982 to 1987, he was a U.S. Navy submarine officer. He completed a Pacific Fleet sea and shipyard tour aboard the USS Haddock (nuclear-powered fast attack submarine) as Sonar and Weapons officer and is qualified in submarine warfare (gold dolphins). He earned the Naval Expeditionary Medal for participation in the Cold War and a Naval Achievement Medal. He was then stationed in Newport, RI at the Trident Command and Control Systems Maintenance Activity (TRICCSMA), which performs system integration and lifecycle support for Trident submarine tactical computer systems.
From 1986 to 1991, he was a partner in WISC Technologies, which designed and manufactured Forth-based stack computers. The patents for the technology were licensed to Harris Semiconductor. He then became a Senior Scientist at Harris Semiconductor, in charge of embedded processor architecture from 1989 to 1991. He was the architect of the Harris RTX-4000 32-bit processor prototype.
From 1991 to 1995, he was a Principal Research Engineer at United Technologies Research Center. There, he worked with embedded computer applications for Otis (elevators), Pratt & Whitney (jet engines), Norden (RADARs and SONARs), Carrier (HVAC equipment), UT Automotive (input control electronics and vehicle security), and Sikorsky (helicopters). He also conducted research on system design methodologies and embedded CAD tools.
In 1996, Koopman joined the CMU EDRC (now called ICES) as a Visiting Senior Research Engineer. In 1997 he joined the Electrical and Computer Engineering department as a tenure-track Assistant Professor, was promoted to Associate Professor in July 2001, and was awarded tenure in July 2002.
Koopman has written four books, and is a named inventor on twenty-six U.S. patents in areas such as embedded CPU design, embedded communications, vehicle security, and location-aware services. Thus far he has advised or co-advised 21 students, including five students who have been awarded Ph.D. degrees. He is a member of IFIP WG 10.4 on Dependable Computing and Fault Tolerance, a Senior Member of the IEEE and a Senior Member of the ACM. He was the General Chair of the 2008 Dependable Systems and Networks Conference.
So, do you want to know what it's like in industry? (Of course these days, it's really only a matter of degree...)