Michael Striewe - Academia.edu (original) (raw)

Papers by Michael Striewe

Research paper thumbnail of Using a Triple Graph Grammar for State Machine Implementations

Lecture Notes in Computer Science, 2000

Typical techniques of model-driven development use graph transformations to manipulate models and... more Typical techniques of model-driven development use graph transformations to manipulate models and use generators to produce source code. In this contribution we suggest to use graph transformations instead of generators in order to get a closer connection between model and code. We define a Triple Graph Grammar for the mapping from a modeling tool data format to source code and derive a sample set of transformation rules from this. Thereby both truly simultaneous manipulation of model and code is enabled as well as virtually simultaneous manipulation by direct propagation of changes from code to model and back again.

Research paper thumbnail of Feedback-M�glichkeiten in automatischen Pr�fungssystemen

Research paper thumbnail of Effekte automatischer Bewertungen für Programmieraufgaben in Übungs- und Prüfungssituationen

Dieser Beitrag beschreibt und analysiert ein exemplarisches System zur automatischen Bewertung vo... more Dieser Beitrag beschreibt und analysiert ein exemplarisches System zur automatischen Bewertung von Programmieraufgaben. Aus den Ergebnissen des mehrjährigens Einsatzes des Systems im Rahmen universitärer Lehrveranstaltungen werden Aussagen zur Qualität automatischer Bewertungen abgeleitet. Auf der Basis einer empirischen Untersuchung werden die Effekte automatischer Bewertungen auf die Lernenden in Übungs-und Prüfungsszenarien untersucht, um die Vorteile automatischer Bewertungen in Relation zu möglichen negativen Effekten setzen zu können.

Research paper thumbnail of UPPAAL-Modelle als ausf�hrbare Spezifikation in Java

Research paper thumbnail of A Flexible and Modular Software Architecture for Computer Aided Assessments and Automated Marking

In this paper we describe and discuss a flexible and modular software architecture for computer a... more In this paper we describe and discuss a flexible and modular software architecture for computer aided assessments and automated marking of exercise solutions. General requirements and problems are outlined with respect to assessment and self-training scenarios. As the main research result based on these requirements, an appropriate complete solution is presented by depicting a distributed, extendable, serverbased assessment environment. Both the requirements and the architecture are evaluated by means of an actual system that is in use for assessments in Java programming for three years.

Research paper thumbnail of SyLaGen: From Academic Tool Engineering Requirements to a new Model-based Development Approach

In this contribution we reflect on the development of SyLaGen, an academic load generation tool f... more In this contribution we reflect on the development of SyLaGen, an academic load generation tool for performance tests. It is able to generate a defined amount of requests to a system under test and measure the response times. The development of this tool has been influenced by two facts over the last ten years: First, its variety in functionality and the high number of platforms and frameworks in use; and second, the desire to specify the main functionality for measurements as precise as possible with respect to appropriate models. However, these requirements often contradict, since model-driven development is not easy to apply to existing architectures. In the case of our tool, this lead to a different approach for model-based development embracing formalized design patterns. We will here introduce the nature of this academic tool and the side effects of its development to other software engineering domains.

Research paper thumbnail of Towards an Agile Foundation for the Creation and Enactment of Software Engineering Methods: The SEMAT Approach

The Software Engineering Method and Theory (SEMAT) initiative seeks to develop a rigorous, theore... more The Software Engineering Method and Theory (SEMAT) initiative seeks to develop a rigorous, theoretically sound basis for software engineering methods. In contrast to previous software engineering method frameworks that rely on separate method engineers, the primary target of SEMAT are practitioners. The goal is to give software development teams the opportunity to themselves define, refine and customize the methods and processes they use in software development. To achieve this goal SEMAT proposes a new practitioneroriented language for software engineering methods that is focused, small, extensible and provides formally defined provides formally defined behaviour to support the conduct of a software engineering endeavour. This paper presents and discusses how the proposed language supports an agile creation and enactment of software engineering methods. The SEMAT approach is illustrated by modelling parts of the Scrum project management practice.

