From CSDL Lab
The Computer Systems Design Laboratory (CSDL) will improve the design of computing systems, ranging from small, embedded elements to large, distributed computing environments. Research addresses all aspects of a system’s life cycle, including specification and synthesis. This includes attention to system verification, design, and implementation of development and implementation platforms for real-time and embedded computing.
- KU named an NSA/DHS Center for Excellence in Information Assurance Education 
- Perry Alexander, Professor, EECS - Director
- Andy Gill, Assistant Professor, EECS
- Prasad Kulkarni, Assistant Professor, EECS
- Douglas Niehaus, Associate Professor, EECS
- Garrin Kimmell - Post Doctoral Researcher
- Ed Komp - Staff Researcher
- Systems Level Design Group (SLDG)
- Real Time Operating Systems Group
- Functional Programming Research Group (FPG)
- Prasad's Research Group (PRG)
- Lambda - Things (tangentially) related to programming languages, semantics, and formal methods
CSDL faculty offer a number of courses available to all students in the department. Following is a list of courses and their associated websites. Please consult the official KU timetable to determine what courses are offered in any given semester.
- EECS 368 - Programming Language Paradigms
- EECS 443 - Digital Systems Design
- EECS 649 - Operating Systems
- EECS 665 - Compiler Construction
- EECS 7xx - Virtual Machines
- EECS 690 & EECS 700 - Special Topics: Functional Programming
- EECS 750 - Advanced Operating Systems
- EECS 753 - Embedded and Real-Time Systems
- EECS 755 - System-Level Requirements and Analysis
- EECS 762 - Programming Language Foundation I
- EECS 843 - Programming Language Foundation II
This material is being considered for removal or revision
At the specification level, CSDL researchers are developing new system-level design languages. Rosetta, a next generation design language, will allow designers to work with languages specific to their area and integrate them with other specifications to describe complete systems. It is difficult for developers to work with numerous languages, since certain terms can mean different things in different languages. For example, to a digital designer, a bit may be something very different from a bit in telecommunications. Rosetta allows for these languages to mesh together and achieve the overall goal of a project, whether it is creating a cell phone or a computer program.
CSDL research is also investigating new architectures for ad hoc sensor webs, requiring less power while producing better intelligence than current architectures. Sensors with communication capabilities pass data among themselves to better detect and track objects. They could help detect and track terrorists, military movements, shipments of suspect materials, and other information critical to the nation’s defense.
CSDL operating systems researchers have been developing extensions to Linux for fielding real-time systems. KU Real Time (KURT) Linux has successfully addressed the need for real-time operating systems support. Using KURT, system developers can provide systems assured to meet difficult real-time scheduling requirements.
Finally, researchers are developing system software, Hybridthreads, for new hybrid chips that contain both a general-purpose central processing unit and field programmable gate array (CPU/FPGA). These new hybrids are integral to the creation of commercial, easily obtainable hardware platforms for future real-time, embedded control (RTEC) systems. This will result in faster times to market, reduction of overall costs, and the chips’ accessibility to programmers.