Researcher profile

Steven Völkel

Steven Völkel contributes to research discovery and scholarly infrastructure.

ResearcherAffiliation not importedOpen to collaborate

Trust snapshot

Quick read

Trust 21 - EmergingVerification L1Unclaimed author
11works
0followers
1topics
4close collaborators

Actions

Decide how to stay connected

Follow researcher0

Identity and collaboration

How to connect with this researcher

Claiming links this public author record to a researcher profile and unlocks direct collaboration workflows.

Log in to claim

Direct collaboration

Open a focused conversation when the fit is right

Claim this author entity first to unlock direct invitations.

Research graph

See the researcher in context

Open full explorer

Inspect adjacent work, topics, institutions and collaborators without jumping out to a separate graph page.

Building this graph slice

BZPEER is loading the nearby papers, people, topics and institutions for this page.

Published work

11 published item(s)

preprint2015arXiv

Integration of Heterogeneous Modeling Languages via Extensible and Composable Language Components

Effective model-driven engineering of complex systems requires to appropriately describe different specific system aspects. To this end, efficient integration of different heterogeneous modeling languages is essential. Modeling language integaration is onerous and requires in-depth conceptual and technical knowledge and ef- fort. Traditional modeling lanugage integration approches require language engineers to compose monolithic language aggregates for a specific task or project. Adapting these aggregates cannot be to different contexts requires vast effort and makes these hardly reusable. This contribution presents a method for the engineering of grammar-based language components that can be independently developed, are syntactically composable, and ultimately reusable. To this end, it introduces the concepts of language aggregation, language embed- ding, and language inheritance, as well as their realization in the language workbench MontiCore. The result is a generalizable, systematic, and efficient syntax-oriented composition of languages that allows the agile employment of modeling languages efficiently tailored for individual software projects.

preprint2014arXiv

An Algebraic View on the Semantics of model Composition

Due to the increased complexity of software development projects more and more systems are described by models. The sheer size makes it impractical to describe these systems by a single model. Instead many models are developed that provide several complementary views on the system to be developed. This however leads to a need for compositional models. This paper describes a foundational theory of model composition in form of an algebra to explicitly clarify different variants and uses of composition, their interplay with the semantics of the involved models and their composition operators.

preprint2014arXiv

Design Guidelines for Domain Specific Languages

Designing a new domain specific language is as any other complex task sometimes error-prone and usually time consuming, especially if the language shall be of high-quality and comfortably usable. Existing tool support focuses on the simplification of technical aspects but lacks support for an enforcement of principles for a good language design. In this paper we investigate guidelines that are useful for designing domain specific languages, largely based on our experience in developing languages as well as relying on existing guidelines on general purpose (GPLs) and modeling languages. We defined guidelines to support a DSL developer to achieve better quality of the language design and a better acceptance among its users.

preprint2014arXiv

Efficient Editor Generation for Compositional DSLs in Eclipse

When a domain specific language (DSL) shall be commonly used, it is important for the development team to have a comfortable editor well integrated in the project's development environment. As DSL are rather often subject to changes, efficient development and evolvement of a comfortable editor is an important success criterion for the acceptance of domain specific languages. In this paper we demonstrate how this issue is addressed in the MontiCore DSL development framework. Basically an extension of the MontiCore DSL definition language can be used to efficiently generate DSL editors for Eclipse. The generation tool also supports the compositional language definition features of MontiCore and allows therefore the reuse of existing language and editor definitions.

preprint2014arXiv

Extensible Validation Framework for DSLs using MontiCore on the Example of Coding Guidelines

Unit test environments are today's state of the art for many programming languages to keep the software's quality above a certain level. However, the software's syntactic quality necessary for the developers themselves is not covered by the aforementioned frameworks. This paper presents a tool realized using the DSL framework MontiCore for automatically validating easily extensible coding guidelines for any domain specific language or even general purpose languages like C++ and its application in an automotive R&D project where a German OEM and several suppliers were involved. Moreover, it was exemplary applied on UML/P-based sequence charts as well.

preprint2014arXiv

Generative Software Development

Generation of software from modeling languages such as UML and domain specific languages (DSLs) has become an important paradigm in software engineering. In this contribution, we present some positions on software development in a model based, generative manner based on home grown DSLs as well as the UML. This includes development of DSLs as well as development of models in these languages in order to generate executable code, test cases or models in different languages. Development of formal DSLs contains concepts of meta-models or grammars (syntax), context conditions (static analysis and quality assurance) as well as possibilities to define the semantics of a language. The growing number and complexity of DSLs is addressed by concepts for the modular and compositional development of languages and their tools. Moreover, we introduce approaches to code generation and model transformation. Finally, we give an overview of the relevance of DSLs for various steps of software development processes.

preprint2014arXiv

Integrated Definition of Abstract and Concrete Syntax for Textual Languages

An understandable concrete syntax and a comprehensible abstract syntax are two central aspects of defining a modeling language. Both representations of a language significantly overlap in their structure and also information, but may also differ in parts of the information. To avoid discrepancies and problems while handling the language, concrete and abstract syntax need to be consistently defined. This will become an even bigger problem, when domain specific languages will become used to a larger extent. In this paper we present an extended grammar format that avoids redundancy between concrete and abstract syntax by allowing an integrated definition of both for textual modeling languages. For an amendment of the usability of the abstract syntax it furthermore integrates meta-modeling concepts like associations and inheritance into a well-understood grammar-based approach. This forms a sound foundation for an extensible grammar and therefore language definition.

preprint2014arXiv

MontiCore: A Framework for the Development of Textual Domain Specific Languages

In this paper we demonstrate a framework for efficient development of textual domain specific languages and supporting tools. We use a redundance-free and compact definition of a readable concrete syntax and a comprehensible abstract syntax as both representations significantly overlap in their structure. To further improve the usability of the abstract syntax this definition format integrates additional concepts like associations and inheritance into the well-understood grammar-based approach. Modularity concepts like language inheritance and embedding are used to simplify the development of languages based on already existing ones. In addition, the generation of editors and a template approach for code generation is explained.

preprint2014arXiv

Roles in Software Development using Domain Specific Modeling Languages

Domain-specific modelling languages (DSMLs) successfully separate the conceptual and technical design of a software system by modelling requirements in the DSML and adding technical elements by appropriate generator technology. In this paper we describe the roles within an agile development process that allows us to implement a software system by using a combination of domain specific models and source code. We describe the setup of such a process using the MontiCore framework and demonstrate the advantages by describing how a group of developers with diverse individual skills can develop automotive HMI software.

preprint2014arXiv

Scaling-Up Model-Based-Development for Large Heterogeneous Systems with Compositional Modeling

Model-based development and in particular MDA [1], [2] have promised to be especially suited for the development of complex, heterogeneous, and large software systems. However, so far MDA has failed to fulfill this promise to a larger extent because of tool support being inadequate and clumsy and methodologies not being appropriate for an effective development. This article discusses what went wrong in current MDA approaches and what needs to be done to make MDA suited for ultra-large, distributed systems.

preprint2014arXiv

Textbased Modeling

As modeling becomes a crucial activity in software development the question may be asked whether currently used graphical representations are the best option to model systems efficiently. This position paper discusses the advantages of text-based modeling over commonly used graphical representations. It is inspired through the advent of new extensible development tools like Eclipse. The discussion is illustrated by showing a textual version of UML state machines as Eclipse plugins.