Research paper thumbnail of Embedding Behavioral Models into Object-Oriented Source Code

Software Engineering, 2009

In this paper we address the inevitable problem of aligning a software model with its respective ... more In this paper we address the inevitable problem of aligning a software model with its respective code in such a way that the synchronization between both views of the system can be effectively maintained. In traditional approaches to model-driven software development (MDSD) it is at least necessary to annotate the source code in order to mark its origin for round-trip engineering and to prevent it from being overridden when regenerating code from other models. Instead of just maintaining references to models, we suggest to embed full model semantics into source code. To realize this approach we modify the earlier concept of ViewPoints, so that the necessary configuration of ViewPoints happens inside the source code by using selected constructs of object-oriented programming languages. Our contribution presents the approach to maintain models and source code simultaneously by means of behavioral models.

Research paper thumbnail of Using run time traces in automated programming tutoring

Proceedings of the 16th annual joint conference on Innovation and technology in computer science education - ITiCSE '11, 2011

ABSTRACT Running test cases against a student's solution of a programming assignment is o... more ABSTRACT Running test cases against a student's solution of a programming assignment is one of the easiest ways to generate feedback. If black-box tests are used, students may have difficulties to retrace the complete system behaviour and to find erroneous programming statements. This paper discusses the use of automated trace generation for assisting students in this task. Both manual and automated trace interpretation is discussed and evaluated by examples.

Research paper thumbnail of A Review of Static Analysis Approaches for Programming Exercises

Communications in Computer and Information Science, 2014

Static source code analysis is a common feature in automated grading and tutoring systems for pro... more Static source code analysis is a common feature in automated grading and tutoring systems for programming exercises. Different approaches and tools are used in this area, each with individual benefits and drawbacks, which have direct influence on the quality of assessment feedback. In this paper, different principal approaches and different tools for static analysis are presented, evaluated and compared regarding their usefulness in learning scenarios. The goal is to draw a connection between the technical outcomes of source code analysis and the didactical benefits that can be gained from it for programming education and feedback generation. int x,y,z = 0; // << some code here >> if (x + y < y + z); { x = y -z; } Listing 1.1. A piece of Java source code which is syntactically correct, but contains a completely useless if-statement.

Research paper thumbnail of SyLaGen – An Extendable Tool Environment for Generating Load

Lecture Notes in Computer Science, 2010

ABSTRACT Measuring run time behaviour of systems under load can cause the need for complex worklo... more ABSTRACT Measuring run time behaviour of systems under load can cause the need for complex workload definitions, measurement strategies and integration of load generation techniques. In this contribution we present SyLaGen (“Synthetic Load Generator”), a load generation environment that focuses on extendability with respect to four different aspects: First, a system under test may offer different interfaces for handling external requests, thus a load generator must be able to handle different protocols randomly and in parallel. Second, load generation for a client-server system may require complex client behaviour that cannot be formulated in a simple descriptive way, but instead with non-trivial algorithms that have to be implemented programmatically. Third, more than simple atomic measurements may be required in complex environments, so that strategies applying sequences of measurements to a system should be configured. Finally, comprehensive requirements engineering may result in complex use cases that cannot be modelled as linear scripts.

Research paper thumbnail of Automated checks on UML diagrams

Proceedings of the 16th annual joint conference on Innovation and technology in computer science education - ITiCSE '11, 2011

ABSTRACT Automated checks for software artefacts like UML diagrams used in automated assessment o... more ABSTRACT Automated checks for software artefacts like UML diagrams used in automated assessment or tutoring systems do often rely on direct comparisons between a solution and a sample solution. This approach has drawbacks regarding flexibility in face of different possible solutions which are quite common in modeling tasks. This paper presents an alternative technique for checking UML class diagrams based on graph queries which promises to be more flexible.

Research paper thumbnail of Code reading exercises using run time traces

Proceedings of the 2014 conference on Innovation & technology in computer science education - ITiCSE '14, 2014

