Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Manuel Wimmer

dblp:20/4565 · DBLP profile ↗
← Back
147ranked-venue papers
7as first author
51since 2021 · last 2026
0000-0002-1124-7098ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 111 · 6 first-author · 39 since 2021Systems, architecture and hardware · 20 · 1 first-author · 7 since 2021Databases, data management, data science and information retrieval · 11 · 2 first-author · 4 since 2021Applied, interdisciplinary, general and emerging computing · 4 · 3 since 2021Theory of computation · 3 · 2 since 2021Artificial intelligence and machine learning · 2Human-computer interaction and ubiquitous computing · 2

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
9 papers
Requirements engineering and software design · 45% Software maintenance and evolution · 19% Software testing · 12%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
Embedded and real-time systems · 66% Performance modeling and evaluation · 20% Parallel and multicore computing · 15%

Topics — the 15 heaviest of 20, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Requirements engineering and software design
model-driven engineering
2.062025
Automation in Model-Driven Engineering: A Look Back, and Ahead · ACM Trans. Softw. Eng. Methodol. 2025
Efficient Execution of ATL Model Transformations Using Static Analysis and Parallelism · IEEE Trans. Software Eng. 2022
Static Fault Localization in Model Transformations · IEEE Trans. Software Eng. 2015
Requirements engineering and software design › model-driven engineering
model transformation
1.142022
Efficient Execution of ATL Model Transformations Using Static Analysis and Parallelism · IEEE Trans. Software Eng. 2022
Static Fault Localization in Model Transformations · IEEE Trans. Software Eng. 2015
From out-place transformation evolution to in-place model patching · ASE 2014
Software testing › specification-based testing
conformance testing
0.812024
Measuring the Fidelity of a Physical and a Digital Twin Using Trace Alignments · IEEE Trans. Software Eng. 2024
Program analysis › dynamic analysis › trace analysis
trace alignment
0.812024
Measuring the Fidelity of a Physical and a Digital Twin Using Trace Alignments · IEEE Trans. Software Eng. 2024
Embedded and real-time systems
cyber-physical systems
0.812024
Measuring the Fidelity of a Physical and a Digital Twin Using Trace Alignments · IEEE Trans. Software Eng. 2024
Runtime systems and virtual machines
parallel execution
0.612022
Efficient Execution of ATL Model Transformations Using Static Analysis and Parallelism · IEEE Trans. Software Eng. 2022
Requirements engineering and software design
non-functional requirements
0.512021
Dealing with Non-Functional Requirements in Model-Driven Development: A Survey · IEEE Trans. Software Eng. 2021
Empirical software engineering › practitioner studies
practitioner survey
0.512021
Dealing with Non-Functional Requirements in Model-Driven Development: A Survey · IEEE Trans. Software Eng. 2021
Software maintenance and evolution › software evolution
model evolution
0.312025
Automation in Model-Driven Engineering: A Look Back, and Ahead · ACM Trans. Softw. Eng. Methodol. 2025
Debugging and program repair
fault localization
0.212015
Static Fault Localization in Model Transformations · IEEE Trans. Software Eng. 2015
Software testing
mutation testing
0.212015
Static Fault Localization in Model Transformations · IEEE Trans. Software Eng. 2015
Parallel and multicore computing
parallel programming models
0.212022
Efficient Execution of ATL Model Transformations Using Static Analysis and Parallelism · IEEE Trans. Software Eng. 2022
Requirements engineering and software design › model-driven engineering
model-driven development
0.112021
Dealing with Non-Functional Requirements in Model-Driven Development: A Survey · IEEE Trans. Software Eng. 2021
Requirements engineering and software design › model-driven engineering › model transformation
model transformation debugging
0.112009
A Petri Net Based Debugging Environment for QVT Relations · ASE 2009
Automata and formal languages › petri nets
colored petri nets
0.012009
A Petri Net Based Debugging Environment for QVT Relations · ASE 2009

Methods — techniques the papers use, named apart from their topics

