{"title":"A framework for formal verification of robot kinematics","authors":"Guojun Xie , Huanhuan Yang , Gang Chen","doi":"10.1016/j.jlamp.2024.100972","DOIUrl":"https://doi.org/10.1016/j.jlamp.2024.100972","url":null,"abstract":"<div><p>As robotic applications continue to expand and task complexity increases, the adoption of more advanced and sophisticated control algorithms and models becomes critical. Traditional methods, relying on manual abstraction and modeling to verify these algorithms and models, may not fully encompass all potential design paths, leading to incomplete models, design defects, and increased vulnerability to security risks. The verification of control systems using formal methods is crucial for ensuring the safety of robots. This paper introduces a formal verification framework for robot kinematics implemented in Coq. It constructs a formal proof for the theory of robot motion and control algorithms, specifically focusing on the theory of robot kinematics, which includes the homogeneous representation of robot coordinates and the transformation relations between different coordinate systems. Subsequently, we provide formal definitions and verification for several commonly used structural robots, along with their coordinate transformation algorithms. Finally, we extract the Coq code, convert the functional algorithms into OCaml code, and perform data validation using various examples. It is worth emphasizing that the framework we have built possesses a high level of reusability, providing a solid technological foundation for the development of kinematics theorem libraries.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"139 ","pages":"Article 100972"},"PeriodicalIF":0.9,"publicationDate":"2024-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140946872","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}
{"title":"Regular planar monoidal languages","authors":"Matthew Earnshaw, 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-06-01","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}
{"title":"The generalised distribution semantics and projective families of distributions","authors":"Felix Weitkämper","doi":"10.1016/j.jlamp.2024.100975","DOIUrl":"https://doi.org/10.1016/j.jlamp.2024.100975","url":null,"abstract":"<div><p>We generalise the distribution semantics underpinning probabilistic logic programming by distilling its essential concept, the separation of a free random component and a deterministic part. This abstracts the core ideas beyond logic programming as such to encompass frameworks from probabilistic databases, probabilistic finite model theory and discrete lifted Bayesian networks. To demonstrate the usefulness of such a general approach, we completely characterise the projective families of distributions representable in the generalised distribution semantics and we demonstrate both that large classes of interesting projective families cannot be represented in a generalised distribution semantics and that already a very limited fragment of logic programming (acyclic determinate logic programs) in the deterministic part suffices to represent all those projective families that are representable in the generalised distribution semantics at all.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"139 ","pages":"Article 100975"},"PeriodicalIF":0.9,"publicationDate":"2024-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S2352220824000294/pdfft?md5=f13ab58ad152ad08f7f859220723fc5d&pid=1-s2.0-S2352220824000294-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140906730","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}
{"title":"An algebraic approach to simulation and verification for cyber-physical systems with shared-variable concurrency","authors":"Ran Li , Huibiao Zhu , Richard Banach","doi":"10.1016/j.jlamp.2024.100973","DOIUrl":"https://doi.org/10.1016/j.jlamp.2024.100973","url":null,"abstract":"<div><p>Cyber-Physical systems (CPS), containing discrete behaviors of the cyber and continuous behaviors of the physical, have gained wide applications in many fields. Since CPS subsume the intersection of cyber systems and physical processes, the traditional modeling languages which merely include discrete variables are no longer applicable to CPS. Accordingly, a shared variable language called <em>CPSL</em><span><math><msup><mrow></mrow><mrow><mi>s</mi><mi>c</mi></mrow></msup></math></span> was proposed to specify CPS. In this paper, we elaborate the algebraic semantics for this language, so that every program of <em>CPSL</em><span><math><msup><mrow></mrow><mrow><mi>s</mi><mi>c</mi></mrow></msup></math></span> can be converted into a unified form called guarded choice form and the sequentialization of parallel programs is achieved. Additionally, we formalize the algebraic semantics in the rewriting engine Real-Time Maude. With the algebraic laws constructed, for every program specified with <em>CPSL</em><span><math><msup><mrow></mrow><mrow><mi>s</mi><mi>c</mi></mrow></msup></math></span>, we can simulate its execution step by step. Furthermore, automatic transformation and execution are attained. As a consequence, if the program and its initial data state are provided, the corresponding trace of data states during execution can be generated. In the light of the generated trace, automatic verification can be carried out as well.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"139 ","pages":"Article 100973"},"PeriodicalIF":0.9,"publicationDate":"2024-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140813608","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}
{"title":"Fair termination of multiparty sessions","authors":"Luca Ciccone , Francesco Dagnino , 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-06-01","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}
{"title":"Preface to selected papers from 20th Workshop on Programming and Languages (PROLE 2021)","authors":"Narciso Martí-Oliet","doi":"10.1016/j.jlamp.2024.100974","DOIUrl":"https://doi.org/10.1016/j.jlamp.2024.100974","url":null,"abstract":"<div><p>This special issue collects extended versions of selected papers presented at the 20th Workshop on Programming and Languages (PROLE 2021), held as a hybrid event in Málaga from September 22 to 24, 2021.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"139 ","pages":"Article 100974"},"PeriodicalIF":0.9,"publicationDate":"2024-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140918804","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}
Edelmira Pasarella , Maria-Esther Vidal , Cristina Zoltan , Juan Pablo Royo Sales
{"title":"A computational framework based on the dynamic pipeline approach","authors":"Edelmira Pasarella , Maria-Esther Vidal , Cristina Zoltan , Juan Pablo Royo Sales","doi":"10.1016/j.jlamp.2024.100966","DOIUrl":"https://doi.org/10.1016/j.jlamp.2024.100966","url":null,"abstract":"<div><p>Stream processing has inspired new computational approaches to facilitate effectiveness and efficiency. One such approach is the dynamic pipeline, which serves as a powerful computational model for stream processing. It is particularly well suited for solving problems that require incremental generation of results, making it an approach for scenarios where real-time analysis and responsiveness are critical. This paper aims to address a family of problems using the Dynamic Pipeline approach, and as a first step, we provide a comprehensive characterization of this problem family. In addition, we present the definition of a Dynamic Pipeline framework. To demonstrate the practicality of this framework, we present a proof of concept through its implementation and perform an empirical performance study. To this end, we focus on solving the problem of <em>enumerating or listing the weakly connected components</em> of a graph within the proposed framework. We provide two implementations of this algorithm to demonstrate the computational power and continuous behavior of the Dynamic Pipeline framework. The first implementation serves as a baseline for our experiments, representing an <em>ad hoc</em> solution based on the Dynamic Pipeline approach. In contrast, the second implementation is built on top of the developed framework. The observed results strongly support the suitability and effectiveness of the Dynamic Pipeline framework for implementing graph stream processing problems, especially those where continuous and real-time result generation is essential.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"139 ","pages":"Article 100966"},"PeriodicalIF":0.9,"publicationDate":"2024-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S2352220824000245/pdfft?md5=1b361518db75a9926da8a7684cf4574c&pid=1-s2.0-S2352220824000245-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140640964","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}
Fereidoun Moradi, Sara Abbaspour Asadollah, Bahman Pourvatan, Zahra Moezkarimi, Marjan Sirjani
{"title":"CRYSTAL framework: Cybersecurity assurance for cyber-physical systems","authors":"Fereidoun Moradi, Sara Abbaspour Asadollah, Bahman Pourvatan, Zahra Moezkarimi, 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-06-01","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}
Pietro Lami , Ivan Lanese , Jean-Bernard Stefani , Claudio Sacerdoti Coen , Giovanni Fabbretti
{"title":"Reversible debugging of concurrent Erlang programs: Supporting imperative primitives","authors":"Pietro Lami , Ivan Lanese , Jean-Bernard Stefani , Claudio Sacerdoti Coen , 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-04-01","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}
{"title":"Verification of data-aware process models: Checking soundness of data Petri nets","authors":"Nikolai M. Suvorov, 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-04-01","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}