Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Mirko Seifert is active.

Publication


Featured researches published by Mirko Seifert.


european conference on model driven architecture foundations and applications | 2009

Derivation and Refinement of Textual Syntax for Models

Florian Heidenreich; Jendrik Johannes; Sven Karol; Mirko Seifert; Christian Wende

Textual Syntax (TS) as a form of model representation has made its way to the Model-Driven Software Development community and is considered a viable alternative to graphical representations. To support the design and implementation of text editing facilities many concrete syntax and model mapping tools have emerged. Despite the maturity of these tools, users still spend considerable effort to specify syntaxes and generate editors even for simple metamodels. To reduce this effort, we propose to refine a specification that is automatically derived from a given metamodel. We argue that defaults in a customisable setting enable developers to quickly realise text-based editors for models. In particular in settings where metamodels evolve, such a procedure is beneficial. To evaluate this idea we present EMFText [1], an EMF/Eclipse integrated tool for agile Textual Syntax (TS) development. We show how default syntax can easily be tailored and refined to obtain a custom text editor for EMF models and demonstrate our approach by two examples.


software language engineering | 2009

Closing the gap between modelling and java

Florian Heidenreich; Jendrik Johannes; Mirko Seifert; Christian Wende

Model-Driven Software Development is based on standardised models that are refined, transformed and eventually translated into executable code using code generators. However, creating plain text from well-structured models creates a gap that implies several drawbacks: Developers cannot continue to use their model-based tool machinery, relations between model elements and code fragments are hard to track and there is no easy way to rebuild models from their respective code. This paper presents an approach to bridge this gap for the Java programming language. It defines a full metamodel and text syntax specification for Java, from which a parser and a printer are generated. Through this, Java code can be handled like any other model. The implementation is validated with large test sets, example applications are shown, and future directions of research are discussed.


model driven engineering languages and systems | 2010

Role-based generic model refactoring

Jan Reimann; Mirko Seifert; Uwe Aßmann

Refactorings can be used to improve the structure of software artifacts while preserving the semantics of the encapsulated information. Various types of refactorings have been proposed and implemented for programming languages such as Java or C#. With the advent of Model-Driven Software Development (MDSD), the need for restructuring models similar to programs has emerged. Previous work in this field [1,2] indicates that refactorings can be specified generically to foster their reuse. However, existing approaches can handle only certain types of modelling languages and reuse refactorings only once per language. In this paper a novel approach based on role models to specify generic refactorings is presented. We discuss how this resolves the limitations of previous works, as well as how specific refactorings can be defined as extensions to generic ones. The approach was implemented based on the Eclipse Modeling Framework (EMF) [3] and evaluated using multiple modelling languages and refactorings.


International Summer School on Generative and Transformational Techniques in Software Engineering | 2011

Model-Based Language Engineering with EMFText

Florian Heidenreich; Jendrik Johannes; Sven Karol; Mirko Seifert; Christian Wende

Model-based techniques are in wide-spread use for the design and implementation of domain specific languages (DSLs) and their tooling. The Eclipse Modeling Framework (EMF) is a frequently used environment for model-based language engineering. With its underlying modelling language Ecore, its XML serialisation support and its versatile extensibility it provides a solid grounding for many task-specific language development tools. In this tutorial, we give an introduction to model-based language engineering using EMFText, which allows users to develop powerful textual editors for Ecore-based DSLs that are tightly integrated with the EMF.


Software and Systems Modeling | 2013

On the reuse and recommendation of model refactoring specifications

Jan Reimann; Mirko Seifert; Uwe Aβmann

