String Processing and Combinatorics of Words 
My interest in theoretical computer science was first sparked by investigations on primitive words. Still now combinatorial properties of strings and languages such as primitivity, periodicity and palindromicity interest me. Although they are very basic, to this day simple but at the same time interesting and complicated questions can be derived from them.
Besides these combinatorial problems I have become increasingly interested in the algorithmic treatment of related questions, especially
questions concerning duplication in strings, an operation inspired by a frequent mutation in DNA. 
Computing by Observing 
A model of computation introduced by Matteo Cavaliere and myself in 2003. For more details, consult the corresponding page on scholarpedia. 
Formal Languages and (New) Models of Computation 
Classical models of computation describe the computing power of formalisms that often have similar properties like actual computing devices; for example complexity classes defined by Turing Machines describe the complexity of problems for our electronical computers quite well.
In a similar way, we nowadays try to construct abstract models of how biochemical reactions change the information that could be coded in molecules. Comparing the power of such models to classical reference hierarchies can give us hints, what types of biochemical reactions could be promising candidates for computing on a molecular level.
