首页 > 最新文献

Software and Systems Modeling最新文献

英文 中文
Gamification of business process modeling education: an experimental analysis 业务流程建模教育游戏化:实验分析
IF 2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-04-18 DOI: 10.1007/s10270-024-01171-3
Giacomo Garaccione, Riccardo Coppola, Luca Ardito, Marco Torchiano

Gamification, the practice of using game elements in non-recreational contexts to increase user participation and interest, has been applied more and more throughout the years in software engineering. Business process modeling is a skill considered fundamental for software engineers, with Business Process Modeling Notation (BPMN) being one of the most commonly used notations for this discipline. BPMN modeling is present in different curricula in specific Master’s Degree courses related to software engineering but is usually seen by students as an unappealing or uninteresting activity. Gamification could potentially solve this issue, though there have been no relevant attempts in research yet. This paper aims at collecting preliminary insights on how gamification affects students’ motivation in performing BPMN modeling tasks and—as a consequence—their productivity and learning outcomes. A web application for modeling BPMN diagrams augmented with gamification mechanics such as feedback, rewards, progression, and penalization has been compared with a non-gamified version that provides more limited feedback in an experiment involving 200 students. The diagrams modeled by the students are collected and analyzed after the experiment. Students’ opinions are gathered using a post-experiment questionnaire. Statistical analysis showed that gamification leads students to check more often for their solutions’ correctness, increasing the semantic correctness of their diagrams, thus showing that it can improve students’ modeling skills. The results, however, are mixed and require additional experiments in the future to fine-tune the tool for actual classroom use.

