首页 > 最新文献

Journal of Logical and Algebraic Methods in Programming最新文献

英文 中文
CRYSTAL framework: Cybersecurity assurance for cyber-physical systems CRYSTAL 框架:网络物理系统的网络安全保证
IF 0.9 4区 数学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2024-03-28 DOI: 10.1016/j.jlamp.2024.100965
Fereidoun Moradi, Sara Abbaspour Asadollah, Bahman Pourvatan, Zahra Moezkarimi, Marjan Sirjani

We propose CRYSTAL framework for automated cybersecurity assurance of cyber-physical systems (CPS) at design-time and runtime. We build attack models and apply formal verification to recognize potential attacks that may lead to security violations. We focus on both communication and computation in designing the attack models. We build a monitor to check and manage security at runtime and use a reference model, called Tiny Digital Twin, in detecting attacks. The Tiny Digital Twin is an abstract behavioral model that is automatically derived from the state space generated by model checking during design-time. Using CRYSTAL, we are able to systematically model and check complex coordinated attacks. In this paper we discuss the applicability of CRYSTAL in security analysis and attack detection for different case studies, Temperature Control System (TCS), Pneumatic Control System (PCS), and Secure Water Treatment System (SWaT). We provide a detailed description of the framework and explain how it works in different cases.

我们提出了 CRYSTAL 框架,用于在设计时和运行时自动保证网络物理系统 (CPS) 的网络安全。我们建立攻击模型,并应用形式验证来识别可能导致违反安全规定的潜在攻击。在设计攻击模型时,我们重点关注通信和计算。我们建立了一个监控器来检查和管理运行时的安全性,并使用一个名为 Tiny Digital Twin 的参考模型来检测攻击。Tiny Digital Twin 是一个抽象的行为模型,由设计时模型检查生成的状态空间自动导出。利用 CRYSTAL,我们能够对复杂的协同攻击进行系统建模和检查。本文讨论了 CRYSTAL 在不同案例研究(温度控制系统 (TCS)、气动控制系统 (PCS) 和安全水处理系统 (SWaT))的安全分析和攻击检测中的适用性。我们对该框架进行了详细描述,并解释了它在不同案例中的工作原理。
{"title":"CRYSTAL framework: Cybersecurity assurance for cyber-physical systems","authors":"Fereidoun Moradi,&nbsp;Sara Abbaspour Asadollah,&nbsp;Bahman Pourvatan,&nbsp;Zahra Moezkarimi,&nbsp;Marjan Sirjani","doi":"10.1016/j.jlamp.2024.100965","DOIUrl":"https://doi.org/10.1016/j.jlamp.2024.100965","url":null,"abstract":"<div><p>We propose CRYSTAL framework for automated cybersecurity assurance of cyber-physical systems (CPS) at design-time and runtime. We build attack models and apply formal verification to recognize potential attacks that may lead to security violations. We focus on both communication and computation in designing the attack models. We build a monitor to check and manage security at runtime and use a reference model, called Tiny Digital Twin, in detecting attacks. The Tiny Digital Twin is an abstract behavioral model that is automatically derived from the state space generated by model checking during design-time. Using CRYSTAL, we are able to systematically model and check complex coordinated attacks. In this paper we discuss the applicability of CRYSTAL in security analysis and attack detection for different case studies, Temperature Control System (TCS), Pneumatic Control System (PCS), and Secure Water Treatment System (SWaT). We provide a detailed description of the framework and explain how it works in different cases.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"139 ","pages":"Article 100965"},"PeriodicalIF":0.9,"publicationDate":"2024-03-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S2352220824000233/pdfft?md5=2c69c9c2d2dbec58ef8f333d9f3ea8eb&pid=1-s2.0-S2352220824000233-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140346853","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Fair termination of multiparty sessions 公平终止多方会议
IF 0.9 4区 数学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2024-03-25 DOI: 10.1016/j.jlamp.2024.100964
Luca Ciccone , Francesco Dagnino , Luca Padovani

There exists a broad family of multiparty sessions in which the progress of one session participant is not unconditional, but depends on the choices performed by other participants. These sessions fall outside the scope of currently available session type systems that guarantee progress. In this work we propose the first type system ensuring that well-typed multiparty sessions, including those exhibiting the aforementioned dependencies, fairly terminate. Fair termination is termination under a fairness assumption that disregards those interactions deemed unfair and therefore unrealistic. Fair termination, combined with the usual safety properties ensured within sessions, not only is desirable per se, but it entails livelock freedom and enables a compositional form of static analysis such that the well-typed composition of fairly terminating sessions results in a fairly terminating program.

在多方会话中,一个会话参与者的进度不是无条件的,而是取决于其他参与者的选择。这些会话不属于目前可用的保证进度的会话类型系统的范围。在这项工作中,我们提出了第一个类型系统,确保类型完善的多方会话(包括那些表现出上述依赖性的会话)公平终止。公平终止是指在公平性假设下的终止,这种假设不考虑那些被认为不公平因而不现实的交互。公平终止与会话内通常的安全属性相结合,不仅本身是可取的,而且还带来了活锁自由,并实现了一种组合形式的静态分析,即公平终止的会话的良好类型组合会产生一个公平终止的程序。
{"title":"Fair termination of multiparty sessions","authors":"Luca Ciccone ,&nbsp;Francesco Dagnino ,&nbsp;Luca Padovani","doi":"10.1016/j.jlamp.2024.100964","DOIUrl":"https://doi.org/10.1016/j.jlamp.2024.100964","url":null,"abstract":"<div><p>There exists a broad family of multiparty sessions in which the progress of one session participant is not unconditional, but depends on the choices performed by other participants. These sessions fall outside the scope of currently available session type systems that guarantee progress. In this work we propose the first type system ensuring that well-typed multiparty sessions, including those exhibiting the aforementioned dependencies, fairly terminate. Fair termination is termination under a fairness assumption that disregards those interactions deemed unfair and therefore unrealistic. Fair termination, combined with the usual safety properties ensured within sessions, not only is desirable <em>per se</em>, but it entails livelock freedom and enables a compositional form of static analysis such that the well-typed composition of fairly terminating sessions results in a fairly terminating program.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"139 ","pages":"Article 100964"},"PeriodicalIF":0.9,"publicationDate":"2024-03-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140321596","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Regular planar monoidal languages 正则平面单义语言
IF 0.9 4区 数学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2024-03-21 DOI: 10.1016/j.jlamp.2024.100963
Matthew Earnshaw, Paweł Sobociński

We introduce regular languages of morphisms in free monoidal categories, with their associated grammars and automata. These subsume the classical theory of regular languages of words and trees, but also open up a much wider class of languages of planar string diagrams. We give a pumping lemma for monoidal languages, generalizing the one for words and trees. We use the algebra of monoidal and cartesian restriction categories to investigate the properties of regular monoidal languages, and provide sufficient conditions for their recognizability by deterministic monoidal automata.

我们介绍了自由一元范畴中形态的正则表达式语言及其相关语法和自动机。这些语言不仅包含词和树的正则语言的经典理论,而且还开辟了平面弦图语言的更广阔类别。我们给出了单义语言的抽水词法,概括了词与树的抽水词法。我们使用单义和车轴限制范畴代数来研究正则单义语言的性质,并为确定性单义自动机识别这些语言提供了充分条件。
{"title":"Regular planar monoidal languages","authors":"Matthew Earnshaw,&nbsp;Paweł Sobociński","doi":"10.1016/j.jlamp.2024.100963","DOIUrl":"10.1016/j.jlamp.2024.100963","url":null,"abstract":"<div><p>We introduce regular languages of morphisms in free monoidal categories, with their associated grammars and automata. These subsume the classical theory of regular languages of words and trees, but also open up a much wider class of languages of planar string diagrams. We give a pumping lemma for monoidal languages, generalizing the one for words and trees. We use the algebra of monoidal and cartesian restriction categories to investigate the properties of regular monoidal languages, and provide sufficient conditions for their recognizability by deterministic monoidal automata.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"139 ","pages":"Article 100963"},"PeriodicalIF":0.9,"publicationDate":"2024-03-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140279468","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Coherent modal transition systems refinement 相干模态转换系统的完善
IF 0.9 4区 数学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2024-02-28 DOI: 10.1016/j.jlamp.2024.100954
Davide Basile , Maurice H. ter Beek , Alessandro Fantechi , Stefania Gnesi

Modal Transition Systems (MTS) are a well-known formalism that extend Labelled Transition Systems (LTS) with the possibility of specifying necessary and permitted behaviour. Coherent MTS (CMTS) have been introduced to model Software Product Lines (SPL) based on a correspondence between the necessary and permitted modalities of MTS transitions and their associated actions, and the core and optional features of SPL. In this paper, we address open problems of the coherent fragment of MTS and introduce the notions of refinement and thorough refinement of CMTS. Most notably, we prove that refinement and thorough refinement coincide for CMTS, while it is known that this is not the case for MTS. We also define (thorough) equivalence and strong bisimilarity of both MTS and CMTS. We show their relations and, in particular, we prove that also strong bisimilarity and equivalence coincide for CMTS, whereas they do not for MTS. Finally, we extend our investigation to CMTS equipped with Constraints (MTSC), originally introduced to express alternative behaviour, and we prove that novel notions of refinement and strong thorough refinement coincide for MTSC, and so do their extensions to strong (thorough) equivalence and strong bisimilarity.

模态转换系统(MTS)是一种著名的形式主义,它扩展了标签转换系统(LTS),可以指定必要和允许的行为。相干模态转换系统(CMTS)被引入软件产品线(SPL)建模,其基础是 MTS 转换的必要和允许模态及其相关行为与 SPL 的核心和可选功能之间的对应关系。在本文中,我们解决了 MTS 一致性片段的公开问题,并引入了 CMTS 的细化和彻底细化概念。最值得注意的是,我们证明了 CMTS 的细化和彻底细化是重合的,而众所周知 MTS 并非如此。我们还定义了 MTS 和 CMTS 的(彻底)等价性和强相似性。我们展示了它们之间的关系,特别是证明了 CMTS 的强相似性和等价性也是重合的,而 MTS 则不重合。最后,我们将研究扩展到最初为表达另类行为而引入的配有约束条件的 CMTS(MTSC),并证明 MTSC 的新精炼概念和强彻底精炼概念是重合的,它们对强(彻底)等价性和强相似性的扩展也是重合的。
{"title":"Coherent modal transition systems refinement","authors":"Davide Basile ,&nbsp;Maurice H. ter Beek ,&nbsp;Alessandro Fantechi ,&nbsp;Stefania Gnesi","doi":"10.1016/j.jlamp.2024.100954","DOIUrl":"https://doi.org/10.1016/j.jlamp.2024.100954","url":null,"abstract":"<div><p>Modal Transition Systems (MTS) are a well-known formalism that extend Labelled Transition Systems (LTS) with the possibility of specifying necessary and permitted behaviour. Coherent MTS (CMTS) have been introduced to model Software Product Lines (SPL) based on a correspondence between the necessary and permitted modalities of MTS transitions and their associated actions, and the core and optional features of SPL. In this paper, we address open problems of the coherent fragment of MTS and introduce the notions of refinement and thorough refinement of CMTS. Most notably, we prove that refinement and thorough refinement coincide for CMTS, while it is known that this is not the case for MTS. We also define (thorough) equivalence and strong bisimilarity of both MTS and CMTS. We show their relations and, in particular, we prove that also strong bisimilarity and equivalence coincide for CMTS, whereas they do not for MTS. Finally, we extend our investigation to CMTS equipped with Constraints (MTSC), originally introduced to express alternative behaviour, and we prove that novel notions of refinement and strong thorough refinement coincide for MTSC, and so do their extensions to strong (thorough) equivalence and strong bisimilarity.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"138 ","pages":"Article 100954"},"PeriodicalIF":0.9,"publicationDate":"2024-02-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S2352220824000129/pdfft?md5=f3454b411ac825e2a7452e39b5a346f5&pid=1-s2.0-S2352220824000129-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"139992455","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Verification of data-aware process models: Checking soundness of data Petri nets 验证数据感知流程模型:检查数据 Petri 网的健全性
IF 0.9 4区 数学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2024-02-07 DOI: 10.1016/j.jlamp.2024.100953
Nikolai M. Suvorov, Irina A. Lomazova

During recent years, significant research has been done in the direction of enriching the traditional control-flow perspective of processes with additional dimensions, such as data and decisions. To represent data-aware process models, various formalisms have been proposed. In this work, we focus on Data Petri nets (DPNs), an extension to a Petri net with data. Data in a DPN is set as variable values. Process activities, represented as transitions, can inspect and update variable values. This work is dedicated to soundness verification of data-aware process models represented as DPNs. We show the flaw in one of the algorithms for checking soundness of DPNs with variable-operator-variable conditions. The algorithm fails to detect some types of livelocks and, thus, is incorrect in the general case. In this report, we propose an advanced version of this algorithm, which correctly verifies soundness of DPNs and which can also be used for DPNs has composite conditions on transitions. To verify soundness, the algorithm refines a DPN by splitting some of its transitions, constructs an abstract state space of a refined DPN, and inspects it for soundness properties. The report justifies correctness of the proposed algorithm for DPNs with variables of real data type or any finite data types. The algorithm is implemented, and the results of its performance evaluation demonstrate practical applicability of the algorithm for process models of small and medium sizes.

近年来,人们在用数据和决策等额外维度丰富流程的传统控制流视角方面做了大量研究。为了表示数据感知流程模型,人们提出了各种形式主义。在这项工作中,我们的重点是数据 Petri 网(DPN),它是数据 Petri 网的扩展。DPN 中的数据被设置为变量值。以转换表示的过程活动可以检查和更新变量值。这项工作致力于以 DPN 表示的数据感知流程模型的合理性验证。我们展示了一种用于检查具有变量-操作符-变量条件的 DPN 的合理性的算法的缺陷。该算法无法检测到某些类型的活锁,因此在一般情况下是不正确的。在本报告中,我们提出了这一算法的高级版本,它能正确验证 DPN 的健全性,也可用于在过渡上具有复合条件的 DPN。为了验证完备性,该算法通过拆分 DPN 的部分过渡来精炼 DPN,构建精炼 DPN 的抽象状态空间,并检查其完备性属性。报告证明了所提算法对于具有实数数据类型或任何有限数据类型变量的 DPN 的正确性。该算法已付诸实施,其性能评估结果表明了该算法对中小型流程模型的实际适用性。
{"title":"Verification of data-aware process models: Checking soundness of data Petri nets","authors":"Nikolai M. Suvorov,&nbsp;Irina A. Lomazova","doi":"10.1016/j.jlamp.2024.100953","DOIUrl":"https://doi.org/10.1016/j.jlamp.2024.100953","url":null,"abstract":"<div><p>During recent years, significant research has been done in the direction of enriching the traditional control-flow perspective of processes with additional dimensions, such as data and decisions. To represent data-aware process models, various formalisms have been proposed. In this work, we focus on Data Petri nets (DPNs), an extension to a Petri net with data. Data in a DPN is set as variable values. Process activities, represented as transitions, can inspect and update variable values. This work is dedicated to soundness verification of data-aware process models represented as DPNs. We show the flaw in one of the algorithms for checking soundness of DPNs with variable-operator-variable conditions. The algorithm fails to detect some types of livelocks and, thus, is incorrect in the general case. In this report, we propose an advanced version of this algorithm, which correctly verifies soundness of DPNs and which can also be used for DPNs has composite conditions on transitions. To verify soundness, the algorithm refines a DPN by splitting some of its transitions, constructs an abstract state space of a refined DPN, and inspects it for soundness properties. The report justifies correctness of the proposed algorithm for DPNs with variables of real data type or any finite data types. The algorithm is implemented, and the results of its performance evaluation demonstrate practical applicability of the algorithm for process models of small and medium sizes.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"138 ","pages":"Article 100953"},"PeriodicalIF":0.9,"publicationDate":"2024-02-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"139714998","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Reversible debugging of concurrent Erlang programs: Supporting imperative primitives 并发 Erlang 程序的可逆调试支持命令式基元
IF 0.9 4区 数学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2024-01-17 DOI: 10.1016/j.jlamp.2024.100944
Pietro Lami , Ivan Lanese , Jean-Bernard Stefani , Claudio Sacerdoti Coen , Giovanni Fabbretti

Reversible computing is a programming paradigm allowing one to execute programs both in the standard, forward direction as well as backwards, recovering past states. A relevant application of reversible computing is causal-consistent reversible debugging, which allows one to explore concurrent computations backwards and forwards to find a bug. The basic idea is that any action can be undone, provided that its consequences are undone beforehand. This approach has been put into practice in CauDEr, a Causal-consistent reversible Debugger for the Erlang programming language. CauDEr provides the ability to explore a concurrent computation back and forward in a step-by-step way as well as to undo an action far in the past including all and only its consequences (rollback), and to replay an action from a log, together with its causes. CauDEr supports the functional, concurrent and distributed fragment of Erlang. However, Erlang also includes imperative primitives to manage a map (shared among all the processes of a same node) associating process identifiers to names. Here we extend CauDEr and the related theory, including rollback and replay, to support such imperative primitives. From a theoretical point of view, the imperative primitives create different causal structures to those derived from the concurrent Erlang fragment previously handled in CauDEr, yet we show that the main results proved for previous versions of CauDEr are still valid. From a practical point of view, this allows one to debug a larger subset of Erlang programs, as shown with a small case study of a server providing mathematical functionalities.

可逆计算是一种编程范式,允许人们以标准的正向和反向执行程序,恢复过去的状态。可逆计算的一个相关应用是因果一致的可逆调试,它允许人们反向和正向探索并发计算,以查找错误。其基本思想是,任何操作都可以撤销,前提是其后果必须事先撤销。CauDEr 是 Erlang 编程语言的因果一致可逆调试器,它将这种方法付诸实践。CauDEr 提供了逐步向前和向后探索并发计算的能力,也提供了撤销过去操作的能力,包括撤销所有和仅撤销其后果(回滚),以及从日志中重放操作及其原因的能力。CauDEr 支持 Erlang 的功能、并发和分布式片段。然而,Erlang 还包含了一些命令式原语,用于管理将进程标识符与名称关联起来的映射(同一节点的所有进程共享)。在此,我们扩展了 CauDEr 及其相关理论,包括回滚和重放,以支持此类命令式原语。从理论的角度来看,命令式原语创建的因果结构与 CauDEr 以前处理的并发 Erlang 片段所产生的因果结构不同,但我们证明了以前版本的 CauDEr 所证明的主要结果仍然有效。从实用的角度来看,这允许我们调试更大的 Erlang 程序子集,正如一个提供数学功能的服务器的小型案例研究所示。
{"title":"Reversible debugging of concurrent Erlang programs: Supporting imperative primitives","authors":"Pietro Lami ,&nbsp;Ivan Lanese ,&nbsp;Jean-Bernard Stefani ,&nbsp;Claudio Sacerdoti Coen ,&nbsp;Giovanni Fabbretti","doi":"10.1016/j.jlamp.2024.100944","DOIUrl":"10.1016/j.jlamp.2024.100944","url":null,"abstract":"<div><p>Reversible computing is a programming paradigm allowing one to execute programs both in the standard, forward direction as well as backwards, recovering past states. A relevant application of reversible computing is causal-consistent reversible debugging, which allows one to explore concurrent computations backwards and forwards to find a bug. The basic idea is that any action can be undone, provided that its consequences are undone beforehand. This approach has been put into practice in CauDEr, a Causal-consistent reversible Debugger<span> for the Erlang programming language. CauDEr provides the ability to explore a concurrent computation back and forward in a step-by-step way as well as to undo an action far in the past including all and only its consequences (rollback), and to replay an action from a log, together with its causes. CauDEr supports the functional, concurrent and distributed fragment of Erlang. However, Erlang also includes imperative primitives to manage a map (shared among all the processes of a same node) associating process identifiers to names. Here we extend CauDEr and the related theory, including rollback and replay, to support such imperative primitives. From a theoretical point of view, the imperative primitives create different causal structures to those derived from the concurrent Erlang fragment previously handled in CauDEr, yet we show that the main results proved for previous versions of CauDEr are still valid. From a practical point of view, this allows one to debug a larger subset of Erlang programs, as shown with a small case study of a server providing mathematical functionalities.</span></p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"138 ","pages":"Article 100944"},"PeriodicalIF":0.9,"publicationDate":"2024-01-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"139498019","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Trace preservation in B and Event-B refinements B 和 Event-B 精炼中的微量保留
IF 0.9 4区 数学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2024-01-05 DOI: 10.1016/j.jlamp.2024.100943
Sebastian Stock , Atif Mashkoor , Michael Leuschel , Alexander Egyed

Refinement guarantees that the concrete version of a model does not violate the constraints introduced at the abstract level. The peculiarity of refinement, however, is that we have no guarantee about the preservation of the behavior of the model. For example, a trace (a set of desirable states and transitions) created on the abstract model may not replay on the concrete model. Its manual recreation, usually via animation, is necessary to run the trace, as the model may have changed significantly during refinement. However, this is a labor-intensive and error-prone task. To this end, this article presents an automatic trace refining technique and tool called BERT (B and Event-B Trace Refinement Technique) that allows modelers to ensure the behavioral integrity of high-level traces at the concrete level. The cost- and time-effectiveness of BERT are shown in industrial-strength case studies from the automotive and aviation domains.

细化保证了模型的具体版本不会违反在抽象层引入的约束条件。然而,细化的特殊性在于我们无法保证模型行为的完整性。例如,在抽象模型上创建的轨迹(一组理想的状态和转换)可能无法在具体模型上重放。由于模型在细化过程中可能会发生重大变化,因此需要手动(通常是通过动画)重现以运行跟踪。然而,这是一项劳动密集型且容易出错的任务。为此,本文介绍了一种名为 BERT(B and Event-B Trace Refinement Technique,B 和 Event-B 跟踪细化技术)的自动跟踪细化技术和工具,它允许建模人员在具体层面上确保高层跟踪的行为完整性。在汽车和航空领域的工业案例研究中,展示了 BERT 的成本和时间效益。
{"title":"Trace preservation in B and Event-B refinements","authors":"Sebastian Stock ,&nbsp;Atif Mashkoor ,&nbsp;Michael Leuschel ,&nbsp;Alexander Egyed","doi":"10.1016/j.jlamp.2024.100943","DOIUrl":"10.1016/j.jlamp.2024.100943","url":null,"abstract":"<div><p>Refinement guarantees that the concrete version of a model does not violate the constraints introduced at the abstract level. The peculiarity of refinement, however, is that we have no guarantee about the preservation of the behavior of the model. For example, a trace (a set of desirable states and transitions) created on the abstract model may not replay on the concrete model. Its manual recreation, usually via animation, is necessary to run the trace, as the model may have changed significantly during refinement. However, this is a labor-intensive and error-prone task. To this end, this article presents an automatic trace refining technique and tool called <em>BERT</em> (<u>B</u> and <u>E</u>vent-B Trace <u>R</u>efinement <u>T</u>echnique) that allows modelers to ensure the behavioral integrity of high-level traces at the concrete level. The cost- and time-effectiveness of BERT are shown in industrial-strength case studies from the automotive and aviation domains.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"137 ","pages":"Article 100943"},"PeriodicalIF":0.9,"publicationDate":"2024-01-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S2352220824000014/pdfft?md5=014ec80e27c6d35f0f8d4a7e25c9564e&pid=1-s2.0-S2352220824000014-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"139375928","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Protocol choice and iteration for the free cornering 自由转角的协议选择和迭代
IF 0.9 4区 数学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2023-12-29 DOI: 10.1016/j.jlamp.2023.100942
Chad Nester , Niels Voorneveld

We extend the free cornering of a symmetric monoidal category, a double categorical model of concurrent interaction, to support branching communication protocols and iterated communication protocols. We validate our constructions by showing that they inherit significant categorical structure from the free cornering, including that they form monoidal double categories. We also establish some elementary properties of the novel structure they contain. Further, we give a model of the free cornering in terms of strong functors and strong natural transformations, inspired by the literature on computational effects.

我们扩展了对称一元范畴的自由转角--并发交互的双重分类模型--以支持分支通信协议和迭代通信协议。我们验证了我们的构造,证明它们从自由角化中继承了重要的分类结构,包括它们形成了单环双类别。我们还建立了它们所包含的新结构的一些基本属性。此外,受计算效应文献的启发,我们用强函数和强自然转换给出了自由拐角的模型。
{"title":"Protocol choice and iteration for the free cornering","authors":"Chad Nester ,&nbsp;Niels Voorneveld","doi":"10.1016/j.jlamp.2023.100942","DOIUrl":"10.1016/j.jlamp.2023.100942","url":null,"abstract":"<div><p>We extend the free cornering of a symmetric monoidal category, a double categorical model of concurrent interaction, to support branching communication protocols and iterated communication protocols. We validate our constructions by showing that they inherit significant categorical structure from the free cornering, including that they form monoidal double categories. We also establish some elementary properties of the novel structure they contain. Further, we give a model of the free cornering in terms of strong functors and strong natural transformations, inspired by the literature on computational effects.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"137 ","pages":"Article 100942"},"PeriodicalIF":0.9,"publicationDate":"2023-12-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"139068328","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Bridging formal methods and machine learning with model checking and global optimisation 用模型检查和全局优化连接形式化方法和机器学习
IF 0.9 4区 数学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2023-12-28 DOI: 10.1016/j.jlamp.2023.100941
Saddek Bensalem , Xiaowei Huang , Wenjie Ruan , Qiyi Tang , Changshun Wu , Xingyu Zhao

Formal methods and machine learning are two research fields with drastically different foundations and philosophies. Formal methods utilise mathematically rigorous techniques for software and hardware systems' specification, development and verification. Machine learning focuses on pragmatic approaches to gradually improve a parameterised model by observing a training data set. While historically, the two fields lack communication, this trend has changed in the past few years with an outburst of research interest in the robustness verification of neural networks. This paper will briefly review these works, and focus on the urgent need for broader and more in-depth communication between the two fields, with the ultimate goal of developing learning-enabled systems with excellent performance and acceptable safety and security. We present a specification language, MLS2, and show that it can express a set of known safety and security properties, including generalisation, uncertainty, robustness, data poisoning, backdoor, model stealing, membership inference, model inversion, interpretability, and fairness. To verify MLS2 properties, we promote the global optimisation-based methods, which have provable guarantees on the convergence to the optimal solution. Many of them have theoretical bounds on the gap between current solutions and the optimal solution.

形式化方法和机器学习是两个基础和理念截然不同的研究领域。形式化方法利用数学上严格的技术来进行软件和硬件系统的规范、开发和验证。机器学习侧重于实用方法,通过观察训练数据集来逐步改进参数化模型。虽然从历史上看,这两个领域缺乏交流,但随着神经网络鲁棒性验证研究兴趣的爆发,这种趋势在过去几年中有所改变。本文将简要回顾这些研究成果,并重点讨论这两个领域之间进行更广泛、更深入交流的迫切需求,最终目标是开发出性能卓越、安全可靠的学习型系统。我们提出了一种规范语言--MLS2,并证明它可以表达一系列已知的安全和保安特性,包括泛化、不确定性、鲁棒性、数据中毒、后门、模型窃取、成员推理、模型反转、可解释性和公平性。为了验证 MLS2 的特性,我们推广了基于全局优化的方法,这些方法对收敛到最优解有可证明的保证。其中许多方法对当前解与最优解之间的差距有理论上的约束。
{"title":"Bridging formal methods and machine learning with model checking and global optimisation","authors":"Saddek Bensalem ,&nbsp;Xiaowei Huang ,&nbsp;Wenjie Ruan ,&nbsp;Qiyi Tang ,&nbsp;Changshun Wu ,&nbsp;Xingyu Zhao","doi":"10.1016/j.jlamp.2023.100941","DOIUrl":"10.1016/j.jlamp.2023.100941","url":null,"abstract":"<div><p>Formal methods and machine learning are two research fields with drastically different foundations and philosophies. Formal methods utilise mathematically rigorous techniques for software and hardware systems' specification, development and verification. Machine learning focuses on pragmatic approaches to gradually improve a parameterised model by observing a training data set. While historically, the two fields lack communication, this trend has changed in the past few years with an outburst of research interest in the robustness verification of neural networks. This paper will briefly review these works, and focus on the urgent need for broader and more in-depth communication between the two fields, with the ultimate goal of developing learning-enabled systems with excellent performance and acceptable safety and security. We present a specification language, MLS<sup>2</sup>, and show that it can express a set of known safety and security properties, including generalisation, uncertainty, robustness, data poisoning, backdoor, model stealing, membership inference, model inversion, interpretability, and fairness. To verify MLS<sup>2</sup> properties, we promote the global optimisation-based methods, which have provable guarantees on the convergence to the optimal solution. Many of them have theoretical bounds on the gap between current solutions and the optimal solution.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"137 ","pages":"Article 100941"},"PeriodicalIF":0.9,"publicationDate":"2023-12-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S2352220823000950/pdfft?md5=524bb8cc97eab39538606c56c0fd3849&pid=1-s2.0-S2352220823000950-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"139068888","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Formally verified animation for RoboChart using interaction trees 使用交互树为 RoboChart 制作经过正式验证的动画
IF 0.9 4区 数学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2023-12-28 DOI: 10.1016/j.jlamp.2023.100940
Kangfeng Ye, Simon Foster, Jim Woodcock

RoboChart is a core notation in the RoboStar framework. It is a timed and probabilistic domain-specific and state machine-based language for robotics. RoboChart supports shared variables and communication across entities in its component model. It has formal denotational semantics given in CSP. The semantic technique of Interaction Trees (ITrees) represents behaviours of reactive and concurrent programs interacting with their environments. Recent mechanisation of ITrees, ITree-based CSP semantics and a Z mathematical toolkit in Isabelle/HOL bring new applications of verification and animation for state-rich process languages, such as RoboChart. In this paper, we use ITrees to give RoboChart novel operational semantics, implement it in Isabelle, and use Isabelle's code generator to generate verified and executable animations. We illustrate our approach using an autonomous chemical detector and patrol robot models, exhibiting nondeterminism and using shared variables. With animation, we show two concrete scenarios for the chemical detector when the robot encounters different environmental inputs and three for the patrol robot when its calibrated position is in other corridor sections. We also verify that the animated scenarios are trace refinements of the CSP denotational semantics of the RoboChart models using FDR, a refinement model checker for CSP. This ensures that our approach to resolve nondeterminism using CSP operators with priority is sound and correct.

RoboChart 是 RoboStar 框架的核心符号。它是一种定时的、概率的、基于特定领域和状态机的机器人语言。RoboChart 在其组件模型中支持共享变量和跨实体通信。它具有 CSP 中给出的形式化表示语义。交互树(ITrees)语义技术表示反应式并发程序与其环境交互的行为。最近,ITrees 的机械化、基于 ITrees 的 CSP 语义和 Isabelle/HOL 中的 Z 数学工具包为 RoboChart 等富于状态的进程语言带来了新的验证和动画应用。在本文中,我们使用 ITrees 赋予 RoboChart 新的操作语义,在 Isabelle 中加以实现,并使用 Isabelle 的代码生成器生成可验证和可执行的动画。我们使用自主化学探测器和巡逻机器人模型来说明我们的方法,展示了非确定性并使用了共享变量。通过动画,我们展示了化学检测器在遇到不同环境输入时的两种具体场景,以及巡逻机器人在其校准位置位于其他走廊段时的三种具体场景。我们还使用 CSP 的细化模型检查器 FDR 验证了动画场景是对 RoboChart 模型的 CSP 表示法语义的跟踪细化。这确保了我们使用具有优先级的 CSP 运算符来解决非确定性的方法是合理和正确的。
{"title":"Formally verified animation for RoboChart using interaction trees","authors":"Kangfeng Ye,&nbsp;Simon Foster,&nbsp;Jim Woodcock","doi":"10.1016/j.jlamp.2023.100940","DOIUrl":"10.1016/j.jlamp.2023.100940","url":null,"abstract":"<div><p>RoboChart is a core notation in the RoboStar framework. It is a timed and probabilistic domain-specific and state machine-based language for robotics. RoboChart supports shared variables and communication across entities in its component model. It has formal denotational semantics given in CSP. The semantic technique of Interaction Trees (ITrees) represents behaviours of reactive and concurrent programs interacting with their environments. Recent mechanisation of ITrees, ITree-based CSP semantics and a Z mathematical toolkit in Isabelle/HOL bring new applications of verification and animation for state-rich process languages, such as RoboChart. In this paper, we use ITrees to give RoboChart novel operational semantics, implement it in Isabelle, and use Isabelle's code generator to generate verified and executable animations. We illustrate our approach using an autonomous chemical detector and patrol robot models, exhibiting nondeterminism and using shared variables. With animation, we show two concrete scenarios for the chemical detector when the robot encounters different environmental inputs and three for the patrol robot when its calibrated position is in other corridor sections. We also verify that the animated scenarios are trace refinements of the CSP denotational semantics of the RoboChart models using FDR, a refinement model checker for CSP. This ensures that our approach to resolve nondeterminism using CSP operators with priority is sound and correct.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"137 ","pages":"Article 100940"},"PeriodicalIF":0.9,"publicationDate":"2023-12-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S2352220823000949/pdfft?md5=5312a452edca31ae541827e9147a0d84&pid=1-s2.0-S2352220823000949-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"139067982","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
期刊
Journal of Logical and Algebraic Methods in Programming
全部 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