Programming requires both to write code and to read code. In debugging tasks, students can use su... more Programming requires both to write code and to read code. In debugging tasks, students can use supporting tools that create additional artefacts like visualizations or traces, but these again need to be read and understood. This contribution presents a concept of code reading exercises that asks students to create the same artefacts for given code as they would use for debugging their own code.

Research paper thumbnail of Automated assessment of UML activity diagrams

Proceedings of the 2014 conference on Innovation & technology in computer science education - ITiCSE '14, 2014

ABSTRACT Current approaches to automated assessment of UML diagram mainly focus on static analysi... more ABSTRACT Current approaches to automated assessment of UML diagram mainly focus on static analysis. As this may be insufficient for behavioural diagrams, this contribution presents an approach to dynamic checks of UML Activity Diagrams. The approach makes use of trace generation and sequence alignment and shows fair results in preliminary experiments.

Research paper thumbnail of Feedback-Möglichkeiten in automatischen Prüfungssystemen

Gesellschaft für Informatik (GI) publishes this series in order to make available to a broad publ... more Gesellschaft für Informatik (GI) publishes this series in order to make available to a broad public recent findings in informatics (i.e. computer science and information systems), to document conferences that are organized in cooperation with GI and to publish the annual GI Award dissertation.

Research paper thumbnail of Visualizing Data Structures in an e-Learning System

In introductory courses on programming it is important to discuss algorithms at the syntactic lev... more In introductory courses on programming it is important to discuss algorithms at the syntactic level in terms of program code as well as at the semantic level in terms of affected data structures. While single visualizations for examples during a lecture are easy to create for a teacher, students have to create visualizations of their exercises on their own, which is time consuming and may lead to wrong results. To avoid this, we present an extension for an e-learning and e-assessment framework that allows mass visualization of programming exercises. This way, learning basic skills in data structures is supported, because each student gets individual visualizations in an easier way.

Research paper thumbnail of Erfahrungsbericht: Zur Organisation und Implementierung PC-gestützter Prüfungen an der Universität Duisburg-Essen

Research paper thumbnail of Analyse von Programmieraufgaben durch Softwareproduktmetriken

Der Einsatz von Softwareproduktmetriken zur Beobachtung und Beurteilung von Softwareprojekten ist... more Der Einsatz von Softwareproduktmetriken zur Beobachtung und Beurteilung von Softwareprojekten ist ein oft diskutiertes Thema. Es gibt vielfältige Vor- und Nachteile, die beim Einsatz zu berücksichtigen sind. Der vorliegende Artikel diskutiert an Fallbeispielen, wie Metriken zur Lehrunterstützung in einer Lehrveranstaltung zur Programmierung genutzt werden können.

Research paper thumbnail of Erster Jahresbericht zum Projekt „Bildungsgerechtigkeit im Fokus“ (Teilprojekt 1.2 – „Blended Learning“) an der Fakultät für Wirtschaftswissenschaften

Der vorliegende Technical Report beschreibt und diskutiert ein System für Computer Aided Assessme... more Der vorliegende Technical Report beschreibt und diskutiert ein System für Computer Aided Assessments im Bereich Mathematik, welches im Rahmen des Projekts „Bildungsgerechtigkeit im Fokus, Teilprojekt 1.2 - Blended Learning“ realisiert worden ist. Der Report enthält eine Beschreibung des Projekts, eine detaillierte Beschreibung des Systems, erste Erfahrungen und Evaluationen, einen Ausblick auf den weiteren Projektverlauf und einen kurzen Überblick über verwandte Systeme.

Research paper thumbnail of Poster: Automated Assessment of UML Activity Diagrams

What is so special about UML Activity Diagrams? -While automated assessment of several UML diagra... more What is so special about UML Activity Diagrams? -While automated assessment of several UML diagram types like class diagrams or object diagrams can be done by pure static analysis, activity diagrams (as well as some other types of UML diagrams) offer an additional dimension: They have dynamic semantics.

