首页 > 最新文献

2019 IEEE/ACM 11th International Workshop on Modelling in Software Engineering (MiSE)最新文献

英文 中文
Enabling Model-Driven Software Development Tools for the Internet of Things 为物联网启用模型驱动软件开发工具
Karim Jahed, J. Dingel
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}
引用次数: 10
On the Difficulties of Raising the Level of Abstraction and Facilitating Reuse in Software Modelling: The Case for Signature Extension 论软件建模中提高抽象层次和促进重用的困难——以签名扩展为例
Matthias Schöttle, J. Kienzle
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.
重用是改进软件开发过程、提高软件质量和缩短上市时间的核心。因此,建模语言提供支持可重用工件的规范和模块化以及它们随后的重用的特性是至关重要的。在本文中,我们概述了由方法签名的最终性引起的几个困难,这些困难使得难以指定和使用封装多个变体的可重用工件。用一个实例说明了这些困难。为了评估这些困难是否可以在编程级别上观察到,我们报告了对Java平台API进行的实证研究,以及在各种编程语言中使用的解决方案,以处理签名的刚性性质。最后,我们概述了签名扩展作为在建模级别克服这些问题的一种方法。
{"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}
引用次数: 0
Belief Uncertainty in Software Models 软件模型中的信念不确定性
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}
引用次数: 6
Modeling and Reducing the Attack Surface in Software Systems 软件系统中的攻击面建模与减少
George Yee
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}
引用次数: 1
Generic Navigation of Model-Based Development Artefacts 基于模型的开发构件的通用导航
Hyacinth Ali, G. Mussbacher, J. Kienzle
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.
为了描述复杂软件系统的特征,模型驱动工程(MDE)提倡使用不同的建模语言和多个视图。这些模型通常组织在一个嵌套结构中,或者根据一些标准进行分组。建模人员需要浏览这个结构来理解和修改开发中的系统。本文介绍了一个导航条,它可以直观地向建模者指出模型在该结构中的位置。此外,通用导航机制有助于在模型内进行导航,以及从一个模型到可能用不同语言表示的其他链接模型之间的导航。我们提出了一个导航元模型,语言设计者可以使用它在元模型级别上通过我们的通用导航功能来增强建模语言。
{"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}
引用次数: 3
Feature Model for Extensions in Modeling Languages 建模语言中扩展的特征模型
Daniel Devine, Omar Alam
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}
引用次数: 1
Towards Web Collaborative Modelling for the User Requirements Notation Using Eclipse Che and Theia IDE 用Eclipse和Theia IDE实现用户需求符号的Web协同建模
Rijul Saini, S. Bali, G. Mussbacher
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}
引用次数: 5
Model-Based Analysis of Serverless Applications 基于模型的无服务器应用分析
Stefan Winzinger, G. Wirtz
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.
无服务器计算是一种相对较新的执行模型,其中云平台提供商动态管理容器化功能的资源分配。这种不断发展的范式称为功能即服务(FaaS)。这些函数的无状态性使应用程序能够在峰值负载的情况下弹性地扩展。可以很容易地单独测试它们,但是将它们集成到应用程序中所产生的行为很难预测和测试。函数的并行执行及其状态向数据存储的转移可能导致多个工作流访问相同的数据。这些工作流很难检测,特别是对于复杂的应用程序。因此,我们建议一种基于包含所有相关特征的专用图对现有无服务器应用程序建模的方法。我们的无服务器特定模型可以在复杂应用程序的整个生命周期中应用,并为这类特定的应用程序提供了良好的基础。它通过识别热点来帮助优化现有的系统,支持测试用例的生成,并且可以用来监视现有的系统。此外,我们还展示了如何通过实现支持Amazon 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}
引用次数: 17
Evaluating the Ability of Developers to Use Metamodels in Model-Oriented Development 评估开发人员在面向模型的开发中使用元模型的能力
Thiago Gottardi, R. Braga
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.
模型的适用性在整个软件工程的历史中不断发展,从文档到开发等等。在这种情况下,我们研究如何为人类和计算机共享的公共语言使用模型。在研究了运行时系统中模型的面向模型的开发方法之后,我们已经确定了该方法将严重依赖于元模型。因此,评估开发人员是否能够在软件开发中使用元模型是很重要的。在本文中,我们提出了一个对照实验来评估专业和新手开发人员有效使用元模型的能力和努力。实验的参与者可以访问新创建的元建模定义工具,以及标准的Java代码和UML图,以便完成他们的任务。结果表明,定义语言很容易被有经验的Java开发人员学习,他们能够理解元建模开发工件,而不需要与建模概念作斗争。我们得出结论,开发人员将能够适应在运行时处理模型的不同系统所需要的新的建模概念和工具。
{"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}
引用次数: 1
A Scalable Monte-Carlo Test-Case Generation Tool for Large and Complex Simulink Models 大型复杂Simulink模型的可扩展蒙特卡罗测试用例生成工具
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.
MATLAB/Simulink是汽车系统控制软件基于模型开发(MBD)的事实上的标准工具。在MBD中开发的模型被称为Simulink模型,对于真实的汽车系统,它涉及复杂的计算以及数以万计的块。在本文中,我们提出了一个自动化的测试生成工具,用于这种大型和复杂的Simulink模型。该工具提供了以下功能:(1)为实际模型自动生成高覆盖率测试套件,这是Simulink Design verification (SLDV)无法处理的;(2)比Simulink coverage (SLC)更有效地测量决策、条件和MC/DC覆盖。这种自动生成测试套件的方法采用了带有测试用例模板的蒙特卡罗方法。我们的实验评估表明,该工具可以提供针对实际实现模型的测试套件,比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}
引用次数: 7
期刊
2019 IEEE/ACM 11th International Workshop on Modelling in Software Engineering (MiSE)
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1