The research at the department has evolved over the years similarly to the international research trends in computer science. Early work in numerical analysis in the 1960's made room for work in programming languages and compilers in the 1970's. Since then the research has diversified and its volume has increased. In the following, the research activities of each section of the department are reviewed.
The main research areas in the section of General Computer Science are algorithms and data structures, machine learning, probabilistic reasoning, computations by complex dynamic systems (cellular automata and genetic algorithms) and computational biology. Algorithms and data structures is the area with the longest tradition. The work on string matching algorithms (Ukkonen, Tarhio) has been particularly successful. Theoretical work has often been conducted within the framework of systems research providing practical motivation for the problems studied. Currently, special emphasis is given to the research on algorithmic problems in computational biology and bioinformatics.
Machine learning and probabilistic modeling are active research directions related to artificial intelligence. The complex systems computation group (CoSCo) has studied prediction and model selection issues in the probabilistic and information-theoretic frameworks, focusing on probabilistic model families, such as Bayesian networks and finite mixture models. The group has also performed extensive empirical and theoretical work on stochastic optimization methods, including simulated annealing and genetic algorithms. The machine learning group (Kivinen, Mannila, Ukkonen) has studied different learning models and the complexity of learning tasks within these models. One of the results is the first MDL learning algorithm that has a proven performance guarantee. The more practice-oriented work has developed, for example, new Occam algorithms for learning decision trees and decision lists, and software tools for testing and comparing various machine learning algorithms.
Our computer software research can be subdivided into two main areas: distributed systems and telecommunication software (Raatikainen, Tienari) and programming languages and software engineering (Paakki). In some projects these two areas are intertwined.
In telecommunication software we have both industrially and academically oriented research projects. In the former category one could classify the European ACTS-project DOLMEN (Service Machine Development for an Open Long-Term Mobile and Fixed Network Environment, Raatikainen) as well as the project Mowgli (Tienari, Raatikainen, Alanko) concentrating on mobile computing in general and also in developing a software architecture for implementing mobile-aware applications. Also the project RODAIN (Real-Time Object Based Database Architecture for Intelligent Networks, Raatikainen) has strong ties to the Finnish telecommunication and software industries. A new project on agents in mobile computing has just started.
The projects in distributed systems are OCDE (Tienari), investigating open distributed computing environments, and MOCO (Modeling Concurrency, Tienari), concentrating on formal specification and verification of distributed systems. In the latter area, in particular, we have achieved notable results, well-received by the international research community.
The department has long traditions in the research of programming languages and compilers. This research still continues but is mainly directed now to object-oriented languages and their implementation problems. From this work a new research line in software engineering (Paakki) has evolved. There are two projects in this area, A Channel into Object-Oriented Protocol Design and A Framework Editor for Java (FRED).
In information systems the largest research project concentrates on data mining (Mannila, Toivonen, Verkamo), also known as knowledge discovery in databases. The work on data mining has several subprojects including industrial projects as well as an ESPRIT project. The research is done in cooperation with the machine learning group, with statisticians, and with the appliers of the work. Recent research results include efficient data mining methods for database re-engineering, methods for finding recurrent episodes within event sequences, and development of automatic tools for the simulation of complex statistical models.
Other research projects include document management (Kilpeläinen, Mannila), computer-supported cooperative work (Erkiö), and animation of algorithms (Tarhio). Research results include new efficiently evaluable query languages for text databases and methods for assembling structured documents.
Active projects and research areas as well as individual research of some researchers and graduate students are presented in more detail in Section 2.2. Section 2.3 lists a selection of recent publications. More information on research projects can be found on the WWW pages of the department.