Research paper thumbnail of Using a Triple Graph Grammar for State Machine Implementations

Lecture Notes in Computer Science, 2000

Typical techniques of model-driven development use graph transformations to manipulate models and... more Typical techniques of model-driven development use graph transformations to manipulate models and use generators to produce source code. In this contribution we suggest to use graph transformations instead of generators in order to get a closer connection between model and code. We define a Triple Graph Grammar for the mapping from a modeling tool data format to source code and derive a sample set of transformation rules from this. Thereby both truly simultaneous manipulation of model and code is enabled as well as virtually simultaneous manipulation by direct propagation of changes from code to model and back again.

Research paper thumbnail of Feedback-M�glichkeiten in automatischen Pr�fungssystemen

Research paper thumbnail of Effekte automatischer Bewertungen für Programmieraufgaben in Übungs- und Prüfungssituationen

Dieser Beitrag beschreibt und analysiert ein exemplarisches System zur automatischen Bewertung vo... more Dieser Beitrag beschreibt und analysiert ein exemplarisches System zur automatischen Bewertung von Programmieraufgaben. Aus den Ergebnissen des mehrjährigens Einsatzes des Systems im Rahmen universitärer Lehrveranstaltungen werden Aussagen zur Qualität automatischer Bewertungen abgeleitet. Auf der Basis einer empirischen Untersuchung werden die Effekte automatischer Bewertungen auf die Lernenden in Übungs-und Prüfungsszenarien untersucht, um die Vorteile automatischer Bewertungen in Relation zu möglichen negativen Effekten setzen zu können.

Research paper thumbnail of UPPAAL-Modelle als ausf�hrbare Spezifikation in Java

Research paper thumbnail of A Flexible and Modular Software Architecture for Computer Aided Assessments and Automated Marking

In this paper we describe and discuss a flexible and modular software architecture for computer a... more In this paper we describe and discuss a flexible and modular software architecture for computer aided assessments and automated marking of exercise solutions. General requirements and problems are outlined with respect to assessment and self-training scenarios. As the main research result based on these requirements, an appropriate complete solution is presented by depicting a distributed, extendable, serverbased assessment environment. Both the requirements and the architecture are evaluated by means of an actual system that is in use for assessments in Java programming for three years.

Research paper thumbnail of SyLaGen: From Academic Tool Engineering Requirements to a new Model-based Development Approach

In this contribution we reflect on the development of SyLaGen, an academic load generation tool f... more In this contribution we reflect on the development of SyLaGen, an academic load generation tool for performance tests. It is able to generate a defined amount of requests to a system under test and measure the response times. The development of this tool has been influenced by two facts over the last ten years: First, its variety in functionality and the high number of platforms and frameworks in use; and second, the desire to specify the main functionality for measurements as precise as possible with respect to appropriate models. However, these requirements often contradict, since model-driven development is not easy to apply to existing architectures. In the case of our tool, this lead to a different approach for model-based development embracing formalized design patterns. We will here introduce the nature of this academic tool and the side effects of its development to other software engineering domains.

Research paper thumbnail of Towards an Agile Foundation for the Creation and Enactment of Software Engineering Methods: The SEMAT Approach

The Software Engineering Method and Theory (SEMAT) initiative seeks to develop a rigorous, theore... more The Software Engineering Method and Theory (SEMAT) initiative seeks to develop a rigorous, theoretically sound basis for software engineering methods. In contrast to previous software engineering method frameworks that rely on separate method engineers, the primary target of SEMAT are practitioners. The goal is to give software development teams the opportunity to themselves define, refine and customize the methods and processes they use in software development. To achieve this goal SEMAT proposes a new practitioneroriented language for software engineering methods that is focused, small, extensible and provides formally defined provides formally defined behaviour to support the conduct of a software engineering endeavour. This paper presents and discusses how the proposed language supports an agile creation and enactment of software engineering methods. The SEMAT approach is illustrated by modelling parts of the Scrum project management practice.

