{"title":"Formal analysis of real-time systems with user-defined strategies in rewriting logic","authors":"Carlos Olarte , Peter Csaba Ölveczky","doi":"10.1016/j.jlamp.2025.101072","DOIUrl":"10.1016/j.jlamp.2025.101072","url":null,"abstract":"<div><div>A wide range of real-time systems, formalisms, and modeling languages can be naturally represented in rewriting logic as real-time rewrite theories. In this paper we propose a language in which the user can conveniently define execution strategies—including state- and history-dependent ones—for real-time rewrite theories in a modular way, by specifying: (i) how to apply instantaneous transitions; (ii) how to advance time in the system; and (iii) the interplay between instantaneous transitions and advancing time. The user can easily specify more “time sampling strategies” than those supported by the Real-Time Maude tool, and we identify a new time sampling strategy that provides both efficient and exhaustive analysis for many distributed real-time systems. We provide unbounded and time-bounded simulation, reachability analysis, and LTL model checking commands for real-time rewrite theories whose executions are constrained by the user-defined discrete and timed strategies. These analysis methods are implemented by defining a strategy which extends the user's strategy, so that all analysis boils down to standard Maude rewriting with strategies. We exemplify the use of our strategy language and our analyses on a round trip time protocol and a train door controller. Our work also provides analysis with respect to user-defined strategies for formalisms that can be seen as real-time theories; we illustrate this for timed automata. Finally, we compare the performance of standard Maude search, where the desired time sampling strategy has been hardcoded into the model, with our strategy-implemented reachability analyses on the CASH scheduling algorithm benchmark.</div></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"146 ","pages":"Article 101072"},"PeriodicalIF":0.7,"publicationDate":"2025-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144579179","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":"Journal of logical and algebraic methods in programming – Publisher's Note 2025","authors":"","doi":"10.1016/j.jlamp.2025.101058","DOIUrl":"10.1016/j.jlamp.2025.101058","url":null,"abstract":"","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"145 ","pages":"Article 101058"},"PeriodicalIF":0.7,"publicationDate":"2025-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143563066","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":"Editorial message from the new Editor-in-Chief","authors":"Alberto Lluch Lafuente","doi":"10.1016/j.jlamp.2025.101057","DOIUrl":"10.1016/j.jlamp.2025.101057","url":null,"abstract":"","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"145 ","pages":"Article 101057"},"PeriodicalIF":0.7,"publicationDate":"2025-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143552276","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 22nd Workshop on Programming and Languages (PROLE 2023)","authors":"Laura Panizo","doi":"10.1016/j.jlamp.2025.101060","DOIUrl":"10.1016/j.jlamp.2025.101060","url":null,"abstract":"<div><div>This special issue collects extended versions of selected papers presented at the 22nd Workshop on Programming and Languages (PROLE 2023), held in Ciudad Real from September 12 to 14, 2023.</div></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"145 ","pages":"Article 101060"},"PeriodicalIF":0.7,"publicationDate":"2025-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143620611","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":"An algebraic theory of nondeterministic finite automata","authors":"Roberto Gorrieri","doi":"10.1016/j.jlamp.2025.101055","DOIUrl":"10.1016/j.jlamp.2025.101055","url":null,"abstract":"<div><div>A process algebra is proposed, whose semantics maps a term to a nondeterministic finite automaton (NFA, for short). We prove a representability theorem: for each NFA <em>N</em>, there exists a process algebraic term <em>p</em> such that its semantics is an NFA isomorphic to <em>N</em>. Moreover, we provide a concise axiomatization of language equivalence: two NFAs <span><math><msub><mrow><mi>N</mi></mrow><mrow><mn>1</mn></mrow></msub></math></span> and <span><math><msub><mrow><mi>N</mi></mrow><mrow><mn>2</mn></mrow></msub></math></span> recognize the same language if and only if the associated terms <span><math><msub><mrow><mi>p</mi></mrow><mrow><mn>1</mn></mrow></msub></math></span> and <span><math><msub><mrow><mi>p</mi></mrow><mrow><mn>2</mn></mrow></msub></math></span>, respectively, can be equated by means of a set of axioms, comprising 7 axioms plus 3 conditional axioms, only.</div></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"145 ","pages":"Article 101055"},"PeriodicalIF":0.7,"publicationDate":"2025-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143479174","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}
Laura Panizo, María-del-Mar Gallardo, Francisco Luque-Schempp, Pedro Merino
{"title":"Runtime monitoring of 5G network slicing using STAn","authors":"Laura Panizo, María-del-Mar Gallardo, Francisco Luque-Schempp, Pedro Merino","doi":"10.1016/j.jlamp.2025.101059","DOIUrl":"10.1016/j.jlamp.2025.101059","url":null,"abstract":"<div><div>The most recent technology in the evolution of mobile networks is 5G, which is aimed at offering differentiated quality of service (QoS) to specific groups of users or devices. Such groups could include public safety agencies, connected vehicles, citizens streaming video content, fixed Internet of Things devices, etc. Insofar as each group has different requirements in terms of bandwidth, latency, error rate, coverage or other relevant quality indicators, the network can be divided into multiple <em>slices</em>, with each slice supporting a group's requirements. Such <em>network slicing</em> is becoming a key feature for telecom operators, who need to face the challenge of validating its correct behavior.</div><div>In this paper, we propose a monitoring system to check that a 5G network is offering slicing in the proper way. To this end, we use the tool <span>STAn</span>, a general purpose runtime verification tool where the requirements to be monitored are expressed using temporal formulae. The paper identifies first a list of requirements that define the expected behavior of network slicing.</div><div>Then, we describe how the initial logic <span>eLTL</span> supported by <span>STAn</span> is extended to the so-called eXtended Event-driven Temporal Logic (<span>xeLTL</span>) in order to represent the slicing requirements. Finally, we validate that the new version of <span>STAn</span> and the catalogue of <span>xeLTL</span> formulae are suitable to monitor and check if real 5G networks properly support slicing. This way, we provide a complete new system for runtime monitoring of 5G network slicing.</div></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"145 ","pages":"Article 101059"},"PeriodicalIF":0.7,"publicationDate":"2025-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143620544","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":"Transforming imperative programs into bisimilar logically constrained term rewrite systems via injective functions from configurations to terms","authors":"Naoki Nishida, Misaki Kojima , Takumi Kato","doi":"10.1016/j.jlamp.2025.101056","DOIUrl":"10.1016/j.jlamp.2025.101056","url":null,"abstract":"<div><div>To transform an imperative program into a logically constrained term rewrite system (LCTRS, for short), previous work transforms a list of statements into rewrite rules in a stepwise manner, and proves the correctness along the transformation and the big-step semantics of the program. On the other hand, the small-step semantics of a programming language consists of inference rules that define single transitions of configurations. Partial instances of such inference rules are almost the same as rewrite rules in the transformed LCTRS. In this paper, we aim at establishing a framework for simpler definitions and correctness proofs of transformations from programs into LCTRSs. To this end, for the transformation in previous work as an example, we show the existence of an injective function from configurations of a given program to terms, and reformulate the transformation by means of the injective function. The injective function enables us to make a one-to-one correspondence between single small-step transitions and reduction steps, and provides bisimilarity between the program and transformed LCTRS, resulting in a simpler correctness proof.</div></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"145 ","pages":"Article 101056"},"PeriodicalIF":0.7,"publicationDate":"2025-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143509467","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}
Francisco Durán , Carlos Ramírez , Camilo Rocha , Nicolás Pozas
{"title":"A rewriting logic semantics for the analysis of P programs","authors":"Francisco Durán , Carlos Ramírez , Camilo Rocha , Nicolás Pozas","doi":"10.1016/j.jlamp.2025.101048","DOIUrl":"10.1016/j.jlamp.2025.101048","url":null,"abstract":"<div><div><span><math><mtext>P</mtext></math></span> is a domain-specific language designed for specifying asynchronous, event-driven systems. Its computational model is based on actors, i.e., on communicating state machines. This paper presents a formal semantics of <span><math><mtext>P</mtext></math></span> using rewriting logic, extending the language's verification capabilities. Implemented in Maude, a rewriting logic language, this semantics enables automated analysis of <span><math><mtext>P</mtext></math></span> programs, including reachability analysis, LTL model checking, and statistical model checking. Through illustrative examples, this paper demonstrates how this formalization significantly enhances <span><math><mtext>P</mtext></math></span>'s verification capacities in practical scenarios.</div></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"144 ","pages":"Article 101048"},"PeriodicalIF":0.7,"publicationDate":"2025-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143438019","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}
Sarah Chlyah, Nils Gesbert, Pierre Genevès, Nabil Layaïda
{"title":"Efficient iterative programs with distributed data collections","authors":"Sarah Chlyah, Nils Gesbert, Pierre Genevès, Nabil Layaïda","doi":"10.1016/j.jlamp.2025.101047","DOIUrl":"10.1016/j.jlamp.2025.101047","url":null,"abstract":"<div><div>Big data programming frameworks have become increasingly important for the development of applications for which performance and scalability are critical. In those complex frameworks, optimizing code by hand is hard and time-consuming, making automated optimization particularly necessary. In order to automate optimization, a prerequisite is to find suitable abstractions to represent programs; for instance, algebras based on monads or monoids to represent distributed data collections. Currently, however, such algebras do not represent recursive programs in a way which allows for analyzing or rewriting them. In this paper, we extend a monoid algebra with a fixpoint operator for representing recursion as a first class citizen and show how it enables new optimizations. Experiments with the Spark platform illustrate performance gains brought by these systematic optimizations.</div></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"144 ","pages":"Article 101047"},"PeriodicalIF":0.7,"publicationDate":"2025-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143445375","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":"Open compliance in multiparty sessions with partial typing","authors":"Franco Barbanera , Viviana Bono , Mariangiola Dezani-Ciancaglini","doi":"10.1016/j.jlamp.2025.101046","DOIUrl":"10.1016/j.jlamp.2025.101046","url":null,"abstract":"<div><div>Multiparty sessions are a foundational model for distributed entities interacting through message passing. Communication is disciplined by global types: well-typed sessions are lock-free and their participants do follow the described protocols. A key issue is the composition of well-typed sessions, that we face via the <em>participants-as-interfaces</em> approach. We study session composition when a client session is connected to compliant server sessions, where compliance is naturally biased towards the client. We prove that a unique session can be constructed by transforming the interface participants of the client and the servers into gateways (that is, forwarders), if the sessions are well-typed and the compliance relation can be proved. The obtained session has a global type that can be derived from the global types of the composing sessions and the proof of compliance among the client and the servers. A novelty of our approach is that in the composition we only ensure Lock-freedom for the client session, disregarding this property for the server sessions, via a partial typing system. This choice strongly simplifies the construction of the gateways. We consider the present study as a further step toward a theory of <em>Open</em> MultiParty Session Types.</div></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"144 ","pages":"Article 101046"},"PeriodicalIF":0.7,"publicationDate":"2025-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143092824","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}