{"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}
{"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
{"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}
{"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}
{"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}
{"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}
{"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}
{"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}
{"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
{"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}