Research paper thumbnail of Embedding Behavioral Models into Object-Oriented Source Code

Software Engineering, 2009

In this paper we address the inevitable problem of aligning a software model with its respective ... more In this paper we address the inevitable problem of aligning a software model with its respective code in such a way that the synchronization between both views of the system can be effectively maintained. In traditional approaches to model-driven software development (MDSD) it is at least necessary to annotate the source code in order to mark its origin for round-trip engineering and to prevent it from being overridden when regenerating code from other models. Instead of just maintaining references to models, we suggest to embed full model semantics into source code. To realize this approach we modify the earlier concept of ViewPoints, so that the necessary configuration of ViewPoints happens inside the source code by using selected constructs of object-oriented programming languages. Our contribution presents the approach to maintain models and source code simultaneously by means of behavioral models.

Research paper thumbnail of Using run time traces in automated programming tutoring

Proceedings of the 16th annual joint conference on Innovation and technology in computer science education - ITiCSE '11, 2011

ABSTRACT Running test cases against a student&#39;s solution of a programming assignment is o... more ABSTRACT Running test cases against a student&#39;s solution of a programming assignment is one of the easiest ways to generate feedback. If black-box tests are used, students may have difficulties to retrace the complete system behaviour and to find erroneous programming statements. This paper discusses the use of automated trace generation for assisting students in this task. Both manual and automated trace interpretation is discussed and evaluated by examples.

Research paper thumbnail of A Review of Static Analysis Approaches for Programming Exercises

Communications in Computer and Information Science, 2014

Static source code analysis is a common feature in automated grading and tutoring systems for pro... more Static source code analysis is a common feature in automated grading and tutoring systems for programming exercises. Different approaches and tools are used in this area, each with individual benefits and drawbacks, which have direct influence on the quality of assessment feedback. In this paper, different principal approaches and different tools for static analysis are presented, evaluated and compared regarding their usefulness in learning scenarios. The goal is to draw a connection between the technical outcomes of source code analysis and the didactical benefits that can be gained from it for programming education and feedback generation. int x,y,z = 0; // << some code here >> if (x + y < y + z); { x = y -z; } Listing 1.1. A piece of Java source code which is syntactically correct, but contains a completely useless if-statement.

Research paper thumbnail of SyLaGen – An Extendable Tool Environment for Generating Load

Lecture Notes in Computer Science, 2010

ABSTRACT Measuring run time behaviour of systems under load can cause the need for complex worklo... more ABSTRACT Measuring run time behaviour of systems under load can cause the need for complex workload definitions, measurement strategies and integration of load generation techniques. In this contribution we present SyLaGen (“Synthetic Load Generator”), a load generation environment that focuses on extendability with respect to four different aspects: First, a system under test may offer different interfaces for handling external requests, thus a load generator must be able to handle different protocols randomly and in parallel. Second, load generation for a client-server system may require complex client behaviour that cannot be formulated in a simple descriptive way, but instead with non-trivial algorithms that have to be implemented programmatically. Third, more than simple atomic measurements may be required in complex environments, so that strategies applying sequences of measurements to a system should be configured. Finally, comprehensive requirements engineering may result in complex use cases that cannot be modelled as linear scripts.

Research paper thumbnail of Automated checks on UML diagrams

Proceedings of the 16th annual joint conference on Innovation and technology in computer science education - ITiCSE '11, 2011

ABSTRACT Automated checks for software artefacts like UML diagrams used in automated assessment o... more ABSTRACT Automated checks for software artefacts like UML diagrams used in automated assessment or tutoring systems do often rely on direct comparisons between a solution and a sample solution. This approach has drawbacks regarding flexibility in face of different possible solutions which are quite common in modeling tasks. This paper presents an alternative technique for checking UML class diagrams based on graph queries which promises to be more flexible.

Research paper thumbnail of Code reading exercises using run time traces

Proceedings of the 2014 conference on Innovation & technology in computer science education - ITiCSE '14, 2014

