Martin-Luther-Universität Halle-Wittenberg

Thomas Kühn (Foto)

Weiteres

Login für Redakteure

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.

Zum Seitenanfang