首页 > 最新文献

Software: Practice and Experience最新文献

英文 中文
Algorithms for generating small random samples 生成小随机样本的算法
Pub Date : 2024-09-18 DOI: 10.1002/spe.3379
Vincent A. Cicirello
We present algorithms for generating small random samples without replacement. We consider two cases. We present an algorithm for sampling a pair of distinct integers, and an algorithm for sampling a triple of distinct integers. The worst‐case runtime of both algorithms is constant, while the worst‐case runtimes of common algorithms for the general case of sampling elements from a set of increase with . Java implementations of both algorithms are included in the open source library .
我们提出了无需替换生成小随机样本的算法。我们考虑了两种情况。我们介绍了一对不同整数的采样算法,以及三对不同整数的采样算法。这两种算法的最坏运行时间都是恒定的,而在从一组增加的元素中抽样的一般情况下,普通算法的最坏运行时间都是恒定的。这两种算法的 Java 实现都包含在开源库 .NET 中。
{"title":"Algorithms for generating small random samples","authors":"Vincent A. Cicirello","doi":"10.1002/spe.3379","DOIUrl":"https://doi.org/10.1002/spe.3379","url":null,"abstract":"We present algorithms for generating small random samples without replacement. We consider two cases. We present an algorithm for sampling a pair of distinct integers, and an algorithm for sampling a triple of distinct integers. The worst‐case runtime of both algorithms is constant, while the worst‐case runtimes of common algorithms for the general case of sampling elements from a set of increase with . Java implementations of both algorithms are included in the open source library .","PeriodicalId":21899,"journal":{"name":"Software: Practice and Experience","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2024-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142265077","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
A comprehensive survey of UPPAAL‐assisted formal modeling and verification 关于 UPPAAL 辅助形式建模与验证的全面调查
Pub Date : 2024-09-17 DOI: 10.1002/spe.3372
Wenbo Zhou, Yujiao Zhao, Ye Zhang, Yiyuan Wang, Minghao Yin
UPPAAL is a formal modeling and verification tool based on timed automata, capable of effectively analyzing real‐time software and hardware systems. In this article, we investigate research on UPPAAL‐assisted formal modeling and verification. First, we propose four research questions considering tool characteristics, modeling methods, verification means and application domains. Then, the state‐of‐the‐art methods for model specification and verification in UPPAAL are discussed, involving model transformation, model repair, property specification, as well as verification and testing methods. Next, typical application cases of formal modeling and verification assisted by UPPAAL are analyzed, spanning across domains such as network protocol, multi‐agent system, cyber‐physical system, rail traffic and aerospace systems, cloud and edge computing systems, as well as biological and medical systems. Finally, we address the four proposed questions based on our survey and outline future research directions. By responding to these questions, we aim to provide summaries and insights into potential avenues for further exploration in this field.
UPPAAL 是一种基于定时自动机的形式建模和验证工具,能够有效地分析实时软件和硬件系统。本文将对 UPPAAL 辅助形式建模与验证的研究进行探讨。首先,我们从工具特性、建模方法、验证手段和应用领域等方面提出了四个研究问题。然后,讨论了 UPPAAL 中最先进的模型规范和验证方法,包括模型转换、模型修复、属性规范以及验证和测试方法。接着,分析了 UPPAAL 辅助形式化建模与验证的典型应用案例,涉及网络协议、多代理系统、网络物理系统、轨道交通与航空航天系统、云计算与边缘计算系统以及生物与医疗系统等多个领域。最后,我们在调查的基础上提出了四个问题,并概述了未来的研究方向。通过回答这些问题,我们旨在为该领域进一步探索的潜在途径提供总结和见解。
{"title":"A comprehensive survey of UPPAAL‐assisted formal modeling and verification","authors":"Wenbo Zhou, Yujiao Zhao, Ye Zhang, Yiyuan Wang, Minghao Yin","doi":"10.1002/spe.3372","DOIUrl":"https://doi.org/10.1002/spe.3372","url":null,"abstract":"UPPAAL is a formal modeling and verification tool based on timed automata, capable of effectively analyzing real‐time software and hardware systems. In this article, we investigate research on UPPAAL‐assisted formal modeling and verification. First, we propose four research questions considering tool characteristics, modeling methods, verification means and application domains. Then, the state‐of‐the‐art methods for model specification and verification in UPPAAL are discussed, involving model transformation, model repair, property specification, as well as verification and testing methods. Next, typical application cases of formal modeling and verification assisted by UPPAAL are analyzed, spanning across domains such as network protocol, multi‐agent system, cyber‐physical system, rail traffic and aerospace systems, cloud and edge computing systems, as well as biological and medical systems. Finally, we address the four proposed questions based on our survey and outline future research directions. By responding to these questions, we aim to provide summaries and insights into potential avenues for further exploration in this field.","PeriodicalId":21899,"journal":{"name":"Software: Practice and Experience","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2024-09-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142265078","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Empowering software startups with agile methods and practices: A design science research 用敏捷方法和实践增强软件初创企业的能力:设计科学研究
Pub Date : 2024-09-11 DOI: 10.1002/spe.3371
Taghi Javdani Gandomani, Hazura Zulzalil, Rami Bahsoon
The growing number of software startups has witnessed an open debate on the suitability and appropriateness of commonly used software development methodologies, including agile software development methodologies and practices. Startups, for example, tend to focus on producing minimum viable product, which challenge the use of these methods and calls for bespoke adaptation of these practices to suit startups. Agile adoption is not easy for software startup teams due to unreadiness, inadequate preparation and weak structure of these teams, focusing only on small part of agile practices, and high uncertainty in essential requirements and proper technology. A review of the state‐of‐the‐art reports on limited number of studies that have investigated the adoption of agile methods and practices to best suit the requirements software startups. This study uses design science research methodology to address this gap and develop a guideline for agile adaptation specifically for software startups. The developed guideline was validated and improved with the participation of 23 experts from 7 software startup teams through survey questionnaires and open discussion. This guideline includes 13 recommendations, categorized into three sections: selection of agile methods and practices, preparation for adaptation, and the adaptation of agile methods and practices. Evaluation of the results shows the simplicity of understanding the guideline, its usefulness, and its support for the expected agility of the software development process.
随着软件初创企业数量的不断增加,人们开始就常用软件开发方法(包括敏捷软件开发方法和实践)的适用性和适当性展开公开辩论。例如,初创企业往往专注于生产最小可行产品,这就对这些方法的使用提出了挑战,并要求对这些实践进行定制调整,以适应初创企业的需要。对于软件初创团队来说,采用敏捷方法并不容易,因为这些团队还没有做好准备,准备不足,结构薄弱,只关注敏捷实践的一小部分,以及基本要求和适当技术的高度不确定性。通过对最新研究成果的回顾,我们发现对采用最适合软件初创企业需求的敏捷方法和实践进行调查的研究数量有限。本研究采用设计科学研究方法来弥补这一不足,并专门为软件初创企业制定了敏捷适应指南。来自 7 个软件初创公司团队的 23 位专家通过调查问卷和公开讨论参与了该指南的验证和改进。该指南包括 13 项建议,分为三个部分:选择敏捷方法和实践、适应准备以及敏捷方法和实践的适应。评估结果表明,该指南简单易懂、实用性强,并支持软件开发过程的预期敏捷性。
{"title":"Empowering software startups with agile methods and practices: A design science research","authors":"Taghi Javdani Gandomani, Hazura Zulzalil, Rami Bahsoon","doi":"10.1002/spe.3371","DOIUrl":"https://doi.org/10.1002/spe.3371","url":null,"abstract":"The growing number of software startups has witnessed an open debate on the suitability and appropriateness of commonly used software development methodologies, including agile software development methodologies and practices. Startups, for example, tend to focus on producing minimum viable product, which challenge the use of these methods and calls for bespoke adaptation of these practices to suit startups. Agile adoption is not easy for software startup teams due to unreadiness, inadequate preparation and weak structure of these teams, focusing only on small part of agile practices, and high uncertainty in essential requirements and proper technology. A review of the state‐of‐the‐art reports on limited number of studies that have investigated the adoption of agile methods and practices to best suit the requirements software startups. This study uses design science research methodology to address this gap and develop a guideline for agile adaptation specifically for software startups. The developed guideline was validated and improved with the participation of 23 experts from 7 software startup teams through survey questionnaires and open discussion. This guideline includes 13 recommendations, categorized into three sections: selection of agile methods and practices, preparation for adaptation, and the adaptation of agile methods and practices. Evaluation of the results shows the simplicity of understanding the guideline, its usefulness, and its support for the expected agility of the software development process.","PeriodicalId":21899,"journal":{"name":"Software: Practice and Experience","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2024-09-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142182200","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Large scale system design aided by modelling and DES simulation: A Petri net approach 通过建模和 DES 仿真辅助大规模系统设计:Petri 网方法
Pub Date : 2024-09-11 DOI: 10.1002/spe.3374
Unai Arronategui, José Ángel Bañares, José Manuel Colom
The study of real discrete event systems requires the use of models to cope with complexity and large scale. The only way to understand and analyse their behaviour prior to implementation is, in practice, through distributed simulation. Although it is a widely studied discipline, the difficulty of developing efficient distributed simulation code remains a challenge. The use of model driven engineering approaches allows a smooth way from informal specifications to executable code showing traces of the system behaviour. Formal models allow to conduct the phases of this engineering process, and in this work, the formalism is Petri nets. In the simulation literature, Petri nets have been shown to be particularly suitable for modelling and simulation of discrete event systems. This article reviews the role of Petri nets as the core formalism to support a model‐driven engineering approach for the execution of large scale models using distributed simulation. It deals with different aspects related to the Petri net‐based languages used at different stages of the modelling and simulation process, from conceptual modelling of complex systems to the generation of code for executing simulations of Petri net‐based models. After the review, the article proposes an efficient representation of Petri net‐based models. It is analysed from the perspective of the essential properties required for distributed simulation, and was found to provide efficient execution, scalability and dynamic configuration. The article highlights the importance of considering modelling constraints in order to guarantee good properties such as liveness and structural boundedness of Petri net components for the execution of large‐scale Petri net models. The Petri net‐based methodology is illustrated from the perspective of the impact of the formalism to help developing well‐formed models and efficient code for distributed simulation.
研究真实的离散事件系统需要使用模型来应对复杂性和大规模问题。在实践中,了解和分析其实施前的行为的唯一方法就是分布式仿真。尽管分布式仿真是一门被广泛研究的学科,但开发高效的分布式仿真代码仍然是一项挑战。使用模型驱动工程方法,可以顺利地从非正式规格到显示系统行为轨迹的可执行代码。形式化模型允许进行这一工程过程的各个阶段,在这项工作中,形式化就是 Petri 网。在仿真文献中,Petri 网被证明特别适用于离散事件系统的建模和仿真。本文回顾了 Petri 网作为支持模型驱动工程方法的核心形式主义在使用分布式仿真执行大型模型方面的作用。文章涉及建模和仿真过程不同阶段使用的基于 Petri 网的语言的不同方面,从复杂系统的概念建模到生成代码以执行基于 Petri 网的模型的仿真。在回顾之后,文章提出了基于 Petri 网模型的高效表示方法。文章从分布式仿真所需的基本特性角度对其进行了分析,发现它能提供高效执行、可扩展性和动态配置。文章强调了考虑建模约束的重要性,以保证在执行大规模 Petri 网模型时 Petri 网组件的有效性和结构约束性等良好特性。文章从形式主义的影响角度阐述了基于 Petri 网的方法,以帮助为分布式仿真开发格式良好的模型和高效的代码。
{"title":"Large scale system design aided by modelling and DES simulation: A Petri net approach","authors":"Unai Arronategui, José Ángel Bañares, José Manuel Colom","doi":"10.1002/spe.3374","DOIUrl":"https://doi.org/10.1002/spe.3374","url":null,"abstract":"The study of real discrete event systems requires the use of models to cope with complexity and large scale. The only way to understand and analyse their behaviour prior to implementation is, in practice, through distributed simulation. Although it is a widely studied discipline, the difficulty of developing efficient distributed simulation code remains a challenge. The use of model driven engineering approaches allows a smooth way from informal specifications to executable code showing traces of the system behaviour. Formal models allow to conduct the phases of this engineering process, and in this work, the formalism is Petri nets. In the simulation literature, Petri nets have been shown to be particularly suitable for modelling and simulation of discrete event systems. This article reviews the role of Petri nets as the core formalism to support a model‐driven engineering approach for the execution of large scale models using distributed simulation. It deals with different aspects related to the Petri net‐based languages used at different stages of the modelling and simulation process, from conceptual modelling of complex systems to the generation of code for executing simulations of Petri net‐based models. After the review, the article proposes an efficient representation of Petri net‐based models. It is analysed from the perspective of the essential properties required for distributed simulation, and was found to provide efficient execution, scalability and dynamic configuration. The article highlights the importance of considering modelling constraints in order to guarantee good properties such as liveness and structural boundedness of Petri net components for the execution of large‐scale Petri net models. The Petri net‐based methodology is illustrated from the perspective of the impact of the formalism to help developing well‐formed models and efficient code for distributed simulation.","PeriodicalId":21899,"journal":{"name":"Software: Practice and Experience","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2024-09-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142182198","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Space‐efficient data structures for the inference of subsumption and disjointness relations 用于推断归并和不相接关系的空间效率数据结构
Pub Date : 2024-09-03 DOI: 10.1002/spe.3367
José Fuentes‐Sepúlveda, Diego Gatica, Gonzalo Navarro, M. Andrea Rodríguez, Diego Seco
Conventional database systems function as static data repositories, storing vast amounts of facts and offering efficient query processing capabilities. The sheer volume of data these systems store has a direct impact on their scalability, both in terms of storage space and query processing time. Deductive database systems, on the other hand, require far less storage space since they derive new knowledge by applying inference rules. The challenge is how to efficiently obtain the required derivations, compared to having them in explicit form. In this study, we concentrate on a set of predefined inference rules for subsumption and disjointness relations, including their negations. We use compact data structures to store the facts and provide algorithms to support each type of relation, minimizing even further the storage space requirements. Our experimental findings demonstrate the feasibility of this approach, which not only saves space but is often faster than a baseline that uses well‐known graph traversal algorithms implemented on top of a traditional adjacency list representation to derive the relations.
传统数据库系统作为静态数据存储库,可存储大量事实并提供高效的查询处理功能。这些系统存储的数据量之大,直接影响了其可扩展性,包括存储空间和查询处理时间。另一方面,演绎法数据库系统所需的存储空间要小得多,因为它们通过应用推理规则获得新知识。与显式推导相比,如何高效地获得所需的推导是一项挑战。在本研究中,我们将重点放在一组预定义的推理规则上,这些规则适用于归并关系和析取关系,包括它们的否定关系。我们使用紧凑的数据结构来存储事实,并提供支持每种关系的算法,从而进一步减少对存储空间的需求。我们的实验结果证明了这种方法的可行性,它不仅节省了空间,而且通常比在传统邻接表之上使用众所周知的图遍历算法来推导关系的基线方法更快。
{"title":"Space‐efficient data structures for the inference of subsumption and disjointness relations","authors":"José Fuentes‐Sepúlveda, Diego Gatica, Gonzalo Navarro, M. Andrea Rodríguez, Diego Seco","doi":"10.1002/spe.3367","DOIUrl":"https://doi.org/10.1002/spe.3367","url":null,"abstract":"Conventional database systems function as static data repositories, storing vast amounts of facts and offering efficient query processing capabilities. The sheer volume of data these systems store has a direct impact on their scalability, both in terms of storage space and query processing time. Deductive database systems, on the other hand, require far less storage space since they derive new knowledge by applying inference rules. The challenge is how to efficiently obtain the required derivations, compared to having them in explicit form. In this study, we concentrate on a set of predefined inference rules for subsumption and disjointness relations, including their negations. We use compact data structures to store the facts and provide algorithms to support each type of relation, minimizing even further the storage space requirements. Our experimental findings demonstrate the feasibility of this approach, which not only saves space but is often faster than a baseline that uses well‐known graph traversal algorithms implemented on top of a traditional adjacency list representation to derive the relations.","PeriodicalId":21899,"journal":{"name":"Software: Practice and Experience","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2024-09-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142182201","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
A declarative approach and benchmark tool for controlled evaluation of microservice resiliency patterns 用于控制评估微服务弹性模式的声明式方法和基准工具
Pub Date : 2024-08-29 DOI: 10.1002/spe.3368
Carlos M. Aderaldo, Thiago M. Costa, Davi M. Vasconcelos, Nabor C. Mendonça, Javier Cámara, David Garlan
Microservice developers increasingly use resiliency patterns such as Retry and Circuit Breaker to cope with remote services that are likely to fail. However, there is still little research on how the invocation delays typically introduced by those resiliency patterns may impact application performance under varying workloads and failure scenarios. This article presents a novel approach and benchmark tool for experimentally evaluating the performance impact of existing resiliency patterns in a controlled setting. The main novelty of this approach resides in the ability to declaratively specify and automatically generate multiple testing scenarios involving different resiliency patterns, which one can implement using any programming language and resilience library. The article illustrates the benefits of the proposed approach and tool by reporting on an experimental study of the performance impact of the Retry and Circuit Breaker resiliency patterns in two mainstream programming languages (C# and Java) using two popular resilience libraries (Polly and Resilience4j), under multiple service workloads and failure rates. Our results show that, under low to moderate failure rates, both resiliency patterns effectively reduce the load over the application's target service with barely any impact on the application's performance. However, as the failure rate increases, both patterns significantly degrade the application's performance, with their effect varying depending on the service's workload and the patterns' programming language and resilience library.
微服务开发人员越来越多地使用重试(Retry)和断路器(Circuit Breaker)等弹性模式来应对可能出现故障的远程服务。然而,对于这些弹性模式通常会带来的调用延迟在不同工作负载和故障场景下会如何影响应用程序性能,目前还鲜有研究。本文介绍了一种新方法和基准工具,用于在受控环境中实验性地评估现有弹性模式对性能的影响。这种方法的主要新颖之处在于能够声明式地指定并自动生成涉及不同弹性模式的多个测试场景,人们可以使用任何编程语言和弹性库来实现这些测试场景。文章通过报告在两种主流编程语言(C# 和 Java)中使用两种流行的弹性库(Polly 和 Resilience4j)对重试和断路器弹性模式在多种服务工作负载和故障率下的性能影响进行的实验研究,说明了所提出的方法和工具的优势。我们的研究结果表明,在中低故障率下,两种弹性模式都能有效降低应用程序目标服务的负载,对应用程序的性能几乎没有影响。然而,随着故障率的增加,这两种模式都会明显降低应用程序的性能,其影响因服务的工作量、模式的编程语言和弹性库而异。
{"title":"A declarative approach and benchmark tool for controlled evaluation of microservice resiliency patterns","authors":"Carlos M. Aderaldo, Thiago M. Costa, Davi M. Vasconcelos, Nabor C. Mendonça, Javier Cámara, David Garlan","doi":"10.1002/spe.3368","DOIUrl":"https://doi.org/10.1002/spe.3368","url":null,"abstract":"Microservice developers increasingly use resiliency patterns such as Retry and Circuit Breaker to cope with remote services that are likely to fail. However, there is still little research on how the invocation delays typically introduced by those resiliency patterns may impact application performance under varying workloads and failure scenarios. This article presents a novel approach and benchmark tool for experimentally evaluating the performance impact of existing resiliency patterns in a controlled setting. The main novelty of this approach resides in the ability to declaratively specify and automatically generate multiple testing scenarios involving different resiliency patterns, which one can implement using any programming language and resilience library. The article illustrates the benefits of the proposed approach and tool by reporting on an experimental study of the performance impact of the Retry and Circuit Breaker resiliency patterns in two mainstream programming languages (C# and Java) using two popular resilience libraries (Polly and Resilience4j), under multiple service workloads and failure rates. Our results show that, under low to moderate failure rates, both resiliency patterns effectively reduce the load over the application's target service with barely any impact on the application's performance. However, as the failure rate increases, both patterns significantly degrade the application's performance, with their effect varying depending on the service's workload and the patterns' programming language and resilience library.","PeriodicalId":21899,"journal":{"name":"Software: Practice and Experience","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2024-08-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142182202","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Batched ranged random integer generation 分批随机整数生成
Pub Date : 2024-08-26 DOI: 10.1002/spe.3369
Nevin Brackett‐Rozinsky, Daniel Lemire
SummaryPseudorandom values are often generated as 64‐bit binary words. These random words need to be converted into ranged values without statistical bias. We present an efficient algorithm to generate multiple independent uniformly‐random bounded integers from a single uniformly‐random binary word, without any bias. In the common case, our method uses one multiplication and no division operations per value produced. In practice, our algorithm can more than double the speed of unbiased random shuffling for small to moderately large arrays.
摘要伪随机值通常以 64 位二进制字的形式生成。需要将这些随机字转换为无统计偏差的有界值。我们提出了一种高效算法,可从单个均匀随机二进制字生成多个独立的均匀随机有界整数,且不会产生任何偏差。在普通情况下,我们的方法产生的每个值只需进行一次乘法运算,无需进行除法运算。在实践中,对于小到中等规模的数组,我们的算法比无偏随机洗牌的速度快一倍以上。
{"title":"Batched ranged random integer generation","authors":"Nevin Brackett‐Rozinsky, Daniel Lemire","doi":"10.1002/spe.3369","DOIUrl":"https://doi.org/10.1002/spe.3369","url":null,"abstract":"SummaryPseudorandom values are often generated as 64‐bit binary words. These random words need to be converted into ranged values without statistical bias. We present an efficient algorithm to generate multiple independent uniformly‐random bounded integers from a single uniformly‐random binary word, without any bias. In the common case, our method uses one multiplication and no division operations per value produced. In practice, our algorithm can more than double the speed of unbiased random shuffling for small to moderately large arrays.","PeriodicalId":21899,"journal":{"name":"Software: Practice and Experience","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2024-08-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142182204","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
An AIoT‐driven smart healthcare framework for zoonoses detection in integrated fog‐cloud computing environments 人工智能物联网驱动的智能医疗框架,用于在集成雾-云计算环境中检测人畜共患病
Pub Date : 2024-07-27 DOI: 10.1002/spe.3366
Prabal Verma, Aditya Gupta, Vibha Jain, Kumar Shashvat, Mohit Kumar, Sukhpal Singh Gill
The escalating threat of easily transmitted diseases poses a huge challenge to government institutions and health systems worldwide. Advancements in information and communication technology offer a promising approach to effectively controlling infectious diseases. This article introduces a comprehensive framework for predicting and preventing zoonotic virus infections by leveraging the capabilities of artificial intelligence and the Internet of Things. The proposed framework employs IoT‐enabled smart devices for data acquisition and applies a fog‐enabled model for user authentication at the fog layer. Further, the user classification is performed using the proposed ensemble model, with cloud computing enabling efficient information analysis and sharing. The novel aspect of the proposed system involves utilizing the temporal graph matrix method to illustrate dependencies among users infected with the zoonotic flu and provide a nuanced understanding of user interactions. The implemented system demonstrates a classification accuracy of around 91% for around 5000 instances and reliability of around 93%. The presented framework not only aids uninfected citizens in avoiding regional exposure but also empowers government agencies to address the problem more effectively. Moreover, temporal mining results also reveal the efficacy of the proposed system in dealing with zoonotic cases.
易传播疾病的威胁不断升级,给全球的政府机构和卫生系统带来了巨大挑战。信息和通信技术的进步为有效控制传染病提供了一种前景广阔的方法。本文介绍了一个利用人工智能和物联网功能预测和预防人畜共患病病毒感染的综合框架。该框架利用物联网智能设备获取数据,并在雾层应用雾化模型进行用户身份验证。此外,用户分类是利用提出的集合模型进行的,云计算实现了高效的信息分析和共享。拟议系统的新颖之处在于利用时序图矩阵方法来说明感染人畜共患病流感的用户之间的依赖关系,并提供对用户互动的细致理解。实施的系统在约 5000 个实例中显示出约 91% 的分类准确率和约 93% 的可靠性。所提出的框架不仅能帮助未受感染的公民避免区域性接触,还能帮助政府机构更有效地解决这一问题。此外,时空挖掘结果也揭示了所提出的系统在处理人畜共患病方面的功效。
{"title":"An AIoT‐driven smart healthcare framework for zoonoses detection in integrated fog‐cloud computing environments","authors":"Prabal Verma, Aditya Gupta, Vibha Jain, Kumar Shashvat, Mohit Kumar, Sukhpal Singh Gill","doi":"10.1002/spe.3366","DOIUrl":"https://doi.org/10.1002/spe.3366","url":null,"abstract":"The escalating threat of easily transmitted diseases poses a huge challenge to government institutions and health systems worldwide. Advancements in information and communication technology offer a promising approach to effectively controlling infectious diseases. This article introduces a comprehensive framework for predicting and preventing zoonotic virus infections by leveraging the capabilities of artificial intelligence and the Internet of Things. The proposed framework employs IoT‐enabled smart devices for data acquisition and applies a fog‐enabled model for user authentication at the fog layer. Further, the user classification is performed using the proposed ensemble model, with cloud computing enabling efficient information analysis and sharing. The novel aspect of the proposed system involves utilizing the temporal graph matrix method to illustrate dependencies among users infected with the zoonotic flu and provide a nuanced understanding of user interactions. The implemented system demonstrates a classification accuracy of around 91% for around 5000 instances and reliability of around 93%. The presented framework not only aids uninfected citizens in avoiding regional exposure but also empowers government agencies to address the problem more effectively. Moreover, temporal mining results also reveal the efficacy of the proposed system in dealing with zoonotic cases.","PeriodicalId":21899,"journal":{"name":"Software: Practice and Experience","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2024-07-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141770788","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
A Framework and Taxonomy for Characterizing the Applicability of Software Architecture Recovery Approaches: A Tertiary‐Mapping Study 表征软件架构恢复方法适用性的框架和分类标准:三级映射研究
Pub Date : 2024-07-17 DOI: 10.1002/spe.3364
Abdul Qayum, Mengqi Zhang, Simon Colreavy, Muslim Chochlov, Jim Buckley, Dayi Lin, Ashish Rajendra Sai
SummarySoftware architecture assists developers in addressing non‐functional requirements and in maintaining, debugging, and upgrading their software systems. Consequently, consistency between the designed architecture and the implemented software system itself is important; without this consistency the non‐functional requirements targeted may not be addressed and architectural documentation may mis‐direct maintenance efforts that target the associated code‐base. But often, when software is initially implemented or subsequently evolved, the designed architecture and software architecture become inconsistent, with the implemented structure degraded due to issues like developer time‐pressures, or ambiguous communication of the designed architecture. In such cases, Software Architecture Recovery (SAR) or consistency approaches can be applied to reconstruct the architecture of the software system and possibly to compare it to/re‐align it with the designed architecture. Many SAR approaches have been proposed in the research. However, choosing an appropriate architecture recovery approach for software systems is still an open issue. Consequently, this research aims to conduct a tertiary‐mapping study based on available secondary studies of architecture recovery approaches, to uncover important characteristics, towards the selection of appropriate SAR approaches. This research has aggregated 13 secondary studies and 10 primary studies beyond 2020 from 5 databases and, in doing so, identified 111 architecture recovery approaches. Based on these approaches, a taxonomy, containing nine main SAR‐selection categories is proposed and a framework (in the form of a supporting tool to help developers select an appropriate SAR approach) has been developed. Finally, this research identifies six potential open research gaps related to the underlying research that could be helpful for guiding research in the future.
摘要 软件架构可帮助开发人员解决非功能性需求,并对软件系统进行维护、调试和升级。因此,设计的体系结构与实施的软件系统本身之间的一致性非常重要;没有这种一致性,所针对的非功能性需求可能无法得到满足,体系结构文档可能会错误地引导针对相关代码库的维护工作。但是,在软件的初始实施或后续演进过程中,设计架构和软件架构往往会出现不一致,由于开发人员的时间压力或设计架构的沟通不明确等问题,导致实施结构退化。在这种情况下,可以采用软件架构恢复(SAR)或一致性方法来重建软件系统的架构,并将其与设计架构进行比较/重新对齐。研究中提出了许多 SAR 方法。然而,为软件系统选择合适的架构恢复方法仍是一个未决问题。因此,本研究旨在基于现有的架构恢复方法二次研究,进行一次三级映射研究,以发现重要特征,从而选择合适的 SAR 方法。本研究从 5 个数据库中汇总了 13 项二次研究和 10 项 2020 年以后的主要研究,并在此过程中确定了 111 种架构恢复方法。在这些方法的基础上,提出了包含九个主要 SAR 选择类别的分类法,并开发了一个框架(以辅助工具的形式,帮助开发人员选择合适的 SAR 方法)。最后,本研究确定了与基础研究相关的六个潜在的开放式研究缺口,这将有助于指导未来的研究工作。
{"title":"A Framework and Taxonomy for Characterizing the Applicability of Software Architecture Recovery Approaches: A Tertiary‐Mapping Study","authors":"Abdul Qayum, Mengqi Zhang, Simon Colreavy, Muslim Chochlov, Jim Buckley, Dayi Lin, Ashish Rajendra Sai","doi":"10.1002/spe.3364","DOIUrl":"https://doi.org/10.1002/spe.3364","url":null,"abstract":"SummarySoftware architecture assists developers in addressing non‐functional requirements and in maintaining, debugging, and upgrading their software systems. Consequently, consistency between the designed architecture and the implemented software system itself is important; without this consistency the non‐functional requirements targeted may not be addressed and architectural documentation may mis‐direct maintenance efforts that target the associated code‐base. But often, when software is initially implemented or subsequently evolved, the designed architecture and software architecture become inconsistent, with the implemented structure degraded due to issues like developer time‐pressures, or ambiguous communication of the designed architecture. In such cases, Software Architecture Recovery (SAR) or consistency approaches can be applied to reconstruct the architecture of the software system and possibly to compare it to/re‐align it with the designed architecture. Many SAR approaches have been proposed in the research. However, choosing an appropriate architecture recovery approach for software systems is still an open issue. Consequently, this research aims to conduct a tertiary‐mapping study based on available secondary studies of architecture recovery approaches, to uncover important characteristics, towards the selection of appropriate SAR approaches. This research has aggregated 13 secondary studies and 10 primary studies beyond 2020 from 5 databases and, in doing so, identified 111 architecture recovery approaches. Based on these approaches, a taxonomy, containing nine main SAR‐selection categories is proposed and a framework (in the form of a supporting tool to help developers select an appropriate SAR approach) has been developed. Finally, this research identifies six potential open research gaps related to the underlying research that could be helpful for guiding research in the future.","PeriodicalId":21899,"journal":{"name":"Software: Practice and Experience","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2024-07-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141741110","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Fine‐grained forest net primary productivity monitoring: Software system integrating multisource data and smart optimization 精细的森林净初级生产力监测:集成多源数据和智能优化的软件系统
Pub Date : 2024-07-13 DOI: 10.1002/spe.3365
Weitao Zou, Long Luo, Fangyu Sun, Chao Li, Guangsheng Chen, Weipeng Jing
Net primary productivity (NPP) is essential for sustainable resource management and conservation, and it serves as a primary monitoring target in smart forestry systems. The predominant method for NPP inversion involves data collection through terrestrial and satellite sensing systems, followed by parameter estimation using models such as the Carnegie‐Ames‐Stanford Approach (CASA). While this method benefits from low costs and extensive monitoring capabilities, the data derived from multisource sensing systems display varied spatial scale characteristics, and the NPP inversion models cannot detect the impact of data heterogeneity on the outcomes sensitively, reducing the accuracy of fine‐grained NPP inversion. Therefore, this paper proposes a modular system for fine‐grained data processing and NPP inversion. Regarding data processing, a two‐stage spatial‐spectral fusion model based on non‐negative matrix factorization (NMF) is proposed to enhance the spatial resolution of remote sensing data. A spatial interpolation model based on stacking generalization with residual correction is introduced to get raster meteorological data compatible with remote sensing images. Furthermore, we optimize the CASA model with the kernel method to enhance model sensitivity and enrich the spatial details of the inversion results with high resolution. Through validation using real datasets, the proposed fusion and interpolation models have significant advantages over mainstream methods. Furthermore, the correlation coefficient () between the estimated NPP using our improved inversion model and the field‐measured NPP is 0.69, demonstrating the feasibility of this platform in detailed forest NPP monitoring tasks.
净初级生产力(NPP)对可持续资源管理和保护至关重要,也是智能林业系统的主要监测目标。净初级生产力反演的主要方法包括通过陆地和卫星传感系统收集数据,然后使用卡内基-阿姆斯-斯坦福方法(CASA)等模型进行参数估计。虽然这种方法具有成本低、监测能力强等优点,但多源传感系统获取的数据具有不同的空间尺度特征,而 NPP 反演模型无法灵敏地检测数据异质性对结果的影响,从而降低了细粒度 NPP 反演的准确性。因此,本文提出了一种模块化的精细化数据处理和 NPP 反演系统。在数据处理方面,提出了基于非负矩阵因式分解(NMF)的两阶段空间-光谱融合模型,以提高遥感数据的空间分辨率。引入了基于堆叠泛化和残差校正的空间插值模型,以获得与遥感图像兼容的栅格气象数据。此外,我们还利用核方法对 CASA 模型进行了优化,以提高模型灵敏度,丰富高分辨率反演结果的空间细节。通过使用真实数据集进行验证,所提出的融合和插值模型与主流方法相比具有显著优势。此外,利用改进后的反演模型估算的NPP与实地测量的NPP之间的相关系数()为0.69,证明了该平台在详细的森林NPP监测任务中的可行性。
{"title":"Fine‐grained forest net primary productivity monitoring: Software system integrating multisource data and smart optimization","authors":"Weitao Zou, Long Luo, Fangyu Sun, Chao Li, Guangsheng Chen, Weipeng Jing","doi":"10.1002/spe.3365","DOIUrl":"https://doi.org/10.1002/spe.3365","url":null,"abstract":"Net primary productivity (NPP) is essential for sustainable resource management and conservation, and it serves as a primary monitoring target in smart forestry systems. The predominant method for NPP inversion involves data collection through terrestrial and satellite sensing systems, followed by parameter estimation using models such as the Carnegie‐Ames‐Stanford Approach (CASA). While this method benefits from low costs and extensive monitoring capabilities, the data derived from multisource sensing systems display varied spatial scale characteristics, and the NPP inversion models cannot detect the impact of data heterogeneity on the outcomes sensitively, reducing the accuracy of fine‐grained NPP inversion. Therefore, this paper proposes a modular system for fine‐grained data processing and NPP inversion. Regarding data processing, a two‐stage spatial‐spectral fusion model based on non‐negative matrix factorization (NMF) is proposed to enhance the spatial resolution of remote sensing data. A spatial interpolation model based on stacking generalization with residual correction is introduced to get raster meteorological data compatible with remote sensing images. Furthermore, we optimize the CASA model with the kernel method to enhance model sensitivity and enrich the spatial details of the inversion results with high resolution. Through validation using real datasets, the proposed fusion and interpolation models have significant advantages over mainstream methods. Furthermore, the correlation coefficient () between the estimated NPP using our improved inversion model and the field‐measured NPP is 0.69, demonstrating the feasibility of this platform in detailed forest NPP monitoring tasks.","PeriodicalId":21899,"journal":{"name":"Software: Practice and Experience","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2024-07-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141610412","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
期刊
Software: Practice and Experience
全部 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