Computer Systems Design
EECS researchers design, implement, and verify software and hardware components for high assurance systems. They develop high-level programming language design, language type systems, and specification and verification of language semantics, ensuring highly reliable and secure software. From small embedded elements to large distributed computing environments, the breadth of EECS research addresses all computer systems and aspects of the system lifecycle. Researchers focus on performance, reliability, and power characteristics and their trade-offs to engineer exceptional systems.
- Acquire the ability to design, implement, and verify the various software and hardware components in systems whose primary constituents include computers.
- Understand the foundations of high-level programming language design, language type systems, and specification and verification of language semantics.
- Understand the process of generating and running software that realizes the performance, security, privacy, and real-time goals of the underlying problem domain.
- Understand the fundamental principles of operating systems and other runtime environments.
- Understand the design and implementation of modern computer hardware architectures and their performance, reliability, and power characteristics and trade-offs.
Primary Research Interests
- Formal Methods, Verification, and Synthesis
- Trusted Computing
- System-Level Design Languages and Semantics
- Specification Languages
- Smart GDB debugging environment
- C, C++, and GDB and associated support tools
- Rosetta specification language
- Raskell evaluation environment
- PVS, SPIN, Isabelle, HOL, and SAT analysis software
- Protocols for ad-hoc sensor networks
- Xilinx and Altera FPGA/SoC prototyping systems
- Synplicity and Xilinx FPGA synthesis tools
- ModelSim VHDL/Verilog simulation tools
- Bugzilla and CVS project management tools
- Specification languages and semantics
- Language interpreters, analyzers, and compilers
- Real-time and distributed operating systems
- Distributed simulation systems
- Embedded software and hardware systems
- FPGA-based OS primitives
- Reconfigurable Systems-on-Chip
- VHDL/Verilog modeling, simulation, and synthesis