@article{MTMT:33866587, title = {A Formal Approach for Consistency Management in UML Models}, url = {https://m2.mtmt.hu/api/publication/33866587}, author = {Wen, Hao and Wu, Jinzhao and Jiang, Jianmin and Tang, Guofu and Hong, Zhong}, doi = {10.1142/S0218194023500134}, journal-iso = {INT J SOFTW ENG KNOW}, journal = {INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING}, unique-id = {33866587}, issn = {0218-1940}, abstract = {Consistency is a significant indicator to measure the correctness of a software system in its lifecycle. It is inevitable to introduce inconsistencies between different software artifacts in the software development process. In practice, developers perform consistency checking to detect inconsistencies, and apply their corresponding repairs to restore consistencies. Even if all inconsistencies can be repaired, how to preserve consistencies in the subsequent evolution should be considered. Consistency management (consistency checking and consistency preservation) is a challenging task, especially in the multi-view model-driven software development process. Although there are some efforts to discuss consistency management, most of them lack the support of formal methods. Our work aims to provide a framework for formal consistency management, which may be used in the practical software development process. A formal model, called a Structure model, is first presented for specifying the overall model-based structure of the software system. Next, the definition of consistency is given based on consistency rules. We then investigate consistency preservation under the following two situations. One is that if the initial system is inconsistent, then the consistency can be restored through repairs. The other is that if the initial system is consistent, then the consistency can be maintained through update propagation. To demonstrate the effectiveness of our approach, we finally present a case study with a prototype tool.}, keywords = {UML; Model evolution; Consistency management; formal method}, year = {2023}, eissn = {1793-6403}, orcid-numbers = {Wen, Hao/0000-0002-6846-6857} } @article{MTMT:34313480, title = {Evaluating Model Differencing for the Consistency Preservation of State-based Views}, url = {https://m2.mtmt.hu/api/publication/34313480}, author = {Wittler, Jan Willem and Saglam, Timur and Kuehn, Thomas}, doi = {10.5381/jot.2023.22.2.a4}, journal-iso = {J OBJECT TECHNOL}, journal = {JOURNAL OF OBJECT TECHNOLOGY}, volume = {22}, unique-id = {34313480}, issn = {1660-1769}, abstract = {While developers and users of modern software systems usually only need to interact with a specific part of the system at a time, they are hindered by the ever-increasing complexity of the entire system. Views are projections of underlying models and can be employed to abstract from that complexity. When a view is modified, the changes must be propagated back into the underlying model without overriding simultaneous modifications. Hence, the view needs to provide a fine-grained sequence of changes to update the model minimally invasively. Such fine-grained changes are often unavailable for views that integrate with existing workflows and tools. To this end, model differencing approaches can be leveraged to compare two states of a view and derive an estimated change sequence. However, these model differencing approaches are not intended to operate with views, as their correctness is judged solely by comparing the input models. For views, the changes are derived from the view states, but the correctness depends on the underlying model. This work introduces a refined notion of correctness for change sequences in the context of model-view consistency. Furthermore, we evaluate state-of-the-art model differencing regarding model-view consistency. Our results show that model differencing largely performs very well. However, incorrect change sequences were derived for two common refactoring operation types, leading to an incorrect model state. These types can be easily reproduced and are likely to occur in practice. By considering our change sequence properties in the view type design, incorrect change sequences can be detected and semi-automatically repaired to prevent such incorrect model states.}, keywords = {Model comparison; Model differencing; -view consistency; View -update problem; Change sequence; View -based development}, year = {2023}, orcid-numbers = {Wittler, Jan Willem/0000-0002-0989-5010; Saglam, Timur/0000-0001-5983-4032} } @article{MTMT:33325079, title = {A theoretic framework of bidirectional transformation between systems and models}, url = {https://m2.mtmt.hu/api/publication/33325079}, author = {He, Xiao and Hu, Zhenjiang and Meng, Na}, doi = {10.1007/s11432-020-3276-5}, journal-iso = {SCI CHINA INFORM SCI}, journal = {SCIENCE CHINA INFORMATION SCIENCES}, volume = {65}, unique-id = {33325079}, issn = {1674-733X}, abstract = {Synchronization between systems and models has been explored in model-driven engineering to enable model-based system management. Despite its promising use, there is a lack of a theoretic foundation for state-based system-model synchronization. This paper proposes a theory for state-based system-model bidirectional transformation (BX), and defines seven combinators for system-model BX to facilitate the development of well-behaved synchronizer programs. A system-model BX is a single program that converts a system with a model consistently. Forwards, it creates a model according to a system as a conventional BX. Backwards, it generates a set of system edits, which can turn the current system into a new state that is consistent with the given model. System-model BX is fully aware of the domain constraints about how to change a system, and plans a reasonable execution order for those edits, rather than applying them blindly. The paper also demonstrates the use of system-model BX by building a generic system-model synchronizer and a concrete file system synchronizer.}, keywords = {change propagation; Model-Driven engineering; Bidirectional transformation; system-model synchronization; system edit}, year = {2022}, eissn = {1869-1919} } @article{MTMT:32028583, title = {Enabling consistency in view-based system development — The Vitruvius approach}, url = {https://m2.mtmt.hu/api/publication/32028583}, author = {Klare, Heiko and Kramer, Max E. and Langhammer, Michael and Werle, Dominik and Burger, Erik and Reussner, Ralf}, doi = {10.1016/j.jss.2020.110815}, journal-iso = {J SYST SOFTWARE}, journal = {JOURNAL OF SYSTEMS AND SOFTWARE}, volume = {171}, unique-id = {32028583}, issn = {0164-1212}, year = {2021}, eissn = {1873-1228}, orcid-numbers = {Klare, Heiko/0000-0002-9711-8835; Werle, Dominik/0000-0002-2430-2578; Burger, Erik/0000-0003-2832-3349; Reussner, Ralf/0000-0002-9308-6290} } @article{MTMT:31449121, title = {Scalable model views over heterogeneous modeling technologies and resources}, url = {https://m2.mtmt.hu/api/publication/31449121}, author = {Bruneliere, Hugo and de Kerchove, Florent Marchand and Daniel, Gwendal and Madani, Sina and Kolovos, Dimitris and Cabot, Jordi}, doi = {10.1007/s10270-020-00794-6}, journal-iso = {SOFTW SYST MODEL}, journal = {SOFTWARE AND SYSTEMS MODELING}, volume = {19}, unique-id = {31449121}, issn = {1619-1366}, abstract = {When engineering complex systems, models are typically used to represent various systems aspects. These models are often heterogeneous in terms of modeling languages, provenance, number or scale. As a result, the information actually relevant to engineers is usually split into different kinds of interrelated models. To be useful in practice, these models need to be properly integrated to provide global views over the system. This has to be made possible even when those models are serialized or stored in different formats adapted to their respective nature and scalability needs. Model view approaches have been proposed to tackle this issue. They provide unification mechanisms to combine and query various different models in a transparent way. These views usually target specific engineering tasks such as system design, monitoring and evolution. In an industrial context, there can be many large-scale use cases where model views can be beneficial, in order to trace runtime and design-time data, for example. However, existing model view solutions are generally designed to work on top of one single modeling technology (even though model import/export capabilities are sometimes provided). Moreover, they mostly rely on in-memory constructs and low-level modeling APIs that have not been designed to scale in the context of large models stored in different kinds of data sources. This paper presents a general solution to efficiently support scalable model views over heterogeneous modeling resources possibly handled via different modeling technologies. To this intent, it describes our integration approach between a model view framework and various modeling technologies providing access to multiple types of modeling resources (e.g., in XML/XMI, CSV, databases). It also presents how queries on such model views can be executed efficiently by benefiting from the optimization of the different model technologies and underlying persistence backends. Our solution has been evaluated on a practical large-scale use case provided by the industry-driven European MegaM@Rt2 project that aims at implementing a runtime. design time feedback loop. The corresponding EMF-based tooling support, modeling artifacts and reproducible benchmarks are all available online.}, keywords = {HETEROGENEITY; DATABASE; Modeling; persistence; Scalability; Runtime; views; Design time}, year = {2020}, eissn = {1619-1374}, pages = {827-851} } @article{MTMT:31703798, title = {Consistent change propagation within models}, url = {https://m2.mtmt.hu/api/publication/31703798}, author = {Kretschmer, Roland and Khelladi, Djamel Eddine and Lopez-Herrejon, Roberto Erick and Egyed, Alexander}, doi = {10.1007/s10270-020-00823-4}, journal-iso = {SOFTW SYST MODEL}, journal = {SOFTWARE AND SYSTEMS MODELING}, unique-id = {31703798}, issn = {1619-1366}, abstract = {Developers change models with clear intentions-e.g., for refactoring, defects removal, or evolution. However, in doing so, developers are often unaware of the consequences of their changes. Changes to one part of a model may affect other parts of the same model and/or even other models, possibly created and maintained by other developers. The consequences are incomplete changes and with it inconsistencies within or across models. Extensive works exist on detecting and repairing inconsistencies. However, the literature tends to focus on inconsistencies as errors in need of repairs rather than on incomplete changes in need of further propagation. Many changes are non-trivial and require a series of coordinated model changes. As developers start changing the model, intermittent inconsistencies arise with other parts of the model that developers have not yet changed. These inconsistencies are cues for incomplete change propagation. Resolving these inconsistencies should be done in a manner that is consistent with the original changes. We speak of consistent change propagation. This paper leverages classical inconsistency repair mechanisms to explore the vast search space of change propagation. Our approach not only suggests changes to repair a given inconsistency but also changes to repair inconsistencies caused by the aforementioned repair. In doing so, our approach follows the developer's intent where subsequent changes may not contradict or backtrack earlier changes. We argue that consistent change propagation is essential for effective model-driven engineering. Our approach and its tool implementation were empirically assessed on 18 case studies from industry, academia, and GitHub to demonstrate its feasibility and scalability. A comparison with two versioned models shows that our approach identifies actual repair sequences that developers had chosen. Furthermore, an experiment involving 22 participants shows that our change propagation approach meets the workflow of how developers handle changes by always computing the sequence of repairs resulting from the change propagation.}, keywords = {change propagation; Model-Driven engineering; Inconsistency repair; Consistency detection}, year = {2020}, eissn = {1619-1374} } @article{MTMT:30413286, title = {Declarative Specification of Bidirectional Transformations Using Design Patterns}, url = {https://m2.mtmt.hu/api/publication/30413286}, author = {Lano, Kevin and Kolahdouz-Rahimi, Shekoufeh and Yassipour-Tehrani, Sobhan}, doi = {10.1109/ACCESS.2018.2889399}, journal-iso = {IEEE ACCESS}, journal = {IEEE ACCESS}, volume = {7}, unique-id = {30413286}, issn = {2169-3536}, year = {2019}, eissn = {2169-3536}, pages = {5222-5249} } @article{MTMT:27163170, title = {A feature-based survey of model view approaches}, url = {https://m2.mtmt.hu/api/publication/27163170}, author = {Bruneliere, Hugo and Burger, Erik and Cabot, Jordi and Wimmer, Manuel}, doi = {10.1007/s10270-017-0622-9}, journal-iso = {SOFTW SYST MODEL}, journal = {SOFTWARE AND SYSTEMS MODELING}, volume = {2018}, unique-id = {27163170}, issn = {1619-1366}, year = {2018}, eissn = {1619-1374}, pages = {1-22} } @mastersthesis{MTMT:30748555, title = {Generic Model-based Approaches for Software Reverse Engineering and Comprehension}, url = {https://m2.mtmt.hu/api/publication/30748555}, author = {Bruneliere, Hugo}, unique-id = {30748555}, year = {2018} } @inproceedings{MTMT:30413282, title = {Putback-based bidirectional model transformations}, url = {https://m2.mtmt.hu/api/publication/30413282}, author = {He, Xiao and Hu, Zhenjiang}, booktitle = {Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering}, unique-id = {30413282}, year = {2018}, pages = {434-444} } @article{MTMT:27470687, title = {A survey of model transformation design patterns in practice}, url = {https://m2.mtmt.hu/api/publication/27470687}, author = {Lano, Kevin and Kolahdouz-Rahimi, Shekoufeh and Yassipour-Tehrani, Sobhan and Sharbaf, Mohammadreza}, doi = {10.1016/j.jss.2018.03.001}, journal-iso = {J SYST SOFTWARE}, journal = {JOURNAL OF SYSTEMS AND SOFTWARE}, volume = {140}, unique-id = {27470687}, issn = {0164-1212}, year = {2018}, eissn = {1873-1228}, pages = {48-73} } @inproceedings{MTMT:30413284, title = {Constraint-based run-time state migration for live modeling}, url = {https://m2.mtmt.hu/api/publication/30413284}, author = {Tikhonova, Ulyana and Stoel, Jouke and Van, Der Storm Tijs and Degueule, Thomas}, booktitle = {Proceedings of the 11th ACM SIGPLAN International Conference on Software Language Engineering}, unique-id = {30413284}, year = {2018}, pages = {108-120} } @CONFERENCE{MTMT:31160636, title = {Model-driven round-trip software dependability engineering}, url = {https://m2.mtmt.hu/api/publication/31160636}, author = {Tucci, Michele}, booktitle = {Proceedings of the 21st ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings}, doi = {10.1145/3270112.3275337}, unique-id = {31160636}, year = {2018}, pages = {186-191} } @misc{MTMT:27470709, title = {Advanced Techniques and Tools in Secure Collaborative Modeling}, url = {https://m2.mtmt.hu/api/publication/27470709}, author = {Debreceni, Csaba}, unique-id = {27470709}, year = {2017} } @misc{MTMT:27167690, title = {Consistency Recovery in Interactive Modeling}, url = {https://m2.mtmt.hu/api/publication/27167690}, author = {Di Rocco, Juri and Di Ruscio, Davide and Heinz, Marcel and Iovino, Ludovico and Lämmel, Ralf and Pierantonio, Alfonso}, unique-id = {27167690}, year = {2017} } @CONFERENCE{MTMT:3169934, title = {Formal Validation and Model Synthesis for Domain-specific Languages by Logic Solvers}, url = {https://m2.mtmt.hu/api/publication/3169934}, author = {Semeráth, Oszkár}, booktitle = {ACM Student Research Competition at MODELS 2016}, unique-id = {3169934}, year = {2016} }