Martin Luther University Halle-Wittenberg

Thomas Kühn (Foto)

Further settings

Login for editors

Research Topics

The framework of my research is formed by the topics of "programming and  modelling languages", "model-driven  software development" and "software  product line development". Within  this framework, I focus on the  following three main topics, which,  however, overlap both technically  and conceptually and should be  considered synergistically.

Role-based Programming and Modelling Languages

At the center of this focus is the question of how the current   challenges of software development, such as the drastically increased   complexity, the increased rate of change or the longevity of  software-intensive systems, can be addressed or even overcome with the  help of role-based modelling languages and role-oriented programming  languages.

Model-driven Software Development

At the center of this focus is both the improvement of techniques and   tools for programming language development with methods of model-driven   software development, in order to enable, for example, the development   of modular programming languages, reusable program analyses, and   intelligent development environments.

Language Product Line Development

The final focus is on the new research area of language  product line  development, that is, the development of software product  lines of  translators, interpreters and development environments. This  area has  been established in the last 5 years and is only being  researched in  Germany by Prof. Dr. Bernhard Rumpe at RWTH Aachen  University.

On  the one hand, this research area aims to further  develop the methods,  techniques and tools for language product line  development. This  involves close collaboration with Associate Professor  Walter Cazzola at  the Università degli Studi di Milano, through which a  tool environment  for the development of bottom-up language product lines  has been  realized over several years. On the other hand, the  establishment of  language product line development as a separate  research area is being  pursued here, with the long-term goal of  structuring and promoting  research activities in this area through  Dagstuhl seminars and  workshops. Arrangements have already been made for  future collaboration  with Walter Cazzola and Bernhard Rumpe.

Former Research Training Group

Role-based Software Infrastructures for Continuous-Context-Sensitive Systems

Software  with long life cycles is faced with continuously changing contexts. New  functionality has to be added, new platforms have to be addressed, and  existing business rules have to be adjusted. In the available  literature, the concept of role modeling has been introduced in  different fields and at different times in order to model context-related  information, including — above all — the dynamic change of contexts.  However, often roles have only been used in an isolated way for context  modeling in programming languages, in database modeling or to specify  access control mechanisms. Never have they been used consistently over  all levels of abstraction in the software development process, i.e.,  over the modeling of concepts, languages, applications, and software  systems. Only then, software can be called consistently context-sensitive.

The  central research goal in this program is to deliver proof of the  capability of consistent role modeling and its practical applicability.  Consistency means that roles are used systematically for context  modeling on all levels of the modeling process. This includes the  concept modeling (in meta-languages), the language modeling, and  the modeling on the application and software system level. The  subsequent scientific elaboration of the role concept, in order to be  able to model the change of context on different levels of abstraction,  represents another research task in this program. Thus,  consistency  also means to systematically define relationships between the identified  role concepts to allow for model transformations and synchronizations.  Such consistency offers significant advantages in the field of software  systems engineering because context changes are interrelated on  different levels of abstraction; plus, they can be synchronously  developed and maintained. Potential application fields are the future  smart grid, natural energy based computing, cyber-physical systems in home, traffic, and factories, enterprise resource planning software, context-sensitive search engines, etc.
(more   )

My topic within this project was called A Family of Role-based Languages and revolved around the development of a family of role-based modeling languages including the implementation of a feature-oriented editor, as well as means to validate role models, and generate code for role-oriented  programming languages. This enabled subsequent PhD students to easily  configure and use the language variant most suitable for their  individual thesis project.
(more   )

Efficient Scientific Research

Computer scientists are equally  scientists and engineers. As a former, they read, organize, evaluate and  write down knowledge every day. They have to use scientific methods  like qualitative or quantitative evaluations, structured literature  reviews or empirical studies. As the latter, they invent, design and  build stuff that solves a particular problem. Furthermore, engineers  tend to think about ways to improve the overall process from the idea to  the solution. Consequently, Computer scientists – like me – apply this  idea of continuous improvement (改善) also to the process of scientific research.

Hence, I build some tools and collected good practices for students and graduates of computer science:

  • Java WAT – Mysterious Java
    Similar to the famous WAT talk by Gary Bernhardt, this talk presents the good, the bad and the WAT of the Java programming language, showing and explaining the wierdest language "features" of Java.
  • A guide to good presentations
    is a primer on good presentations for all minor and major students.
  • Efficient scientific writing with (multi)markdown
    describes ways to make our daily writing tasks more efficient by focusing on one content source supporting many output formats.
  • Efficient scientific research with scripts
    describes ways to automate organize your stored papers and bibliography and to automate a structured literature review.
  • Efficient systematic literature reviews (SLR)
    describes the process, means, and tools to efficiently conduct a systematic literature review.
  • How to Diss – Effectively and Efficiently
    describes my own PhD process, focusing on the means I employed to make it more effective and efficient.
  • They Say / I Say
    discusses the moves that matter in scientific writing and presenting the equally named book.

Up