School of Computer Science
Our areas of expertise at the School of UCD Computer Science and Informatics are focussed around the following research themes:
• Knowledge Discovery: This theme deals with the application of machine learning techniques and other sophisticated algorithmic solutions to research in the sciences, industry and finance, extending to modelling and visualisation of phenomena.
• Language and Cognition: This theme focuses on the modelling of cognitive phenomena relating to speech and language processing.
• Software and Systems Engineering: This theme deals with the design and construction of large scale, distributed and embedded software systems, including sensor, autonomic and pervasive systems.
• Networks and Distributed Systems: This theme focuses on the design and optimisation of networks and distributed systems, including multimedia networking, mobile systems, and high-performance heterogeneous distributed systems.
Knowledge Discovery
Overview: The Knowledge Discovery theme encompasses a broad range of distinct research areas that focus on the transformation of various data sources into sources of knowledge, e.g. predicting protein structure from gene sequencing data. In many cases, the modelling, learning, reasoning and visualisation techniques used in this transformation process are computational expensive. Hence, the manipulation of data not only requires the development of effective algorithms, but also efficient ones. CSI researchers are applying their ground-breaking knowledge discovery techniques to interesting real-world problems in the sciences, industry and finance. Here are list of sub-themes that are of particular interest to CSI researchers:
Bioinformatics research at CSI focuses on the application of machine learning and data mining techniques to the interpretation of raw genomic data. Since many of these datasets are massive and the processing of them is computationally expensive, researchers are also interested in algorithm design issues surrounding efficiency, and tera- and petabyte data management. Applications of Bioinformatics research at CSI include the development of data mining algorithms for analysing microarray data, the mining of protein-protein interactions, protein structure predication and the prediction of chemical compound properties to aid effective and non-toxic drug design.
Computer Forensics and Security research at CSI focuses on two broad issues: reducing cybercrime activity; and helping law enforcement officers build criminal cases when cybercrimes are committed. The term cybercrime refers to any criminal activity which is facilitated by a computer system or network, e.g. drug trafficking, money laundering, terrorism, fraudulent financial transactions, hacking etc. The aim of Computer Forensics research is to develop computational analysis techniques that can gather evidence of criminal intent for presentation in a court of law. In this area, CSI researchers are investigating the automatic reconstruction of computer-based incidents which capture the sequence of events leading to a security breach. Data mining techniques are also being developed which will provide intelligent analysis of a suspect's computer system, and guide the investigator in their investigation. In the area of Security, our researchers are investigating Digital Watermarking and Information Hiding techniques, as a way of reducing the incidence of copyright infringement.
Machine Learning research involves the development of algorithms, capable of automatically enhancing their effectiveness through experience. Many of applications of this work are evident in CSI research, such as Data Mining, where hidden patterns and relationships are extracted from data, and Collaborative Filtering where user preferences are learned, and information content is appropriately adapted. A number of other sub-themes in the Knowledge Discovery theme are in fact application areas of Machine Learning, where specific algorithmic solutions, and feature engineering is required to model problems in diverse domains such as molecular biology, forensic computing, natural language, and data on the Web.
Natural Computing research focuses on the study of a large family of algorithms inspired by Nature, including Biological, Social and Physical systems. Broadly speaking, these algorithms draw metaphorical inspiration from diverse sources, including the operation of biological neurons, processes of evolution, models of social interaction amongst organisms, and natural immune systems, in order to develop tools for solving real-world problems, such as financial modeling.
Intelligent Information Access research at CSI aims to improve a user's access to information through supportive technologies such as search engines, recommendation systems, and collaborative filtering engines. For example, today's search engine users are overwhelmed with the amount of information available - some of it relevant, most of it not. Researchers that develop new information-access technologies want to reduce this cognitive load on the user by focussing their attention on the most relevant material addressing their information need. CSI researchers are coming at this problem from this two different perspectives: information filtering which increase the relevance of the information returned to the user by learning, for example, user preferences over time, and personalising results based on these observations; and information presentation which displays to the user alternative, condensed views of relevant information (other than, for example a rank list of web pages) by utilising techniques such as document/image clustering, or multi-document summarisation. CSI researchers have applied these techniques to diverse application such as: geographic information systems, adaptive retail systems, a personalised TV recommendation system, and a social networking-based search engine.
Information Visualisation researchers at CSI are developing novel representations for capturing relationships, patterns, trends, clusters and outliers, that are hidden from the human eye in massive datasets. Hence, visualisation tools are evaluated based on their ability to increase human problem solving ability by helping to accelerate human thinking. The development of such tools often involves the combination techniques in knowledge discovery such as data mining with information visualisation methodologies. Information Visualisation techniques have been applied to many diverse datasets in CSI such as genomic and geospatial data. CSI expertise in this area also encompasses computer graphics, computational geometry, algebraic topology, graph theory and geospatial representation and visualisation.
Knowledge Discovery Groups/Centres/Labs
• AmMBio
• CLARITY CSET
• CLIQUE SRC
• Centre for Cybercrime Investigation
• FMC2 SRC
• Information Hiding Laboratory
• Graphics Research Group
• Machine Learning Group
• Natural Computing Research & Applications Group
• StratAG (Strategic Research in Advanced Geotechnologies) SRC
Language and Cognition
Overview: Language and Cognition research at CSI focuses mainly on the modelling of cognitive phenomena relating to speech and language processing, and the design of real-world systems that automate complex processes such as speech synthesis, language translation, and text understanding. CSI researchers are specifically interested in the following sub-themes:
Cognitive Science is broadly defined as the interdisciplinary study of the brain, mind and behaviour. Cognitive Scientists look at a broad range of complex brain process such as vision, speech, movement and memory. Researchers at CSI are interested in understanding various cognitive processes such as Analogy, Concept Combination, and the processing of Human experience.
Computational Linguistics and Natural Language Processing:
Research in Computational Linguistics use the theoretical foundations of Linguistics, Cognitive Science and Computer Science to model and understand human language faculty. Natural Language Processing systems use these models to address real-world problems that require human language understanding such as machine translation, speech recognition, question answering, speaker identification and automatic text summarisation. Many of these technologies are currently being investigated by CSI researchers.
Language and Cognition Groups/Centres/Labs
• Creative Language Group
• Next Generation Localisation CSET
• MUSTER Group
Software and Systems Engineering
Overview: Software and Systems Engineering is concerned with concepts, processes and tools that support the timely and cost effective development and maintenance of quality software systems. Although Software and Systems Engineering are considered distinct disciplines they have a synergistic relationship, where developments in one field influence the other. This relationship is also evident in CSI research output were contributions from both fields are used to inform the design and development of embedded, sensor, autonomic and pervasive systems. Here is a list of specific sub-themes that are being investigated at CSI.
Embedded Systems research focuses on the development of special purpose computer systems designed to perform one or a few dedicated functions, often with real-time computing constraints. Research issues focus on the optimisation of these systems, methods for reducing their size and increasing their reliability and performance. Researchers at CSI are also investigating power saving techniques for embedded systems.
Formal Methods involve the use of mathematics to specify systems. These can be software or hardware systems. Once specified, the challenge is to produce an implementation which satisfied the specification. CSI researchers are developing and using mathematical techniques that enable them to do so. The resulting implementation will be correct by construction. The long term aims of this work are to develop methods which practitioners can use to develop systems for industry which are reliable and free from errors. CSI researchers are particularly interested in exploring how these methods can be taught in an undergraduate curriculum so that students can learn them, and then apply them when they graduate.
Intelligent Agents are entities which observes and acts upon an environment and directs its activities toward achieving goals. A multi-agent system then, is a system composed of multiple interacting agents, which communicate to achieve common goals. Researchers at CSI have developed multi-agent platforms and languages, that have then been used to support a range of agent applications such as personal assistant agents in virtual environments such as a virtual shopping mall, agent-based integration with wireless sensor networks and robotics applications.
Performance Engineering focuses on the development of models and tools that aid in the design, performance, prototyping, testing and evaluation of various applications. Enterprise applications, for example, are becoming increasingly complex, where in recent times they have moved away from monolithic architectures to more distributed systems made up of a collection of heterogeneous servers. Such servers generally host numerous software components that interact to service client requests. Understanding what effects this will have on the performance of such systems can be a difficult task, especially in situations where systems are expected to handle large volumes of simultaneous users. CSI researchers are applying techniques from software performance engineering (e.g. modelling, design analysis, testing, monitoring) to better understand and improve the performance of enterprise applications. Examples of these enterprise applications include e-commerce web services such as Amazon or Ebay.
Pervasive Computing (or Ubiquitous computing) goes beyond the idea of the desktop model of human-computer interaction where a single user consciously engages a single device with a specific task in mind. More specifically, Pervasive Computing engages many embedded computer devices simultaneously in the course of a user's activities. Hence, these devices should communicate with each other and intelligently adapt to changes in the user's environment. CSI researchers are using Pervasive Computing in a range of applications such as e-Learning, and Sensor Network applications such as independent living environments, and personalised healthcare.
Programming Language research deals with designing programming abstractions to fit particular challenges. Such domain-specific languages, middleware, constructs and approaches can provide more productive software tools by matching the expression of software more closely to the way the system designer thinks about their problems. A particular area of interest is in languages for highly sensorised systems, where CSI researchers are exploring novel programming approaches for tackling high degrees of noise, uncertainty and incompleteness in sensor information. Another area of focus is constraint programming techniques where constraints are used directly within a programming language to address difficult combinatorial problems such as timetabling and scheduling.
Software Design research focuses on the development of lightweight software tools and techniques that aid the programmer, particularly in the context of Agile methods. For example, CSI researchers have combined Search-Based Software Engineering (SBSE) techniques with Automated Refactoring to develop an approach to automatically improving a program's maintainability. In another strand, a novel software component recommender system has been developed based on collaborative filtering. There is also a strong Design Patterns interest in CSI, addressing issues such as anti-pattern detection, automated pattern application and design pattern recognition.
Software and Systems Groups/Centres/Labs
• CLARITY CSET
• EEDSP (Efficient Embedded Digital Signal Processing for Mobile Digital Health) SRC
• LERO (The Irish Software Engineering Reseach Centre) CSET
• Parallel Computational Research Group
• Performance Engineering Lab
• PRISM Lab
• Systems Research Group
• TRIL (Technology Research for Independent Living)
Networks and Distributed Systems
This theme focuses on the design and optimisation of networks and distributed systems, including multimedia networking, mobile systems, and high-performance heterogeneous distributed systems.
Distributed Systems consists of a collection of autonomous computers, connected through a network and managed with distributed system software that coordinates their activities so that users perceive the system to be a single, integrated computing facility. Advances in this area have allowed us tackle computational expensive tasks without the associated financially expense of super computing resources. Related activities in this sub-theme include: Parallel computing which looks at the management of tasks across multiple processors; Grid computing which emphasises the distribution of these task across separate computers on the Internet, thus mitigated the need for expensive supercomputers; and Heterogeneous computing which focuses on the complexities of distributing tasks across heterogeneous computing environments.
Next Generation Networks comprise of a high-capacity optical fibre core with a diverse set of wired and wireless access options. These new networks give rise to many interesting research challenges including how to maximise the performance of new wireless access technologies and how to deliver large amounts of high quality video in a scalable manner. CSI researchers are developing new wireless access solutions based on multi-hop wireless network architecture to address the complex problems associated with the delivery of quality services in an urban environment.
Network and Distributed Systems Groups/Centres/Labs
• Heterogeneous Computing Lab
• Parallel Computing Research Group
• Performance Engineering Lab
Keywords:
Knowledeg Discovery; Bioinformatics; Computer Forensics and Security; Machine Learning; Natural Computing; Intelligent Information Access; Information Visualisation; Language and Cognition; Cognitive Science; Computational Linguistics; Natural Learning Processing; Software and Systems Engineering; Embedded Systems; Formal Methods; Intelligent Agents; Performance Engineering; Programming Language; Software Design; Network Distribution Systems; Next Generation Networks


