{"title":"How alike are my physical and digital twins?","authors":"Paula Muñoz","doi":"10.1145/3550356.3552393","DOIUrl":"https://doi.org/10.1145/3550356.3552393","url":null,"abstract":"A digital twin is a virtual replica of a system defined at a certain level of fidelity, and synchronized at a specific frequency. Digital twins are often used to replicate physical systems whose simulations are usually computationally costly. One of the solutions proposed in the literature to this problem is to define a hierarchy of multi-fidelity digital twins, where we use one twin or another depending on the specific purpose. However, one of the challenges of this proposal is the need to determine whether these twins are equivalent to each other and the physical system according to their purpose. In this work, we explore different methods to measure this equivalence by analyzing the state and behavior of the twins using high-level software models.","PeriodicalId":182662,"journal":{"name":"Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings","volume":"46 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-10-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116066844","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Melanee and DLM: a contribution to the MULTI collaborative comparison challenge","authors":"Thomas Kühne, A. Lange","doi":"10.1145/3550356.3561571","DOIUrl":"https://doi.org/10.1145/3550356.3561571","url":null,"abstract":"Responding to the MULTI 2022 Collaborative Comparison Challenge, whose purpose is to promote cross-fertilization between multi-level modeling approaches, we compare Melanee- and DLM-based solutions. We first present each approach and solution separately, and then discuss their strengths and weaknesses.","PeriodicalId":182662,"journal":{"name":"Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings","volume":"38 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-10-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122724158","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
S. Gottschalk, Rakshit Bhat, Nils Weidmann, Jonas Kirchhoff, G. Engels
{"title":"Low-code experimentation on software products","authors":"S. Gottschalk, Rakshit Bhat, Nils Weidmann, Jonas Kirchhoff, G. Engels","doi":"10.1145/3550356.3561572","DOIUrl":"https://doi.org/10.1145/3550356.3561572","url":null,"abstract":"The continuous development of software products can be supported by systematically testing different software variants with the users. During this so-called continuous experimentation, different variants are presented to dedicated user groups, and the results are compared to determine the better-performing one. However, the product owner often defines those experiments while the software developers do their implementation. This, in turn, results in additional communication and synchronization effort. To bridge the gap between the definition and implementation of experiments, we provide a solution based on low-code development. Low-code development, in turn, allows the development of software products by non-developers using a graphical user interface (GUI). Within our solution, the product owner can model the experiments, product variants, and user groups within a GUI. Code wrappers are generated from those models, which the software developers can modify. Last, those variants are executed by different users, and the results are visualized for the product owner. This workshop paper shows the technical feasibility based on a streaming application.","PeriodicalId":182662,"journal":{"name":"Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-10-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126323535","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Preliminary results of measuring flow experience in a software modeling tool: UmpleOnline","authors":"Reyhaneh Kalantari, T. Lethbridge","doi":"10.1145/3550356.3559099","DOIUrl":"https://doi.org/10.1145/3550356.3559099","url":null,"abstract":"Weaknesses in the user experience (UX) provided by software modeling tools have been identified as important barriers reducing the uptake of such tools by developers. Emotional factors as essential parts of user experience have received little attention so far. Literature suggests that higher flow experience is associated with higher positive emotional state. Good flow experience means people feel they have clear goals and are focusing well on a task that they regard as enjoyable and are doing reasonably well at; furthermore, they do not feel a need to be concerned about time or what others are thinking and have a sense they are getting good feedback about their progress. Achieving flow is important for performance in creative tasks such as modeling. To learn more about flow we used a questionnaire-based empirical study to measure flow experience of UmpleOnline users. This paper reports preliminary results from 24 respondents, demonstrating a moderate experience of flow state in UmpleOnline. Our objective in this paper is to stimulate the research community to think about how flow can best be measured.","PeriodicalId":182662,"journal":{"name":"Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-10-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129905487","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Feature-oriented modularization of deep learning APIs","authors":"Ye Shi, J. Kienzle, Jinrong Guo","doi":"10.1145/3550356.3561575","DOIUrl":"https://doi.org/10.1145/3550356.3561575","url":null,"abstract":"Deep learning libraries provide vast APIs because of the multitude of supported input data types, pre-processing operations, and neural network types and configuration options. However, developers working on one concrete application typically use only a small subset of the API at any one given time. Newcomers hence have to read through tutorials and API documentation, gathering scattered information, trying to find the API that fits their needs. This is time consuming and error prone. To remedy this, we show how we modularized the API of a popular Java DL framework Deeplearning4j (DL4J) according to features. Beginner developers can interactively select desired high level features, and our tool generates the subset of the DL library API that corresponds to the selected features. We evaluate our modularization on DL4J code samples, demonstrating an average recall of 98.9% for API classes and 98.0% for API methods. The respective precision is 19.3% and 13.8%, which represents an improvement of two orders of magnitude compared to the complete DL4J API.","PeriodicalId":182662,"journal":{"name":"Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings","volume":"41 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-10-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127190085","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Design and classification of mutation operators for OCL specification","authors":"Kunxiang Jin, K. Lano","doi":"10.1145/3550356.3561545","DOIUrl":"https://doi.org/10.1145/3550356.3561545","url":null,"abstract":"Mutation testing is a fault-based testing technique that validates the effectiveness of a test suite by generating simulated defects in the system under test. In mutation testing, from a program or specification p, a faulty version p′ is generated by making a single simple change to p. The mutation operators are the transition rules that define how to perform these changes. Mutation operators are the essential component to guarantee the accuracy of mutation testing. Most mutation testing techniques in the literature have been researched for traditional programming languages. Since Model-Driven Engineering (MDE) has become popular in recent years and Object Constraint Language (OCL) is a standard MDE language, there has been a rapid growth in the number of system specifications expressed in OCL. However, to the best of our knowledge, there is a lack of systematic design and classification of mutation operators which apply to OCL specification. In this paper, we propose the full set of mutation operators for the OCL standard library. These operators will support the mutation testing process for system specifications expressed in OCL and could be included in future versions of the OCL library. However, these operators have different impacts and results for mutation testing. Furthermore, different OCL participators may not need to apply all these operators based on the specific testing purposes. We therefore also classify these operators into different groups in this work. The classification of OCL mutation operators will benefit the mutation testing by allowing particular groups of operators to be involved in the testing process.","PeriodicalId":182662,"journal":{"name":"Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings","volume":"248 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-10-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126826031","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Nils Baumann, Evgeny Kusmenko, Jonas Ritz, Bernhard Rumpe, Moritz Benedikt Weber
{"title":"Dynamic data management for continuous retraining","authors":"Nils Baumann, Evgeny Kusmenko, Jonas Ritz, Bernhard Rumpe, Moritz Benedikt Weber","doi":"10.1145/3550356.3561568","DOIUrl":"https://doi.org/10.1145/3550356.3561568","url":null,"abstract":"Managing dynamic datasets intended to serve as training data for a Machine Learning (ML) model often emerges as very challenging, especially when data is often altered iteratively and already existing ML models should pertain to the data. For example, this applies when new data versions arise from either a generated or aggregated extension of an existing dataset a model has already been trained on. In this work, it is investigated on how a model-based approach for these training data concerns can be provided as well as how the complete process, including the resulting training and retraining process of the ML model, can therein be integrated. Hence, model-based concepts and the implementation are devised to cope with the complexity of iterative data management as an enabler for the integration of continuous retraining routines. With Deep Learning techniques becoming technically feasible and massively being developed further over the last decade, MLOps, aiming to establish DevOps tailored to ML projects, gained crucial relevance. Unfortunately, data-management concepts for iteratively growing datasets with retraining capabilities embedded in a model-driven ML development methodology are unexplored to the best of our knowledge. To fill in this gap, this contribution provides such agile data management concepts and integrates them and continuous retraining into the model-driven ML Framework MontiAnna [18]. The new functionality is evaluated in the context of a research project where ML is exploited for the optimal design of lattice structures for crash applications.","PeriodicalId":182662,"journal":{"name":"Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-10-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132518208","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Younes Boubekeur, Prabhsimran Singh, G. Mussbacher
{"title":"A DSL and model transformations to specify learning corpora for modeling assistants","authors":"Younes Boubekeur, Prabhsimran Singh, G. Mussbacher","doi":"10.1145/3550356.3556502","DOIUrl":"https://doi.org/10.1145/3550356.3556502","url":null,"abstract":"Software engineering undergraduate students spend a significant time learning various topics related to software design, including notably model-driven engineering (MDE), where different types of structural and behavioral models are used to design, implement, and validate an application. MDE instructors spend a lot of time covering modeling concepts, which is more difficult with ever-increasing class sizes. Online resources, such as learning corpora for domain modeling, can aid in this learning process by serving as a more dynamic textbook alternative or as part of a larger interactive application with domain modeling exercises and tutorials. A Learning Corpus (LC) is an extensible list of entries representing possible mistakes that could occur when defining a model, e.g., Missing Abstraction-Occurrence pattern in the case of a domain model. Each LC entry includes progressive levels of feedback, including written responses, quizzes, and references to external resources. To make it easy for instructors to customize the entries as well as add their own, we propose a novel, simple, and intuitive approach based on an internal domain-specific language that supports features such as context-specific information and concise arbitrary metamodel navigation with shorthands. Transformations to source code as well as Markdown and LATEX enable use of the LC entries in different contexts. These transformations as well as the integration of the generated code in a sample Modeling Assistant application verify and validate the LC metamodel and specification.","PeriodicalId":182662,"journal":{"name":"Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings","volume":"24 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-10-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134179130","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Towards qualifiable graphical editing of complex domain-specific models in safety-critical avionics","authors":"Andreas Waldvogel","doi":"10.1145/3550356.3558507","DOIUrl":"https://doi.org/10.1145/3550356.3558507","url":null,"abstract":"The increasing complexity of avionics is effectively handled by using domain-specific modeling. However, since strict safety standards apply, the tool-generated artifacts need to be qualified. Currently, artifacts are mainly qualified manually, which causes tremendous effort in the industry. The standards allow qualifying a tool such that its output artifacts are automatically qualified. Nevertheless, any domain-specific modeling environment inherently has enormous complexity. Very simple modeling environments might be qualifiable, but avionics models are highly complex and therefore require sophisticated visualization techniques. These techniques themselves have a high complexity, which makes tool qualification unbearably expensive. Overall, the necessary effort discourages companies from qualifying modeling environments, especially in avionics. In this paper, we propose an approach of a domain-specific modeling environment with sophisticated visualization with a focus on qualifiability. This shall be achieved by decoupling graphical editing from the model. An essential core shall be qualified with the strictest level, while the complex visualization is decoupled and therefore can be qualified with less stringency. The relevant tool qualification standard shall be examined concerning the question of how decoupling can be realized.","PeriodicalId":182662,"journal":{"name":"Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings","volume":"121 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-10-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134457347","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Classification and mapping of layout algorithms for usage in graph-like modeling languages","authors":"G. Wrobel, R. Scheffler","doi":"10.1145/3550356.3561559","DOIUrl":"https://doi.org/10.1145/3550356.3561559","url":null,"abstract":"Graph-lik>modeling languages (GLML) are important modeling artifacts for software tools that are used in the environment of software and systems engineering, digital twins, and domain-specific modeling. Just as with textual languages, the concrete syntax is the representation of the language elements intended for humans and thus has a decisive influence on the comprehensibility and usability of the language. The concrete syntax of GLML is often defined less precisely or in less detail when designing metamodels. While metamodels can be designed independently or even without concrete syntax, the latter is required for the actual usage of a graphical language. The layout and the interaction support for editing the language elements are commonly delegated to tool development. However, the development of modeling tools focuses on functionality such as model transformation and model execution, disregarding usability and handling. Low user acceptance then leads to niche applications and a limited number of users. The main reason for the lack of support for laying out and editing the language elements are complex integration challenges mainly concerning the development or adaptation of suitable layout procedures for GLML. Some frameworks offer a remedy by providing layout procedures for GLML. However, GLML differ from each other concerning their concrete syntax. Even minor differences in the concrete syntax of two languages can make the desirransferable or only transferable through complex adaptations. Formal methods for matching the concrete syntax of a GLML with existing layout procedures as early as during the development of the language are missing. In this paper, we present a classification scheme for layout procedures for GLML. The classification scheme is based on a classification scheme we developed for the concrete syntax of GLML, and it contains significant features. We define a mapping procedure between the two classifiers. As a result, the mapping decides whether a layout procedure can be used for a GLML. Both the classification scheme and the process of mapping are demonstrated in a real-world example of a technical graphical domain-specific modeling language. The presented approach supports the design of GLML and the tool development for GLML. It can be an important step towards automated tool development.","PeriodicalId":182662,"journal":{"name":"Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-10-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132993452","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}