首页 > 最新文献

2021 ACM/IEEE 24th International Conference on Model Driven Engineering Languages and Systems (MODELS)最新文献

英文 中文
Model-Based Development of Engine Control Systems: Experiences and Lessons Learnt 基于模型的发动机控制系统开发:经验和教训
Justin Cooper, A. D. L. Vega, R. Paige, D. Kolovos, M. Bennett, Caroline Brown, Beatriz Sanchez Piña, Horacio Hoyos
Rolls-Royce Control Systems supplies engine control and monitoring systems for aviation applications, and is required to design, certify, and deliver these to the highest level of safety assurance. To allow Rolls-Royce to develop safe and robust systems, which continue to increase in complexity, model-based techniques are now a critical part of the software development process. In this paper, we discuss the experiences, challenges and lessons learnt when developing a bespoke domain-specific modelling workbench based on open-source modelling technologies including the Eclipse Modelling Framework (EMF), Xtext, Sirius and Epsilon. This modelling workbench will be used to architect and integrate the software for all future Rolls-Royce engine control and monitoring systems.
罗尔斯·罗伊斯控制系统公司为航空应用提供发动机控制和监控系统,并要求设计、认证和交付这些系统,以达到最高水平的安全保证。为了使罗尔斯·罗伊斯能够开发出安全可靠的系统,基于模型的技术现在是软件开发过程的关键部分。在本文中,我们讨论了在基于开源建模技术(包括Eclipse建模框架(EMF)、Xtext、Sirius和Epsilon)开发定制的特定领域建模工作台时所获得的经验、挑战和教训。该建模工作台将用于构建和集成所有未来劳斯莱斯发动机控制和监控系统的软件。
{"title":"Model-Based Development of Engine Control Systems: Experiences and Lessons Learnt","authors":"Justin Cooper, A. D. L. Vega, R. Paige, D. Kolovos, M. Bennett, Caroline Brown, Beatriz Sanchez Piña, Horacio Hoyos","doi":"10.1109/MODELS50736.2021.00038","DOIUrl":"https://doi.org/10.1109/MODELS50736.2021.00038","url":null,"abstract":"Rolls-Royce Control Systems supplies engine control and monitoring systems for aviation applications, and is required to design, certify, and deliver these to the highest level of safety assurance. To allow Rolls-Royce to develop safe and robust systems, which continue to increase in complexity, model-based techniques are now a critical part of the software development process. In this paper, we discuss the experiences, challenges and lessons learnt when developing a bespoke domain-specific modelling workbench based on open-source modelling technologies including the Eclipse Modelling Framework (EMF), Xtext, Sirius and Epsilon. This modelling workbench will be used to architect and integrate the software for all future Rolls-Royce engine control and monitoring systems.","PeriodicalId":375828,"journal":{"name":"2021 ACM/IEEE 24th International Conference on Model Driven Engineering Languages and Systems (MODELS)","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121249057","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
Exploring Architectural Design Decisions in Industry 4.0: A Literature Review and Taxonomy 探索工业4.0中的建筑设计决策:文献综述和分类
Tarik Terzimehic, K. Dorofeev, S. Voss
Architectural design decisions, such as service deployment and composition, plant layout synthesis, or production planning, are an indispensable and overarching part of an industrial manufacturing system design. In the fourth industrial revolution (Industry 4.0), frequent production changes trigger their synthesis, and preferably optimization. Yet, knowledge on architecture synthesis and optimization has been scattered around other domains, such as generic software engineering. We take a step towards synthesizing current knowledge on architectural design decisions in Industry 4.0. We developed a taxonomy describing architectural models, design decisions, and optimization possibilities. The developed taxonomy serves as a guideline for comparing different possibilities (e.g., application of different optimization algorithms) and selecting appropriate ones for a given context. Furthermore, we reviewed and mapped 30 relevant research works to the taxonomy, identifying research trends and gaps. We discuss interesting, and yet uncovered topics that emerged from our review.
架构设计决策,例如服务部署和组合、工厂布局综合或生产计划,是工业制造系统设计中不可或缺的重要部分。在第四次工业革命(工业4.0)中,频繁的生产变化触发了它们的合成,最好是优化。然而,关于架构综合和优化的知识已经分散到其他领域,比如通用软件工程。我们朝着综合工业4.0中建筑设计决策的当前知识迈出了一步。我们开发了一个描述体系结构模型、设计决策和优化可能性的分类法。所开发的分类法可作为比较不同可能性(例如,应用不同的优化算法)并为给定上下文选择适当的分类法的指南。此外,我们回顾并绘制了30项相关研究成果的分类图,确定了研究趋势和差距。我们讨论有趣的,但尚未发现的话题,从我们的审查出现。
{"title":"Exploring Architectural Design Decisions in Industry 4.0: A Literature Review and Taxonomy","authors":"Tarik Terzimehic, K. Dorofeev, S. Voss","doi":"10.1109/MODELS50736.2021.00026","DOIUrl":"https://doi.org/10.1109/MODELS50736.2021.00026","url":null,"abstract":"Architectural design decisions, such as service deployment and composition, plant layout synthesis, or production planning, are an indispensable and overarching part of an industrial manufacturing system design. In the fourth industrial revolution (Industry 4.0), frequent production changes trigger their synthesis, and preferably optimization. Yet, knowledge on architecture synthesis and optimization has been scattered around other domains, such as generic software engineering. We take a step towards synthesizing current knowledge on architectural design decisions in Industry 4.0. We developed a taxonomy describing architectural models, design decisions, and optimization possibilities. The developed taxonomy serves as a guideline for comparing different possibilities (e.g., application of different optimization algorithms) and selecting appropriate ones for a given context. Furthermore, we reviewed and mapped 30 relevant research works to the taxonomy, identifying research trends and gaps. We discuss interesting, and yet uncovered topics that emerged from our review.","PeriodicalId":375828,"journal":{"name":"2021 ACM/IEEE 24th International Conference on Model Driven Engineering Languages and Systems (MODELS)","volume":"75 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121518858","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
Towards Reinforcement Learning for In-Place Model Transformations 面向就地模型转换的强化学习
M. Eisenberg, Hans-Peter Pichler, Antonio Garmendía, M. Wimmer
Model-driven optimization has gained much interest in the last years which resulted in several dedicated extensions for in-place model transformation engines. The main idea is to exploit domain-specific languages to define models which are optimized by applying a set of model transformation rules. Objectives are guiding the optimization processes which are currently mostly realized by meta-heuristic searchers such as different kinds of Genetic Algorithms. However, meta-heuristic search approaches are currently challenged by reinforcement learning approaches for solving optimization problems. In this new ideas paper, we apply for the first time reinforcement learning for in-place model transformations. In particular, we extend an existing model-driven optimization approach with reinforcement learning techniques. We experiment with value-based and policy-based techniques. We investigate several case studies for validating the feasibility of using reinforcement learning for model-driven optimization and compare the performance against existing approaches. The initial evaluation shows promising results but also helped in identifying future research lines for the whole model transformation community.
模型驱动的优化在过去几年中获得了很多关注,这导致了一些针对就地模型转换引擎的专用扩展。主要思想是利用特定于领域的语言来定义通过应用一组模型转换规则来优化的模型。目标是指导优化过程,这些优化过程目前主要由元启发式搜索器(如各种遗传算法)实现。然而,元启发式搜索方法目前正受到强化学习方法解决优化问题的挑战。在这篇新思想的论文中,我们首次将强化学习应用于原地模型转换。特别是,我们用强化学习技术扩展了现有的模型驱动优化方法。我们尝试了基于价值和基于策略的技术。我们调查了几个案例研究,以验证使用强化学习进行模型驱动优化的可行性,并将其性能与现有方法进行比较。最初的评估显示了有希望的结果,但也有助于确定整个模型转换社区未来的研究方向。
{"title":"Towards Reinforcement Learning for In-Place Model Transformations","authors":"M. Eisenberg, Hans-Peter Pichler, Antonio Garmendía, M. Wimmer","doi":"10.1109/MODELS50736.2021.00017","DOIUrl":"https://doi.org/10.1109/MODELS50736.2021.00017","url":null,"abstract":"Model-driven optimization has gained much interest in the last years which resulted in several dedicated extensions for in-place model transformation engines. The main idea is to exploit domain-specific languages to define models which are optimized by applying a set of model transformation rules. Objectives are guiding the optimization processes which are currently mostly realized by meta-heuristic searchers such as different kinds of Genetic Algorithms. However, meta-heuristic search approaches are currently challenged by reinforcement learning approaches for solving optimization problems. In this new ideas paper, we apply for the first time reinforcement learning for in-place model transformations. In particular, we extend an existing model-driven optimization approach with reinforcement learning techniques. We experiment with value-based and policy-based techniques. We investigate several case studies for validating the feasibility of using reinforcement learning for model-driven optimization and compare the performance against existing approaches. The initial evaluation shows promising results but also helped in identifying future research lines for the whole model transformation community.","PeriodicalId":375828,"journal":{"name":"2021 ACM/IEEE 24th International Conference on Model Driven Engineering Languages and Systems (MODELS)","volume":"54 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122876730","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}
引用次数: 4
Towards the Characterization of Realistic Model Generators using Graph Neural Networks 用图神经网络表征现实模型生成器
José Antonio Hernández López, J. Cuadrado
The automatic generation of software models is an important element in many software and systems engineering scenarios such as software tool certification, validation of cyber-physical systems, or benchmarking graph databases. Several model generators are nowadays available, but the topic of whether they generate realistic models has been little studied. The state-of-the-art approach to check the realistic property in software models is to rely on simple comparisons using graph metrics and statistics. This generates a bottleneck due to the compression of all the information contained in the model into a small set of metrics. Furthermore, there is a lack of interpretation in these approaches since there are no hints of why the generated models are not realistic. Therefore, in this paper, we tackle the problem of assessing how realistic a generator is by mapping it to a classification problem in which a Graph Neural Network (GnN) will be trained to distinguish between the two sets of models (real and synthetic ones). Then, to assess how realistic a generator is we perform the Classifier Two-Sample Test (C2ST). Our approach allows for interpretation of the results by inspecting the attention layer of the GNN. We use our approach to assess four state-of-the-art model generators applied to three different domains. The results show that none of the generators can be considered realistic.
软件模型的自动生成是许多软件和系统工程场景中的重要元素,例如软件工具认证、网络物理系统的验证或图形数据库的基准测试。目前有几种模型生成器可用,但它们是否能生成真实的模型却很少被研究。检查软件模型中真实属性的最先进的方法是依靠使用图形度量和统计的简单比较。由于将模型中包含的所有信息压缩为一小组度量标准,这就产生了瓶颈。此外,在这些方法中缺乏解释,因为没有提示为什么生成的模型不现实。因此,在本文中,我们通过将生成器映射到分类问题来解决评估生成器的逼真程度的问题,在分类问题中,将训练图神经网络(GnN)来区分两组模型(真实模型和合成模型)。然后,为了评估生成器的逼真程度,我们执行分类器双样本测试(C2ST)。我们的方法允许通过检查GNN的注意层来解释结果。我们使用我们的方法来评估应用于三个不同领域的四个最先进的模型生成器。结果表明,没有一个发电机可以被认为是现实的。
{"title":"Towards the Characterization of Realistic Model Generators using Graph Neural Networks","authors":"José Antonio Hernández López, J. Cuadrado","doi":"10.1109/MODELS50736.2021.00015","DOIUrl":"https://doi.org/10.1109/MODELS50736.2021.00015","url":null,"abstract":"The automatic generation of software models is an important element in many software and systems engineering scenarios such as software tool certification, validation of cyber-physical systems, or benchmarking graph databases. Several model generators are nowadays available, but the topic of whether they generate realistic models has been little studied. The state-of-the-art approach to check the realistic property in software models is to rely on simple comparisons using graph metrics and statistics. This generates a bottleneck due to the compression of all the information contained in the model into a small set of metrics. Furthermore, there is a lack of interpretation in these approaches since there are no hints of why the generated models are not realistic. Therefore, in this paper, we tackle the problem of assessing how realistic a generator is by mapping it to a classification problem in which a Graph Neural Network (GnN) will be trained to distinguish between the two sets of models (real and synthetic ones). Then, to assess how realistic a generator is we perform the Classifier Two-Sample Test (C2ST). Our approach allows for interpretation of the results by inspecting the attention layer of the GNN. We use our approach to assess four state-of-the-art model generators applied to three different domains. The results show that none of the generators can be considered realistic.","PeriodicalId":375828,"journal":{"name":"2021 ACM/IEEE 24th International Conference on Model Driven Engineering Languages and Systems (MODELS)","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132733651","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
[Title page] (标题页)
{"title":"[Title page]","authors":"","doi":"10.1109/models50736.2021.00002","DOIUrl":"https://doi.org/10.1109/models50736.2021.00002","url":null,"abstract":"","PeriodicalId":375828,"journal":{"name":"2021 ACM/IEEE 24th International Conference on Model Driven Engineering Languages and Systems (MODELS)","volume":"55 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116668816","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
Monte Carlo Tree Search and GR(1) Synthesis for Robot Tasks Planning in Automotive Production Lines 汽车生产线机器人任务规划的蒙特卡洛树搜索与GR(1)综合
Eric Wete, Joel Greenyer, A. Wortmann, Oliver Flegel, Martin Klein
In automotive production cells, complex processes involving multiple robots must be optimized for cycle time. We investigated using symbolic GR(1) controller synthesis for automating multi-robot task planning. Given a specification of the order of tasks and states to avoid, often multiple valid strategies can be computed; in many states there are multiple choices to satisfy the specification, such as choosing different robots to perform a certain task. To determine the best choices under the consideration of movement times and probabilities that robots may be interrupted for repairs or corrections, we combine the execution of the synthesized controller with Monte Carlo Tree Search (MCTS), a heuristic AI-planning technique. The result is a model-at-run-time approach that we present by the example of a multi-robot spot welding cell. We report on experiments showing that the approach (1) can reduce cycle times by choosing time-efficient movement sequences and (2) can choose executions that react efficiently to interruptions by choosing to delay tasks that, if an interruption of one robot should occur later, can be reallocated to another robot. Most interestingly, we found, however, that (3) in some cases there is a conflict between time-efficient movement sequences and ones that may react efficiently to probable future interruptions—and when interruption probabilities are low, increasing the time allocated for MCTS, i.e., increasing the number of sample simulations made by MCTS, does not improve cycle time.
在汽车生产单元中,涉及多个机器人的复杂过程必须针对周期时间进行优化。研究了用符号GR(1)控制器综合实现多机器人任务规划的方法。给定要避免的任务和状态的顺序,通常可以计算出多个有效策略;在许多状态下,有多种选择来满足规范,例如选择不同的机器人来执行特定的任务。为了在考虑运动时间和机器人可能因修理或纠正而中断的概率的情况下确定最佳选择,我们将综合控制器的执行与蒙特卡罗树搜索(MCTS)结合起来,这是一种启发式人工智能规划技术。结果是我们通过一个多机器人点焊单元的例子提出了一种运行时模型方法。我们报告的实验表明,该方法(1)可以通过选择时间效率高的运动序列来减少周期时间,(2)可以通过选择延迟任务来选择对中断做出有效反应的执行,如果一个机器人的中断将在稍后发生,则可以将任务重新分配给另一个机器人。然而,最有趣的是,我们发现(3)在某些情况下,时间效率高的运动序列与可能对未来可能发生的中断做出有效反应的运动序列之间存在冲突——当中断概率较低时,增加分配给MCTS的时间,即增加MCTS进行的样本模拟的数量,并不能改善周期时间。
{"title":"Monte Carlo Tree Search and GR(1) Synthesis for Robot Tasks Planning in Automotive Production Lines","authors":"Eric Wete, Joel Greenyer, A. Wortmann, Oliver Flegel, Martin Klein","doi":"10.1109/MODELS50736.2021.00039","DOIUrl":"https://doi.org/10.1109/MODELS50736.2021.00039","url":null,"abstract":"In automotive production cells, complex processes involving multiple robots must be optimized for cycle time. We investigated using symbolic GR(1) controller synthesis for automating multi-robot task planning. Given a specification of the order of tasks and states to avoid, often multiple valid strategies can be computed; in many states there are multiple choices to satisfy the specification, such as choosing different robots to perform a certain task. To determine the best choices under the consideration of movement times and probabilities that robots may be interrupted for repairs or corrections, we combine the execution of the synthesized controller with Monte Carlo Tree Search (MCTS), a heuristic AI-planning technique. The result is a model-at-run-time approach that we present by the example of a multi-robot spot welding cell. We report on experiments showing that the approach (1) can reduce cycle times by choosing time-efficient movement sequences and (2) can choose executions that react efficiently to interruptions by choosing to delay tasks that, if an interruption of one robot should occur later, can be reallocated to another robot. Most interestingly, we found, however, that (3) in some cases there is a conflict between time-efficient movement sequences and ones that may react efficiently to probable future interruptions—and when interruption probabilities are low, increasing the time allocated for MCTS, i.e., increasing the number of sample simulations made by MCTS, does not improve cycle time.","PeriodicalId":375828,"journal":{"name":"2021 ACM/IEEE 24th International Conference on Model Driven Engineering Languages and Systems (MODELS)","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117079391","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}
引用次数: 4
MoDALAS: Model-Driven Assurance for Learning-Enabled Autonomous Systems MoDALAS:支持学习的自治系统的模型驱动保证
Michael Austin Langford, Kenneth H. Chan, Jonathon Emil Fleck, P. McKinley, Betty H. C. Cheng
Increasingly, safety-critical systems include artificial intelligence and machine learning components (i.e., Learning-Enabled Components (LECs)). However, when behavior is learned in a training environment that fails to fully capture real-world phenomena, the response of an LEC to untrained phenomena is uncertain, and therefore cannot be assured as safe. Automated methods are needed for self-assessment and adaptation to decide when learned behavior can be trusted. This work introduces a model-driven approach to manage self-adaptation of a Learning-Enabled System (LES) to account for run-time contexts for which the learned behavior of LECs cannot be trusted. The resulting framework enables an LES to monitor and evaluate goal models at run time to determine whether or not LECs can be expected to meet functional objectives. Using this framework enables stakeholders to have more confidence that LECs are used only in contexts comparable to those validated at design time.
越来越多的安全关键系统包括人工智能和机器学习组件(即支持学习的组件(LECs))。然而,当在训练环境中学习行为时,不能完全捕获现实世界的现象,LEC对未训练现象的响应是不确定的,因此不能保证是安全的。需要自动化的方法来进行自我评估和适应,以决定何时可以信任学习的行为。这项工作引入了一种模型驱动的方法来管理学习支持系统(LES)的自适应,以解释LECs的学习行为不可信的运行时上下文。得到的框架使LES能够在运行时监视和评估目标模型,以确定lec是否能够满足功能目标。使用此框架使涉众能够更加确信LECs仅在与设计时验证的上下文相比较的上下文中使用。
{"title":"MoDALAS: Model-Driven Assurance for Learning-Enabled Autonomous Systems","authors":"Michael Austin Langford, Kenneth H. Chan, Jonathon Emil Fleck, P. McKinley, Betty H. C. Cheng","doi":"10.1109/MODELS50736.2021.00027","DOIUrl":"https://doi.org/10.1109/MODELS50736.2021.00027","url":null,"abstract":"Increasingly, safety-critical systems include artificial intelligence and machine learning components (i.e., Learning-Enabled Components (LECs)). However, when behavior is learned in a training environment that fails to fully capture real-world phenomena, the response of an LEC to untrained phenomena is uncertain, and therefore cannot be assured as safe. Automated methods are needed for self-assessment and adaptation to decide when learned behavior can be trusted. This work introduces a model-driven approach to manage self-adaptation of a Learning-Enabled System (LES) to account for run-time contexts for which the learned behavior of LECs cannot be trusted. The resulting framework enables an LES to monitor and evaluate goal models at run time to determine whether or not LECs can be expected to meet functional objectives. Using this framework enables stakeholders to have more confidence that LECs are used only in contexts comparable to those validated at design time.","PeriodicalId":375828,"journal":{"name":"2021 ACM/IEEE 24th International Conference on Model Driven Engineering Languages and Systems (MODELS)","volume":"93 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116263965","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
OSTRICH - A Type-Safe Template Language for Low-Code Development 用于低代码开发的类型安全模板语言
Hugo Lourenço, Carla Ferreira, João Costa Seco
Low-code platforms aim at allowing non-experts to develop complex systems and knowledgeable developers to improve their productivity in orders of magnitude. The greater gain comes from (re)using components developed by experts capturing common patterns across all layers of the application, from the user interface to the data layer and integration with external systems. Often, cloning sample code fragments is the only alternative in such scenarios, requiring extensive adaptation to reach the intended use. Such customization activities require deep knowledge outside of the comfort zone of low-code. To effectively speed up the reuse, composition, and adaptation of pre-defined components, low-code platforms need to provide safe and easy-to-use language mechanisms. This paper introduces OSTRICH, a strongly-typed rich templating language for a low-code platform (OutSystems) that builds on metamodel annotations and allows the correct instantiation of templates. We conservatively extend the existing metamodel and ensure that the resulting code is always well-formed. The results we present include a novel type safety verification of template definitions, and template arguments, providing model consistency across application layers. We implemented this template language in a prototype of the OutSystems platform and ported nine of the top ten most used sample code fragments, thus improving the reuse of professionally designed components.
低代码平台旨在允许非专业人员开发复杂的系统,并允许知识渊博的开发人员以数量级提高他们的生产力。更大的收益来自(重新)使用专家开发的组件,这些组件捕获了跨应用程序所有层(从用户界面到数据层以及与外部系统的集成)的通用模式。在这种情况下,克隆示例代码片段通常是唯一的替代方案,需要进行大量的调整才能达到预期的用途。这种定制活动需要深入了解低代码舒适区之外的知识。为了有效地加快预定义组件的重用、组合和适配,低代码平台需要提供安全和易于使用的语言机制。本文介绍了一种用于低代码平台(OutSystems)的强类型富模板语言OSTRICH,它基于元模型注释并允许模板的正确实例化。我们保守地扩展现有的元模型,并确保生成的代码总是格式良好。我们给出的结果包括模板定义和模板参数的新型类型安全验证,从而提供了跨应用层的模型一致性。我们在OutSystems平台的原型中实现了这种模板语言,并移植了十大最常用的示例代码片段中的九个,从而提高了专业设计组件的重用。
{"title":"OSTRICH - A Type-Safe Template Language for Low-Code Development","authors":"Hugo Lourenço, Carla Ferreira, João Costa Seco","doi":"10.1109/MODELS50736.2021.00030","DOIUrl":"https://doi.org/10.1109/MODELS50736.2021.00030","url":null,"abstract":"Low-code platforms aim at allowing non-experts to develop complex systems and knowledgeable developers to improve their productivity in orders of magnitude. The greater gain comes from (re)using components developed by experts capturing common patterns across all layers of the application, from the user interface to the data layer and integration with external systems. Often, cloning sample code fragments is the only alternative in such scenarios, requiring extensive adaptation to reach the intended use. Such customization activities require deep knowledge outside of the comfort zone of low-code. To effectively speed up the reuse, composition, and adaptation of pre-defined components, low-code platforms need to provide safe and easy-to-use language mechanisms. This paper introduces OSTRICH, a strongly-typed rich templating language for a low-code platform (OutSystems) that builds on metamodel annotations and allows the correct instantiation of templates. We conservatively extend the existing metamodel and ensure that the resulting code is always well-formed. The results we present include a novel type safety verification of template definitions, and template arguments, providing model consistency across application layers. We implemented this template language in a prototype of the OutSystems platform and ported nine of the top ten most used sample code fragments, thus improving the reuse of professionally designed components.","PeriodicalId":375828,"journal":{"name":"2021 ACM/IEEE 24th International Conference on Model Driven Engineering Languages and Systems (MODELS)","volume":"101 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123850438","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}
引用次数: 9
Program Board 程序委员会
{"title":"Program Board","authors":"","doi":"10.1109/models50736.2021.00008","DOIUrl":"https://doi.org/10.1109/models50736.2021.00008","url":null,"abstract":"","PeriodicalId":375828,"journal":{"name":"2021 ACM/IEEE 24th International Conference on Model Driven Engineering Languages and Systems (MODELS)","volume":"120 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128064834","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
Towards Control Flow Analysis of Declarative Graph Transformations with Symbolic Execution 基于符号执行的声明性图转换控制流分析
Florian Ege, Matthias Tichy
The declarative graph transformation language Henshin transforms instance models represented as graphs by applying a series of basic steps that match and replace structural patterns on parts of models. These simple transformation rules are then combined into control flow constructs similar to those of imperative programming languages to create more complex transformations. However, defects in the structure of control flow or in transformation rules might misschedule the application of operations, resulting in basic steps to be inapplicable or produce incorrect output. Understanding and fixing these bugs is complicated by the fact that pattern matching in rules is non-deterministic. Moreover, some control flow structures employ a nondeterministic choice of alternatives. This makes it challenging for developers to keep track of all the possible execution paths and interactions between them. For conventional programming languages, techniques have been developed to execute a program symbolically. By abstracting over the concrete values of variables in any actual run, generalized knowledge is gained about the possible behavior of the program. This can be useful in understanding problems and fixing bugs. In this paper, we present an approach to symbolically execute graph transformations for a subset of Henshin, using symbolic path constraints based on the cardinalities of graph pattern occurrences in the model.
声明性图转换语言Henshin通过应用一系列匹配和替换模型部分结构模式的基本步骤,将表示为图的实例模型转换为图。然后将这些简单的转换规则组合到类似于命令式编程语言的控制流结构中,以创建更复杂的转换。但是,控制流结构或转换规则中的缺陷可能会使操作的应用安排错误,从而导致基本步骤不适用或产生错误的输出。规则中的模式匹配是不确定的,这使得理解和修复这些错误变得复杂。此外,一些控制流结构采用了不确定的替代选择。这使得开发人员很难跟踪所有可能的执行路径和它们之间的交互。对于传统的程序设计语言,已经发展了一些技术来符号化地执行程序。通过对任何实际运行中变量的具体值进行抽象,可以获得关于程序可能行为的广义知识。这对于理解问题和修复错误非常有用。在本文中,我们提出了一种基于模型中图模式出现的基数的符号路径约束的方法,以符号方式执行Henshin子集的图转换。
{"title":"Towards Control Flow Analysis of Declarative Graph Transformations with Symbolic Execution","authors":"Florian Ege, Matthias Tichy","doi":"10.1109/MODELS50736.2021.00024","DOIUrl":"https://doi.org/10.1109/MODELS50736.2021.00024","url":null,"abstract":"The declarative graph transformation language Henshin transforms instance models represented as graphs by applying a series of basic steps that match and replace structural patterns on parts of models. These simple transformation rules are then combined into control flow constructs similar to those of imperative programming languages to create more complex transformations. However, defects in the structure of control flow or in transformation rules might misschedule the application of operations, resulting in basic steps to be inapplicable or produce incorrect output. Understanding and fixing these bugs is complicated by the fact that pattern matching in rules is non-deterministic. Moreover, some control flow structures employ a nondeterministic choice of alternatives. This makes it challenging for developers to keep track of all the possible execution paths and interactions between them. For conventional programming languages, techniques have been developed to execute a program symbolically. By abstracting over the concrete values of variables in any actual run, generalized knowledge is gained about the possible behavior of the program. This can be useful in understanding problems and fixing bugs. In this paper, we present an approach to symbolically execute graph transformations for a subset of Henshin, using symbolic path constraints based on the cardinalities of graph pattern occurrences in the model.","PeriodicalId":375828,"journal":{"name":"2021 ACM/IEEE 24th International Conference on Model Driven Engineering Languages and Systems (MODELS)","volume":"86 6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126094875","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
期刊
2021 ACM/IEEE 24th International Conference on Model Driven Engineering Languages and Systems (MODELS)
全部 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