游戏化是一种在非娱乐环境中使用游戏元素来提高用户参与度和兴趣的做法,多年来越来越多地被应用于软件工程领域。业务流程建模是软件工程师的一项基本技能,而业务流程建模符号(BPMN)是这一学科最常用的符号之一。在与软件工程相关的特定硕士学位课程中,BPMN 建模出现在不同的课程中,但通常被学生视为不吸引人或无趣的活动。游戏化有可能解决这个问题,尽管目前还没有相关的研究尝试。本文旨在收集有关游戏化如何影响学生执行 BPMN 建模任务的积极性,以及由此产生的学习效率和学习成果的初步见解。在一项有 200 名学生参与的实验中,对一个采用反馈、奖励、进步和惩罚等游戏化机制的 BPMN 图表建模网络应用程序与一个提供更有限反馈的非游戏化版本进行了比较。实验结束后,收集并分析了学生建模的图表。实验后的问卷调查收集了学生的意见。统计分析表明,游戏化引导学生更频繁地检查自己的解决方案是否正确,提高了图表的语义正确性,从而表明游戏化可以提高学生的建模技能。然而,实验结果喜忧参半,需要在未来进行更多实验,以便在实际课堂使用中对该工具进行微调。
{"title":"Gamification of business process modeling education: an experimental analysis","authors":"Giacomo Garaccione, Riccardo Coppola, Luca Ardito, Marco Torchiano","doi":"10.1007/s10270-024-01171-3","DOIUrl":"https://doi.org/10.1007/s10270-024-01171-3","url":null,"abstract":"<p>Gamification, the practice of using game elements in non-recreational contexts to increase user participation and interest, has been applied more and more throughout the years in software engineering. Business process modeling is a skill considered fundamental for software engineers, with Business Process Modeling Notation (BPMN) being one of the most commonly used notations for this discipline. BPMN modeling is present in different curricula in specific Master’s Degree courses related to software engineering but is usually seen by students as an unappealing or uninteresting activity. Gamification could potentially solve this issue, though there have been no relevant attempts in research yet. This paper aims at collecting preliminary insights on how gamification affects students’ motivation in performing BPMN modeling tasks and—as a consequence—their productivity and learning outcomes. A web application for modeling BPMN diagrams augmented with gamification mechanics such as feedback, rewards, progression, and penalization has been compared with a non-gamified version that provides more limited feedback in an experiment involving 200 students. The diagrams modeled by the students are collected and analyzed after the experiment. Students’ opinions are gathered using a post-experiment questionnaire. Statistical analysis showed that gamification leads students to check more often for their solutions’ correctness, increasing the semantic correctness of their diagrams, thus showing that it can improve students’ modeling skills. The results, however, are mixed and require additional experiments in the future to fine-tune the tool for actual classroom use.</p>","PeriodicalId":49507,"journal":{"name":"Software and Systems Modeling","volume":"13 1","pages":""},"PeriodicalIF":2.0,"publicationDate":"2024-04-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140629103","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Improving repair of semantic ATL errors using a social diversity metric 利用社会多样性指标改进语义 ATL 错误的修复工作
IF 2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-04-18 DOI: 10.1007/s10270-024-01170-4
Zahra VaraminyBahnemiry, Jessie Galasso, Bentley Oakes, Houari Sahraoui

Model transformations play an essential role in the model-driven engineering paradigm. However, writing a correct transformation requires the user to understand both what the transformation should do and how to enact that change in the transformation. This easily leads to syntactic and semantic errors in transformations which are time-consuming to locate and fix. In this article, we extend our evolutionary algorithm (EA) approach to automatically repair transformations containing multiple semantic errors. To prevent the fitness plateaus and the single fitness peak limitations from our previous work, we include the notion of social diversity as an objective for our EA to promote repair patches tackling errors that are less covered by the other patches of the population. We evaluate our approach on four ATL transformations, which have been mutated to contain up to five semantic errors simultaneously. Our evaluation shows that integrating social diversity when searching for repair patches improves the quality of those patches and speeds up the convergence even when up to five semantic errors are involved.

模型转换在模型驱动工程范例中扮演着重要角色。然而,编写正确的转换要求用户既要了解转换应该做什么,又要了解如何在转换中实现这种变化。这很容易导致转换中出现语法和语义错误,而这些错误的查找和修复都非常耗时。在本文中,我们扩展了进化算法(EA)方法,以自动修复包含多个语义错误的转换。为了避免以往工作中出现的适配性高原和单一适配性峰值的限制,我们将社会多样性概念作为进化算法的一个目标,以促进修复群体中其他补丁覆盖较少的错误的补丁。我们在四种 ATL 变换上对我们的方法进行了评估,这些变换同时包含多达五个语义错误。我们的评估结果表明,在搜索修复补丁时整合社会多样性可提高这些补丁的质量,并加快收敛速度,即使涉及多达五个语义错误也是如此。
{"title":"Improving repair of semantic ATL errors using a social diversity metric","authors":"Zahra VaraminyBahnemiry, Jessie Galasso, Bentley Oakes, Houari Sahraoui","doi":"10.1007/s10270-024-01170-4","DOIUrl":"https://doi.org/10.1007/s10270-024-01170-4","url":null,"abstract":"<p>Model transformations play an essential role in the model-driven engineering paradigm. However, writing a correct transformation requires the user to understand both <i>what</i> the transformation should do and <i>how</i> to enact that change in the transformation. This easily leads to <i>syntactic</i> and <i>semantic</i> errors in transformations which are time-consuming to locate and fix. In this article, we extend our evolutionary algorithm (EA) approach to automatically repair transformations containing <i>multiple semantic errors</i>. To prevent the <i>fitness plateaus</i> and the <i>single fitness peak</i> limitations from our previous work, we include the notion of <i>social diversity</i> as an objective for our EA to promote repair patches tackling errors that are less covered by the other patches of the population. We evaluate our approach on four ATL transformations, which have been mutated to contain up to five semantic errors simultaneously. Our evaluation shows that integrating social diversity when searching for repair patches improves the quality of those patches and speeds up the convergence even when up to five semantic errors are involved.</p>","PeriodicalId":49507,"journal":{"name":"Software and Systems Modeling","volume":"70 1","pages":""},"PeriodicalIF":2.0,"publicationDate":"2024-04-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140628836","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Empirically evaluating modeling language ontologies: the Peira framework 建模语言本体的经验评估:Peira 框架
IF 2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-04-16 DOI: 10.1007/s10270-023-01147-9
Sotirios Liaskos, Saba Zarbaf, John Mylopoulos, Shakil M. Khan

Conceptual modeling plays a central role in planning, designing, developing and maintaining software-intensive systems. One of the goals of conceptual modeling is to enable clear communication among stakeholders involved in said activities. To achieve effective communication, conceptual models must be understood by different people in the same way. To support such shared understanding, conceptual modeling languages are defined, which introduce rules and constraints on how individual models can be built and how they are to be understood. A key component of a modeling language is an ontology, i.e., a set of concepts that modelers must use to describe world phenomena. Once the concepts are chosen, a visual and/or textual vocabulary is adopted for representing the concepts. However, the choices both of the concepts and of the vocabulary used to represent them may affect the quality of the language under consideration: some choices may promote shared understanding better than other choices. To allow evaluation and comparison of alternative choices, we present Peira, a framework for empirically measuring the domain and comprehensibility appropriateness of conceptual modeling language ontologies. Given a language ontology to be evaluated, the framework is based on observing how prospective language users classify domain content under the concepts put forth by said ontology. A set of metrics is then used to analyze the observations and identify and characterize possible issues that the choice of concepts or the way they are represented may have. The metrics are abstract in that they can be operationalized into concrete implementations tailored to specific data collection instruments or study objectives. We evaluate the framework by applying it to compare an existing language against an artificial one that is manufactured to exhibit specific issues. We then test if the metrics indeed detect these issues. We find that the framework does offer the expected indications, but that it also requires good understanding of the metrics prior to committing to interpretations of the observations.

概念建模在规划、设计、开发和维护软件密集型系统中发挥着核心作用。概念建模的目标之一是使参与上述活动的利益相关者之间能够进行清晰的交流。要实现有效沟通,不同的人必须以相同的方式理解概念模型。为了支持这种共同理解,我们定义了概念建模语言,对如何建立单个模型以及如何理解模型引入了规则和约束。建模语言的一个关键组成部分是本体,即建模者必须用来描述世界现象的一组概念。一旦选择了概念,就需要采用可视化和/或文本词汇来表示这些概念。然而,对概念和用于表示概念的词汇的选择可能会影响所考虑的语言质量:某些选择可能比其他选择更能促进共同理解。为了评估和比较不同的选择,我们提出了 Peira,这是一个通过经验来衡量概念建模语言本体的领域和可理解性的框架。给定一个要评估的语言本体,该框架的基础是观察未来的语言用户如何根据本体提出的概念对领域内容进行分类。然后使用一组度量标准来分析观察结果,并识别和描述概念选择或概念表示方式可能存在的问题。这些指标是抽象的,因为它们可以根据特定的数据收集工具或研究目标具体实施。我们通过将该框架用于比较现有语言和为表现出特定问题而制造的人工语言来评估该框架。然后,我们测试这些指标是否确实能检测出这些问题。我们发现,该框架确实提供了预期的指示,但在对观察结果进行解释之前,还需要对度量标准有充分的了解。
{"title":"Empirically evaluating modeling language ontologies: the Peira framework","authors":"Sotirios Liaskos, Saba Zarbaf, John Mylopoulos, Shakil M. Khan","doi":"10.1007/s10270-023-01147-9","DOIUrl":"https://doi.org/10.1007/s10270-023-01147-9","url":null,"abstract":"<p>Conceptual modeling plays a central role in planning, designing, developing and maintaining software-intensive systems. One of the goals of conceptual modeling is to enable clear communication among stakeholders involved in said activities. To achieve effective communication, conceptual models must be understood by different people in the same way. To support such shared understanding, conceptual modeling languages are defined, which introduce rules and constraints on how individual models can be built and how they are to be understood. A key component of a modeling language is an ontology, i.e., a set of concepts that modelers must use to describe world phenomena. Once the concepts are chosen, a visual and/or textual vocabulary is adopted for representing the concepts. However, the choices both of the concepts and of the vocabulary used to represent them may affect the quality of the language under consideration: some choices may promote shared understanding better than other choices. To allow evaluation and comparison of alternative choices, we present Peira, a framework for empirically measuring the domain and comprehensibility appropriateness of conceptual modeling language ontologies. Given a language ontology to be evaluated, the framework is based on observing how prospective language users classify domain content under the concepts put forth by said ontology. A set of metrics is then used to analyze the observations and identify and characterize possible issues that the choice of concepts or the way they are represented may have. The metrics are abstract in that they can be operationalized into concrete implementations tailored to specific data collection instruments or study objectives. We evaluate the framework by applying it to compare an existing language against an artificial one that is manufactured to exhibit specific issues. We then test if the metrics indeed detect these issues. We find that the framework does offer the expected indications, but that it also requires good understanding of the metrics prior to committing to interpretations of the observations.</p>","PeriodicalId":49507,"journal":{"name":"Software and Systems Modeling","volume":"102 1","pages":""},"PeriodicalIF":2.0,"publicationDate":"2024-04-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140597273","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
From enterprise models to low-code applications: mapping DEMO to Mendix; illustrated in the social housing domain 从企业模式到低代码应用程序:将 DEMO 映射到 Mendix;在社会住房领域进行说明
IF 2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-04-08 DOI: 10.1007/s10270-024-01156-2
Marien R. Krouwel, Martin Op ’t Land, Henderik A. Proper

Due to hyper-competition, technological advancements, regulatory changes, etc, the conditions under which enterprises need to thrive become increasingly turbulent. Consequently, enterprise agility increasingly determines an enterprise’s chances for success. As software development often is a limiting factor in achieving enterprise agility, enterprise agility and software adaptability become increasingly intertwined. As a consequence, decisions that regard flexibility should not be left to software developers alone. By taking a Model-driven Software Development (MDSD) approach, starting from DEMO ontological enterprise models and explicit (enterprise) implementation design decisions, the aim of this research is to bridge the gap from enterprise agility to software adaptability, in such a way that software development is no longer a limiting factor in achieving enterprise agility. Low-code technology is a growing market trend that builds on MDSD concepts and claims to offer a high degree of software adaptability. Therefore, as a first step to show the potential benefits to use DEMO ontological enterprise models as a base for MDSD, this research shows the design of a mapping from DEMO models to Mendix for the (automated) creation of a low-code application that also intrinsically accommodates run-time implementation design decisions.

由于过度竞争、技术进步、监管变化等原因,企业需要发展的条件变得越来越动荡。因此,企业敏捷性日益决定着企业的成功机会。由于软件开发往往是实现企业敏捷性的限制因素,因此企业敏捷性和软件适应性越来越紧密地交织在一起。因此,有关灵活性的决策不应仅由软件开发人员做出。通过采用模型驱动软件开发(MDSD)方法,从 DEMO 本体论企业模型和明确的(企业)实施设计决策出发,本研究旨在弥合企业敏捷性与软件适应性之间的差距,从而使软件开发不再成为实现企业敏捷性的限制因素。低代码技术是一种日益增长的市场趋势,它以 MDSD 概念为基础,声称能提供高度的软件适应性。因此,作为展示使用 DEMO 本体论企业模型作为 MDSD 基础的潜在好处的第一步,本研究展示了从 DEMO 模型到 Mendix 的映射设计,以便(自动)创建低代码应用程序,该应用程序还能从本质上适应运行时的实施设计决策。
{"title":"From enterprise models to low-code applications: mapping DEMO to Mendix; illustrated in the social housing domain","authors":"Marien R. Krouwel, Martin Op ’t Land, Henderik A. Proper","doi":"10.1007/s10270-024-01156-2","DOIUrl":"https://doi.org/10.1007/s10270-024-01156-2","url":null,"abstract":"<p>Due to hyper-competition, technological advancements, regulatory changes, etc, the conditions under which enterprises need to thrive become increasingly turbulent. Consequently, enterprise agility increasingly determines an enterprise’s chances for success. As software development often is a limiting factor in achieving enterprise agility, enterprise agility and software adaptability become increasingly intertwined. As a consequence, decisions that regard flexibility should not be left to software developers alone. By taking a Model-driven Software Development (MDSD) approach, starting from DEMO ontological enterprise models and explicit (enterprise) implementation design decisions, the aim of this research is to bridge the gap from enterprise agility to software adaptability, in such a way that software development is no longer a limiting factor in achieving enterprise agility. Low-code technology is a growing market trend that builds on MDSD concepts and claims to offer a high degree of software adaptability. Therefore, as a first step to show the potential benefits to use DEMO ontological enterprise models as a base for MDSD, this research shows the design of a mapping from DEMO models to Mendix for the (automated) creation of a low-code application that also intrinsically accommodates run-time implementation design decisions.\u0000</p>","PeriodicalId":49507,"journal":{"name":"Software and Systems Modeling","volume":"8 1","pages":""},"PeriodicalIF":2.0,"publicationDate":"2024-04-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140596955","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Active model learning of stochastic reactive systems (extended version) 随机反应系统的主动模型学习(扩展版)
IF 2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-03-23 DOI: 10.1007/s10270-024-01158-0
Edi Muškardin, Martin Tappler, Bernhard K. Aichernig, Ingo Pill

Black-box systems are inherently hard to verify. Many verification techniques, like model checking, require formal models as a basis. However, such models often do not exist, or they might be outdated. Active automata learning helps to address this issue by offering to automatically infer formal models from system interactions. Hence, automata learning has been receiving much attention in the verification community in recent years. This led to various efficiency improvements, paving the way toward industrial applications. Most research, however, has been focusing on deterministic systems. In this article, we present an approach to efficiently learn models of stochastic reactive systems. Our approach adapts (L^*)-based learning for Markov decision processes, which we improve and extend to stochastic Mealy machines. When compared with previous work, our evaluation demonstrates that the proposed optimizations and adaptations to stochastic Mealy machines can reduce learning costs by an order of magnitude while improving the accuracy of learned models.

黑盒系统本质上是难以验证的。许多验证技术(如模型检查)都需要正式模型作为基础。然而,这类模型往往并不存在,或者可能已经过时。主动自动机学习可以从系统交互中自动推断出正式模型,从而帮助解决这一问题。因此,自动机学习近年来受到了验证界的广泛关注。这导致了各种效率的提高,为工业应用铺平了道路。然而,大多数研究都集中在确定性系统上。在本文中,我们提出了一种高效学习随机反应系统模型的方法。我们的方法将基于 (L^*) 的学习方法应用于马尔可夫决策过程,并将其改进和扩展到随机 Mealy 机器。与之前的工作相比,我们的评估表明,针对随机梅里机提出的优化和调整可以将学习成本降低一个数量级,同时提高所学模型的准确性。
{"title":"Active model learning of stochastic reactive systems (extended version)","authors":"Edi Muškardin, Martin Tappler, Bernhard K. Aichernig, Ingo Pill","doi":"10.1007/s10270-024-01158-0","DOIUrl":"https://doi.org/10.1007/s10270-024-01158-0","url":null,"abstract":"<p>Black-box systems are inherently hard to verify. Many verification techniques, like model checking, require formal models as a basis. However, such models often do not exist, or they might be outdated. Active automata learning helps to address this issue by offering to automatically infer formal models from system interactions. Hence, automata learning has been receiving much attention in the verification community in recent years. This led to various efficiency improvements, paving the way toward industrial applications. Most research, however, has been focusing on deterministic systems. In this article, we present an approach to efficiently learn models of stochastic reactive systems. Our approach adapts <span>(L^*)</span>-based learning for Markov decision processes, which we improve and extend to stochastic Mealy machines. When compared with previous work, our evaluation demonstrates that the proposed optimizations and adaptations to stochastic Mealy machines can reduce learning costs by an order of magnitude while improving the accuracy of learned models.</p>","PeriodicalId":49507,"journal":{"name":"Software and Systems Modeling","volume":"46 1","pages":""},"PeriodicalIF":2.0,"publicationDate":"2024-03-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140200814","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Learning minimal automata with recurrent neural networks 用递归神经网络学习最小自动机
IF 2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-03-21 DOI: 10.1007/s10270-024-01160-6
Bernhard K. Aichernig, Sandra König, Cristinel Mateis, Andrea Pferscher, Martin Tappler

In this article, we present a novel approach to learning finite automata with the help of recurrent neural networks. Our goal is not only to train a neural network that predicts the observable behavior of an automaton but also to learn its structure, including the set of states and transitions. In contrast to previous work, we constrain the training with a specific regularization term. We iteratively adapt the architecture to learn the minimal automaton, in the case where the number of states is unknown. We evaluate our approach with standard examples from the automata learning literature, but also include a case study of learning the finite-state models of real Bluetooth Low Energy protocol implementations. The results show that we can find an appropriate architecture to learn the correct minimal automata in all considered cases.

在本文中,我们提出了一种借助递归神经网络学习有限自动机的新方法。我们的目标不仅是训练一个能预测自动机可观测行为的神经网络,而且还要学习其结构,包括状态集和转换集。与之前的工作不同,我们用一个特定的正则化项来限制训练。在状态数未知的情况下,我们通过迭代调整结构来学习最小自动机。我们用自动机学习文献中的标准示例对我们的方法进行了评估,还包括学习真实蓝牙低功耗协议实现的有限状态模型的案例研究。结果表明,在所有考虑的情况下,我们都能找到合适的架构来学习正确的最小自动机。
{"title":"Learning minimal automata with recurrent neural networks","authors":"Bernhard K. Aichernig, Sandra König, Cristinel Mateis, Andrea Pferscher, Martin Tappler","doi":"10.1007/s10270-024-01160-6","DOIUrl":"https://doi.org/10.1007/s10270-024-01160-6","url":null,"abstract":"<p>In this article, we present a novel approach to learning finite automata with the help of recurrent neural networks. Our goal is not only to train a neural network that predicts the observable behavior of an automaton but also to learn its structure, including the set of states and transitions. In contrast to previous work, we constrain the training with a specific regularization term. We iteratively adapt the architecture to learn the minimal automaton, in the case where the number of states is unknown. We evaluate our approach with standard examples from the automata learning literature, but also include a case study of learning the finite-state models of real Bluetooth Low Energy protocol implementations. The results show that we can find an appropriate architecture to learn the correct minimal automata in all considered cases.</p>","PeriodicalId":49507,"journal":{"name":"Software and Systems Modeling","volume":"102 1","pages":""},"PeriodicalIF":2.0,"publicationDate":"2024-03-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140200667","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Lazy model checking for recursive state machines 递归状态机的懒模型检查
IF 2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-03-20 DOI: 10.1007/s10270-024-01159-z
Clemens Dubslaff, Patrick Wienhöft, Ansgar Fehnker

Recursive state machines (RSMs) are state-based models for procedural programs with wide-ranging applications in program verification and interprocedural analysis. Model-checking algorithms for RSMs and related formalisms have been intensively studied in the literature. In this article, we devise a new model-checking algorithm for RSMs and requirements in computation tree logic (CTL) that exploits the compositional structure of RSMs by ternary model checking in combination with a lazy evaluation scheme. Specifically, a procedural component is only analyzed in those cases in which it might influence the satisfaction of the CTL requirement. We implemented our model-checking algorithms and evaluate them on randomized scalability benchmarks and on an interprocedural data-flow analysis of Java programs, showing both practical applicability and significant speedups in comparison to state-of-the-art model-checking tools for procedural programs.

递归状态机(RSM)是基于状态的过程式程序模型,在程序验证和过程间分析中有着广泛的应用。文献中对 RSM 及相关形式主义的模型检查算法进行了深入研究。在本文中,我们为计算树逻辑(CTL)中的 RSM 和需求设计了一种新的模型检查算法,该算法通过三元模型检查结合懒评估方案利用了 RSM 的组成结构。具体来说,只有在程序组件可能影响 CTL 需求满足的情况下,才会对其进行分析。我们实现了我们的模型检查算法,并在随机可扩展性基准和 Java 程序的程序间数据流分析中对其进行了评估,结果表明,与最先进的程序模型检查工具相比,我们的算法不仅实用,而且速度明显加快。
{"title":"Lazy model checking for recursive state machines","authors":"Clemens Dubslaff, Patrick Wienhöft, Ansgar Fehnker","doi":"10.1007/s10270-024-01159-z","DOIUrl":"https://doi.org/10.1007/s10270-024-01159-z","url":null,"abstract":"<p><i>Recursive state machines (RSMs)</i> are state-based models for procedural programs with wide-ranging applications in program verification and interprocedural analysis. Model-checking algorithms for RSMs and related formalisms have been intensively studied in the literature. In this article, we devise a new model-checking algorithm for RSMs and requirements in <i>computation tree logic (CTL)</i> that exploits the compositional structure of RSMs by ternary model checking in combination with a lazy evaluation scheme. Specifically, a procedural component is only analyzed in those cases in which it might influence the satisfaction of the CTL requirement. We implemented our model-checking algorithms and evaluate them on randomized scalability benchmarks and on an interprocedural data-flow analysis of <span>Java</span> programs, showing both practical applicability and significant speedups in comparison to state-of-the-art model-checking tools for procedural programs.</p>","PeriodicalId":49507,"journal":{"name":"Software and Systems Modeling","volume":"28 1","pages":""},"PeriodicalIF":2.0,"publicationDate":"2024-03-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140200745","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Exchanging information in cooperative software validation 在合作软件验证中交换信息
IF 2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-03-19 DOI: 10.1007/s10270-024-01155-3
Jan Haltermann, Heike Wehrheim

Cooperative software validation aims at having verification and/or testing tools cooperate on the task of correctness checking. Cooperation involves the exchange of information about currently achieved results in the form of (verification) artifacts. These artifacts are typically specialized to the type of analysis performed by the tool, e.g., bounded model checking, abstract interpretation or symbolic execution, and hence require the definition of a new artifact for every new cooperation to be built. In this article, we introduce a unified artifact (called Generalized Information Exchange Automaton, short GIA) supporting the cooperation of over-approximating with under-approximating analyses. It provides information gathered by an analysis to its partner in a cooperation, independent of the type of analysis and usage context within software validation. We provide a formal definition of this artifact in the form of an automaton together with two operators on GIAs. The first operation reduces a program by excluding these parts, where the information that they are already processed is encoded in the GIA. The second operation combines partial results from two GIAs into a single on. We show that computed analysis results are never lost when connecting tools via these operations. To experimentally demonstrate the feasibility, we have implemented two such cooperation: one for verification and one for testing. The obtained results show the feasibility of our novel artifact in different contexts of cooperative software validation, in particular how the new artifact is able to overcome some drawbacks of existing artifacts.

合作式软件验证旨在让验证和/或测试工具合作完成正确性检查任务。合作包括以(验证)工件的形式交换关于当前所取得结果的信息。这些工件通常针对工具执行的分析类型而专门设计,例如有界模型检查、抽象解释或符号执行,因此需要为每一次新的合作定义新的工件。在本文中,我们介绍了一种统一的工具(称为 "广义信息交换自动机",简称 "GIA"),它支持过逼近分析与欠逼近分析之间的合作。它向合作中的伙伴提供分析所收集的信息,与软件验证中的分析类型和使用环境无关。我们以自动机的形式提供了这一工具的正式定义,同时还提供了 GIA 的两个运算符。第一种操作是通过排除这些部分来减少程序,这些部分已被处理的信息已在 GIA 中编码。第二种操作是将两个 GIA 的部分结果合并为一个单一结果。我们证明,通过这些操作连接工具时,计算出的分析结果绝不会丢失。为了在实验中证明其可行性,我们实施了两个这样的合作:一个用于验证,一个用于测试。所获得的结果表明,我们的新工具在不同的合作软件验证环境中都是可行的,特别是新工具如何能够克服现有工具的一些缺点。
{"title":"Exchanging information in cooperative software validation","authors":"Jan Haltermann, Heike Wehrheim","doi":"10.1007/s10270-024-01155-3","DOIUrl":"https://doi.org/10.1007/s10270-024-01155-3","url":null,"abstract":"<p>Cooperative software validation aims at having verification and/or testing tools <i>cooperate</i> on the task of correctness checking. Cooperation involves the exchange of information about currently achieved results in the form of (verification) artifacts. These artifacts are typically specialized to the type of analysis performed by the tool, e.g., bounded model checking, abstract interpretation or symbolic execution, and hence require the definition of a new artifact for every new cooperation to be built. In this article, we introduce a unified artifact (called Generalized Information Exchange Automaton, short GIA) supporting the cooperation of <i>over-approximating</i> with <i>under-approximating</i> analyses. It provides information gathered by an analysis to its partner in a cooperation, independent of the type of analysis and usage context within software validation. We provide a formal definition of this artifact in the form of an automaton together with two operators on GIAs. The first operation <i>reduces</i> a program by excluding these parts, where the information that they are already processed is encoded in the GIA. The second operation combines partial results from two GIAs into a single on. We show that computed analysis results are never lost when connecting tools via these operations. To experimentally demonstrate the feasibility, we have implemented two such cooperation: one for verification and one for testing. The obtained results show the feasibility of our novel artifact in different contexts of cooperative software validation, in particular how the new artifact is able to overcome some drawbacks of existing artifacts.</p>","PeriodicalId":49507,"journal":{"name":"Software and Systems Modeling","volume":"10 1","pages":""},"PeriodicalIF":2.0,"publicationDate":"2024-03-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140166983","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Identifying and fixing ambiguities in, and semantically accurate formalisation of, behavioural requirements 识别和解决行为要求中的模糊之处,并在语义上准确地将其形式化
IF 2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-03-16 DOI: 10.1007/s10270-023-01142-0
Thuy Nguyen, Imen Sayar, Sophie Ebersold, Jean-Michel Bruel
<p>To correctly formalise requirements expressed in natural language, <i>ambiguities</i> must first be identified and then fixed. This paper focuses on <i>behavioural requirements</i> (i.e. requirements related to dynamic aspects and phenomena). Its first objective is to show, based on a practical, public case study, that the disambiguation process <i>cannot be fully automated</i>: even though natural language processing (NLP) tools and machine learning might help in the <i>identification</i> of ambiguities, <i>fixing</i> them often requires a deep, application-specific <i>understanding</i> of the reasons of being of the system of interest, of the characteristics of its environment, of which trade-offs between conflicting objectives are acceptable, and of what is achievable and what is not; it may also require arduous negotiations between stakeholders. Such an understanding and consensus-making ability is not in the reach of current tools and technologies, and will likely remain so for a long while. Beyond ambiguity, requirements are often marred by various other types of defects that could lead to wholly unacceptable consequences. In particular, operational experience shows that requirements <i>inadequacy</i> (whereby, in some of the situations the system could face, what is required is woefully inappropriate or what is necessary is left unspecified) is a significant cause for systems failing to meet expectations. The second objective of this paper is to propose a semantically accurate behavioural requirements formalisation format enabling <i>tool-supported requirements verification</i>, notably with <i>simulation</i>. Such support is necessary for the engineering of large and complex <i>cyber-physical</i> and <i>socio-technical</i> systems to ensure, first, that the specified requirements indeed reflect the true intentions of their authors and second, that they are adequate for all the situations the system could face. To that end, the paper presents an overview of the BASAALT (<i>Behaviour Analysis and Simulation All Along systems Life Time</i>) systems engineering method, and of FORM-L (<i>FOrmal Requirements Modelling Language</i>), its supporting language, which aims at representing as accurately and completely as possible the semantics expressed in the original, natural language behavioural requirements, and is markedly different from languages intended for software code generation. The paper shows that generally, semantically accurate formalisation is not a simple <i>paraphrasing</i> of the original natural language requirements: additional elements are often needed to fully and explicitly reflect all that is implied in natural language. To provide such complements for the case study presented in the paper, we had to follow different <i>formalisation patterns</i>, i.e. sequences of formalisation steps. For this paper, to avoid being skewed by what a particular automatic tool can and cannot do, BASAALT and FORM-L were applied manually. Sti
要正确地将用自然语言表达的需求形式化,必须首先识别并解决模糊之处。本文的重点是行为需求(即与动态方面和现象有关的需求)。本文的第一个目标是通过一个实际的公开案例研究,说明消除歧义的过程不可能完全自动化:即使自然语言处理(NLP)工具和机器学习可以帮助识别歧义,但要消除歧义,往往需要对相关系统的存在原因、环境特征、冲突目标之间哪些是可以接受的、哪些是可以实现的、哪些是不可以实现的,有一个深刻的、针对具体应用的理解;还可能需要利益相关者之间进行艰苦的谈判。这种理解和达成共识的能力是目前的工具和技术所无法企及的,而且可能在很长一段时间内都是如此。除了模棱两可之外,需求往往还存在其他各种缺陷,可能导致完全不可接受的后果。特别是,运行经验表明,需求不充分(即在系统可能面临的某些情况下,所需的东西非常不合适,或所需的东西没有明确说明)是系统无法达到预期目标的一个重要原因。本文的第二个目标是提出一种语义准确的行为需求形式化格式,使工具支持需求验证,特别是模拟验证。这种支持对于大型复杂的网络物理和社会技术系统的工程设计是必要的,以确保:第一,指定的需求确实反映了作者的真实意图;第二,这些需求足以应对系统可能面临的所有情况。为此,本文概述了 BASAALT(全生命周期行为分析与仿真)系统工程方法及其支持语言 FORM-L(FOrmal Requirements Modelling Language),该语言旨在尽可能准确、完整地表达原始自然语言行为需求中的语义,与用于软件代码生成的语言明显不同。本文表明,一般来说,语义准确的形式化并不是对原始自然语言需求的简单转述:往往需要额外的元素来全面、明确地反映自然语言中隐含的所有内容。为了给本文介绍的案例研究提供这样的补充,我们必须遵循不同的形式化模式,即形式化步骤的序列。在本文中,为了避免受到特定自动工具能做什么和不能做什么的影响,BASAALT 和 FORM-L 都是手动应用的。不过,所吸取的经验教训仍可用于指定和开发可协助消歧和形式化过程的 NLP 工具。不过,还需要进行更多的研究,以确定是否能识别出一套详尽的形式化模式,从而实现形式化过程的完全自动化。
{"title":"Identifying and fixing ambiguities in, and semantically accurate formalisation of, behavioural requirements","authors":"Thuy Nguyen, Imen Sayar, Sophie Ebersold, Jean-Michel Bruel","doi":"10.1007/s10270-023-01142-0","DOIUrl":"https://doi.org/10.1007/s10270-023-01142-0","url":null,"abstract":"&lt;p&gt;To correctly formalise requirements expressed in natural language, &lt;i&gt;ambiguities&lt;/i&gt; must first be identified and then fixed. This paper focuses on &lt;i&gt;behavioural requirements&lt;/i&gt; (i.e. requirements related to dynamic aspects and phenomena). Its first objective is to show, based on a practical, public case study, that the disambiguation process &lt;i&gt;cannot be fully automated&lt;/i&gt;: even though natural language processing (NLP) tools and machine learning might help in the &lt;i&gt;identification&lt;/i&gt; of ambiguities, &lt;i&gt;fixing&lt;/i&gt; them often requires a deep, application-specific &lt;i&gt;understanding&lt;/i&gt; of the reasons of being of the system of interest, of the characteristics of its environment, of which trade-offs between conflicting objectives are acceptable, and of what is achievable and what is not; it may also require arduous negotiations between stakeholders. Such an understanding and consensus-making ability is not in the reach of current tools and technologies, and will likely remain so for a long while. Beyond ambiguity, requirements are often marred by various other types of defects that could lead to wholly unacceptable consequences. In particular, operational experience shows that requirements &lt;i&gt;inadequacy&lt;/i&gt; (whereby, in some of the situations the system could face, what is required is woefully inappropriate or what is necessary is left unspecified) is a significant cause for systems failing to meet expectations. The second objective of this paper is to propose a semantically accurate behavioural requirements formalisation format enabling &lt;i&gt;tool-supported requirements verification&lt;/i&gt;, notably with &lt;i&gt;simulation&lt;/i&gt;. Such support is necessary for the engineering of large and complex &lt;i&gt;cyber-physical&lt;/i&gt; and &lt;i&gt;socio-technical&lt;/i&gt; systems to ensure, first, that the specified requirements indeed reflect the true intentions of their authors and second, that they are adequate for all the situations the system could face. To that end, the paper presents an overview of the BASAALT (&lt;i&gt;Behaviour Analysis and Simulation All Along systems Life Time&lt;/i&gt;) systems engineering method, and of FORM-L (&lt;i&gt;FOrmal Requirements Modelling Language&lt;/i&gt;), its supporting language, which aims at representing as accurately and completely as possible the semantics expressed in the original, natural language behavioural requirements, and is markedly different from languages intended for software code generation. The paper shows that generally, semantically accurate formalisation is not a simple &lt;i&gt;paraphrasing&lt;/i&gt; of the original natural language requirements: additional elements are often needed to fully and explicitly reflect all that is implied in natural language. To provide such complements for the case study presented in the paper, we had to follow different &lt;i&gt;formalisation patterns&lt;/i&gt;, i.e. sequences of formalisation steps. For this paper, to avoid being skewed by what a particular automatic tool can and cannot do, BASAALT and FORM-L were applied manually. Sti","PeriodicalId":49507,"journal":{"name":"Software and Systems Modeling","volume":"23 1","pages":""},"PeriodicalIF":2.0,"publicationDate":"2024-03-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140152284","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
A model-based reference architecture for complex assistive systems and its application 基于模型的复杂辅助系统参考架构及其应用
IF 2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-03-16 DOI: 10.1007/s10270-024-01157-1
Judith Michael, Volodymyr A. Shekhovtsov

Complex assistive systems providing human behavior support independent of the age or abilities of users are broadly used in a variety of domains including automotive, production, aviation, or medicine. Current research lacks a common understanding of which architectural components are needed to create assistive systems that use models at runtime. Existing descriptions of architectural components are focused on particular domains, consider only some parts of an assistive system, or do not consider models at runtime. We have analyzed common functional requirements for such systems to be able to propose a set of reusable components, which have to be considered when creating assistive systems that use models. Such components constitute a reference architecture that we propose within this paper. To validate the proposed architecture, we have expressed the architectures of two assistive systems from different domains, namely assistance for elderly people and assistance for operators in smart manufacturing in terms of compliance with such architecture. The proposed reference architecture will facilitate the creation of future assistive systems.

提供与用户年龄或能力无关的人类行为支持的复杂辅助系统被广泛应用于汽车、生产、航空或医疗等多个领域。目前的研究对创建运行时使用模型的辅助系统需要哪些架构组件缺乏共识。现有的架构组件描述侧重于特定领域,只考虑了辅助系统的某些部分,或者没有考虑运行时模型。我们分析了此类系统的常见功能需求,从而提出了一套可重复使用的组件,在创建使用模型的辅助系统时必须考虑这些组件。这些组件构成了我们在本文中提出的参考架构。为了验证所提出的体系结构,我们将两个不同领域的辅助系统(即老年人辅助系统和智能制造操作员辅助系统)的体系结构与该体系结构进行了比对。所提出的参考架构将有助于创建未来的辅助系统。
{"title":"A model-based reference architecture for complex assistive systems and its application","authors":"Judith Michael, Volodymyr A. Shekhovtsov","doi":"10.1007/s10270-024-01157-1","DOIUrl":"https://doi.org/10.1007/s10270-024-01157-1","url":null,"abstract":"<p>Complex assistive systems providing human behavior support independent of the age or abilities of users are broadly used in a variety of domains including automotive, production, aviation, or medicine. Current research lacks a common understanding of which architectural components are needed to create assistive systems that use models at runtime. Existing descriptions of architectural components are focused on particular domains, consider only some parts of an assistive system, or do not consider models at runtime. We have analyzed common functional requirements for such systems to be able to propose a set of reusable components, which have to be considered when creating assistive systems that use models. Such components constitute a reference architecture that we propose within this paper. To validate the proposed architecture, we have expressed the architectures of two assistive systems from different domains, namely assistance for elderly people and assistance for operators in smart manufacturing in terms of compliance with such architecture. The proposed reference architecture will facilitate the creation of future assistive systems.</p>","PeriodicalId":49507,"journal":{"name":"Software and Systems Modeling","volume":"15 1","pages":""},"PeriodicalIF":2.0,"publicationDate":"2024-03-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140152113","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
期刊
Software and Systems Modeling
全部 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