Programming requires both to write code and to read code. In debugging tasks, students can use su... more Programming requires both to write code and to read code. In debugging tasks, students can use supporting tools that create additional artefacts like visualizations or traces, but these again need to be read and understood. This contribution presents a concept of code reading exercises that asks students to create the same artefacts for given code as they would use for debugging their own code.

Research paper thumbnail of Automated assessment of UML activity diagrams

Proceedings of the 2014 conference on Innovation & technology in computer science education - ITiCSE '14, 2014

ABSTRACT Current approaches to automated assessment of UML diagram mainly focus on static analysi... more ABSTRACT Current approaches to automated assessment of UML diagram mainly focus on static analysis. As this may be insufficient for behavioural diagrams, this contribution presents an approach to dynamic checks of UML Activity Diagrams. The approach makes use of trace generation and sequence alignment and shows fair results in preliminary experiments.

Research paper thumbnail of Feedback-Möglichkeiten in automatischen Prüfungssystemen

Gesellschaft für Informatik (GI) publishes this series in order to make available to a broad publ... more Gesellschaft für Informatik (GI) publishes this series in order to make available to a broad public recent findings in informatics (i.e. computer science and information systems), to document conferences that are organized in cooperation with GI and to publish the annual GI Award dissertation.

Research paper thumbnail of Visualizing Data Structures in an e-Learning System

In introductory courses on programming it is important to discuss algorithms at the syntactic lev... more In introductory courses on programming it is important to discuss algorithms at the syntactic level in terms of program code as well as at the semantic level in terms of affected data structures. While single visualizations for examples during a lecture are easy to create for a teacher, students have to create visualizations of their exercises on their own, which is time consuming and may lead to wrong results. To avoid this, we present an extension for an e-learning and e-assessment framework that allows mass visualization of programming exercises. This way, learning basic skills in data structures is supported, because each student gets individual visualizations in an easier way.

Research paper thumbnail of Erfahrungsbericht: Zur Organisation und Implementierung PC-gestützter Prüfungen an der Universität Duisburg-Essen

Research paper thumbnail of Analyse von Programmieraufgaben durch Softwareproduktmetriken

Der Einsatz von Softwareproduktmetriken zur Beobachtung und Beurteilung von Softwareprojekten ist... more Der Einsatz von Softwareproduktmetriken zur Beobachtung und Beurteilung von Softwareprojekten ist ein oft diskutiertes Thema. Es gibt vielfältige Vor- und Nachteile, die beim Einsatz zu berücksichtigen sind. Der vorliegende Artikel diskutiert an Fallbeispielen, wie Metriken zur Lehrunterstützung in einer Lehrveranstaltung zur Programmierung genutzt werden können.

Research paper thumbnail of Erster Jahresbericht zum Projekt „Bildungsgerechtigkeit im Fokus“ (Teilprojekt 1.2 – „Blended Learning“) an der Fakultät für Wirtschaftswissenschaften

Der vorliegende Technical Report beschreibt und diskutiert ein System für Computer Aided Assessme... more Der vorliegende Technical Report beschreibt und diskutiert ein System für Computer Aided Assessments im Bereich Mathematik, welches im Rahmen des Projekts „Bildungsgerechtigkeit im Fokus, Teilprojekt 1.2 - Blended Learning“ realisiert worden ist. Der Report enthält eine Beschreibung des Projekts, eine detaillierte Beschreibung des Systems, erste Erfahrungen und Evaluationen, einen Ausblick auf den weiteren Projektverlauf und einen kurzen Überblick über verwandte Systeme.

Research paper thumbnail of Poster: Automated Assessment of UML Activity Diagrams

What is so special about UML Activity Diagrams? -While automated assessment of several UML diagra... more What is so special about UML Activity Diagrams? -While automated assessment of several UML diagram types like class diagrams or object diagrams can be done by pure static analysis, activity diagrams (as well as some other types of UML diagrams) offer an additional dimension: They have dynamic semantics.