Collaborative technologies are continuously evolving to address existing problems and introduce innovative features for enhancing collaboration in the landscape of model-driven software engineering (MDSE). Different c...
详细信息
Collaborative technologies are continuously evolving to address existing problems and introduce innovative features for enhancing collaboration in the landscape of model-driven software engineering (MDSE). Different collaborative MDSE technologies (CMTs) provide different solutions to facilitate collaboration, making it hard for practitioners to choose the technology that best suits their needs. This study aims to investigate the landscape of CMTs and to provide a list of recommended technologies tailored to specific use case scenarios in the context of MDSE. We compiled a comprehensive list of CMTs using a systematic search complemented with snowballing, investigating both academic and grey literature. The technologies were selected through a set of inclusion and exclusion criteria and eventually analyzed through an in-depth analysis focusing on model management, collaboration, and communication. The findings of our study reveal that the current landscape of CMTs is characterized by a relatively narrow range of capabilities offered by different technologies. Consequently, practitioners often have to become proficient in combining several different technologies in order to meet their needs. While various CMTs offer distinct collaboration approaches, the current landscape could be richer in terms of capabilities. Our research provides a comprehensive description of recommended CMTs, enabling practitioners to make informed decisions and improve collaboration in their MDSE processes.
model-driven software engineering (MDSE) is an established approach for developing complex software systems. The unified modelling language (UML) is one of the most used model languages for applying the MDSE approach....
详细信息
model-driven software engineering (MDSE) is an established approach for developing complex software systems. The unified modelling language (UML) is one of the most used model languages for applying the MDSE approach. UML has 14 diagram types that describe different perspectives of a software system under development. These diagrams are strongly dependent on each other and must be consistent with one another. The main objectives of this paper are as follows: (1) to understand (i) how aware experts are of model consistency issues and (ii) how relevant these issues are to experts, in order to understand model consistency in the MDSE/UML contexts, and more importantly, (2) to validate a set of 116 UML consistency rules that was systematically collected from the literature, so as to identify the rules that should always be enforced. We conducted a personal opinion survey with 106 experts in SE and MDSE, by means of an online questionnaire. The survey results describe an overview of how the topic of MDSE/UML consistency is handled by experts in the field. In addition, this survey identified a set of 52 UML consistency rules which should always be checked in every UML diagram. The majority of these 52 rules were understood by the majority of respondents and are general-purpose rules that are involved in the Design software development phase. This subset of 52 rules could be considered to be (1) added to the UML standard, (2) used as a reference to researchers who study UML/MDSE, and (3) used as a practical example for teaching purposes.
In 2009, the Simple Language of Communicating Objects (Slco) Domain-Specific Language was designed. Since then, a range of tools have been developed around this language to conduct research on a wide range of topics, ...
详细信息
ISBN:
(纸本)9783031521829;9783031521836
In 2009, the Simple Language of Communicating Objects (Slco) Domain-Specific Language was designed. Since then, a range of tools have been developed around this language to conduct research on a wide range of topics, all related to the construction of complex, component-based software, with formal verification being applied in every development step. In this paper, we present this range, and draw connections between the various, at first glance disparate, research results. We discuss the current status of the Slco framework, i.e., the language in combination with the tools, and plans for future work.
The availability and effectiveness of generative AI tools challenge the currently established methods for learning, teaching and assessment. In this paper, we discuss their potential impact for model-drivensoftware e...
详细信息
ISBN:
(纸本)9798350324983
The availability and effectiveness of generative AI tools challenge the currently established methods for learning, teaching and assessment. In this paper, we discuss their potential impact for model-driven software engineering education, both from the point of view of educators and students. The discussion highlights several opportunities and risks, which support the need of a critical perspective in the application of these tools.
Fuzzing or fuzz testing is an established technique that aims to discover unexpected program behavior (e.g., bugs, security vulner-abilities, or crashes) by feeding automatically generated data into a program under te...
详细信息
ISBN:
(纸本)9781450367684
Fuzzing or fuzz testing is an established technique that aims to discover unexpected program behavior (e.g., bugs, security vulner-abilities, or crashes) by feeding automatically generated data into a program under test. However, the application of fuzzing to test model-driven software engineering (MDSE) tools is still limited because of the difficulty of existing fuzzers to provide structured, well-typed inputs, namely models that conform to typing and consistency constraints induced by a given meta-model and underlying modeling framework. By drawing from recent advances on both fuzz testing and automated model generation, we present three different approaches for fuzzing MDSE tools: A graph grammar-based fuzzer and two variants of a coverage-guided mutation-based fuzzer working with different sets of model mutation operators. Our evaluation on a set of real-world MDSE tools shows that our approaches can outperform both standard fuzzers and model generators w.r.t. their fuzzing capabilities. Moreover, we found that each of our approaches comes with its own strengths and weaknesses in terms of fault finding capabilities and the ability to cover different aspects of the system under test. Thus the approaches complement each other, forming a fuzzer suite for testing MDSE tools.
Fuzzing or fuzz testing is an established technique that aims to discover unexpected program behavior (e.g., bugs, security vulnerabilities, or crashes) by feeding automatically generated data into a program under tes...
详细信息
ISBN:
(纸本)9781450367684
Fuzzing or fuzz testing is an established technique that aims to discover unexpected program behavior (e.g., bugs, security vulnerabilities, or crashes) by feeding automatically generated data into a program under test. However, the application of fuzzing to test model-driven software engineering (MDSE) tools is still limited because of the difficulty of existing fuzzers to provide structured, well-typed inputs, namely models that conform to typing and consistency constraints induced by a given meta-model and underlying modeling framework. By drawing from recent advances on both fuzz testing and automated model generation, we present three different approaches for fuzzing MDSE tools: A graph grammar-based fuzzer and two variants of a coverage-guided mutation-based fuzzer working with different sets of model mutation operators. Our evaluation on a set of real-world MDSE tools shows that our approaches can outperform both standard fuzzers and model generators w.r.t. their fuzzing capabilities. Moreover, we found that each of our approaches comes with its own strengths and weaknesses in terms of fault finding capabilities and the ability to cover different aspects of the system under test. Thus the approaches complement each other, forming a fuzzer suite for testing MDSE tools.
Standard modelling languages enabled the model-driven software engineering paradigm, allowing the development of model compilers for code generation. This, however, induces a subordination of implementation to the mod...
详细信息
ISBN:
(纸本)9789897583001
Standard modelling languages enabled the model-driven software engineering paradigm, allowing the development of model compilers for code generation. This, however, induces a subordination of implementation to the modelling language: the modelling benefits are confined to a fixed semantic space. On the other hand, the rise of agile software development practices has impacted model-drivenengineering practices - an Agile modelling paradigm was consequently introduced. This was later expanded towards the Agile modelling Method engineering (AMME) framework which generalizes agility at the modelling method level. By observing several AMME-driven implementation experiences, this paper specialises the notion of model-driven software engineering to that of model-Aware softwareengineering - an approach that relies on modelling language evolution, in response to the evolution of the implemented system's requirements. The key benefit is that the modelling language-implementation dependency is reversed, as the implementation needs propagate requirements towards an agile modelling language.
model-driven software engineering (MDSE) is a development method in which models are used to generate software. Despite documented advantages, projects employing MDSE may fail due to development challenges. In this pa...
详细信息
ISBN:
(纸本)9781728104379
model-driven software engineering (MDSE) is a development method in which models are used to generate software. Despite documented advantages, projects employing MDSE may fail due to development challenges. In this paper, we study and document these challenges by conducting an up-to-date systematic mapping that goes beyond reviewing MDSE studies: we also include two derived paradigms (model-Oriented Programming and models at Run-time). Therefore, we present a systematic mapping with two objectives: The first objective was to identify specific domains in which MDSE is successful, while the second objective was to identify what are the challenges to apply this methodology to general purpose development processes. Following the review of 4859 studies (3727 are unique), we have identified the application and technological domains in which MDSE projects are more likely to succeed. We also discuss challenges presented by 17 primary studies. The analysis of the results indicate that MDSE application is consolidated in specific domains. A common feature identified among studies related to general purpose MDSE processes is that, initially, authors reported lack of proper methods and training. After new techniques have risen, it has been pointed that MDSE projects still face maintenance problems that can discourage their usage in other domains.
The Coordination Reform of 2012 requires Norwegian municipalities and regional health authorities to enter into legally binding service agreements. Although several research projects have been undertaken to analyse th...
详细信息
The Coordination Reform of 2012 requires Norwegian municipalities and regional health authorities to enter into legally binding service agreements. Although several research projects have been undertaken to analyse the implications of this reform, there is no central database where researches can be given access and analyse the service agreements. In this paper we present how we use model-driven software engineering and user-centric design in an initial development of an information system designed to allow researches to access and analyse service agreements. For this project, it was crucial to discuss the requirements of the system with domain-experts at a high level of abstraction in order to elicit feedback so that the development could proceed at a fast pace and in the right direction. Furthermore, given time and resource constraints, we elected to use a modeldriven approach using automatic code generation coupled with high-productivity frameworks. In this way we were able to create prototypes so that the developers could get fast feedback from the domain-experts and improvements could be implemented with minimal effort. (c) 2015 The Authors. Published by Elsevier B.V.
The Coordination Reform of 2012 requires Norwegian municipalities and regional health authorities to enter into legally binding service agreements. Although several research projects have been undertaken to analyse th...
详细信息
The Coordination Reform of 2012 requires Norwegian municipalities and regional health authorities to enter into legally binding service agreements. Although several research projects have been undertaken to analyse the implications of this reform, there is no central database where researches can be given access and analyse the service agreements. In this paper we present how we use model-driven software engineering and user-centric design in an initial development of an information system designed to allow researches to access and analyse service agreements. For this project, it was crucial to discuss the requirements of the system with domain-experts at a high level of abstraction in order to elicit feedback so that the development could proceed at a fast pace and in the right direction. Furthermore, given time and resource constraints, we elected to use a modeldriven approach using automatic code generation coupled with high-productivity frameworks. In this way we were able to create prototypes so that the developers could get fast feedback from the domain-experts and improvements could be implemented with minimal effort.
暂无评论