The heterogeneity and complexity of Internet of Things (IoT) applications present new challenges to the software development process. Model-Driven Software Development (MDSD) is increasingly being recognized as a key paradigm in tackling many of these challenges, as evident by the emergence of a significant number of MDSD frameworks targeting IoT in the past couple of years. At the heart of IoT applications are embedded and realtime systems, a domain where model-driven development is well-established and many existing tools have a proven track record. Unfortunately, only a handful of these tools support out-of-the-box integration with the IoT. In this work, we discuss the different design and implementation decisions for enabling existing actor-oriented MDSD tools for the IoT. Moreover, we propose an integration approach based on the use of proxy actors and system interfaces. The approach offers seamless and flexible integration of external IoT devices into the user's model. We implement and evaluate our approach using the MDSD tool Papyrus for Realtime as a testbed.
物联网应用的异构性和复杂性对软件开发过程提出了新的挑战。模型驱动软件开发(MDSD)越来越被认为是解决这些挑战的关键范例,这一点在过去几年中以物联网为目标的大量MDSD框架的出现就很明显。物联网应用的核心是嵌入式和实时系统,这是一个模型驱动开发已经建立的领域,许多现有工具都有经过验证的记录。不幸的是,这些工具中只有少数支持与物联网的开箱即用集成。在这项工作中,我们讨论了为物联网启用现有面向参与者的MDSD工具的不同设计和实现决策。此外,我们提出了一种基于使用代理参与者和系统接口的集成方法。该方法将外部物联网设备无缝灵活地集成到用户模型中。我们使用MDSD工具Papyrus for Realtime作为测试平台来实现和评估我们的方法。
{"title":"Enabling Model-Driven Software Development Tools for the Internet of Things","authors":"Karim Jahed, J. Dingel","doi":"10.1109/MiSE.2019.00022","DOIUrl":"https://doi.org/10.1109/MiSE.2019.00022","url":null,"abstract":"The heterogeneity and complexity of Internet of Things (IoT) applications present new challenges to the software development process. Model-Driven Software Development (MDSD) is increasingly being recognized as a key paradigm in tackling many of these challenges, as evident by the emergence of a significant number of MDSD frameworks targeting IoT in the past couple of years. At the heart of IoT applications are embedded and realtime systems, a domain where model-driven development is well-established and many existing tools have a proven track record. Unfortunately, only a handful of these tools support out-of-the-box integration with the IoT. In this work, we discuss the different design and implementation decisions for enabling existing actor-oriented MDSD tools for the IoT. Moreover, we propose an integration approach based on the use of proxy actors and system interfaces. The approach offers seamless and flexible integration of external IoT devices into the user's model. We implement and evaluate our approach using the MDSD tool Papyrus for Realtime as a testbed.","PeriodicalId":340157,"journal":{"name":"2019 IEEE/ACM 11th International Workshop on Modelling in Software Engineering (MiSE)","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120924582","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}
Reuse is central to improving the software development process, increasing software quality and decreasing time-to-market. Hence it is of paramount importance that modelling languages provide features that enable the specification and modularization of reusable artefacts, as well as their subsequent reuse. In this paper we outline several difficulties caused by the finality of method signatures that make it hard to specify and use reusable artefacts encapsulating several variants. The difficulties are illustrated with a running example. To evaluate whether these difficulties can be observed at the programming level, we report on an empirical study conducted on the Java Platform API as well as present workarounds used in various programming languages to deal with the rigid nature of signatures. Finally, we outline signature extension as an approach to overcome these problems at the modelling level.
{"title":"On the Difficulties of Raising the Level of Abstraction and Facilitating Reuse in Software Modelling: The Case for Signature Extension","authors":"Matthias Schöttle, J. Kienzle","doi":"10.1109/MiSE.2019.00018","DOIUrl":"https://doi.org/10.1109/MiSE.2019.00018","url":null,"abstract":"Reuse is central to improving the software development process, increasing software quality and decreasing time-to-market. Hence it is of paramount importance that modelling languages provide features that enable the specification and modularization of reusable artefacts, as well as their subsequent reuse. In this paper we outline several difficulties caused by the finality of method signatures that make it hard to specify and use reusable artefacts encapsulating several variants. The difficulties are illustrated with a running example. To evaluate whether these difficulties can be observed at the programming level, we report on an empirical study conducted on the Java Platform API as well as present workarounds used in various programming languages to deal with the rigid nature of signatures. Finally, we outline signature extension as an approach to overcome these problems at the modelling level.","PeriodicalId":340157,"journal":{"name":"2019 IEEE/ACM 11th International Workshop on Modelling in Software Engineering (MiSE)","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121877809","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}
L. Burgueño, R. Clarisó, Jordi Cabot, S. Gérard, Antonio Vallecillo
This paper discusses the representation of Belief Uncertainty in software models. This kind of uncertainty refers to the situation in which the modeler, or any other belief agent, is uncertain about the behavior of the system, or the statements that the model expresses about it. In this work, we propose to assign a degree of belief to model statements (let they be constraints, or any other model expression), which is expressed by a probability (called credence, in statistical terms) that represents a quantification of such a subjective degree of belief. We discuss how it can be represented using current modeling notations, and how to operate with it in order to make informed decisions.
{"title":"Belief Uncertainty in Software Models","authors":"L. Burgueño, R. Clarisó, Jordi Cabot, S. Gérard, Antonio Vallecillo","doi":"10.1109/MiSE.2019.00011","DOIUrl":"https://doi.org/10.1109/MiSE.2019.00011","url":null,"abstract":"This paper discusses the representation of Belief Uncertainty in software models. This kind of uncertainty refers to the situation in which the modeler, or any other belief agent, is uncertain about the behavior of the system, or the statements that the model expresses about it. In this work, we propose to assign a degree of belief to model statements (let they be constraints, or any other model expression), which is expressed by a probability (called credence, in statistical terms) that represents a quantification of such a subjective degree of belief. We discuss how it can be represented using current modeling notations, and how to operate with it in order to make informed decisions.","PeriodicalId":340157,"journal":{"name":"2019 IEEE/ACM 11th International Workshop on Modelling in Software Engineering (MiSE)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132222963","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}
In today's world, software is ubiquitous and relied upon to perform many important and critical functions. Unfortunately, software is riddled with security vulnerabilities that invite exploitation. Attackers are particularly attracted to software systems that hold sensitive data with the goal of compromising the data. For such systems, this paper proposes a modeling method applied at design time to identify and reduce the attack surface, which arises due to the locations containing sensitive data within the software system and the accessibility of those locations to attackers. The method reduces the attack surface by changing the design so that the number of such locations is reduced. The method performs these changes on a graphical model of the software system. The changes are then considered for application to the design of the actual system to improve its security.
{"title":"Modeling and Reducing the Attack Surface in Software Systems","authors":"George Yee","doi":"10.1109/MiSE.2019.00016","DOIUrl":"https://doi.org/10.1109/MiSE.2019.00016","url":null,"abstract":"In today's world, software is ubiquitous and relied upon to perform many important and critical functions. Unfortunately, software is riddled with security vulnerabilities that invite exploitation. Attackers are particularly attracted to software systems that hold sensitive data with the goal of compromising the data. For such systems, this paper proposes a modeling method applied at design time to identify and reduce the attack surface, which arises due to the locations containing sensitive data within the software system and the accessibility of those locations to attackers. The method reduces the attack surface by changing the design so that the number of such locations is reduced. The method performs these changes on a graphical model of the software system. The changes are then considered for application to the design of the actual system to improve its security.","PeriodicalId":340157,"journal":{"name":"2019 IEEE/ACM 11th International Workshop on Modelling in Software Engineering (MiSE)","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128827646","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}
To describe the characteristics of complex software systems, model-driven engineering (MDE) advocates the use of different modeling languages and multiple views. These models are typically organized in a nested structure or grouped according to some criteria. A modeller needs to navigate this structure to understand and modify the system under development. This paper introduces a navigation bar that visually indicates to the modeller the place of a model in that structure. Furthermore, a generic navigation mechanism facilitates navigation within a model and from one model to other linked models potentially expressed in a different language. We present a navigation metamodel that a language designer can use to enhance a modelling language at the metamodel level with our generic navigation capabilities.
{"title":"Generic Navigation of Model-Based Development Artefacts","authors":"Hyacinth Ali, G. Mussbacher, J. Kienzle","doi":"10.1109/MiSE.2019.00013","DOIUrl":"https://doi.org/10.1109/MiSE.2019.00013","url":null,"abstract":"To describe the characteristics of complex software systems, model-driven engineering (MDE) advocates the use of different modeling languages and multiple views. These models are typically organized in a nested structure or grouped according to some criteria. A modeller needs to navigate this structure to understand and modify the system under development. This paper introduces a navigation bar that visually indicates to the modeller the place of a model in that structure. Furthermore, a generic navigation mechanism facilitates navigation within a model and from one model to other linked models potentially expressed in a different language. We present a navigation metamodel that a language designer can use to enhance a modelling language at the metamodel level with our generic navigation capabilities.","PeriodicalId":340157,"journal":{"name":"2019 IEEE/ACM 11th International Workshop on Modelling in Software Engineering (MiSE)","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121431047","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}
Extension is a common term used in model-driven engineering. However, it is expressed in different ways by different modeling languages. A class diagram modeler uses extension to mean inheriting from a class. An aspect modeler extends a base with an aspect. Despite the different ways the term is being expressed, it generally refers to adding/changing structure/behaviour of a model in some way. We observe that model extensions vary in several ways. For example, in some cases, such as in use case diagram extensions, the extended model (base model) is information complete, meaning that it requires no further information in order for it to be useful. In other languages, the base model is not useful on its own and must be completed with an extension. Extensions also vary in terms of granularity, e.g., inheritance between two classes is an extension at a low level of granularity (between two elements, i.e., classes, of the same class diagram) compared to extension between two models. This paper presents a feature model for extensions in modeling languages. We discuss how extensions vary in terms of granularity, the completeness of the base model, whether or not the extension model requires to specify matching information, and the changes the composed model does to the base. Using this feature model, we explore extensions in several popular modeling languages and report our findings.
{"title":"Feature Model for Extensions in Modeling Languages","authors":"Daniel Devine, Omar Alam","doi":"10.1109/MiSE.2019.00017","DOIUrl":"https://doi.org/10.1109/MiSE.2019.00017","url":null,"abstract":"Extension is a common term used in model-driven engineering. However, it is expressed in different ways by different modeling languages. A class diagram modeler uses extension to mean inheriting from a class. An aspect modeler extends a base with an aspect. Despite the different ways the term is being expressed, it generally refers to adding/changing structure/behaviour of a model in some way. We observe that model extensions vary in several ways. For example, in some cases, such as in use case diagram extensions, the extended model (base model) is information complete, meaning that it requires no further information in order for it to be useful. In other languages, the base model is not useful on its own and must be completed with an extension. Extensions also vary in terms of granularity, e.g., inheritance between two classes is an extension at a low level of granularity (between two elements, i.e., classes, of the same class diagram) compared to extension between two models. This paper presents a feature model for extensions in modeling languages. We discuss how extensions vary in terms of granularity, the completeness of the base model, whether or not the extension model requires to specify matching information, and the changes the composed model does to the base. Using this feature model, we explore extensions in several popular modeling languages and report our findings.","PeriodicalId":340157,"journal":{"name":"2019 IEEE/ACM 11th International Workshop on Modelling in Software Engineering (MiSE)","volume":"60 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125080741","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}
Collaborative modelling has become a necessity when developing a complex system or in a team of modellers with a diverse set of expertise. Textual notations have a long history in software engineering because of their fast editing style, simple usage, and scalability. Therefore, we propose a novel collaborative modelling framework for the graphical User Requirements Notation (URN) which we call tColab. It uses the text-based TGRL (Textual Goal-oriented Requirement Language) to build URN goal models and then automatically generates corresponding graphical models. This framework is based on the architecture of Eclipse Che and Theia. On one side, Theia provides support for LSP (Language Server Protocol) so that textual models can be built and their corresponding graphical models can be generated in a browser IDE (Integrated Development Environment). On the other hand, Eclipse Che adds support for collaboration where multiple modellers can contribute to building the textual models in an online collaborative manner. This initiative aims to replace the jUCMNAV tool, which is the most comprehensive URN modelling tool to date but only supports a single user.
在开发复杂系统或在具有不同专业知识的建模人员团队中,协作建模已经成为一种必要。文本符号在软件工程中有着悠久的历史,因为它们具有快速的编辑风格、简单的使用和可伸缩性。因此,我们为图形用户需求符号(URN)提出了一种新的协作建模框架,我们称之为tColab。它使用基于文本的面向文本目标的需求语言(TGRL)构建URN目标模型,然后自动生成相应的图形模型。该框架基于Eclipse Che和Theia的体系结构。一方面,Theia支持LSP (Language Server Protocol)协议,可以在浏览器IDE (Integrated Development Environment)中构建文本模型和生成相应的图形模型。另一方面,Eclipse Che增加了对协作的支持,其中多个建模者可以以在线协作的方式为构建文本模型做出贡献。该计划旨在取代jUCMNAV工具,该工具是迄今为止最全面的URN建模工具,但仅支持单个用户。
{"title":"Towards Web Collaborative Modelling for the User Requirements Notation Using Eclipse Che and Theia IDE","authors":"Rijul Saini, S. Bali, G. Mussbacher","doi":"10.1109/MiSE.2019.00010","DOIUrl":"https://doi.org/10.1109/MiSE.2019.00010","url":null,"abstract":"Collaborative modelling has become a necessity when developing a complex system or in a team of modellers with a diverse set of expertise. Textual notations have a long history in software engineering because of their fast editing style, simple usage, and scalability. Therefore, we propose a novel collaborative modelling framework for the graphical User Requirements Notation (URN) which we call tColab. It uses the text-based TGRL (Textual Goal-oriented Requirement Language) to build URN goal models and then automatically generates corresponding graphical models. This framework is based on the architecture of Eclipse Che and Theia. On one side, Theia provides support for LSP (Language Server Protocol) so that textual models can be built and their corresponding graphical models can be generated in a browser IDE (Integrated Development Environment). On the other hand, Eclipse Che adds support for collaboration where multiple modellers can contribute to building the textual models in an online collaborative manner. This initiative aims to replace the jUCMNAV tool, which is the most comprehensive URN modelling tool to date but only supports a single user.","PeriodicalId":340157,"journal":{"name":"2019 IEEE/ACM 11th International Workshop on Modelling in Software Engineering (MiSE)","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127491061","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}
Serverless computing is a relatively new execution model where the cloud platform provider manages the allocation of resources for containerized functions dynamically. This evolving paradigm is called Function as a Service (FaaS). The statelessness of these functions enables the application to be scaled up elastically in the case of peak loads. They can be tested easily in isolation, but the behavior arising by integrating them to an application is both hard to predict and test. The parallel execution of the functions and the shift of its state to data storages can cause several workflows accessing the same data. These workflows are hard to detect, particularly for complex applications. Therefore, we suggest an approach for modelling an existing serverless application based on a specialized graph holding all relevant features. Our serverless-specific model can be applied during the whole life cycle of a complex application and offers a good basis for this specific class of applications. It helps to optimize an existing system by identifying hot spots, supports the generation of test cases and can be used to monitor an existing system. Furthermore, we show how the generation of the model can be automated by realizing a tool supporting Amazon's AWS Lambda.
{"title":"Model-Based Analysis of Serverless Applications","authors":"Stefan Winzinger, G. Wirtz","doi":"10.1109/MiSE.2019.00020","DOIUrl":"https://doi.org/10.1109/MiSE.2019.00020","url":null,"abstract":"Serverless computing is a relatively new execution model where the cloud platform provider manages the allocation of resources for containerized functions dynamically. This evolving paradigm is called Function as a Service (FaaS). The statelessness of these functions enables the application to be scaled up elastically in the case of peak loads. They can be tested easily in isolation, but the behavior arising by integrating them to an application is both hard to predict and test. The parallel execution of the functions and the shift of its state to data storages can cause several workflows accessing the same data. These workflows are hard to detect, particularly for complex applications. Therefore, we suggest an approach for modelling an existing serverless application based on a specialized graph holding all relevant features. Our serverless-specific model can be applied during the whole life cycle of a complex application and offers a good basis for this specific class of applications. It helps to optimize an existing system by identifying hot spots, supports the generation of test cases and can be used to monitor an existing system. Furthermore, we show how the generation of the model can be automated by realizing a tool supporting Amazon's AWS Lambda.","PeriodicalId":340157,"journal":{"name":"2019 IEEE/ACM 11th International Workshop on Modelling in Software Engineering (MiSE)","volume":"84 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115150814","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}
The applicability of models has evolved throughout the history of software engineering, from documentation, development and beyond. In this context, we study how to employ models for a common language shared by humans and computers. After studying a model-oriented development method for models at run-time systems, we have identified that this method would heavily rely on metamodels. Therefore, it is important to evaluate if developers are able to use metamodels in software development. In this paper we present a controlled experiment to evaluate the ability and efforts of professional and novice developers to effectively use metamodels. Participants of the experiment had access to newly created metamodeling definition tools, as well as standard Java code and UML diagrams in order to complete their tasks. Results indicate that the definition language was easy to be learned by experienced Java developers, who were able to comprehend metamodeling development artifacts without struggling with modeling concepts. We conclude developers would be able to adapt to new modeling concepts and tools as required by different systems that handle models at run-time.
{"title":"Evaluating the Ability of Developers to Use Metamodels in Model-Oriented Development","authors":"Thiago Gottardi, R. Braga","doi":"10.1109/MiSE.2019.00012","DOIUrl":"https://doi.org/10.1109/MiSE.2019.00012","url":null,"abstract":"The applicability of models has evolved throughout the history of software engineering, from documentation, development and beyond. In this context, we study how to employ models for a common language shared by humans and computers. After studying a model-oriented development method for models at run-time systems, we have identified that this method would heavily rely on metamodels. Therefore, it is important to evaluate if developers are able to use metamodels in software development. In this paper we present a controlled experiment to evaluate the ability and efforts of professional and novice developers to effectively use metamodels. Participants of the experiment had access to newly created metamodeling definition tools, as well as standard Java code and UML diagrams in order to complete their tasks. Results indicate that the definition language was easy to be learned by experienced Java developers, who were able to comprehend metamodeling development artifacts without struggling with modeling concepts. We conclude developers would be able to adapt to new modeling concepts and tools as required by different systems that handle models at run-time.","PeriodicalId":340157,"journal":{"name":"2019 IEEE/ACM 11th International Workshop on Modelling in Software Engineering (MiSE)","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125951734","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}
Takashi Tomita, Daisuke Ishii, T. Murakami, Shigeki Takeuchi, Toshiaki Aoki
MATLAB/Simulink is the de facto standard tool for the model-based development (MBD) of control software for automotive systems. A model developed in MBD is called a Simulink model and, for real automotive systems, involves complex computation as well as tens of thousands of blocks. In this paper, we propose an automated test generation tool for such large and complex Simulink models. The tool provides functions for (1) automatically generating high-coverage test-suites for practical models, which cannot be handled by Simulink Design Verifier (SLDV), and (2) measuring decision, condition and MC/DC coverage much more efficiently than Simulink Coverage (SLC). This automatic test-suite generation adopts a Monte-Carlo method with templates of test cases. Our experimental evaluation shows that the tool can provide test suites against practical implementation models with higher coverage and shorter execution times than SLDV.
{"title":"A Scalable Monte-Carlo Test-Case Generation Tool for Large and Complex Simulink Models","authors":"Takashi Tomita, Daisuke Ishii, T. Murakami, Shigeki Takeuchi, Toshiaki Aoki","doi":"10.1109/MiSE.2019.00014","DOIUrl":"https://doi.org/10.1109/MiSE.2019.00014","url":null,"abstract":"MATLAB/Simulink is the de facto standard tool for the model-based development (MBD) of control software for automotive systems. A model developed in MBD is called a Simulink model and, for real automotive systems, involves complex computation as well as tens of thousands of blocks. In this paper, we propose an automated test generation tool for such large and complex Simulink models. The tool provides functions for (1) automatically generating high-coverage test-suites for practical models, which cannot be handled by Simulink Design Verifier (SLDV), and (2) measuring decision, condition and MC/DC coverage much more efficiently than Simulink Coverage (SLC). This automatic test-suite generation adopts a Monte-Carlo method with templates of test cases. Our experimental evaluation shows that the tool can provide test suites against practical implementation models with higher coverage and shorter execution times than SLDV.","PeriodicalId":340157,"journal":{"name":"2019 IEEE/ACM 11th International Workshop on Modelling in Software Engineering (MiSE)","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125838615","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}