Refactorings can be used to improve the structure of software artefacts while preserving the semantics of the encapsulated information. Various types of refactorings have been proposed and implemented for programming languages (e.g., Java or C#). With the advent of (MDSD), a wealth of modelling languages rises and the need for restructuring models similar to programs has emerged. Since parts of these modelling languages are often very similar, we consider it beneficial to reuse the core transformation steps of refactorings across languages. In this sense, reusing the abstract transformation steps and the abstract participating elements suggests itself. Previous work in this field indicates that refactorings can be specified generically to foster their reuse. However, existing approaches can handle certain types of modelling languages only and solely reuse refactorings once per language. In this paper, a novel approach based on role models to specify generic refactorings is presented. Role models are suitable for this problem since they support declaration of roles which have to be played in a certain context. Assigned to generic refactoring, contexts are different refactorings and roles are the participating elements. We discuss how this resolves the limitations of previous works, as well as how specific refactorings can be defined as extensions to generic ones. The approach was implemented in our tool Refactory based on the (EMF) and evaluated using multiple modelling languages and refactorings. In addition, this paper investigates on the recommendation of refactoring specifications. This is motivated by the fact that language designers have many possibilities to enable refactorings in their modelling languages with regard to the language structures. To overcome this problem and to support language designers in deciding which refactorings to enable, we propose a solution and a prototypical implementation.


Software and Systems Modeling | 2014

DropsBox: the Dresden Open Software Toolbox

Uwe Aβmann; Andreas Bartho; Christoff Bürger; Sebastian Cech; Birgit Demuth; Florian Heidenreich; Jendrik Johannes; Sven Karol; Jan Polowinski; Jan Reimann; Julia Schroeter; Mirko Seifert; Michael Thiele; Christian Wende; Claas Wilke

The Dresden Open Software Toolbox (DropsBox) is a software modelling toolbox consisting of a set of open source tools developed by the Software Technology Group at TU Dresden. The DropsBox is built on top of the Eclipse Platform and the Eclipse Modeling Framework. The DropsBox contributes to the development and application of domain-specific language changes (DSLs) in model-driven software development. It can be customised by tool and language developers to support various activities of a DSL’s life cycle ranging from language design to language application and evolution. In this paper, we provide an overview of the DSL life cycle, the DropsBox tools, and their interaction on a common example. Furthermore, we discuss our experiences in developing and integrating tools for DropsBox in an academic environment.


generative programming and component engineering | 2009

Generating safe template languages

Florian Heidenreich; Jendrik Johannes; Mirko Seifert; Christian Wende; Marcel Böhme

Template languages are widely used within generative programming, because they provide intuitive means to generate software artefacts expressed in a specific object language. However, most template languages perform template instantiation on the level of string literals, which allows neither syntax checks nor semantics analysis. To make sure that generated artefacts always conform to the object language, we propose to perform static analysis at template design time. In addition, the increasing popularity of domainspecific languages (DSLs) demands an approach that allows to reuse both the concepts of template languages and the corresponding tools. In this paper we address the issues mentioned above by presenting how existing languages can be automatically extended with generic template concepts (e.g., placeholders, loops, conditions) to obtain safe template languages. These languages provide means for syntax checking and static semantic analysis w.r.t. the object language at template design time. We discuss the prerequisites for this extension, analyse the types of correctness properties that can be assured at template design time, and exemplify the key benefits of this approach on a textual DSL and Java.


Proceedings of the First International Workshop on Model-Driven Interoperability | 2010

Anticipating unanticipated tool interoperability using role models

Mirko Seifert; Christian Wende; Uwe Aßmann

The interoperability of tools heavily relies on their ability to exchange shared data. While the definition of standardised metamodelling languages such as the Essential Meta Object Facility (EMOF) [23] has substantially simplified the task of reading and persisting arbitrary domain data, there are still open issues concerning the integration of domain abstractions (metamodels) used by different tools. For example, accessing common data by shared metamodels is limited, because of the lack of first-class support for metamodel composition. Data that is processed using multiple tools must be either stored in a common abstraction---which introduces a strong coupling of the involved tools---or is replicated (e.g., represented in different tool formats)---which introduces the need for tedious synchronisation. In this paper we present how role-based metamodelling can overcome these limitations and provide a formalism to enable tool interoperability by role composition. Based on a running example, the implications of the current problems of tool integration are shown and their resolution based on role modelling is discussed.


model driven engineering languages and systems | 2010

Integrating OCL and textual modelling languages

Florian Heidenreich; Jendrik Johannes; Sven Karol; Mirko Seifert; Michael Thiele; Christian Wende; Claas Wilke

In the past years, many OCL tools achieved a transition of OCL from a language meant to constrain UML models to a universal constraint language applied to various modelling and metamodelling languages. However, OCL users still experience a discrepancy between the now highly extensible parsing and evaluation backend of OCL tools and the lack of appropriate frontend tooling like advanced OCL editors that adapt to the different application scenarios. We argue that this has to be addressed both at a technical and methodological level. Therefore, this paper provides an overview of the technical foundations to provide an integrated OCL tooling frontend and backend for arbitrary textual modelling languages and contributes a stepwise process for such an integration. We distinguish two kinds of integration: external definition of OCL constraints and embedded definition of OCL constraints. Due to the textual notation of OCL the second kind provides particularly deep integration with textual modelling languages. We apply our approach in two case studies and discuss the benefits and limitations of the approach in general and both integration kinds in particular.


Soft Computing | 2009

Round-Trip Support for Invasive Software Composition Systems

Jendrik Johannes; Roland Samlaus; Mirko Seifert

The ever increasing complexity of software systems promotes the reuse of software components to a topic of utter importance. By reusing mature parts of software, large systems can be built with high quality. The Reuseware Composition Framework can compose components written in arbitrary software languages. Based on metamodeling these components are merged invasively. But, even though language independent composition is powerful to compose complex systems, one must consider that composition is not the only activity in developing a working systems by reuse. Many tests and validations can only be performed on the composed system. At that point, it is hard to (a) know from which component an error originates and (b) ascertain what the implications of changing something in the composed system are. This paper presents an approach to propagate changes back to the correct source components and discusses the possible implications of changes made to composed systems. Furthermore, the implementation of the approach as an extension to the Reuseware Composition Framework is presented using two example applications.

Collaboration


Dive into the Mirko Seifert's collaboration.

Top Co-Authors

Avatar

Christian Wende

Dresden University of Technology

View shared research outputs
Top Co-Authors

Avatar

Jendrik Johannes

Dresden University of Technology

View shared research outputs
Top Co-Authors

Avatar

Florian Heidenreich

Dresden University of Technology

View shared research outputs
Top Co-Authors

Avatar

Sven Karol

Dresden University of Technology

View shared research outputs
Top Co-Authors

Avatar

Jan Reimann

Dresden University of Technology

View shared research outputs
Top Co-Authors

Avatar

Uwe Aßmann

Dresden University of Technology

View shared research outputs
Top Co-Authors

Avatar

Claas Wilke

Dresden University of Technology

View shared research outputs
Top Co-Authors

Avatar

Michael Thiele

Dresden University of Technology

View shared research outputs
Top Co-Authors

Avatar

Roland Samlaus

Dresden University of Technology

View shared research outputs
Top Co-Authors

Avatar

Uwe Aβmann

Dresden University of Technology

View shared research outputs
Researchain Logo
Decentralizing Knowledge