2002-2003 Computer ScienceUCLA (310) 825-3886 Milos D. Ercegovac, Ph.D., Chair Professors
|
|
Computer science is in large measure concerned with information processing systems, their applications, and the corresponding problems of representation, transformation, and communication. The computer science fields are concerned with different aspects of such systems, and each has its own theoretical component with appropriate models for description and analysis, algorithms for solving the related problems, and mathematical tools. Thus in a certain sense computer science theory involves all of computer science and participates in all disciplines.
The term theoretical computer science has come to be applied nationally and internationally to a certain body of knowledge emphasizing the interweaving themes of computability and algorithms, interpreted in the broadest sense. Under computability, one includes questions concerning which tasks can and cannot be performed by information systems of different types restricted in various ways, as well as the mathematical analysis of such systems, their computations, and the languages for communication with them. Under algorithms, one includes questions concerning (1) how a task can be performed efficiently under reasonable assumptions on available resources (e.g., time, storage, type of processor), (2) how efficiently a proposed system performs a task in terms of resources used, and (3) the limits on how efficiently a task can be performed. These questions are often addressed by first developing models of the relevant parts of an information processing system (e.g., the processors, their interconnections, their rules of operation, the means by which instructions are conveyed to the system, or the way the data is handled) or of the input/output behavior of the system as a whole. The properties of such models are studied both for their own interest and as tools for understanding the system and improving its performance or applications.
Emphasis of Computer Science Theory
|
Computer system architecture deals with
Computer systems are among the most complex systems ever developed and as such are the subject of intensive study. The computer architect must be able to define the functions to be provided by a computing system and the way in which they are implemented. Due to their complexity, computer systems must be decomposed into subsystems. This decomposition is carried out at several levels until the desired system can be composed from well-understood reusable hardware and software elements. One way to categorize these subsystems is by processor, memory, data transmission and interconnection, control, input/output, and operating system elements. The subsystems must be precisely specified and their interactions modeled and thoroughly understood before a system can be fabricated.
Properties of a well-engineered system include ease and efficiency of programming and behavior that is predictable to a user. Moreover, a well-engineered system is one that satisfies cost, performance, and reliability constraints.
A comprehensive set of courses is offered in the areas of advanced computer architecture, arithmetic processor systems, fault-tolerant systems, memory systems, operating systems, data communications, VLSI-based architectures, computer-aided design of VLSI circuits and systems, distributed computing, and parallel processing. The courses are intended to prepare students for advanced engineering and continuing research. Advanced courses are also offered to introduce students to research areas being pursued by the faculty.
The computer architecture field at UCLA offers strong emphasis on systems issues of design, performance modeling, and algorithms. Some of the areas of current interest are described below:
The information and data management field focuses on basic problems of modeling and managing data and knowledge, and their relation with other fundamental areas of computer science, such as operating systems and distributed processing, programming languages, and interface design.
A data management system embodies a collection of data, devices in which the data are stored, and logic or programs used to manipulate that data. Information management is a generalization of data management in which the &147;data&148; being stored are permitted to be complex data structures, such as rules and trees. In addition, information management goes beyond simple data manipulation and query, and includes inference mechanisms, explanation facilities, and support for distributed and web-based information.
The need for rapid, accurate information is pervasive in all aspects of modern life. Modern systems are based on the coordination and integration of multiple levels of data representation, from characteristics of storage devices to conceptual and abstract levels. As human enterprises become more complex, involving more complicated decisions and trade-offs among decisions, the need for sophisticated information and data management will become essential.
The scientific computing field currently covers one area of specialization: biomedical systems, which can be selected as a major or minor field for the Ph.D. in Computer Science.
Biomedical Systems. Emphasis is on modeling methodologies, algorithms, and quantitative methods for life sciences applications, both basic and applied. Research topics typically involve one or more of the following areas: (1) organismic, cellular, and mechanism-level mathematical modeling and simulation of cancer and disease processes, (2) advances in modeling methodology for life sciences research, including experiment design optimization, (3) development of software for modeling (model fitting and model selection) and kinetic analysis of biological systems, with emphasis on expert systems, graphical, and web interfaces, (4) model-based experimental research in physiology, pharmacology, biochemistry, genomics, bioinformatics, and related fields, developing the interface between (theoretical) modeling and laboratory experimentation.
The programming languages and systems field is concerned with the study of theory and practice in the development of software systems. Well-engineered systems require appreciation of both principles and architectural trade-offs. Principles provide abstractions and rigor that lead to clean designs, while systems-level understanding is essential for effective design.
Principles here encompass the use of programming systems to achieve specified goals, the identification of useful programming abstractions or paradigms, the development of comprehensive models of software systems, and so forth. The thrust is to identify and clarify concepts that apply in many programming contexts.
Development of software systems requires an understanding of many methodological and architectural issues. The complex systems developed today rely on concepts and lessons that have been extracted from years of research on programming languages, operating systems, database systems, knowledge-based systems, real-time systems, and distributed and parallel systems. UCLA places particular emphasis on the area of parallel and distributed systems.
Departmental laboratory facilities for instruction and research include:
Artificial Intelligence Laboratory. For investigating knowledge representation systems, pattern recognition, expert systems, intelligent user agents, planning, problem solving, heuristic search, and related areas
Biocybernetics Laboratory. For interdisciplinary experimental and computational problems in physiology, medicine, and pharmacology. Laboratory pedagogy involves development and exploitation of the synergistic and methodologic interface between modeling and laboratory experimentation, emphasizing integrated approaches for solving complex biosystem problems from sparse biodata. See http://biocyb.cs.ucla.edu/
Biomedical Engineering Laboratory. Established jointly by HSSEAS and the School of Medicine to support courses and research projects in health care information systems, covering issues in user requirement specifications, image data processing and retrieval, feature abstraction, simulation and analysis, visualization, and systems integration
Cognitive Systems Laboratory. For studying systems that emulate human cognition, especially learning, planning, and reasoning under uncertainty. Topics include causal reasoning, knowledge discovery, knowledge compilation, physical systems diagnosis, and automated explanation. See http://singapore.cs.ucla.edu/
Collaborative Design Laboratory. For investigating methods for effective computer support of small teams involved in design and research
Computer Communications Laboratory. For investigating local-area networks, packet-switching networks, and packet-radio networks
Concurrent Systems Laboratory. For investigating the design, implementation, and evaluation of computer systems that use state-of-the-art technology to achieve both high performance and high reliability. Research is often related to multiprocessors and multicomputers in the context of general-purpose as well as embedded systems. See http://www.cs.ucla.edu/csd/research/labs/csl/
Data Mining Laboratory. For extraction of patterns, anomalies, concepts, classification rules, and other forms of high-level relationships that are latent in large commercial and scientific databases. See http://dml.cs.ucla.edu/main.html
Digital Arithmetic and Reconfigurable Architecture Laboratory. For fast digital arithmetic (theory, algorithms, and design) and numerically intensive computing on reconfigurable hardware. Research includes floating-point arithmetic, online arithmetic, application-specific architectures, and design tools. See http://arith.cs.ucla.edu/
Distributed Simulation Laboratory. For research on operating system support and applications and utilization of special architectures such as the Intel Hypercube
Embedded and Reconfigurable System Design Laboratory. For studying reconfigurable cores in embedded systems that provide the required adaptability and reconfigurability, and the design and CAD aspects of low-power embedded systems. See http://er.cs.ucla.edu/
High-Performance Internet Laboratory. For investigating high-performance quality of service (QoS) techniques in the Internet, including QoS routing in Internet domains, QoS fault-tolerant multicast, TCP congestion control, and gigabit network measurements. See http://www.cs.ucla.edu/NRL/hpi/
Human/Computer Interface Laboratory. Use of cognitive science concepts to design more reliable user-friendly interfaces with computer and communication systems and the modeling and visualization of scientific data. See http://www.cs.ucla.edu/hcip/
Internet Research Laboratory. For exploring the forefront of current Internet architecture and protocol development, including fault tolerance in large-scale distributed systems such as the Internet routing infrastructure, Internet distance measurement, scalable IP multicast delivery in absence of network multicast support, distributed Internet information discovery, and protocol design principles for large-scale self-organizing systems and their applications to sensor networking. See http://irl.cs.ucla.edu/
Knowledge-Based Multimedia Medical Distributed Database Systems Laboratory. For developing new methodologies to access multimedia (numeric, text, image/picture) data by content and feature rather than by artificial keys such as patient ID. See http://kmed-www.cs.ucla.edu/
Laboratory for Embedded Collaborative Systems. For research on the architectural challenges posed by massively distributed, large-scale, physically coupled, and usually untethered and small-form-factor computing systems. Through prototype implementations and simulation, such issues as data diffusion protocols, localization, time synchronization, low-power wireless communications, and self-configuration are explored. See http://lecs.cs.ucla.edu/
MAGIX: Modeling Animation and Graphics Laboratory. For research on computer graphics, physics-based animation, robotics, and biomechanics. See http://www.cs.ucla.edu/magix/
Multimedia Systems Laboratory. For research on all aspects of multimedia: physical and logical modeling of multimedia objects, real-time delivery of continuous multimedia, operating systems and networking issues in multimedia systems, and development of multimedia courseware. See http://www.mmsl.cs.ucla.edu/
Parallel Computing Laboratory. For research in scalable simulation, providing an efficient lightweight simulation language, as well as tools for large-scale parallel simulation on modern supercomputers. See http://pcl.cs.ucla.edu/
System Software Laboratory. For developing advanced operating systems, distributed systems, and middleware and conducting research in systems security
UCLA Vision Laboratory. For research involving processing of visual information to retrieve mathematical models of the environment in order for humans and machines to interact with it. Applications include image-based rendering for virtual reality, archaeology, CAD, guidance of autonomous vehicles, human/computer interaction, visualization, and recognition. See http://www.vision.cs.ucla.edu/
VLSI CAD Laboratory. For computer-aided design of VLSI circuits and systems. Areas include high-level and logic-level synthesis, technology mapping, physical design, interconnect modeling and optimization of various VLSI technologies such as full-custom designs, standard cells, programmable logic devices (PLDs), multichip modules (MCMs), system-on-a-chip (SOCs), and system-in-a-package (SIPs). See http://ballade.cs.ucla.edu/
Wireless Adaptive Mobility Laboratory. For investigating wireless local-area networks and the interaction between wireless network layers, middleware, and applications. Activities include protocol development, protocol analysis and simulation, and wireless testbed experiments. See http://www.cs.ucla.edu/NRL/wireless/
Some of these research laboratories also provide support for upper division and/or graduate courses.
In summarizing the resources now available to conduct experimentally based research in the UCLA Computer Science Department, it is useful to identify the major components of the research environment: the departmental computing facility, other hardware and software systems, administrative structure, and technical support staff.
Computing facilities range from large campus-operated supercomputers to a major local network of servers and workstations that are administered by the department or school network (HSSEASnet).
The departmental research network includes at least 30 Sun Sparcstation servers and shared workstations, on the schools own ethernet TCP/IP local network. A wide variety of peripheral equipment is also part of the facility, and many more research-group workstations share the network; the total number of machines exceeds 600, the majority running the UNIX operating system. The network consists of switched10/100 ethernet to the desktop with a gigabit backbone connection. The department LAN is connected to the campus ATM backbone. A Lucent wireless network is also available to faculty, staff, and graduate students.
The central facilities and wide-area networking are operated by the campuswide Academic Technology Services. Access to the departmental and HSSEASnet machines is controlled so as to maximize the usefulness of these computers for education and research, but no direct charges are involved.
The support staff consists of hardware and software specialists. The hardware laboratory supports network connections, configures routers, switches, and network monitoring tools. The software group administers the department UNIX servers, providing storage space and backup for department users.
Rajive L. Bagrodia, Ph.D. (U. Texas, 1987)
Distributed algorithms, concurrent programming languages, simulation, performance evaluation of distributed systems
Alfonso F. Cardenas, Ph.D. (UCLA, 1969)
Data management systems, programming languages and software systems, digital simulations, systems analysis, management information systems, computing economics and management
Wesley W. Chu, Ph.D. (Stanford, 1966)
Distributed computing, distributed database, memory management, computer communications, performance measurement and evaluation for distributed systems and multiaccess packet-switched systems
Jason (Jinsheng) Cong, Ph.D. (Illinois, 1990)
Computer-aided design of VLSI circuits, fault-tolerant design of VLSI systems, design and analysis of algorithms, computer architecture
*Joseph J. DiStefano III, Ph.D. (UCLA, 1966)
Biocybernetics, bioengineering, biosystems, modeling and simulation, modeling theory and methodology, artificial intelligence/knowledge-based systems, dynamic systems optimization, estimation, identification, and control
Michael G. Dyer, Ph.D. (Yale, 1982)
Artificial intelligence, natural language processing, cognitive modeling
Milos D. Ercegovac, Ph.D. (Illinois, 1975)
Computer systems architecture, digital computer arithmetic, logic design, functional languages and architectures, VLSI algorithms and structures
Deborah L. Estrin, Ph.D. (MIT, 1985)
Computer networks, network embedded systems, sensor networks
Mario Gerla, Ph.D. (UCLA, 1973)
Analysis, design, and control of computer communications networks and systems, computer network protocol evaluation, queueing networks, topological design and routing problems in large networks, design and evaluation of algorithms for distributed computation
Sheila A. Greibach, Ph.D. (Harvard, 1963)
Theoretical computer science, computational complexity, program schemes and semantics, formal languages, automata, computability
Richard E. Korf, Ph.D. (Carnegie Mellon, 1983)
Artificial intelligence
Richard R. Muntz, Ph.D. (Princeton, 1969)
Multimedia systems, database systems, data mining
D. Stott Parker, Jr., Ph.D. (Illinois, 1978)
Data mining, information modeling, scientific computing, bioinformatics, database and knowledge-based systems
Miodrag Potkonjak, Ph.D. (UC Berkeley, 1991)
Computer-aided analysis and synthesis of system level designs, behavioral synthesis, and interaction between high-performance application-specific computations and communications
Majid Sarrafzadeh, Ph.D. (Illinois, 1987)
Computer engineering, embedded systems, VLSI CAD, algorithms
Carlo Zaniolo, Ph.D. (UCLA, 1976)
Knowledge bases and deductive databases, parallel execution of PROLOG programs, formal software specifications, distributed systems, artificial intelligence, and computational biology
Lixia Zhang, Ph.D. (MIT, 1989)
Computer network, data networking, network architectures and protocols
* Also Professor of Medicine
Algirdas A. Avizienis, Ph.D. (Illinois, 1960)
Digital computer architecture and design, fault-tolerant computing, digital arithmetic
Bertram Bussell, Ph.D. (UCLA, 1962)
Computer systems architecture, interactive computer graphics
Jack W. Carlyle, Ph.D. (UC Berkeley, 1961)
Communication, computation theory and practice, algorithms and complexity, discrete system theory, developmental and probabilistic systems
Gerald Estrin, Ph.D. (Wisconsin, 1951)
Computer systems architecture, methodology and supporting tools for design of concurrent systems, automating design teamwork, restructurable architectures
Thelma Estrin, Ph.D. (Wisconsin, 1951)
Biomedical engineering, application of technology and computers to health care, computer methods in neuroscience, engineering education
Leonard Kleinrock, Ph.D. (MIT, 1963)
Computer networks, computer-communication systems, resource sharing and allocation, computer systems modeling, analysis, and design, queueing systems theory and applications, performance evaluation of congestion-prone systems, performance evaluation and design of distributed multiaccess packet-switching systems, wireless networks, mobile computing, and distributed and parallel processing systems
Allen Klinger, Ph.D. (UC Berkeley, 1966)
Pattern recognition, picture processing, biomedical applications, mathematical modeling
Lawrence P. McNamee, Ph.D. (Pittsburgh, 1964)
Computer graphics, discrete simulation, digital filtering, computer-aided design, LSI fabrication techniques, printed circuit board design
Michel A. Melkanoff, Ph.D. (UCLA, 1955)
Programming languages, data structures, database design, relational models, simulation systems, robotics, computer-aided design and manufacturing, numerical-controlled machinery
Judea Pearl, Ph.D. (Polytechnic Institute of Brooklyn, 1965)
Decision analysis, human information processing, artificial intelligence, pattern recognition, man/machine interface, mathematical analysis of systems, complexity of computations
*Jacques J. Vidal, Ph.D. (U. Paris, Sorbonne, 1961)
Information processing in biological systems, with emphasis on neuroscience, cybernetics, online laboratory computer systems, and pattern recognition, analog and hybrid systems/signal processing
*Member of Brain Research Institute
Adnan Y. Darwiche, Ph.D. (Stanford, 1993)
Knowledge representation and reasoning under uncertainty with emphasis on Baysian networks, structure-driven inference algorithms and knowledge-based compilation techniques. Unifying foundation for logical and probabilistic reasoning. Belief revision and causality. Applications to model-based diagnosis and reasoning about physical systems
Eliezer M. Gafni, Ph.D. (MIT, 1982)
Computer communication, networks, mathematical programming algorithms
Elias Koutsoupias, Ph.D. (UC San Diego, 1994)
Decision making under uncertainty, computational geometry, randomized algorithms, combinatorial optimization and computational complexity
David A. Rennels, Ph.D. (UCLA, 1973)
Digital computer architecture and design, fault-tolerant computing, digital arithmetic
Stefano Soatto, Ph.D. (Cal Tech, 1996)
Vision, control system theory, estimation theory, real-time sensory processing and machine interfaces
Yuval Tamir, Ph.D. (UC Berkeley, 1985)
Computer architecture, VLS
Junghoo (John) Cho, Ph.D. (Stanford, 2002)
Databases, web technologies, information discovery and integration
Petros Faloutsos, Ph.D. (Toronto, 2001)
Computer graphics, computer animation
Songwu Lu, Ph.D. (Illinois, 1999)
Integrated-service support over heterogeneous networks, e.g. mobile computing environments, Internet and Activenet: networking and computing, wireless communications and networks, computer communication networks, dynamic game theory, dynamic systems, neural networks, and information economics
Glenn Reinman, Ph.D. (UC San Diego, 2001)
Computer architecture
Leon Levine, M.S. (MIT, 1949), Emeritus
Computer methodology
Andrew B. Kahng, Ph.D. (UC San Diego, 1989)
Complexity theory, parallel algorithms and architectures, VLSI layout, computational geometry
Boris Kogan, Ph.D. (Moscow, Russia, 1962)
Application of multiprocessor systems with massive parallelism to simulation of dynamic phenomena in excitable biological tissues
Gerald J. Popek, Ph.D. (Harvard, 1973)
Privacy and security in information systems, operating system software design, representation for design and evaluation of databases
Leon Alkalai, Ph.D. (UCLA, 1989)
Computer architecture
Peter L. Reiher, Ph.D. (UCLA, 1987)
Optimistic replication, optimistic concurrency control mechanisms for parallel and distributed systems, distributed systems