roadmap analysis · 1.7trace alignment · 1.5equivalence measure · 1.5static analysis · 1.1parallel compilation · 1.1model transformation · 0.9interview-based survey · 0.5many-objective optimization · 0.3higher-order transformation · 0.3NSGA-III · 0.3object constraint language · 0.1colored petri nets · 0.1
YearPublicationVenuePosition
2026 AugmentAble: Teaming Web Augmentation and LLMs for Instant Accessibility Improvements
Sarah Mayrhofer, Stefan Klikovits, Manuel Wimmer
ICWE3
2026 AISA: A Web-Based Platform for Evaluating the Literature Search Capabilities of LLMs
Abbas Rahimi, Manuel Wimmer, Michael Gusenbauer
ICWE2
2026 A Web-Based Demonstrator for Quantum Circuit Programming Education
Bernhard Schenkenfelder, Raphael Zefferer, Manuel Wimmer
ICWE3
2026 From engineering models to digital twins: Generating AAS from SysML v2 models
abstract
Context: Digital twins serve as virtual representations of systems, enabling capabilities such as intelligent monitoring, real-time control, decision-making, and predictive analytics. The Asset Administration Shell (AAS) is the pivotal Industry 4.0 standard for digital twin engineering. In parallel, the Systems Modeling Language (SysML) has emerged as a modeling standard for systems engineering, providing a formalized and semantically rich approach to system modeling. SysML v2 is its recent evolution. With its growing adoption, multiple models are expected to be widely available, each capturing different facets of the modeled system by leveraging diverse engineering capabilities offered by various tool ecosystems. Problem: Instead of manually re-creating models for digital twinning, existing system models should be leveraged to relieve repetitive modeling tasks. While SysML v2 and AAS are prominent standards in DT engineering, they lack direct integration, necessitating a dedicated approach for their seamless interoperability. Purpose: This paper presents a practical investigation into the conceptual alignment between the SysML v2 and AAS specifications, with a focus on their structural and behavioral modeling aspects. It proposes an implementable approach for mapping SysML v2 to AAS, enabling the automated generation of AAS models from SysML v2 models. Method: To realize this approach, we employ model-driven engineering techniques leveraging the Eclipse Modeling Framework (EMF) and model transformations based on the Query View Transformation (QVT) language. The proposed model transformation incorporates query mechanisms for extracting structured elements, preserving information and structural integrity, and ensuring static semantic consistency at design-time and seamless integration between the two investigated standards. We develop and validate the model transformation following an iterative test-driven development approach using an existing set of 24 SysML v2 examples, sourced from the official SysML v2 repository. Result: We deliver a QVT-based, EMF-compliant transformation that automatically generates AAS submodel templates from SysML v2 models, preserving structural hierarchies and behavioral semantics via dedicated AAS concepts and their extension. Through an iterative, test-driven development process, we validate metamodel conformance, information preservation, and structural integrity. The current mapping addresses design-time concepts, and the implementation supports forward transformation. All conceptual mappings, QVT scripts, and example artifacts are publicly available in a dedicated repository.
Enxhi Ferko, Luca Berardinelli, Alessio Bucaioni, Moris Behnam, Manuel Wimmer
J. Syst. Softw.5
2025 Multi-Partner Project: A Model-Driven Engineering Framework for Federated Digital Twins of Industrial Systems (MATISSE)
abstract
Digital twins are virtual representations of real-world entities or systems. Their primary goal is to help organizations understand and predict the behaviour and properties of these entities or systems. Additionally, digital twins enhance activities such as monitoring, verification, validation, and testing. However, the inherent complexity of digital twins implies challenges throughout the systems engineering process. This notably includes design, development, and analysis phases, as well as deployment, execution, and maintenance. Moreover, existing approaches, methods, techniques, and tools for modelling, simulating, validating, and monitoring single digital twins must now address the increased complexity in federation scenarios. These scenarios introduce new challenges, such as digital twin identification, shared metadata, cross-digital twin communication and synchronization, and federation governance. The KDT Joint Undertaking MATISSE project tackles these challenges by aiming to provide a model-driven framework for the continuous engineering of federated digital twins. It leverages model-driven engineering techniques and practices as the core enabling technology, with traceability serving as an essential infrastructural service for the digital twins federation. In this paper, we introduce the MATISSE conceptual framework for digital twins, highlighting both the novelty of the project's concept and its technical objectives. As the project is still in its initial phase, we identify key research challenges relevant to the DATE community and propose a preliminary research roadmap. This roadmap addresses traceability and federation mechanisms, the required continuous engineering strategy, and the development of digital twin-based services for verification, validation, prediction, and monitoring. To illustrate our approach, we present two concrete scenarios that demonstrate practical applications of the MATISSE conceptual framework.
Alessio Bucaioni, Romina Eramo, Luca Berardinelli, Hugo Bruneliere, Benoît Combemale, Djamel Eddine Khelladi, Vittoriano Muttillo, Andrey Sadovykh, Manuel Wimmer
DATE9
2025 Towards a Unifying Reference Model for Digital Twins of Cyber-Physical Systems
abstract
Digital twins are sophisticated software systems for the representation, monitoring, and control of cyber-physical systems, including automotive, avionics, smart manufacturing, and many more. Existing definitions and reference models of digital twins are overly abstract, impeding their comprehensive understanding and implementation guidance. Consequently, a significant gap emerges between abstract concepts and their industrial implementations. We analyze popular reference models for digital twins and combine these into a significantly detailed unifying reference model for digital twins that reduces the concept-implementation gap to facilitate their engineering in industrial practice. This enhances the understanding of the concepts of digital twins and their relationships and guides developers to implement digital twins effectively.
Jérôme Pfeiffer, Jingxi Zhang, Benoît Combemale, Judith Michael, Bernhard Rumpe, Manuel Wimmer, Andreas Wortmann 0001
ETFA6
2025 Towards LLM-enhanced Conflict Detection and Resolution in Model Versioning
abstract
In the past two decades, a range of model versioning workflows have been proposed. Standard workflows are based on three-way model merging, which allows reasoning on potentially conflicting changes in concurrently developed model versions. However, the considered conflicts that can be detected are mostly targeting the syntactic level of models, such as update/update or delete/usage conflicts. In contrast, unintended semantic inconsistencies often remain unnoticed as detection mechanisms lack the semantic awareness of the modeling language or modeled domain. The resolution of such conflicts remains a manual task. In this paper, we explore how Large Language Models (LLMs) can augment model versioning workflows by supporting conflict detection and resolution. In particular, we present an LLM-enhanced solution for detecting conflicts in the three-way model merging setting. Drawing on a collection of conflict types from prior literature, we demonstrate how an LLM assistant can 1) pinpoint conflicting changes and 2) provide resolution options with clear rationales and explanations of their implications. Our results indicate that the LLMs' access to a broad range of domains and modeling languages can help find and resolve complex versioning conflicts. Our implementation combines the industrial tool LemonTree for analyzing models and model changes, with a GPT-4o (LLM) assistant primed with relevant context to detect and resolve conflicts. We conclude by discussing directions for future research to improve model versioning workflows using LLMs.
Martin Eisenberg, Stefan Klikovits, Manuel Wimmer, Konrad Wieland
MODELS3
2025 Preface for the Formal Methods in System Design special issue on 'FASE 2022'
Einar Broch Johnsen, Manuel Wimmer
Formal Methods Syst. Des.2
2025 A low-code assessment platform for urban digital twins
abstract
Digital twins, as virtual models reflecting physical entities, serve multiple purposes, supporting the understanding, design, and management of systems, across various domains. The concept of digital twins has been also applied to smart cities, coining the term “Urban Digital Twin”. Indeed, smart cities continuously produce data that can serve as a real-time feed for their digital twin representations. However, developing urban digital twins is challenging as the domain is complex and evolving rapidly. Moreover, existing digital twin platforms are mostly generic platforms, limiting their adoption for a specific context such as smart cities. The aim of this study is to overcome the limitation of existing general-purpose digital twin platforms, particularly in the context of smart cities, by supporting the development and evolution of urban digital twins. To this aim, we propose a low-code assessment platform for smart cities represented as urban digital twins by leveraging distributed runtime models to implement and deploy service-based quality evaluation systems. The innovative platform and its architecture enable the creation of efficient urban digital twins, allowing for their continuous evolution without requiring redeployment whenever the digital twin definitions are modified. Experimental evaluations demonstrate the effectiveness and efficiency of the proposed platform, highlighting its potential for evolving urban digital twins in smart cities quality assessment. Results show evidence that combining distributed runtime models with the advantages of low-code platforms is beneficial within the smart cities domain. Moreover, this study underscores the significance of specialized platforms tailored to the smart cities domain.
Martina De Sanctis, Ludovico Iovino, Maria Teresa Rossi, Manuel Wimmer
Inf. Softw. Technol.4
2025 GeQuPI: Quantum Program Improvement with Multi-Objective Genetic Programming
abstract
Processing quantum information poses novel challenges regarding the debugging of faulty quantum programs. Notably, the lack of accessible information on intermediate states during quantum processing, renders traditional debugging techniques infeasible. Moreover, even correct quantum programs might not be processable, as current quantum computers are limited in computation capacity. Thus, quantum program developers have to consider trade-offs between accuracy (i.e., probabilistically correct functionality) and computational cost of the proposed solutions. Manually finding sufficiently accurate and efficient solutions is a challenging task, even for quantum computing experts. To tackle these challenges, we propose a quantum program improvement framework for an automated generation of accurate and efficient solutions, coined Genetic Quantum Program Improver ( GeQuPI ). In particular, we focus on the tasks of debugging and optimization of quantum programs. Our framework uses techniques from quantum information theory and applies multi-objective genetic programming, which can be further hybridized with quantum-aware optimizers. To demonstrate the benefits of GeQuPI , it is applied to 47 quantum programs reused from literature and openly published libraries. The results show that our approach is capable of correcting faulty programs and optimize inefficient ones for the majority of the studied cases, showing average optimizations of 35% with respect to computational cost. • A framework for genetic improvement of quantum programs is proposed. • The framework provides debugging and optimization facilities. • It applies methods from quantum information theory and multi-objective optimization. • Its possible configurations include, a.o., varying levels of hardware closeness. • The evaluation on 47 quantum programs shows promising results.
Felix Gemeinhardt, Stefan Klikovits, Manuel Wimmer
J. Syst. Softw.3
2025 Guest editorial for the special section on MODELS 2022
Nelly Bencomo, Houari Sahraoui, Eugene Syriani, Manuel Wimmer
Softw. Syst. Model.4
2025 From single-objective to multi-objective reinforcement learning-based model transformation
abstract
Abstract Model-driven optimization allows to directly apply domain-specific modeling languages to define models which are subsequently optimized by applying a predefined set of model transformation rules. Objectives guide the optimization processes which can range from one single objective formulation resulting in one single solution to a set of objectives that necessitates the identification of a Pareto-optimal set of solutions. In recent years, a multitude of reinforcement learning approaches has been proposed that support both optimization cases and competitive results for various problem instances have been reported. However, their application to the field of model-driven optimization has not gained much attention yet, especially when compared to the extensive application of meta-heuristic search approaches such as genetic algorithms. Thus, there is a lack of knowledge about the applicability and performance of reinforcement learning for model-driven optimization. We therefore present in this paper a general framework for applying reinforcement learning to model-driven optimization problems. In particular, we show how a catalog of different reinforcement learning algorithms can be integrated with existing model-driven optimization approaches that use a transformation rule application encoding. We exemplify this integration by presenting a dedicated reinforcement learning extension for MOMoT. We build on this tool support and investigate several case studies for validating the applicability of reinforcement learning for model-driven optimization and compare the performance against a genetic algorithm. The results show clear advantages of using RL for single-objective problems, especially for cases where the transformation steps are highly dependent on each other. For multi-objective problems, the results are more diverse and case-specific, which further motivates the usage of model-driven optimization to utilize different approaches to find the best solutions.
Martin Eisenberg, Manuel Wimmer
Softw. Syst. Model.2
2025 Model-driven engineering for digital twins: a systematic mapping study
abstract
Abstract Digital twins (DTs) are proliferating in a multitude of domains, including agriculture, automotive, avionics, logistics, manufacturing, medicine, smart homes, etc. As domain experts and software experts both have to contribute to the engineering of effective DTs, several model-driven engineering (MDE) approaches have been recently proposed to ease the design, development, and operation of DTs. However, the diversity of domains in which MDE is currently applied to DTs, as well as the diverse landscape of DTs and MDE applications to DTs, makes it challenging for researchers and practitioners to get an overview of what techniques and artifacts are already applied in this context. In this paper, we shed light on the aforementioned aspects by performing a systematic mapping study on the application of MDE automation techniques, i.e., model-to-model transformation, code generation, and model interpretation, in the context of DTs as well as on the characteristics of DTs including the twinned systems to which these techniques are applied in different domains. We systematically retrieved a set of 189 unique publications, of which 66 were selected for further investigation in this paper. Our results indicate that the distribution of employed MDE techniques (136 applications of automation techniques) is balanced between the different techniques, but there are significant variations for different DT types. With respect to the different domains, we found that even though applications are available in many domains, a small number of domains currently dominate applications of MDE to DTs, i.e., more than half of included papers are in the manufacturing and transportation domains.
Daniel Lehner, Jingxi Zhang, Jérôme Pfeiffer, Sabine Sint, Ann-Kathrin Splettstößer, Manuel Wimmer, Andreas Wortmann 0001
Softw. Syst. Model.6
2025 Automatic Optimization of Tolerance Ranges for Model-Driven Runtime State Identification
abstract
For continuously checking and updating the virtual representation of a real system during operation, the continuous sensing and interpretation of raw sensor data is a must. The challenge is to bundle sensor value streams (e.g., from IoT networks) and aggregate them to a higher logical state level to enable process-oriented viewpoints and to handle uncertainties about sensor measurements and state realization precision. To address these uncertainties, so-called “tolerance ranges” must be defined in which logical states are detected during operation with acceptable deviations. Specifying such tolerance ranges manually is a time-consuming, error-prone task and often not feasible due to the huge associated value search space. To tackle this challenge, the problem is turned into an optimization problem in this paper. For this purpose, we present a framework based on meta-heuristic search that enables the automatic configuration of tolerance ranges based on available execution traces of multiple sensor value streams. An exploratory study evaluates the approach. For this purpose, we implemented a lab-sized demonstrator of a five-axis grip arm robot, which we continuously monitored during operation in a simulated environment. The evaluation shows the advantage of using meta-heuristic optimizers such as Harmony Search or Genetic Algorithm to identify stable tolerance ranges automatically for state detection at runtime.Note to Practitioners—Monitoring sensor values streams is nowadays a frequently employed technique in many automation domains. However, combining and mapping single value streams to higher-level state-based representations such as state machines or other design-time related models is a major challenge due to measurement and realization precision uncertainties. Thus, simply mapping monitored raw data to these design descriptions can lead to falsely identified or missed states. To improve this situation, we present an approach that provides a mechanism to continuously analyze data streams during operation by automatically finding appropriate tolerance ranges to detect realized system states. The approach uses a small set of annotated execution traces and meta-heuristic searchers to derive optimal tolerance ranges, which provide high correctness and completeness of the identified system states. This approach represents the basis for building a “vertical bridge” from the operation technology layer considering pure sensor data streams to the IT layer where state-based process views are provided to perform monitoring and analytics, e.g., by using process mining.
Sabine Sint, Alexandra Mazak-Huemer, Martin Eisenberg, Daniel Waghubinger, Manuel Wimmer
IEEE Trans Autom. Sci. Eng.5
2025 Guest Editorial: Engineering and Operating Digital Twins for Automated Production or Construction Systems
Birgit Vogel-Heuser, Min-Hsiung Hung, Manuel Wimmer, Ilya Kovalenko, Xun Xu 0001
IEEE Trans Autom. Sci. Eng.3
2025 Automation in Model-Driven Engineering: A Look Back, and Ahead
abstract
Model-Driven Engineering (MDE) provides a huge body of knowledge of automation for many different engineering tasks, especially those involving transitioning from design to implementation. With the huge progress made in AI, questions arise about the future of MDE, such as how existing MDE techniques and technologies can be improved or how other activities that currently lack dedicated support can also be automated. However, at the same time, it has to be revisited where and how models should be used to keep the engineers in the loop for creating, operating, and maintaining complex systems. To trigger dedicated research on these open points, we discuss the history of automation in MDE and present perspectives on how automation in MDE can be further improved and which obstacles have to be overcome in both the medium and long-term.
Loli Burgueño, Davide Di Ruscio, Houari Sahraoui, Manuel Wimmer
ACM Trans. Softw. Eng. Methodol.4
2025 Quantum Software Engineering: Roadmap and Challenges Ahead
abstract
As quantum computers advance, the complexity of the software they can execute increases as well. To ensure this software is efficient, maintainable, reusable, and cost-effective—key qualities of any industry-grade software—mature software engineering practices must be applied throughout its design, development, and operation. However, the significant differences between classical and quantum software make it challenging to directly apply classical software engineering methods to quantum systems. This challenge has led to the emergence of Quantum Software Engineering (QSE) as a distinct field within the broader software engineering landscape. In this work, a group of active researchers analyze in depth the current state of QSE research. From this analysis, the key areas of QSE are identified and explored in order to determine the most relevant open challenges that should be addressed in the next years. These challenges help identify necessary breakthroughs and future research directions for advancing QSE.
Juan Manuel Murillo, José García-Alonso, Enrique Moguel, Johanna Barzen, Frank Leymann, Shaukat Ali 0001, Tao Yue 0002, Paolo Arcaini, Ricardo Pérez-Castillo, Ignacio García Rodríguez de Guzmán, Mario Piattini, Antonio Ruiz Cortés, Antonio Brogi, Jianjun Zhao 0001, Andriy V. Miranskyy, Manuel Wimmer
ACM Trans. Softw. Eng. Methodol.16
2024 GNN-Based Conceptual Model Modularization: Approach and GA-Based Comparison
Syed Juned Ali, MohammadHadi Dehghani, Manuel Wimmer, Dominik Bork
EDOC3
2024 Leveraging the Power of LLMs to Transform Robot Programs into Low-Code
abstract
Low-Code is a paradigm for domain experts to deal with their software requirements themselves, potentially without training in software engineering. In industrial automation, and in particular in robot programming, there are many layers of abstraction from atomic instructions up to compound skills. Given the recent advances in Artificial Intelligence (AI) for software engineering, we present an initial exploratory study that demonstrates the transformation of robot programs into low-code with Large Language Models (LLMs) using examples from an industry-academia collaboration. In particular, we investigate the capabilities of the LLMs GPT-40 and Mistral 7B in terms of robot program analysis and abstraction. The results show the potential of LLMs for low-code generation, but also raise questions and directions for future research.
Bernhard Schenkenfelder, Christian Salomon, Martin Schwandtner, Raphael Zefferer, Michael Derfler, Manuel Wimmer
ETFA6
2024 Multi-objective model transformation chain exploration with MOMoT
abstract
The increasing complexity of modern systems leads to an increasing amount of artifacts that are used along the model-based software and systems development lifecycle. This also includes model transformations, which serve for mapping models between representations, e.g., for verification and validation purposes. Model repositories manage this variety of artifacts and promote reusability, but should also enable the bundling of compatible artifacts. Therefore, model transformations should be reused and arranged into transformation chains to support more complex transformation scenarios. The resulting transformation should correspond to the user’s interest in terms of quality criteria such as model coverage, transformation coverage, and number of transformation steps, thus assembling such chains becomes a multi-objective problem. A novel multi-objective approach for exploring possible transformation chains residing in model repositories is presented. MOMoT, a model-driven optimization framework, is leveraged to explore the transformation space spanned by the repository. For demonstration, three differently populated repositories are considered. We have extended MOMoT with an exhaustive, multi-objective search that explores the entire model transformation space defined by graph transformation rules, allowing all possible transformation chains to be considered as solution. Accordingly, the optimal solutions were identified in the demonstration cases with negligible computation time. The approach assists modelers when there are multiple chains for transforming an input model to a specified output model to consider. Our evaluation shows that the approach elicits all legitimate transformation chains, thus enabling the modelers to consider trade-offs in view of multiple criteria selection.
Martin Eisenberg, Apurvanand Sahay, Davide Di Ruscio, Ludovico Iovino, Manuel Wimmer, Alfonso Pierantonio
Inf. Softw. Technol.5
2024 A language-parametric test coverage framework for executable domain-specific languages
Faezeh Khorram, Erwan Bousse, Antonio Garmendia, Jean-Marie Mottu, Gerson Sunyé, Manuel Wimmer
J. Syst. Softw.6
2024 Preface for the special issue on "Fundamental Approaches to Software Engineering" (FASE 2022)
Marie-Christine Jakobs, Einar Broch Johnsen, Eduard Kamburjan, Manuel Wimmer
Sci. Comput. Program.4
2024 Quo Vadis modeling?
abstract
Abstract Models are the key tools humans use to manage complexity in description, development, and analysis. This applies to all scientific and engineering disciplines and in particular to the development of software and data-intensive systems. However, different methods and terminologies have become established in the individual disciplines, even in the sub-fields of Informatics, which raises the need for a comprehensive and cross-sectional analysis of the past, present, and future of modeling research. This paper aims to shed some light on how different modeling disciplines emerged and what characterizes them with a discussion of the potential toward a common modeling future. It focuses on the areas of software, data, and process modeling and reports on an analysis of the research approaches, goals, and visions pursued in each, as well as the methods used. This analysis is based on the results of a survey conducted in the communities concerned, on a bibliometric study, and on interviews with a prominent representative of each of these communities. The paper discusses the different viewpoints of the communities, their commonalities and differences, and identifies possible starting points for further collaboration. It further discusses current challenges for the communities in general and modeling as a research topic in particular and highlights visions for the future.
Judith Michael, Dominik Bork, Manuel Wimmer, Heinrich C. Mayr
Softw. Syst. Model.3
2024 Fault localization in DSLTrans model transformations by combining symbolic execution and spectrum-based analysis
abstract
Abstract The verification of model transformations is important for realizing robust model-driven engineering technologies and quality-assured automation. Many approaches for checking properties of model transformations have been proposed. Most of them have focused on the effective and efficient detection of property violations by contract checking. However, there remains the fault localization step between identifying a failing contract for a transformation based on verification feedback and precisely identifying the faulty rules. While there exist fault localization approaches in the model transformation verification literature, these require the creation and maintenance of test cases, which imposes an additional burden on the developer. In this paper, we combine transformation verification based on symbolic execution with spectrum-based fault localization techniques for identifying the faulty rules in DSLTrans model transformations. This fault localization approach operates on the path condition output of symbolic transformation checkers instead of requiring a set of test input models. In particular, we introduce a workflow for running the symbolic execution of a model transformation, evaluating the defined contracts for satisfaction, and computing different measures for tracking the faulty rules. We evaluate the effectiveness of spectrum-based analysis techniques for tracking faulty rules and compare our approach to previous works. We evaluate our technique by introducing known mutations into five model transformations. Our results show that the best spectrum-based analysis techniques allow for effective fault localization, showing an average EXAM score below 0.30 (less than 30% of the transformation needs to be inspected). These techniques are also able to locate the faulty rule in the top-three ranked rules in 70% of all cases. The impact of the model transformation, the type of mutation and the type of contract on the results is discussed. Finally, we also investigate the cases where the technique does not work properly, including discussion of a potential pre-check to estimate the prospects of the technique for a certain transformation.
Bentley Oakes, Javier Troya, Jessie Galasso, Manuel Wimmer
Softw. Syst. Model.4
2024 Modelling assistants based on information reuse: a user evaluation for language engineering
Ángel Mora Segura, Juan de Lara, Manuel Wimmer
Softw. Syst. Model.3
2024 A Model-Driven Framework for Composition-Based Quantum Circuit Design
abstract
Quantum programming languages support the design of quantum applications. However, to create such programs, one needs to understand the fundamental characteristics of quantum computing and quantum information theory. Furthermore, quantum algorithms frequently make use of abstract operations with a hidden low-level realization (e.g., Quantum Fourier Transform). Thus, turning from elementary quantum operations to a higher-level view of quantum circuit design not only reduces the development effort but also lowers the entry barriers for non-quantum computing experts. To this end, this article proposes a modeling language and design framework for quantum circuits. This allows the definition of composite operators to advocate a higher-level quantum algorithm design, together with automated code generation for the circuit execution. To demonstrate the benefits of the proposed approach, coined Composition-based Quantum Circuit Designer , we applied it for realizing the Quantum Counting algorithm and the Quantum Approximate Optimization Algorithm. Our evaluation results show that, compared to an existing state-of-the-art editor, the proposed approach allows for the realization of both quantum algorithms on a high level with a substantially reduced development effort. In particular, the proposed approach shows constant scaling when increasing the size of the investigated quantum circuits and a lower change criticality when evolving existing quantum circuits.
Felix Gemeinhardt, Antonio Garmendia, Manuel Wimmer, Robert Wille
ACM Trans. Quantum Comput.3
2024 Measuring the Fidelity of a Physical and a Digital Twin Using Trace Alignments
abstract
Digital twins are gaining relevance in many domains to improve the operation and maintenance of complex systems. Despite their importance, most efforts are currently focused on their design, development, and deployment but do not fully address their validation. In this paper, we are interested in assessing the fidelity of physical and digital twins and, more specifically, whether they exhibit twinned behaviors. This will allow engineers to check the suitability of the digital twin for its intended purpose. Our approach assesses their fidelity by comparing the behavioral traces of the two twins. Our contribution is threefold. First, we define a measure of equivalence between individual snapshots capable of deciding whether two snapshots are sufficiently similar. Second, we use a trace alignment algorithm to align the corresponding equivalent states reached by the two twins. Finally, we measure the fidelity of the behavior of the two twins using the level of alignment achieved in terms of the percentage of matched snapshots and the distance between the aligned traces. Our proposal has been validated with the digital twins of four cyber-physical systems: an elevator, an incubator, a robotic arm, and a programmable robotic car. We were able to determine which systems were sufficiently faithful and which parts of their behavior failed to emulate their counterparts. Finally, we compared our proposal with similar approaches from the literature, highlighting their respective strengths and weaknesses related to our own.
Paula Muñoz 0001, Manuel Wimmer, Javier Troya, Antonio Vallecillo
IEEE Trans. Software Eng.2
2024 Scoping Software Engineering for AI: The TSE Perspective
abstract
Advances in Artificial Intelligence (AI), and in particular in Machine Learning (ML), are introducing profound changes to scholarly submissions across publication venues, affecting in particular the contributions that are being submitted to Software Engineering (SE) conferences and journals. In this context, it is not always clear whether manuscripts submitted to SE venues under the umbrella term SE for AI are indeed relevant to SE, in the sense that they explicitly contain contributions to the SE body of knowledge. This leads to recurring discussions on whether certain AI-related submissions are appropriate to SE venues, or should instead be submitted to other journals and conferences, including AI or ML-specific ones. In this editorial, we discuss the kinds of AI-related contributions that are a better fit-and a less good fit-for publication in the IEEE Transactions on Software Engineering.
Sebastián Uchitel, Marsha Chechik, Massimiliano Di Penta, Bram Adams, Nazareno Aguirre, Gabriele Bavota, Domenico Bianculli, Kelly Blincoe, Ana Cavalcanti 0001, Yvonne Dittrich, Filomena Ferrucci, Rashina Hoda, LiGuo Huang, David Lo 0001, Michael R. Lyu, Lei Ma 0003, Jonathan I. Maletic, Leonardo Mariani, Collin McMillan, Tim Menzies, Martin Monperrus, Ana Moreno, Nachiappan Nagappan, Liliana Pasquale, Patrizio Pelliccione, Michael Pradel, Rahul Purandare, Sukyoung Ryu, Mehrdad Sabetzadeh, Alexander Serebrenik, Jun Sun 0001, Chakkrit Tantithamthavorn, Christoph Treude, Manuel Wimmer, Yingfei Xiong 0001, Tao Yue 0002, Andy Zaidman, Tao Zhang 0001, Hao Zhong 0001
IEEE Trans. Software Eng.34
2023 Exploring Refactoring Operations for IEC 61499
abstract
In the domain of CPPS, long-term maintenance of software is necessary. Refactoring, a technique used to improve maintainability is a viable solution. However, there is a scarcity of research on refactoring in the context of CPPS. In this work, we propose a systematic approach for analyzing and deriving refactoring operations for IEC 61499. In particular, we propose a generic meta-model for block-based languages, which is accompanied by a corresponding generic refactoring catalog. Based on the generic meta-model, an existing refactoring catalog for IEC 61499 is extended by comparing and evaluating meta-models and their associated refactoring operations derived from literature of different modeling languages. We demonstrate that our approach provides a systematic way of transferring refactoring operations across block-based modeling languages and allows to extend existing refactoring collections for IEC 61499.
Michael Oberlehner, Andreas Eigner, Manuel Wimmer, Alois Zoitl
ETFA3
2023 A model-based mode-switching framework based on security vulnerability scores
abstract
Software vulnerabilities can affect critical systems within an organization impacting processes, workflows, privacy, and safety. When a software vulnerability becomes known, affected systems are at risk until appropriate updates become available and eventually deployed. This period can last from a few days to several months, during which attackers can develop exploits and take advantage of the vulnerability. It is tedious and time-consuming to keep track of vulnerabilities manually and perform necessary actions to shut down, update, or modify systems. Vulnerabilities affect system components, such as a web server, but sometimes only target specific versions or component combinations. In this paper, we propose a novel approach for automated mode switching of software systems to support system administrators in dealing with vulnerabilities and reducing the risk of exposure. We rely on model-driven techniques and use a multi-modal architecture to react to discovered vulnerabilities and provide automated contingency support. We have developed a dedicated domain-specific language to describe potential mitigation as mode switches. We have evaluated our approach with a web server case study, analyzing historical vulnerability data. Based on the vulnerabilities scores sum, we demonstrated that switching to less vulnerable modes reduced the attack surface in 98.9% of the analyzed time. Editor’s note: Open Science material was validated by the Journal of Systems and Software Open Science Board.
Michael Riegler 0002, Johannes Sametinger, Michael Vierhauser, Manuel Wimmer
J. Syst. Softw.4
2023 GRuM - A flexible model-driven runtime monitoring framework and its application to automated aerial and ground vehicles
abstract
Runtime monitoring is critical for ensuring safe operation and for enabling self-adaptive behavior of Cyber-Physical Systems (CPS). Monitors are established by identifying runtime properties of interest, creating probes to instrument the system, and defining constraints to be checked at runtime. For many systems, implementing and setting up a monitoring platform can be tedious and time-consuming, as generic monitoring platforms do not adequately cover domain-specific monitoring requirements. This situation is exacerbated when the System under Monitoring (SuM) evolves, requiring changes in the monitoring platform. Most existing approaches lack support for the automated generation and setup of monitors for diverse technologies and do not provide adequate support for dealing with system evolution. In this paper, we present GRuM (Generating CPS Runtime Monitors), a framework that combines model-driven techniques and runtime monitoring, to automatically generate a customized monitoring platform for a given SuM. Relevant properties are captured in a Domain Model Fragment, and changes to the SuM can be easily accommodated by automatically regenerating the platform code. To demonstrate the feasibility and performance we evaluated GRuM against two different systems using TurtleBot robots and Unmanned Aerial Vehicles. Results show that GRuM facilitates the creation and evolution of a runtime monitoring platform with little effort and that the platform can handle a substantial amount of events and data.
Michael Vierhauser, Antonio Garmendia, Marco Stadler, Manuel Wimmer, Jane Cleland-Huang
J. Syst. Softw.4
2022 Towards Interoperable Metamodeling Platforms: The Case of Bridging ADOxx and EMF
Dominik Bork, Konstantinos Anagnostou, Manuel Wimmer
CAiSE3
2022 Towards Reactive Planning with Digital Twins and Model-Driven Optimization
Martin Eisenberg, Daniel Lehner, Radek Sindelár, Manuel Wimmer
ISoLA (4)4
2022 From Coverage Computation to Fault Localization: A Generic Framework for Domain-Specific Languages
abstract
To test a system efficiently, we need to know how good are the defined test cases and to localize detected faults in the system. Measuring test coverage can address both concerns as it is a popular metric for test quality evaluation and, at the same time, is the foundation of advanced fault localization techniques. However, for Domain-Specific Languages (DSLs), coverage metrics and associated tools are usually manually defined for each DSL representing costly, error-prone, and non-reusable work.
Faezeh Khorram, Erwan Bousse, Antonio Garmendia, Jean-Marie Mottu, Gerson Sunyé, Manuel Wimmer
SLE6
2022 Engineering Web Augmentation software: A development method for enabling end-user maintenance
Diego Firmenich, Sergio Firmenich, Gustavo Rossi, Manuel Wimmer, Irene Garrigós, César González-Mora
Inf. Softw. Technol.4
2022 A Cross-Domain Systematic Mapping Study on Software Engineering for Digital Twins
Manuela Dalibor, Nico Jansen, Bernhard Rumpe, David Schmalzing, Louis Wachtmeister, Manuel Wimmer, Andreas Wortmann 0001
J. Syst. Softw.6
2022 Guest editorial to the theme section on AI-enhanced model-driven engineering
Loli Burgueño, Jordi Cabot, Manuel Wimmer, Steffen Zschaler
Softw. Syst. Model.3
2022 Low-code development and model-driven engineering: Two sides of the same coin?
abstract
Abstract The last few years have witnessed a significant growth of so-called low-code development platforms (LCDPs) both in gaining traction on the market and attracting interest from academia. LCDPs are advertised as visual development platforms, typically running on the cloud, reducing the need for manual coding and also targeting non-professional programmers. Since LCDPs share many of the goals and features of model-driven engineering approaches, it is a common point of debate whether low-code is just a new buzzword for model-driven technologies, or whether the two terms refer to genuinely distinct approaches. To contribute to this discussion, in this expert-voice paper, we compare and contrast low-code and model-driven approaches, identifying their differences and commonalities, analysing their strong and weak points, and proposing directions for cross-pollination.
Davide Di Ruscio, Dimitrios S. Kolovos, Juan de Lara, Alfonso Pierantonio, Massimo Tisi, Manuel Wimmer
Softw. Syst. Model.6
2022 Correction to: Low-code development and model-driven engineering: Two sides of the same coin?
abstract
3 states that "Codebots [7] uses UML to specify domain models that are consumed to automatically generate target artefacts, including complete REST APIs, client libraries, Swagger API documentation, and a JSON Schema definition for each domain object."
Davide Di Ruscio, Dimitrios S. Kolovos, Juan de Lara, Alfonso Pierantonio, Massimo Tisi, Manuel Wimmer
Softw. Syst. Model.6
2022 Guest editorial to the theme section on multi-level modeling
Adrian Rutle, Manuel Wimmer
Softw. Syst. Model.2
2022 MIKADO: a smart city KPIs assessment modeling framework
abstract
Abstract Smart decision making plays a central role for smart city governance. It exploits data analytics approaches applied to collected data, for supporting smart cities stakeholders in understanding and effectively managing a smart city. Smart governance is performed through the management of key performance indicators (KPIs), reflecting the degree of smartness and sustainability of smart cities. Even though KPIs are gaining relevance, e.g., at European level, the existing tools for their calculation are still limited. They mainly consist in dashboards and online spreadsheets that are rigid, thus making the KPIs evolution and customization a tedious and error-prone process. In this paper, we exploit model-driven engineering (MDE) techniques, through metamodel-based domain-specific languages (DSLs), to build a framework calledMIKADO for the automatic assessment of KPIs over smart cities. In particular, the approach provides support for both: (i) domain experts, by the definition of a textual DSL for an intuitive KPIs modeling process and (ii) smart cities stakeholders, by the definition of graphical editors for smart cities modeling. Moreover, dynamic dashboards are generated to support an intuitive visualization and interpretation of the KPIs assessed by our KPIs evaluation engine. We provide evaluation results by showing a demonstration case as well as studying the scalability of the KPIs evaluation engine and the general usability of the approach with encouraging results. Moreover, the approach is open and extensible to further manage comparison among smart cities, simulations, and KPIs interrelations.
Martina De Sanctis, Ludovico Iovino, Maria Teresa Rossi, Manuel Wimmer
Softw. Syst. Model.4
2022 Efficient Execution of ATL Model Transformations Using Static Analysis and Parallelism
abstract
Although model transformations are considered to be the heart and soul of Model Driven Engineering (MDE), there are still several challenges that need to be addressed to unleash their full potential in industrial settings. Among other shortcomings, their performance and scalability remain unsatisfactory for dealing with large models, making their wide adoption difficult in practice. This paper presents A2L, a compiler for the parallel execution of ATL model transformations, which produces efficient code that can use existing multicore computer architectures, and applies effective optimizations at the transformation level using static analysis. We have evaluated its performance in both sequential and multi-threaded modes obtaining significant speedups with respect to current ATL implementations. In particular, we obtain speedups between 2.32x and 38.28x for the A2L sequential version, and between 2.40x and 245.83x when A2L is executed in parallel, with expected average speedups of 8.59x and 22.42x, respectively.
Jesús Sánchez Cuadrado, Loli Burgueño, Manuel Wimmer, Antonio Vallecillo
IEEE Trans. Software Eng.3
2021 Towards Flexible Evolution of Digital Twins with Fluent APIs
abstract
With the increase of technologies such as the Internet of Things (IoT) and Cyber-Physical Systems, a huge amount of data is generated by current systems. To gain insights from this data, it must be combined with meta-information about its origins. Therefore, Digital Twins (DTs), as a common representation of a system and its data, are currently gaining traction in both industry and academia. However, these DTs have of course to be evolvable in order to reflect the high need of flexibility of the systems to support extensions, adaptations, customizations, etc. Evolving the DT representations currently not only involves a lot of manual effort, but might also lead to loss of data if not done correctly. To provide dedicated evolution support, we propose a dedicated framework for realizing evolution strategies between the schema, instance, and data level of a DT. In particular, we present a fluent API which allows the flexible but systematic manipulation of DTs during runtime and demonstrate its usage for a use case.
Daniel Lehner, Antonio Garmendia, Manuel Wimmer
ETFA3
2021 AML4DT: A Model-Driven Framework for Developing and Maintaining Digital Twins with AutomationML
abstract
As technologies such as the Internet of Things (IoT) and Cyber-Physical Systems (CPS) are becoming ubiquitous, systems adopting these technologies are getting increasingly complex. Digital Twins (DTs) provide comprehensive views on such systems, the data they generate during runtime, as well as their usage and evolution over time. Setting up the required infrastructure to run a Digital Twin is still an ambitious task that involves significant upfront efforts from domain experts, although existing knowledge about the systems, such as engineering models, may be already available for reuse. To address this issue, we present AML4DT, a model-driven framework supporting the development and maintenance of Digital Twin infrastructures by employing AutomationML (AML) models. We automatically establish a connection between systems and their DTs based on dedicated DT models. These DT models are automatically derived from existing AutomationML models, which are produced in the engineering phases of a system. Additionally, to alleviate the maintenance of the DTs, AML4DT facilitates the synchronization of the AutomationML models with the DT infrastructure for several evolution cases. A case study shows the benefits of developing and maintaining DTs based on AutomationML models using the proposed AML4DT framework. For this particular study, the effort of performing the required tasks could be reduced by about 50%.
Daniel Lehner, Sabine Sint, Michael Vierhauser, Wolfgang Narzt, Manuel Wimmer
ETFA5
2021 A Model-based Execution Framework for Interpreting Control Software
abstract
Industrial standards define domain-specific languages that are frequently used for developing control software. For instance, IEC 61499 standardizes a graphical modeling language that includes a platform-independent application model. The application is composed of Function Blocks. A runtime can execute the model by implementing the semantics that is described in the standard in natural language. By defining an interpreter for IEC 61499 models, we can directly execute them without prior code generation. This enables providing feedback directly on the model level. We present an interpreter for Basic Function Blocks, which encapsulate a state-based Execution Control Chart. An existing EMF meta-model for IEC 61499 was extended with an operational semantics implemented in Java and Xtend. The test cases are defined either in Java or as an interface model. Such a model is standardized in IEC 61499 as Service Sequences. We evaluate our interpreter by executing the Basic Function Blocks that are defined in the standard and compare our results to those of the open-source runtime 4diac FORTE. As a practical use case, we show how developers can use the interpreter for unit testing self-defined Basic Function Blocks.
Bianca Wiesmayr, Alois Zoitl, Antonio Garmendia, Manuel Wimmer
ETFA4
2021 Weaving Open Services with Runtime Models for Continuous Smart Cities KPIs Assessment
Martina De Sanctis, Ludovico Iovino, Maria Teresa Rossi, Manuel Wimmer
ICSOC4
2021 Leveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case Study
abstract
With JSON's increasing adoption, the need for structural constraints and validation capabilities led to JSON Schema, a dedicated meta-language to specify languages which are in turn used to validate JSON documents. Currently, the standardisation process of JSON Schema and the implementation of adequate tool support (e.g., validators and editors) are work in progress. However, the periodic issuing of newer JSON Schema drafts makes tool development challenging. Nevertheless, many JSON Schemas as language definitions exist, but JSON documents are still mostly edited in basic text-based editors. To tackle this challenge, we investigate in this paper how Model-Driven Engineering (MDE) methods for language engineering can help in this area. Instead of re-inventing the wheel of building up particular technologies directly for JSON, we study how the existing MDE infrastructures may be utilized for JSON. In particular, we present a bridge between the JSONware and Modelware technical spaces to exchange languages and documents. Based on this bridge, our approach supports language engineers, domain experts, and tool providers in editing, validating, and generating tool support with enhanced capabilities for JSON schemas and their documents. We evaluate our approach with Shipyard, a JSON Schema-based language for the workflow specification for Keptn, an open-source tool for DevOps automation of cloud-native applications. The results of the case study show that proper editors and language evolution support from MDE can be reused and, at the same time, the surface syntax of JSON is maintained.
Alessandro Colantoni, Antonio Garmendia, Luca Berardinelli, Manuel Wimmer, Johannes Bräuer
MoDELS4
2021 Towards Reinforcement Learning for In-Place Model Transformations
abstract
Model-driven optimization has gained much interest in the last years which resulted in several dedicated extensions for in-place model transformation engines. The main idea is to exploit domain-specific languages to define models which are optimized by applying a set of model transformation rules. Objectives are guiding the optimization processes which are currently mostly realized by meta-heuristic searchers such as different kinds of Genetic Algorithms. However, meta-heuristic search approaches are currently challenged by reinforcement learning approaches for solving optimization problems. In this new ideas paper, we apply for the first time reinforcement learning for in-place model transformations. In particular, we extend an existing model-driven optimization approach with reinforcement learning techniques. We experiment with value-based and policy-based techniques. We investigate several case studies for validating the feasibility of using reinforcement learning for model-driven optimization and compare the performance against existing approaches. The initial evaluation shows promising results but also helped in identifying future research lines for the whole model transformation community.
Martin Eisenberg, Hans-Peter Pichler, Antonio Garmendia, Manuel Wimmer
MoDELS4
2021 Guest editorial to the theme section on Multi-Paradigm Modeling for Cyber-Physical Systems
Eugene Syriani, Manuel Wimmer
Softw. Syst. Model.2
2021 Leveraging Iterative Plan Refinement for Reactive Smart Manufacturing Systems
abstract
Industry 4.0 production systems must support flexibility in various dimensions, such as for the products to be produced, for the production processes to be applied, and for the available machinery. In this article, we present a novel approach to design and control smart manufacturing systems. The approach is reactive, that is responds to unplanned situations and implements an iterative refinement technique, that is, optimizes itself during runtime to better accommodate production goals. For realizing these advances, we present a model-driven methodology and we provide a prototypical implementation of such a production system. In particular, we employ Planning Domain Definition Language (PDDL) as our artificial intelligence environment for automated planning of production processes and combine it with one of the most prominent Industry 4.0 standards for the fundamental production system model: IEC 62264. We show how to plan the assembly of small trucks from available components and how to assign specific production operations to available production resources, including robotic manipulators and transportation system shuttles. Results of the evaluation indicate that the presented approach is feasible and that it is able to significantly strengthen the flexibility of production systems during runtime. Note to Practitioners-Smart production is an umbrella for a number of shifts and initiatives that deal with digitization of manufacturing/production systems and related issues and potentials. In this work, we present an approach for utilizing automated planning for creating production plans. This is in contrast to the traditional approach, where recipes are programmed into the production system ahead-of-time. However, automated planning relies on specific languages and tools that are hard to master by nonexperts, which is a factor that strongly limited the utilization of plan-driven approaches for industrial automation in practice. Thus, we propose to generate planning tasks automatically with model-driven engineering techniques. We are utilizing the industrial standard IEC 62264 for the description of the production system, and the academic standard Planning Domain Definition Language (PDDL) for planning. PDDL is handled completely transparent to the user, that is the user is shielded from its complexity by employing the IEC 62264 model as the sole frontend.
Bernhard Wally, Jirí Vyskocil, Christian Huemer, Radek Sindelár, Petr Kadera, Alexandra Mazak-Huemer, Manuel Wimmer
IEEE Trans Autom. Sci. Eng.8
2021 Dealing with Non-Functional Requirements in Model-Driven Development: A Survey
abstract
Context: Managing Non-Functional Requirements (NFRs) in software projects is challenging, and projects that adopt Model-Driven Development (MDD) are no exception. Although several methods and techniques have been proposed to face this challenge, there is still little evidence on how NFRs are handled in MDD by practitioners. Knowing more about the state of the practice may help researchers to steer their research and practitioners to improve their daily work. Objective: In this paper, we present our findings from an interview-based survey conducted with practitioners working in 18 different companies from 6 European countries. From a practitioner's point of view, the paper shows what barriers and benefits the management of NFRs as part of the MDD process can bring to companies, how NFRs are supported by MDD approaches, and which strategies are followed when (some) types of NFRs are not supported by MDD approaches. Results: Our study shows that practitioners perceive MDD adoption as a complex process with little to no tool support for NFRs, reporting productivity and maintainability as the types of NFRs expected to be supported when MDD is adopted. But in general, companies adapt MDD to deal with NFRs. When NFRs are not supported, the generated code is sometimes changed manually, thus compromising the maintainability of the software developed. However, the interviewed practitioners claim that the benefits of using MDD outweight the extra effort required by these manual adaptations. Conclusion: Overall, the results indicate that it is important for practitioners to handle `NFRs in MDD, but further research is necessary in order to lower the barrier for supporting a broad spectrum of NFRs with MDD. Still, much conceptual and tool implementation work seems to be necessary to lower the barrier of integrating the broad spectrum of NFRs in practice.
David Ameller, Xavier Franch, Cristina Gómez 0001, Silverio Martínez-Fernández, João Araújo 0001, Stefan Biffl, Jordi Cabot, Vittorio Cortellessa, Daniel Méndez 0001, Ana Moreira 0001, Henry Muccini, Antonio Vallecillo, Manuel Wimmer, Vasco Amaral 0001, Wolfgang Böhm 0002, Hugo Bruneliere, Loli Burgueño, Miguel Goulão, Sabine Teufl, Luca Berardinelli
IEEE Trans. Software Eng.13
2020 A Flexible Architecture for Key Performance Indicators Assessment in Smart Cities
Martina De Sanctis, Ludovico Iovino, Maria Teresa Rossi, Manuel Wimmer
ECSA4
2020 Modelling Production System Families with AutomationML
abstract
The description of families of production systems usually relies on the use of variability modelling. This aspect of modelling is gaining increasing interest with the emergence of Industry 4.0 to facilitate the product development as new requirements appear. As a consequence, there are several emerging modelling techniques able to apply variability in different domains. In this paper, we introduce an approach to establish product system families in AutomationML. Our approach is based on the definition of feature models describing the variability space, and on the assignment of presence conditions to AutomationML model elements. These conditions (de-)select the model elements depending on the chosen configuration. This way, it is possible to model a large set of model variants in a compact way using one single model. To realize our approach, we started from an existing EMF-based AutomationML workbench providing graphical modelling support. From these artifacts, we synthesized an extended graphical modelling editor with variability support, integrated with FeatureIDE. Furthermore, we validated our approach by creating and managing a production system family encompassing six scenarios of the Pick and Place Unit Industry 4.0 demonstrator.
Antonio Garmendia, Manuel Wimmer, Alexandra Mazak-Huemer, Esther Guerra, Juan de Lara
ETFA2
2020 Towards a Reference Architecture for Leveraging Model Repositories for Digital Twins
abstract
In the area of Cyber-Physical Systems (CPS), the degree of complexity continuously increases mainly due to new key-enabling technologies supporting those systems. One way to deal with this increasing complexity is to create a digital representation of such systems, a so-called Digital Twin (DT), which virtually acts in parallel ideally across the entire life-cycle of a CPS. For this purpose, the DT uses simulated or real-time data to mimic operations, control, and may modify the CPS's behaviour at runtime. However, building such DTs from scratch is not trivial, mainly due to the integration needed to deal with heterogeneous systems residing in different technological spaces. In order to tackle this challenge, Model-Driven Engineering (MDE) allows to logically model a CPS with its physical components. Usually, in MDE such "logical models" are created at design time which keep them detached from the deployed system during runtime. Instead of building bilateral solutions between each runtime environment and every engineering tool, a dedicated integration layer is needed which can deal with both, design and runtime aspects. Therefore, we present a reference architecture that allows on the one side to query data from model repositories to enrich the running system with design-time knowledge, and on the other side, to be able to reasoning about system states at runtime in design-time models. We introduce a model repository query and management engine as mediator and show its feasibility by a demonstration case.
Daniel Lehner, Sabine Sint, Alexandra Mazak-Huemer, Manuel Wimmer
ETFA4
2020 Automated variability injection for graphical modelling languages
abstract
Model-based development approaches, such as Model-Driven Engineering (MDE), heavily rely on the use of modelling languages to achieve and automate software development tasks. To enable the definition of model variants (e.g., supporting the compact description of system families), one solution is to combine MDE with Software Product Lines. However, this is technically costly as it requires adapting many MDE artefacts associated to the modelling language -- especially the meta-models and graphical environments. To alleviate this situation, we propose a method for the automated injection of variability into graphical modelling languages. Given the meta-model and graphical environment of a particular language, our approach permits configuring the allowed model variability, and the graphical environment is automatically adapted to enable creating models with variability. Our solution is implemented atop the Eclipse Modeling Framework and Sirius, and synthesizes adapted graphical editors integrated with FeatureIDE.
Antonio Garmendia, Manuel Wimmer, Esther Guerra, Elena Gómez-Martínez, Juan de Lara
GPCE2
2020 Towards Integrating Data-Driven Requirements Engineering into the Software Development Process: A Vision Paper
Xavier Franch, Norbert Seyff, Marc Oriol, Samuel Fricker, Iris Groher, Michael Vierhauser, Manuel Wimmer
REFSQ7
2020 Multi-criteria test cases selection for model transformations
Bader Alkhazi, Chaima Abid, Marouane Kessentini, Dorian Leroy, Manuel Wimmer
Autom. Softw. Eng.5
2020 On the value of quality attributes for refactoring ATL model transformations: A multi-objective approach
Bader Alkhazi, Chaima Abid, Marouane Kessentini, Manuel Wimmer
Inf. Softw. Technol.4
2020 Behavioral interfaces for executable DSLs
abstract
Abstract Executable domain-specific languages (DSLs) enable the execution of behavioral models. While an execution is mostly driven by the model content (e.g., control structures), many use cases require interacting with the running model, such as simulating scenarios in an automated or interactive way, or coupling the model with other models of the system or environment. The management of these interactions is usually hardcoded into the semantics of the DSL, which prevents its reuse for other DSLs and the provision of generic interaction-centric tools (e.g., event injector). In this paper, we propose a metalanguage for complementing the definition of executable DSLs with explicit behavioral interfaces to enable external tools to interact with executed models in a unified way. We implemented the proposed metalanguage in the GEMOC Studio and show how behavioral interfaces enable the realization of tools that are generic and thus usable for different executable DSLs.
Dorian Leroy, Erwan Bousse, Manuel Wimmer, Tanja Mayerhofer, Benoît Combemale, Wieland Schwinger
Softw. Syst. Model.3
2020 Thirteen years of SysML: a systematic mapping study
abstract
The OMG standard Systems Modeling Language (SysML) has been on the market for about thirteen years. This standard is an extended subset of UML providing a graphical modeling language for designing complex systems by considering software as well as hardware parts. Over the period of thirteen years, many publications have covered various aspects of SysML in different research fields. The aim of this paper is to conduct a systematic mapping study about SysML to identify the different categories of papers, (i) to get an overview of existing research topics and groups, (ii) to identify whether there are any publication trends, and (iii) to uncover possible missing links. We followed the guidelines for conducting a systematic mapping study by Petersen et al. (Inf Softw Technol 64:1–18, 2015 ) to analyze SysML publications from 2005 to 2017. Our analysis revealed the following main findings: (i) there is a growing scientific interest in SysML in the last years particularly in the research field of Software Engineering, (ii) SysML is mostly used in the design or validation phase, rather than in the implementation phase, (iii) the most commonly used diagram types are the SysML-specific requirement diagram, parametric diagram, and block diagram, together with the activity diagram and state machine diagram known from UML, (iv) SysML is a specific UML profile mostly used in systems engineering; however, the language has to be customized to accommodate domain-specific aspects, (v) related to collaborations for SysML research over the world, there are more individual research groups than large international networks. This study provides a solid basis for classifying existing approaches for SysML. Researchers can use our results (i) for identifying open research issues, (ii) for a better understanding of the state of the art, and (iii) as a reference for finding specific approaches about SysML.
Sabine Sint, Alexandra Mazak-Huemer, Christine Carpella, Verena Geist, Manuel Wimmer
Softw. Syst. Model.5
2020 Modeling languages in Industry 4.0: an extended systematic mapping study
Andreas Wortmann 0001, Olivier Barais, Benoît Combemale, Manuel Wimmer
Softw. Syst. Model.4
2019 Automatic Reverse Engineering of Interaction Models from System Logs
abstract
Nowadays, software-as well as hardware systems produce log files that enable a continuous monitoring of the system during its execution. Unfortunately, such text-based log traces are very long and difficult to read, and therefore, reasoning and analyzing runtime behavior is not straightforward. However, dealing with log traces is especially needed in cases, where (i) the execution of the system did not perform as intended, (ii) the process flow is unknown because there are no records, and/or (iii) the design models do not correspond to its real-world counterpart. These facts cause that log data has to be prepared in a more user-friendly way (e.g., in form of graphical representations) and algorithms are needed for automatically monitoring the system's operation, and for tracking the system components interaction patterns. For this purpose we present an approach for transforming raw sensor data logs to a UML or SysML sequence diagram in order to provide a graphical representation for tracking log traces in a time-ordered manner. Based on this sequence diagram, we automatically identify interaction models in order to analyze the runtime behavior of system components. We implement this approach as prototypical plug-in in the modeling tool Enterprise Architect and evaluate it by an example of a self-driving car.
Sabine Sint, Alexandra Mazak-Huemer, Manuel Wimmer
ETFA3
2019 Production Planning with IEC 62264 and PDDL
abstract
Smart production systems need to be able to adapt to changing environments and market needs. They have to reflect changes in (i) the reconfiguration of the production systems themselves, (ii) the processes they perform or (iii) the products they produce. Manual intervention for system adaptation is costly and potentially error-prone. In this article, we propose a model-driven approach for the automatic generation and regeneration of production plans that can be triggered anytime a change in any of the three aforementioned parameters occurs.
Bernhard Wally, Jirí Vyskocil, Christian Huemer, Radek Sindelár, Petr Kadera, Alexandra Mazak-Huemer, Manuel Wimmer
INDIN8
2019 Domain-Level Observation and Control for Compiled Executable DSLs
abstract
Executable Domain-Specific Languages (DSLs) are commonly defined with either operational semantics (i.e., interpretation) or translational semantics (i.e., compilation). An interpreted DSL relies on domain concepts to specify the possible execution states and steps, which enables the observation and control of executions using the very same domain concepts. In contrast, a compiled DSL relies on a transformation to an arbitrarily different target language. This creates a conceptual gap, where the execution can only be observed and controlled through target domain concepts, to the detriment of experts or tools that only understand the source domain. To address this problem, we propose a language engineering architecture for compiled DSLs that enables the observation and control of executions using source domain concepts. The architecture requires the definition of the source domain execution steps and states, along with a feedback manager that translates steps and states of the target domain back to the source domain. We evaluate the architecture with two different compiled DSLs, and show that it does enable domain-level observation and control while increasing execution time by 2× in the worst observed case.
Erwan Bousse, Manuel Wimmer
MoDELS2
2019 Specifying quantities in software models
Loli Burgueño, Tanja Mayerhofer, Manuel Wimmer, Antonio Vallecillo
Inf. Softw. Technol.3
2019 Automated metamodel/model co-evolution: A search-based approach
Wael Kessentini, Houari Sahraoui, Manuel Wimmer
Inf. Softw. Technol.3
2019 Managing inter-model inconsistencies in model-based systems engineering: Application in automated production systems engineering
Stefan Feldmann, Konstantin Kernschmidt, Manuel Wimmer, Birgit Vogel-Heuser
J. Syst. Softw.3
2019 A local and global tour on MOMoT
Robert Bill, Martin Fleck, Javier Troya, Tanja Mayerhofer, Manuel Wimmer
Softw. Syst. Model.5
2019 Introduction to the STAF 2015 special section
Jasmin Blanchette, Francis Bordeleau, Alfonso Pierantonio, Nikolai Kosmatov, Gabriele Taentzer, Manuel Wimmer
Softw. Syst. Model.6
2019 A feature-based survey of model view approaches
Hugo Bruneliere, Erik Burger, Jordi Cabot, Manuel Wimmer
Softw. Syst. Model.4
2019 Contents for a Model-Based Software Engineering Body of Knowledge
abstract
Although Model-Based Software Engineering (MBE) is a widely accepted Software Engineering (SE) discipline, no agreed-upon core set of concepts and practices (i.e., a Body of Knowledge) has been defined for it yet. With the goals of characterizing the contents of the MBE discipline, promoting a global consistent view of it, clarifying its scope with regard to other SE disciplines, and defining a foundation for the development of educational curricula on MBE, this paper proposes the contents for a Body of Knowledge for MBE. We also describe the methodology that we have used to come up with the proposed list of contents, as well as the results of a survey study that we conducted to sound out the opinion of the community on the importance of the proposed topics and their level of coverage in the existing SE curricula.
Loli Burgueño, Federico Ciccozzi, Michalis Famelis, Gerti Kappel, Leen Lambers, Sébastien Mosser 0001, Richard F. Paige, Alfonso Pierantonio, Arend Rensink, Rick Salay, Gabriele Taentzer, Antonio Vallecillo, Manuel Wimmer
Softw. Syst. Model.13
2018 Trace Comprehension Operators for Executable DSLs
Dorian Leroy, Erwan Bousse, Anaël Megna, Benoît Combemale, Manuel Wimmer
ECMFA5
2018 TemporalEMF: A Temporal Metamodeling Framework
Abel Gómez 0001, Jordi Cabot, Manuel Wimmer
ER3
2018 A Variability Information Model for OPC UA
abstract
OPC Unified Architecture (UA) is a powerful technology for modeling and instantiating domain-specific information in a standardized manner. Its initial application scenario is in the domain of automated production systems, that increasingly have to deal with variability information, (i) regarding the products being manufactured and (ii) regarding the production systems themselves. In this work we propose a non-intrusive OPC UA information model for the modeling and querying of variability information using feature models, which are a well-known paradigm in the management of software product lines. Our information model can be applied “aside” existing domain information without interfering with their internal structure.
Bernhard Wally, Christian Huemer, Alexandra Mazak-Huemer, Manuel Wimmer
ETFA4
2018 A Feature-based Survey of Model View Approaches
abstract
No abstract available.
Hugo Bruneliere, Erik Burger, Jordi Cabot, Manuel Wimmer
MoDELS4
2018 Integrating the Designer in-the-loop for Metamodel/Model Co-Evolution via Interactive Computational Search
abstract
Metamodels evolve even more frequently than programming languages. This evolution process may result in a large number of instance models that are no longer conforming to the revised meta-model. On the one hand, the manual adaptation of models after the metamodels' evolution can be tedious, error-prone, and time-consuming. On the other hand, the automated co-evolution of metamodels/models is challenging especially when new semantics is introduced to the metamodels. In this paper, we propose an interactive multi-objective approach that dynamically adapts and interactively suggests edit operations to developers and takes their feedback into consideration. Our approach uses NSGA-II to find a set of good edit operation sequences that minimizes the number of conformance errors, maximizes the similarity with the initial model (reduce the loss of information) and minimizes the number of proposed edit operations. The designer can approve, modify, or reject each of the recommended edit operations, and this feedback is then used to update the proposed rankings of recommended edit operations. We evaluated our approach on a set of metamodel/model coevolution case studies and compared it to fully automated coevolution techniques.
Wael Kessentini, Manuel Wimmer, Houari Sahraoui
MoDELS2
2018 Towards a Language Server Protocol Infrastructure for Graphical Modeling
abstract
The development of modern IDEs is still a challenging and time-consuming task, which requires implementing the support for language-specific features such as syntax highlighting or validation. When the IDE targets a graphical language, its development becomes even more complex due to the rendering and manipulation of the graphical notation symbols. To simplify the development of IDEs, the Language Server Protocol (LSP) proposes a decoupled approach based on language-agnostic clients and language-specific servers. LSP clients communicate changes to LSP servers, which validate and store language instances. However, LSP only addresses textual languages (i.e., character as atomic unit) and neglects the support for graphical ones (i.e., nodes/edges as atomic units). In this paper, we present our vision to decouple graphical language IDEs discussing the alternatives for integrating LSP's ideas in their development. Moreover, we propose a novel LSP infrastructure to simplify the development of new graphical modeling tools, in which Web technologies may be used for editor front-ends while leveraging existing modeling frameworks to build language servers.
Roberto Rodríguez-Echeverría, Javier Luis Cánovas Izquierdo, Manuel Wimmer, Jordi Cabot
MoDELS3
2018 Automated Co-evolution of Metamodels and Transformation Rules: A Search-Based Approach
abstract
Metamodels frequently change over time by adding new concepts or changing existing ones to keep track with the evolving problem domain they aim to capture. This evolution process impacts several depending artifacts such as model instances, constraints, as well as transformation rules. As a consequence, these artifacts have to be co-evolved to ensure their conformance with new metamodel versions. While several studies addressed the problem of metamodel/model co-evolution (Please note the potential name clash for the term co-evolution. In this paper, we refer to the problem of having to co-evolve different dependent artifacts in case one of them changes. We are not referring to the application or adaptation of co-evolutionary search algorithms.), the co-evolution of metamodels and transformation rules has been less studied. Currently, programmers have to manually change model transformations to make them consistent with the new metamodel versions which require the detection of which transformations to modify and how to properly change them. In this paper, we propose a novel search-based approach to recommend transformation rule changes to make transformations coherent with the new metamodel versions by finding a trade-off between maximizing the coverage of metamodel changes and minimizing the number of static errors in the transformation and the number of applied changes to the transformation. We implemented our approach for the ATLAS Transformation Language (ATL) and validated the proposed approach on four co-evolution case studies. We demonstrate the outperformance of our approach by comparing the quality of the automatically generated co-evolution solutions by NSGA-II with manually revised transformations, one mono-objective algorithm, and random search.
Wael Kessentini, Houari Sahraoui, Manuel Wimmer
SSBSE3
2018 Automated modelling assistance by integrating heterogeneous information sources
abstract
Model-Driven Engineering (MDE) uses models as its main assets in the software development process. The structure of a model is described through a meta-model. Even though modelling and meta-modelling are recurrent activities in MDE and a vast amount of MDE tools exist nowadays, they are tasks typically performed in an unassisted way. Usually, these tools cannot extract useful knowledge available in heterogeneous information sources like XML, RDF, CSV or other models and meta-models. We propose an approach to provide modelling and meta-modelling assistance. The approach gathers heterogeneous information sources in various technological spaces, and represents them uniformly in a common data model. This enables their uniform querying, by means of an extensible mechanism, which can make use of services, e.g., for synonym search and word sense analysis. The query results can then be easily incorporated into the (meta-)model being built. The approach has been realized in the Extremo tool, developed as an Eclipse plugin. Extremo has been validated in the context of two domains – production systems and process modelling – taking into account a large and complex industrial standard for classification and product description. Further validation results indicate that the integration of Extremo in various modelling environments can be achieved with low effort, and that the tool is able to handle information from most existing technological spaces.
Ángel Mora Segura, Juan de Lara, Patrick Neubauer, Manuel Wimmer
Comput. Lang. Syst. Struct.4
2018 Omniscient debugging for executable DSLs
Erwan Bousse, Dorian Leroy, Benoît Combemale, Manuel Wimmer, Benoit Baudry
J. Syst. Softw.4
2018 Leveraging annotation-based modeling with Jump
abstract
The capability of UML profiles to serve as annotation mechanism has been recognized in both research and industry. Today’s modeling tools offer profiles specific to platforms, such as Java, as they facilitate model-based engineering approaches. However, considering the large number of possible annotations in Java, manually developing the corresponding profiles would only be achievable by huge development and maintenance efforts. Thus, leveraging annotation-based modeling requires an automated approach capable of generating platform-specific profiles from Java libraries. To address this challenge, we present the fully automated transformation chain realized by Jump , thereby continuing existing mapping efforts between Java and UML by emphasizing on annotations and profiles. The evaluation of Jump shows that it scales for large Java libraries and generates profiles of equal or even improved quality compared to profiles currently used in practice. Furthermore, we demonstrate the practical value of Jump by contributing profiles that facilitate reverse engineering and forward engineering processes for the Java platform by applying it to a modernization scenario.
Alexander Bergmayr, Michael Grossniklaus, Manuel Wimmer, Gerti Kappel
Softw. Syst. Model.3
2018 Full contract verification for ATL using symbolic execution
Bentley Oakes, Javier Troya, Levi Lucio, Manuel Wimmer
Softw. Syst. Model.4
2018 A Model-Driven Engineering Workbench for CAEX Supporting Language Customization and Evolution
abstract
Computer Aided Engineering Exchange (CAEX) is one of the most promising standards when it comes to data exchange between engineering tools in the production system automation domain. This is also reflected by the current emergence of AutomationML (AML), which uses CAEX as its core representation language. However, with the increasing use of CAEX, important language engineering challenges arise. One of these challenges is the customization of CAEX for its usage in superior standards, such as AML, which requires the precise specification of the language including the formalization and validation of additional usage rules. Another highly topical challenge is the ongoing evolution of CAEX as has recently happened with the transition from version 2.15 to version 3.0. Further challenges include the provisioning of editing facilities and visualizations of CAEX documents such that they can be inspected and modified by engineers, and the development of transformations from and to CAEX such that different engineering artifacts can be exchanged via CAEX. In this paper, we take a language engineering point of view and present a model-driven engineering (MDE) workbench for CAEX that allows to address these and other challenges. In particular, we present how CAEX can be formulated in a model-based framework, which allows the application of MDE techniques, such as model validation, migration, editing, visualization, and transformation techniques, to solve a diverse set of language engineering challenges experienced for CAEX. We give an overview of the developed workbench and illustrate its benefits with a focus on customizing CAEX for AML and evolving CAEX documents from version 2.15 to 3.0.
Tanja Mayerhofer, Manuel Wimmer, Luca Berardinelli, Rainer Drath
IEEE Trans. Ind. Informatics2
2017 Model-based engineering and virtual commissioning of cyber-physical manufacturing systems - Transportation system case study
abstract
Emerging manufacturing systems are becoming complex while their engineering and ramp-up phases have to be as short as possible in order to decrease the reaction time to new market demands as well as to minimize production line down-times causing financial losses. Since engineering knowledge is not shared satisfactorily, virtual commissioning of industrial plants is very complicated. This paper contributes to a better synthesis and analysis of manufacturing lines by integrating the simulation of manufacturing systems with the tool Siemens Plant Simulation and their engineering with Schmid P'X5 Configurator for Montratec. The proposed approach is based on the model-based techniques and it is demonstrated on a laboratory-scaled use-case showing its efficiency.
Petr Kadera, Manuel Wimmer
ETFA3
2017 Cardinality-based variability modeling with AutomationML
abstract
Variability modeling is an emerging topic in the general field of systems engineering and, with current trends such as Industrie 4.0, it gains more and more interest in the domain of production systems. Therefore, it is not sufficient to describe systems in several specific cases, but instead families of systems have to be used. In this paper we introduce a role class library for AutomationML to explicitly represent variability. This allows to exchange not only system descriptions but also system family descriptions. We argue for a light-weight extension of AutomationML. The variability-based modeling approach is based on cardinalities, which is a well-known concept from conceptual modeling and feature modeling. Furthermore, we also show how instantiations of variability models can be validated by our EMF-based AutomationML workbench.
Manuel Wimmer, Radek Sindelár, Luca Berardinelli, Tanja Mayerhofer, Alexandra Mazak-Huemer
ETFA1
2017 Towards Stochastic Performance Models for Web 2.0 Applications
Johannes Artner, Alexandra Mazak-Huemer, Manuel Wimmer
ICWE3
2017 Towards Automatic Generation of Web-Based Modeling Editors
Manuel Wimmer, Irene Garrigós, Sergio Firmenich
ICWE1
2017 Virtual textual model composition for supporting versioning and aspect-orientation
abstract
The maintenance of modern systems often requires developers to perform complex and error-prone cognitive tasks, which are caused by the obscurity, redundancy, and irrelevancy of code, distracting from essential maintenance tasks. Typical maintenance scenarios include multiple branches of code in repositories, which involves dealing with branch-interdependent changes, and aspects in aspect-oriented development, which requires in-depth knowledge of behavior-interdependent changes. Thus, merging branched files as well as validating the behavior of statically composed code requires developers to conduct exhaustive individual introspection.
Robert Bill, Patrick Neubauer, Manuel Wimmer
SLE3
2017 Automated generation of consistency-achieving model editors
abstract
The advances of domain-specific modeling languages (DSMLs) and their editors created with modern language work-benches, have convinced domain experts of applying them as important and powerful means in their daily endeavors. Despite the fact that such editors are proficient in retaining syntactical model correctness, they present major shortages in mastering the preservation of consistency in models with elaborated language-specific constraints which require language engineers to manually implement sophisticated editing capabilities. Consequently, there is a demand for automating procedures to support editor users in both comprehending as well as resolving consistency violations. In this paper, we present an approach to automate the generation of advanced editing support for DSMLs offering automated validation, content-assist, and quick fix capabilities beyond those created by state-of-the-art language workbenches that help domain experts in retaining and achieving the consistency of models. For validation, we show potential error causes for violated constraints, instead of only the context in which constraints are violated. The state-space explosion problem is mitigated by our approach resolving constraint violations by increasing the neighborhood scope in a three-stage process, seeking constraint repair solutions presented as quick fixes to the editor user. We illustrate and provide an initial evaluation of our approach based on an Xtext-based DSML for modeling service clusters.
Patrick Neubauer, Robert Bill, Tanja Mayerhofer, Manuel Wimmer
SANER4
2017 Modernizing domain-specific languages with XMLText and IntellEdit
abstract
The necessity of software evolution caused by novel requirements is often triggered alongside the advancement of underlying languages and tools. Although modern language workbenches decrease the opportunity cost of creating new language implementations, they do not offer automated and complete integration of existing languages. Moreover, they still require complex language engineering skills and extensive manual implementation effort to suit the expectations of domain experts, e.g., in terms of editor capabilities. In this work we present XMLIntellEdit-a framework for evolving domain-specific languages by automating the generation of modernized languages offering advanced editing capabilities, such as extended validation, content-assist, and quick fix solutions. Our approach builds on techniques from Model-Driven Engineering and Search-based Software Engineering research. Initial results indicate that XML Schema definitions containing restrictions can be applied for the automated generation of advanced editing facilities.
Patrick Neubauer, Robert Bill, Manuel Wimmer
SANER3
2017 Search-based detection of model level changes
Marouane Kessentini, Usman Mansoor, Manuel Wimmer, Ali Ouni 0001, Kalyanmoy Deb
Empir. Softw. Eng.3
2017 Multi-view refactoring of class and activity diagrams using a multi-objective evolutionary algorithm
Usman Mansoor, Marouane Kessentini, Manuel Wimmer, Kalyanmoy Deb
Softw. Qual. J.3
2017 Model Transformation Modularization as a Many-Objective Optimization Problem
abstract
Model transformation programs are iteratively refined, restructured, and evolved due to many reasons such as fixing bugs and adapting existing transformation rules to new metamodels version. Thus, modular design is a desirable property for model transformations as it can significantly improve their evolution, comprehensibility, maintainability, reusability, and thus, their overall quality. Although language support for modularization of model transformations is emerging, model transformations are created as monolithic artifacts containing a huge number of rules. To the best of our knowledge, the problem of automatically modularizing model transformation programs was not addressed before in the current literature. These programs written in transformation languages, such as ATL, are implemented as one main module including a huge number of rules. To tackle this problem and improve the quality and maintainability of model transformation programs, we propose an automated search-based approach to modularize model transformations based on higher-order transformations. Their application and execution is guided by our search framework which combines an in-place transformation engine and a search-based algorithm framework. We demonstrate the feasibility of our approach by using ATL as concrete transformation language and NSGA-III as search algorithm to find a trade-off between different well-known conflicting design metrics for the fitness functions to evaluate the generated modularized solutions. To validate our approach, we apply it to a comprehensive dataset of model transformations. As the study shows, ATL transformations can be modularized automatically, efficiently, and effectively by our approach. We found that, on average, the majority of recommended modules, for all the ATL programs, by NSGA-III are considered correct with more than 84 percent of precision and 86 percent of recall when compared to manual solutions provided by active developers. The statistical analysis of our experiments over several runs shows that NSGA-III performed significantly better than multi-objective algorithms and random search. We were not able to compare with existing model transformations modularization approaches since our study is the first to address this problem. The software developers considered in our experiments confirm the relevance of the recommended modularization solutions for several maintenance activities based on different scenarios and interviews.
Martin Fleck, Javier Troya, Marouane Kessentini, Manuel Wimmer, Bader Alkhazi
IEEE Trans. Software Eng.4
2016 From Architecture Modeling to Application Provisioning for the Cloud by Combining UML and TOSCA
abstract
\n Recent efforts to standardize a deployment modeling language for\n cloud applications resulted in TOSCA. At the same time, the software\n modeling standard UML supports architecture modeling from different\n viewpoints. Combining these standards from cloud computing and\n software engineering would allow engineers to refine UML\n architectural models into TOSCA deployment models that enable\n automatic provisioning of cloud applications. However, this\n refinement task is currently carried out manually by recreating\n TOSCA models from UML models because a conceptual mapping between\n the two languages as basis for an automated translation is missing.\n In this paper, we exploit cloud modeling extensions to UML called\n CAML as the basis for our approach CAML2TOSCA, which aims at\n bridging UML and TOSCA. The validation of our approach shows that\n UML models can directly be injected into a TOSCA-based provisioning\n process. As current UML modeling tools lack cloud-based refinement\n support for deployment models, the added value of CAML2TOSCA is\n emphasized because it provides the glue between architecture\n modeling and application provisioning.\n
Alexander Bergmayr, Uwe Breitenbücher, Oliver Kopp, Manuel Wimmer, Gerti Kappel, Frank Leymann
CLOSER (2)4
2016 Automated Metamodel/Model Co-evolution Using a Multi-objective Optimization Approach
Wael Kessentini, Houari Sahraoui, Manuel Wimmer
ECMFA3
2016 An Extensible Meta-Modelling Assistant
abstract
Meta-models play a pivotal role in Model-Driven Engineering (MDE). They are used to create domain-specific models, and to type model management operations like model transformations or code generators. However, even though creating meta-models is a common activity, it is currently mostly a manual activity, which does not profit from existing knowledge. In order to facilitate the meta-modelling task, we propose an extensible meta-modelling assistant. While primarily focussed on helping in the creation of meta- models, it can also help in creating models. The assistant permits the provision of heterogeneous data description sources (like ontologies, RDF data, XML schemas, database schemas and meta-models), and enables their uniform querying. Different kinds of queries are supported, and improved through synonym search. Query results are prioritized through sense disambiguation, can be graphically visualized, and incorporated into the (meta-)model being built. The assistant has been realized within Eclipse, and its architecture has been designed to be independent of the meta-modelling technology used. As a proof- of-concept, we show its integration within DSL-tao, a pattern-based meta-modelling tool built by our group, and two other tools developed by third-parties. The usefulness of the system is illustrated with a running example in the process modelling domain.
Ángel Mora Segura, Ana Pescador, Juan de Lara, Manuel Wimmer
EDOC4
2016 On the evolution of CAEX: A language engineering perspective
abstract
CAEX is one of the most promising standards when it comes to data exchange between engineering tools in the production system automation domain. This is also reflected by the current emergence of AutomationML, which uses CAEX as its core representation data format. Having such standards at hand, the question arises how to deal with the evolution of such standards as is currently happening with the transition from CAEX 2.15 to CAEX 3.0. In this paper, we take a language engineering point of view to the evolution of engineering data formats. In particular, we present how CAEX can be formulated in a model-based framework, which allows to reason about evolution of the data format as well as its impact on the data stored in such evolving formats. By this, not only the migration process of existing data to the new format version is possible, but also a more theoretical investigation on information preservation is possible. We demonstrate the approach by the concrete case of the upcoming CAEX evolution.
Luca Berardinelli, Rainer Drath, Emanuel Mätzler, Manuel Wimmer
ETFA4
2016 Investigating model slicing capabilities on integrated plant models with AutomationML
abstract
Typical large-scale systems engineering projects depend on seamless cooperation and data exchange of experts from various engineering domains and organizations that work in a heterogeneous engineering environment. Available software tools support individual engineering disciplines quite well, but they only represent a discipline-specific view on the engineering plant. Consequently, a so-called integrated plant model captures and combines all different views into one representation in order to provide an overarching, discipline-independent view on the engineering plant. However, in order to support effective engineering processes, like change management, stakeholders need to be able to (a) define the scope of their changes they want to merge into the integrated plant model rather than the latest status of their view with various fragile adaptations, and (b) extract only engineering information from integrated plant model which is in the scope of the stakeholders's discipline and interest. In this paper, we describe requirements identified in industrial use cases regarding filtering capabilities on (integrated) engineering plant models and model-driven engineering techniques for model-slicing applied on AutomationML models. The approach contributes to quality assurance and fault-prevention in engineering data since it helps to focus on parts of the engineering plant model relevant in certain engineering processes.
Richard Mordinyi, Dietmar Winkler 0001, Fajar J. Ekaputra, Manuel Wimmer, Stefan Biffl
ETFA4
2016 fREX: fUML-based reverse engineering of executable behavior for software dynamic analysis
abstract
Reverse engineering is still a challenging process, notably because of the growing number, heterogeneity, complexity, and size of software applications. While the analysis of their structural elements has been intensively investigated, there is much less work covering the reverse engineering of their behavioral aspects. To further stimulate research on this topic, we propose fREX as an open framework for reverse engineering of executable behaviors from existing software code bases. fREX currently provides model discovery support for behavior embedded in Java code, employs the OMG's fUML standard language as executable pivot format for dynamic analysis, and uses model transformations to bridge Java and fUML. Thus, fREX also aims at contributing to explore the relationship between programming languages (e.g., Java) and executable modeling languages (e.g., fUML). In this paper, we describe the proposed fREX framework and its current reverse engineering support covering some core Java features. In addition we discuss how the framework can be used for performing different kinds of dynamic analysis on existing software, as well as how it could be extended in the future.
Alexander Bergmayr, Hugo Bruneliere, Jordi Cabot, Jokin García, Tanja Mayerhofer, Manuel Wimmer
MiSE@ICSE6
2016 Integrating performance modeling in industrial automation through AutomationML and PMIF
abstract
Data exchange is a critical issue within the multi-disciplinary engineering process of cyber physical production systems (CPPS). AutomationML (AML) is an emerging standard in the this field to represent and exchange artifacts between heterogeneous engineering tools used in mechanical, electrical, and software engineering domains. However, the interoperability of different exchange standards may be needed in order to integrate even further tools in tool chains. For instance, the Performance Model Interchange Format (PMIF) is a common representation devised in the performance engineering domain for model-based system performance analysis and simulation based on Queueing Network Models (QNM). Of course, such aspects are also of particular interest when designing a CPPS. This paper investigates, with the help of a case study, the combination of AML and PMIF as an enabling step towards an early performance validation of CPPS. By this, we close the current gap between CPPS engineering and performance engineering standards.
Luca Berardinelli, Emanuel Mätzler, Tanja Mayerhofer, Manuel Wimmer
INDIN4
2016 Automated refactoring of ATL model transformations: a search-based approach
Bader Alkhazi, Terry Ruas, Marouane Kessentini, Manuel Wimmer, William I. Grosky
MoDELS4
2016 Adding uncertainty and units to quantity types in software models
Tanja Mayerhofer, Manuel Wimmer, Antonio Vallecillo
SLE2
2016 A Linda-based platform for the parallel execution of out-place model transformations
Loli Burgueño, Manuel Wimmer, Antonio Vallecillo
Inf. Softw. Technol.2
2016 Search-based model transformations
abstract
Abstract Model transformations are an important cornerstone of model‐driven engineering, a discipline which facilitates the abstraction of relevant information of a system as models. The success of the final system mainly depends on the optimization of these models through model transformations. Currently, the application of transformations is realized either by following the apply‐as‐long‐as‐possible strategy or by the provision of explicit rule orchestrations. This implies two main limitations. First, the optimization objectives are implicitly hidden in the transformation rules and their orchestration. Second, manually finding the best orchestration for a particular scenario is a major challenge due to the high number of possible combinations. To overcome these limitations, we present a novel framework that builds on the non‐intrusive integration of optimization and model transformation technologies. In particular, we formulate the transformation orchestration task as an optimization problem, which allows for the efficient exploration of the transformation space and explication of the transformation objectives. Our generic framework provides several search algorithms and guides the user in providing a proper search configuration. We present different instantiations of our framework to demonstrate its feasibility, applicability, and benefits using several case studies. Copyright © 2016 John Wiley & Sons, Ltd.
Martin Fleck, Javier Troya, Manuel Wimmer
J. Softw. Evol. Process.3
2016 Model transformation intents and their properties
Levi Lucio, Moussa Amrani, Jürgen Dingel, Leen Lambers, Rick Salay, Gehan M. K. Selim, Eugene Syriani, Manuel Wimmer
Softw. Syst. Model.8
2015 EMF Views: A View Mechanism for Integrating Heterogeneous Models
Hugo Bruneliere, Jokin García, Manuel Wimmer, Jordi Cabot
ER3
2015 Model-based co-evolution of production systems and their libraries with AutomationML
abstract
System models are essential in planning, designing, realizing, and maintaining production systems. AutomationML (AML) is an emerging standard to represent and exchange heterogeneous artifacts throughout the complete system life cycle and is more and more used as a modeling language. AML is designed as a flexible, prototype-based language able to represent the full spectrum of different artifacts. It may be utilized to build reusable libraries containing prototypical elements to build up production systems by using clones. However, libraries have to evolve over time, e.g., to reflect bug fixes, new features or refactorings, and so system models have to co-evolve to reflect the changes in the libraries. To tackle this co-evolution challenge, we specify in this paper the relationship between library elements, i.e., prototypes, and system elements, i.e., clones, by establishing a formal model for prototype-based modeling languages. Based on this formalization, we introduce several levels of consistency rigor one may want to achieve when modeling with prototype-based languages. These levels are also the main input to reason about the impact of library changes on the concrete system models for which we provide semi-automated co-evolution propagation strategies. We apply the established theory to the concrete AML case and present concrete tool support for evolving AML models based on Eclipse which demonstrates that consistency between system models and libraries may be maintained semi-automatically.
Luca Berardinelli, Stefan Biffl, Emanuel Mätzler, Tanja Mayerhofer, Manuel Wimmer
ETFA5
2015 Modeling AutomationML: Semantic Web technologies vs. Model-Driven Engineering
abstract
Modeling engineering knowledge explicitly and representing it by means of standardized modeling languages and in machine-understandable form enables advanced engineering processes in industrial and factory automation. This affects positively both process and product quality. In this paper we explore how the AutomationML format, an emerging data exchange standard, that supports the Industry 4.0 vision, can be represented by means of two established modeling approaches - Model-Driven Engineering (MDE) and Semantic Web. We report observed differences w.r.t. resulting model features and model creation process and, additionally, present the application possibilities of the developed models for engineering process improvement in a production system engineering context.
Olga Kovalenko, Manuel Wimmer, Marta Sabou, Arndt Lüder, Fajar J. Ekaputra, Stefan Biffl
ETFA2
2015 Linking and versioning support for AutomationML: A model-driven engineering perspective
abstract
In concurrent engineering process for industrial production plants, the domain experts need to keep an overview on the different engineering artifacts which are changed in parallel to coordinate their work. Unfortunately, current solutions often lack support for providing a versioned overview on data elements of local engineering results coming from different tools by linking them to the overall plant structure. Recently, the AutomationML (AML) standard for tool data exchange has provided a foundation for harmonizing engineering data exchange coming from a heterogeneous tool network by means of a unified format which may be also exploited in concurrent engineering processes. In this paper, we introduce a Model-Driven Engineering (MDE) approach for developing and providing versioning and linking support for AML. The MDE process builds on an AML metamodel to derive tool support (i) for representing sets of local engineering results as data elements in AML files, (ii) for extracting AML data elements for versioning the local engineering results, and (iii) for linking the versioned local engineering results to an AML tree representing the overall plant structure. We evaluate the feasibility of the approach with a showcase based on a real-world case study. The results show that the MDE approach worked efficiently to derive tool support for versioning and linking AML structures.
Stefan Biffl, Emanuel Mätzler, Manuel Wimmer, Arndt Lüder, Nicole Schmidt
INDIN3
2015 Fully verifying transformation contracts for declarative ATL
abstract
The Atlas Transformation Language (ATL) is today a de-facto standard in model-driven development. It is understood by the community that methods for exhaustively verifying such transformations provide an important pillar for achieving a stronger adoption of model-driven development in industry. In this paper we propose a method for verifying ATL model transformations by translating them into DSLTrans, a transformation language with limited expressiveness. Pre-/postcondition contracts are then verified on the resulting DSLTrans specification using a symbolic-execution property prover. The technique we present in this paper is exhaustive for the declarative ATL subset, meaning that if a contract holds, it will hold when any input model is passed to the ATL transformation being checked. We explore the scalability of our technique using a set of examples, including a model transformation developed in collaboration with our industrial partner.
Bentley Oakes, Javier Troya, Levi Lucio, Manuel Wimmer
MoDELS4
2015 Handling non-functional requirements in Model-Driven Development: An ongoing industrial survey
abstract
Model-Driven Development (MDD) is no longer a novel development paradigm. It has become mature from a research perspective and recent studies show its adoption in industry. Still, some issues remain a challenge. Among them, we are interested in the treatment of non-functional requirements (NFRs) in MDD processes. Very few MDD approaches have been reported to deal with NFRs (and they do it in a limited way). However, it is clear that NFRs need to be considered somehow in the final product of the MDD process. To better understand how NFRs are integrated into the existing MDD approaches, we have initiated the NFR4MDD project, a multi-national empirical study, based on interviews with companies working on MDD projects. Our project aims at surveying the state of the practice for this topic. In this paper, we summarize our research protocol and present the current status of our study. The discussion will focus on the peculiarities of our study's context and organization involving about 20 researchers from 8 European countries.
David Ameller, Xavier Franch, Cristina Gómez 0001, João Araújo 0001, Richard Berntsson-Svensson, Stefan Biffl, Jordi Cabot, Vittorio Cortellessa, Maya Daneva, Daniel Méndez 0001, Ana Moreira 0001, Henry Muccini, Antonio Vallecillo, Manuel Wimmer, Vasco Amaral 0001, Hugo Bruneliere, Loli Burgueño, Miguel Goulão, Bernhard Schätz, Sabine Teufl
RE14
2015 XMLText: from XML schema to xtext
abstract
A multitude of Domain-Specific Languages (DSLs) have been implemented with XML Schemas. While such DSLs are well adopted and flexible, they miss modern DSL editor functionality. Moreover, since XML is primarily designed as a machine-processible format, artifacts defined with XML-based DSLs lack comprehensibility and, therefore, maintainability. In order to tackle these shortcomings, we propose a bridge between the XML Schema Definition (XSD) language and text-based metamodeling languages. This bridge exploits existing seams between the technical spaces XMLware, modelware, and grammarware as well as closes identified gaps. The resulting approach is able to generate Xtext-based editors from XSDs providing powerful editor functionality, customization options for the textual concrete syntax style, and round-trip transformations enabling the exchange of data between the involved technical spaces. We evaluate our approach by a case study on TOSCA, which is an XML-based standard for defining Cloud deployments. The results show that our approach enables bridging XMLware with modelware and grammarware in several ways going beyond existing approaches and allows the automated generation of editors that are at least equivalent to editors manually built for XML-based languages.
Patrick Neubauer, Alexander Bergmayr, Tanja Mayerhofer, Javier Troya, Manuel Wimmer
SLE5
2015 MOMM: Multi-objective model merging
Usman Mansoor, Marouane Kessentini, Philip Langer, Manuel Wimmer, Slim Bechikh, Kalyanmoy Deb
J. Syst. Softw.4
2015 Model transformation testing: a bi-level search-based software engineering approach
abstract
The process of writing model transformations is a complex and error-prone one. Thus, efficient techniques and tools for validating model transformations are needed. One of them is model transformation testing. The generation of test cases for model transformations is mainly based on metamodel and rules coverage criteria. In this paper, we propose to treat model transformation testing as a bi-level optimization problem to combine the generation of test cases with mutation testing. In our adaptation, the upper-level problem generates a set of test cases that maximizes the coverage of metamodels and errors introduced by the lower level to the transformation rules. The lower level maximizes the number of generated errors in the rules that cannot be detected by the test cases produced by the upper level. The main advantage of our bi-level formulation is that the evaluation of test cases is not limited to the coverage of metamodels, but it allows evaluating their ability to detect errors. The statistical analysis of our experiments on different transformation mechanisms confirms the outperformance of our bi-level proposal compared with state-of-the-art model transformation testing techniques. Copyright © 2015 John Wiley & Sons, Ltd.
Dilan Sahin, Marouane Kessentini, Manuel Wimmer, Kalyanmoy Deb
J. Softw. Evol. Process.3
2015 Reuse in model-to-model transformation languages: are we there yet?
Angelika Kusel, Johannes Schönböck, Manuel Wimmer, Gerti Kappel, Werner Retschitzegger, Wieland Schwinger
Softw. Syst. Model.3
2015 Static Fault Localization in Model Transformations
abstract
As the complexity of model transformations grows, there is an increasing need to count on methods, mechanisms, and tools for checking their correctness, i.e., the alignment between specifications and implementations. In this paper we present a light-weight and static approach for locating the faulty rules in model transformations, based on matching functions that automatically establish these alignments using the metamodel footprints, i.e., the metamodel elements used. The approach is implemented for the combination of Tracts and ATL, both residing in the Eclipse Modeling Framework, and is supported by the corresponding toolkit. An evaluation discussing the accuracy and the limitations of the approach is also provided. Furthermore, we identify the kinds of transformations which are most suitable for validation with the proposed approach and use mutation techniques to evaluate its effectiveness.
Loli Burgueño, Javier Troya, Manuel Wimmer, Antonio Vallecillo
IEEE Trans. Software Eng.3
2014 Cloudifying Applications with ARTIST - A Global Modernization Approach to Move Applications onto the Cloud
abstract
Cloud computing is still considered a disruptive technology in spite of being part of our lives for several years now. However, cloud computing is much more than a technology; it is also a business model. Many companies that have sold software in a traditional way are now attending to this revolution, wondering if that new technological and business shift is adequate for them, if they would be able to move their application towards the cloud, transforming alongside the company in a service oriented company and how they could do that. The European Project ARTIST aims to guide companies in this transition by providing them with methods, techniques, and tools, from when the migration is just a thought, until it can be provisioned as a service, taking into account technical, business and organizational aspects.
Leire Orue-Echevarria Arrieta, Juncal Alonso, Hugo Bruneliere, Andreas Menychtas, Philip Langer, Manuel Wimmer
CLOSER6
2014 (De-)Composing Web Augmenters
Sergio Firmenich, Irene Garrigós, Manuel Wimmer
ICWE3
2014 From out-place transformation evolution to in-place model patching
abstract
Model transformation is a key technique to automate software engineering tasks. Like any other software, transformations are not resilient to change. As changes to transformations can invalidate previously produced models, these changes need to be reflected on existing models. Currently, revised out-place transformations are re-executed entirely to achieve this co-evolution task. However, this induces an unnecessary overhead, particularly when computation-intensive transformations are marginally revised, and if existing models have undergone updates prior the re-execution, these updates get discarded in the newly produced models.
Alexander Bergmayr, Javier Troya, Manuel Wimmer
ASE3
2014 JUMP - From Java Annotations to UML Profiles
Alexander Bergmayr, Michael Grossniklaus, Manuel Wimmer, Gerti Kappel
MoDELS3
2014 ProMoBox: A Framework for Generating Domain-Specific Property Languages
Bart Meyers, Romuald Deshayes, Levi Lucio, Eugene Syriani, Hans Vangheluwe, Manuel Wimmer
SLE6
2014 Search-based metamodel matching with structural and syntactic measures
Marouane Kessentini, Ali Ouni 0001, Philip Langer, Manuel Wimmer, Slim Bechikh
J. Syst. Softw.4
2014 Graph and model transformation tools for model migration - Empirical results from the transformation tool contest
Louis M. Rose, Markus Herrmannsdoerfer, Steffen Mazanek, Pieter Van Gorp, Sebastian Buchwald, Tassilo Horn, Elina Kalnina, Andreas Koch 0005, Kevin Lano, Bernhard Schätz, Manuel Wimmer
Softw. Syst. Model.11
2014 A fundamental approach to model versioning based on graph modifications: from theory to implementation
Gabriele Taentzer, Claudia Ermel, Philip Langer, Manuel Wimmer
Softw. Syst. Model.4
2013 TETRABox - A Generic White-Box Testing Framework for Model Transformations
abstract
Model transformations play a vital role in Model-Driven Engineering. Due to their increasing complexity, proper means for ensuring their quality are needed. Although numerous approaches for testing of model transformations have been proposed, their focus is rather on formal verification than on execution-based testing. Additionally, existing approaches do not consider the actual transformation definition, rarely provide hints for debugging in case of an error and are specific to a certain transformation language. Therefore we propose TETRA Box as a generic framework for execution-based white-box testing of transformation languages. For this, we base on symbolic execution of model transformations. Additionally, by employing our Pattern-based Modeling Language for Model Transformations (PaMoMo), we are able to provide dedicated failure traces that are aligned to the actual transformation definition as a hint for debugging.
Johannes Schönböck, Gerti Kappel, Manuel Wimmer, Angelika Kusel, Werner Retschitzegger, Wieland Schwinger
APSEC (1)3
2013 Search-based model merging
abstract
In Model-Driven Engineering (MDE) adequate means for collaborative modeling among multiple team members is crucial for large projects. To this end, several approaches exist to identify the operations applied in parallel, to detect conflicts among them, as well as to construct a merged model by incorporating all non-conflicting operations. Conflicts often denote situations where the application of one operation disables the applicability of another operation. Whether one operation disables the other, however, often depends on their application order. To obtain a merged model that maximizes the combined effect of all parallel operations, we propose an automated approach for finding the optimal merging sequence that maximizes the number of successfully applied operations. Therefore, we adapted and used a heuristic search algorithm to explore the huge search space of all possible operation sequences. The validation results on merging various versions of real-world models confirm that our approach finds operation sequences that successfully incorporate a high number of conflicting operations, which are otherwise not reflected in the merge by current approaches.
Marouane Kessentini, Wafa Werda, Philip Langer, Manuel Wimmer
GECCO4
2013 Testing M2T/T2M Transformations
Manuel Wimmer, Loli Burgueño
MoDELS1
2013 Towards domain-specific property languages: the ProMoBox approach
abstract
Domain-specific modeling (DSM) is one major building block of model-driven engineering. By moving from the solution space to the problem space, systems are designed by domain experts. The benefits of DSM are not unique to the design of systems, the specification and verification of desired properties of the designed systems by the help of DSM seems the next logical step. However, this latter aspect is often neglected by DSM approaches or only supported by translating design models to formal representations on which temporal properties are defined and evaluated. Obviously, this transition to the solution space is in contradiction with DSM.
Bart Meyers, Manuel Wimmer, Hans Vangheluwe, Joachim Denil
DSM@SPLASH2
2013 xMOF: Executable DSMLs Based on fUML
Tanja Mayerhofer, Philip Langer, Manuel Wimmer, Gerti Kappel
SLE3
2013 Automated verification of model transformations based on visual contracts
Esther Guerra, Juan de Lara, Manuel Wimmer, Gerti Kappel, Angelika Kusel, Werner Retschitzegger, Johannes Schönböck, Wieland Schwinger
Autom. Softw. Eng.3
2013 Turning Conflicts into Collaboration
Konrad Wieland, Philip Langer, Martina Seidl, Manuel Wimmer, Gerti Kappel
Comput. Support. Cooperative Work.4
2013 A posteriori operation detection in evolving software models
abstract
As every software artifact, also software models are subject to continuous evolution. The operations applied between two successive versions of a model are crucial for understanding its evolution. Generic approaches for detecting operations a posteriori identify atomic operations, but neglect composite operations, such as refactorings, which leads to cluttered difference reports. To tackle this limitation, we present an orthogonal extension of existing atomic operation detection approaches for detecting also composite operations. Our approach searches for occurrences of composite operations within a set of detected atomic operations in a post-processing manner. One major benefit is the reuse of specifications available for executing composite operations also for detecting applications of them. We evaluate the accuracy of the approach in a real-world case study and investigate the scalability of our implementation in an experiment.
Philip Langer, Manuel Wimmer, Petra Kaufmann, Markus Herrmannsdoerfer, Martina Seidl, Konrad Wieland, Gerti Kappel
J. Syst. Softw.2
2012 Debugging Model-to-Model Transformations
abstract
Model-Driven Engineering places models as first-class artifacts throughout the software lifecycle requiring the availability of proper model transformation languages. Although numerous languages are available, they lack convenient facilities for debugging and supporting understanding of the transformation logic. This is not least because the underlying transformation engines operate on a low level of abstraction, hiding the operational semantics of a high-level language. Consequently, low-level debugging information is available only, e.g., variable values. To tackle these limitations, we propose a DSL on top of Colored Petri Nets (CPNs) - called Transformation Nets (TNs) - for the execution and debugging of model transformations. By integrating all artifacts of a transformation, i.e., metamodel elements, model elements, and transformation logic, a runtime model for model transformations is provided, making the afore hidden operational semantics explicit. Based on this runtime model we present various means for debugging by means of an example showing how a QVT-Relations (QVT-R) specification may be debugged using TNs.
Johannes Schönböck, Gerti Kappel, Manuel Wimmer, Angelika Kusel, Werner Retschitzegger, Wieland Schwinger
APSEC3
2012 Search-based detection of high-level model changes
abstract
Software models are iteratively refined, restructured and evolved. The detection and analysis of changes applied between two versions of a model are one of the most important tasks during evolution and maintenance activities. In this paper, we propose an approach to detect high-level model changes in terms of refactorings. Our approach takes as input an exhaustive list of possible refactorings, the initial model and revised model, and generates as output a list of detected changes representing a sequence of refactorings. A solution is defined as a combination of refactorings that should maximize as much as possible the similarity between the expected revised model and the generated model after applying the refactoring sequence on the initial model. Due to the huge number of possible refactoring combinations, a heuristic method is used to explore the space of possible solutions. To this end, we used and adapted genetic algorithm as global heuristic search. The validation results on various versions of real-world models taken from an open source project confirm the effectiveness of our approach.
Ameni ben Fadhel, Marouane Kessentini, Philip Langer, Manuel Wimmer
ICSM4
2012 Systematic Evolution of WebML Models by Coupled Transformations
Manuel Wimmer, Nathalie Moreno, Antonio Vallecillo
ICWE1
2012 Towards xMOF: executable DSMLs based on fUML
abstract
When defining a domain-specific modeling language (DSML), the two key components that have to be specified are its syntax and semantics. For specifying a modeling language's abstract syntax, metamodels are the standard means. MOF provides a standardized, well established, and widely accepted metamodeling language enabling the definition of metamodels and the generation of accompanying modeling facilities. However, no such standard means exist for specifying the behavioral semantics of a DSML. This hampers the efficient development of model execution facilities, such as debugging, simulation, and verification. To overcome this limitation, we propose to integrate fUML with MOF to enable the specification of the behavioral semantics for DSMLs in terms of fUML activities. We discuss alternatives how this integration can be achieved and show by-example how to specify the semantics of a DSML using fUML. To reuse existing runtime infrastructures, we further demonstrate the usage of external libraries in fUML-based specifications.
Tanja Mayerhofer, Philip Langer, Manuel Wimmer
DSM@SPLASH3
2011 Search-Based Design Defects Detection by Example
Marouane Kessentini, Houari Sahraoui, Mounir Boukadoum, Manuel Wimmer
FASE4
2010 Conflict Detection for Model Versioning Based on Graph Modifications
Gabriele Taentzer, Claudia Ermel, Philip Langer, Manuel Wimmer
ICGT4
2010 A WYSIWYG approach for configuring model layout using model transformations
abstract
Model transformation is a core technology in Domain-Specific Modeling (DSM). While a number of model transformation languages and tools have been developed to support model transformation activities, the layout of visual models in the transformation process is not often considered. In many cases, after a transformation is performed the layout of the resulting model must be manually rearranged, which can be time consuming. The automatic layout arrangement features provided by some modeling tools usually do not take a user's preferences or the semantics of the model into consideration, and therefore could potentially alter the desired layout in an undesired manner. This paper describes a new approach to enable users to specify the model layout in a model transformation. We applied the Model Transformation By Demonstration (MTBD) approach and extended it to let users specify the layout information using the concept of "What You See Is What You Get" (WYSIWYG), so that the complex layout specification can be simplified.
Yu Sun 0002, Jeffrey G. Gray, Philip Langer, Manuel Wimmer, Jules White
DSM@SPLASH4
2010 Plug & play model transformations: a DSL for resolving structural metamodel heterogeneities
abstract
Model transformations play a key role in the vision of Model-Driven Engineering. Thereby, the resolution of structural heterogeneities between metamodels (MMs) represents the key challenge. For this task, current approaches require the definition of partly tricky, low-level recurring transformation logic but neglect to offer reusable components. Moreover, little attention has been paid to heterogeneities caused by the concept of inheritance, although extensively used in MMs. Therefore, we propose to specify model transformations in a plug & and play manner by a set of pre-defined mapping operators (MOps) representing a DSL to resolve structural heterogeneities. For coping with inheritance in MMs, we introduce an inheritance mechanism between MOps allowing to reuse parts of the mapping definitions. Moreover, dedicated MOps for resolving heterogeneities when one MM comprises inheritance hierarchies whereas the other one does not are presented, which are well-known problems in object-relational transformations and object-oriented refactorings.
Manuel Wimmer, Werner Retschitzegger, Gerti Kappel, Johannes Schönböck, Angelika Kusel, Wieland Schwinger
DSM@SPLASH1
2009 We can work it out: Collaborative Conflict Resolution in Model Versioning
Petra Kaufmann, Martina Seidl, Konrad Wieland, Manuel Wimmer
ECSCW4
2009 Common Pitfalls of Using QVT Relations - Graphical Debugging as Remedy
abstract
OMG's model-driven architecture (MDA) has emerged as a new approach for the development of software. For this, the query/view/transformation (QVT) standard plays a central role, since it allows for the specification of model transformations. Nevertheless, until now, QVT-tool support in general and debugging support in particular in the context of MDA are rather limited, supposable being a reason, that the adoption of QVT in practice has not yet been achieved. We therefore propose graphical debugging for the QVT Relations language based on TROPIC - a model transformation approach on the basis of coloured Petri nets. By enabling debugging on the TROPIC level, one gains several advantages when developing transformations. Firstly, debugging can take place at a high level of abstraction. Secondly, it serves for explicating the operational semantics of a transformation. Thirdly, it provides a homogenous representation of all transformation artifacts. As a first step towards QVT debugging, this paper aims at a deeper understanding of the operational semantics of QVT, classifying common pitfalls by using QVT and discussing how they may be identified at the TROPIC level.
Angelika Kusel, Wieland Schwinger, Manuel Wimmer, Werner Retschitzegger
ICECCS3
2009 A Petri Net Based Debugging Environment for QVT Relations
abstract
In the Model-Driven Architecture (MDA) paradigm the Query/View/Transformation (QVT) standard plays a vital role for model transformations. Especially the high-level declarative QVT Relations language, however, has not yet gained widespread use in practice. This is not least due to missing tool support in general and inadequate debugging support in particular. Transformation engines interpreting QVT Relations operate on a low level of abstraction, hide the operational semantics of a transformation and scatter metamodels, models, QVT code, and trace information across different artifacts. We therefore propose a model-based debugger representing QVT Relations on bases of TROPIC, a model transformation language utilizing a variant of Colored Petri Nets (CPNs). As a prerequisite for convenient debugging, TROPIC provides a homogeneous view on all artifacts of a transformation on basis of a single formalism. Besides that, this formalism also provides a runtime model, thus making the afore hidden operational semantics of the transformation explicit. Using an explicit runtime model allows to employ model-based techniques for debugging, e.g., using the Object Constraint Language (OCL) for simply defining breakpoints and querying the execution state of a transformation.
Manuel Wimmer, Gerti Kappel, Johannes Schönböck, Angelika Kusel, Werner Retschitzegger, Wieland Schwinger
ASE1
2009 An Example Is Worth a Thousand Words: Composite Operation Modeling By-Example
Petra Kaufmann, Philip Langer, Martina Seidl, Konrad Wieland, Manuel Wimmer, Gerti Kappel, Werner Retschitzegger, Wieland Schwinger
MoDELS5
2009 Reviving QVT Relations: Model-Based Debugging Using Colored Petri Nets
Manuel Wimmer, Angelika Kusel, Johannes Schönböck, Gerti Kappel, Werner Retschitzegger, Wieland Schwinger
MoDELS1
2008 SmartMatcher - How Examples and a Dedicated Mapping Language can Improve theQuality of Automatic Matching Approaches
abstract
Information integration has a long history in computer science. It has started with the integration of database schemas in the early eighties. With the rise of the semantic Web and the emerging abundance of ontologies, the need for an automated integration increased further. A lot of automated matching approaches and tools have been proposed so far. The typical output of such tools is a simple one-to-one alignment mostly based on schema information, e.g., similar names and structures of schema elements. However, these alignments cannot cope with schema heterogeneities, hence, these problems must be resolved manually. Furthermore, there is no automated evaluation of the quality of the alignments based on the instance level, because the matching approaches are not bound to a specific integration scenario, e.g., transformation or merge. In this work we propose the SmartMatching approach, which can be seen as an orthogonal extension to existing matching approaches for increasing the quality of the automatically produced alignments for the transformation scenario. This is achieved by using an executable mapping language for bridging schema heterogeneities and by using instance models to evaluate the quality of the alignments in an iterative and feedback-driven process inspired by machine learning approaches.
Horst Kargl, Manuel Wimmer
CISIS2
2006 Lifting Metamodels to Ontologies: A Step to the Semantic Integration of Modeling Languages
Gerti Kappel, Elisabeth Kapsammer, Horst Kargl, Gerhard Kramler, Thomas Reiter 0001, Werner Retschitzegger, Wieland Schwinger, Manuel Wimmer
MoDELS8