{"title":"Resources don't grow on trees: A framework for resource-driven adaptation","authors":"Paul A. Akiki , Andrea Zisman , Amel Bennaceur","doi":"10.1016/j.jss.2024.112267","DOIUrl":null,"url":null,"abstract":"<div><div>Software systems execute tasks that depend on different types of resources. However, the variability of resources may interfere with the ability of software systems to execute important tasks. In this paper, we present a proactive and reactive resource-driven adaptation framework that supports different types of resources and is based on the prioritisation of tasks. In our previous work, we defined a task modelling notation called SERIES. This paper builds on that notation and focuses on the adaptation process to improve resource utilisation by substituting tasks with their variants, substituting resources with alternative ones, executing tasks in a different order, or cancelling the execution of low-priority tasks. The framework was evaluated in terms of the percentage of executed critical task requests, average criticality of the executed task requests in comparison to the non-executed ones, overhead, and scalability. The evaluation was executed using two datasets related to a medicine consumption system and a manufacturing system. The evaluation results showed that the proposed framework increased the number of executed critical task requests and the average criticality of the executed task requests under resource variability with marginal overhead.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"220 ","pages":"Article 112267"},"PeriodicalIF":3.7000,"publicationDate":"2024-10-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Systems and Software","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S016412122400311X","RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0
Abstract
Software systems execute tasks that depend on different types of resources. However, the variability of resources may interfere with the ability of software systems to execute important tasks. In this paper, we present a proactive and reactive resource-driven adaptation framework that supports different types of resources and is based on the prioritisation of tasks. In our previous work, we defined a task modelling notation called SERIES. This paper builds on that notation and focuses on the adaptation process to improve resource utilisation by substituting tasks with their variants, substituting resources with alternative ones, executing tasks in a different order, or cancelling the execution of low-priority tasks. The framework was evaluated in terms of the percentage of executed critical task requests, average criticality of the executed task requests in comparison to the non-executed ones, overhead, and scalability. The evaluation was executed using two datasets related to a medicine consumption system and a manufacturing system. The evaluation results showed that the proposed framework increased the number of executed critical task requests and the average criticality of the executed task requests under resource variability with marginal overhead.
软件系统执行的任务依赖于不同类型的资源。然而,资源的多变性可能会影响软件系统执行重要任务的能力。在本文中,我们提出了一种主动和被动的资源驱动适应框架,它支持不同类型的资源,并以任务的优先级为基础。在之前的工作中,我们定义了一种名为 SERIES 的任务建模符号。本文以该符号为基础,重点关注适应过程,通过用变体任务替代任务、用替代资源替代资源、以不同顺序执行任务或取消执行低优先级任务来提高资源利用率。该框架根据已执行关键任务请求的百分比、已执行任务请求与未执行任务请求的平均关键度、开销和可扩展性进行了评估。评估使用了与药品消费系统和制造系统相关的两个数据集。评估结果表明,在资源多变的情况下,建议的框架提高了已执行关键任务请求的数量和已执行任务请求的平均临界度,而开销很小。
期刊介绍:
The Journal of Systems and Software publishes papers covering all aspects of software engineering and related hardware-software-systems issues. All articles should include a validation of the idea presented, e.g. through case studies, experiments, or systematic comparisons with other approaches already in practice. Topics of interest include, but are not limited to:
• Methods and tools for, and empirical studies on, software requirements, design, architecture, verification and validation, maintenance and evolution
• Agile, model-driven, service-oriented, open source and global software development
• Approaches for mobile, multiprocessing, real-time, distributed, cloud-based, dependable and virtualized systems
• Human factors and management concerns of software development
• Data management and big data issues of software systems
• Metrics and evaluation, data mining of software development resources
• Business and economic aspects of software development processes
The journal welcomes state-of-the-art surveys and reports of practical experience for all of these topics.