Research Topics

The essence of software engineering and informatics is formulating, managing, and realizing models.
Robin Milner

My research topic concerns the following areas:

  • Data Mining, Statistical Classification
  • Application of Natural Language Processing in the area of Software Engineering
  • Lightweight Formal Methods
  • Component-based software engineering
  • Meta-modeling (mainly UML, EMF, OWL)
  • Archiving and long-term preservation
  • Concurrency and synchronization

Automatic transformation of textual use-cases to the implementation using component systems.

A common practice to capture functional requirements of a software system is to utilise textual use-cases during the initial stage of the development process. There is a direct relation between the quality of the specification and the quality of the whole work. Usually, the use-cases are written in natural language and therefore the transformation to the particular software implementation requires a considerable effort.

However, it is possible to take advantage of rules for writing use-cases already established in the enterprise domain and to automatise the translation to a machine-readable notation. Such a transformation allows for employing the latest paradigms in the field of software development, for instance model-driven development or system composition using independent components. From the software engineering point of view, the connection between automated processing of natural language and generation of components is indeed interesting.

Components with well-defined interfaces and functionality allow for building safer, more extensible and also cheaper applications because they provide features such as functionality encapsulation, reuse of implementation, validation of behaviour and benchmarking. Moreover, the original use-cases can easily benefit from the feedback of these method, which also tackles the issue of requirements' changes naturally emerging in every project.