Pub Date : 2024-03-20DOI: 10.1007/s10270-024-01159-z
Clemens Dubslaff, Patrick Wienhöft, Ansgar Fehnker
Recursive state machines (RSMs) are state-based models for procedural programs with wide-ranging applications in program verification and interprocedural analysis. Model-checking algorithms for RSMs and related formalisms have been intensively studied in the literature. In this article, we devise a new model-checking algorithm for RSMs and requirements in computation tree logic (CTL) that exploits the compositional structure of RSMs by ternary model checking in combination with a lazy evaluation scheme. Specifically, a procedural component is only analyzed in those cases in which it might influence the satisfaction of the CTL requirement. We implemented our model-checking algorithms and evaluate them on randomized scalability benchmarks and on an interprocedural data-flow analysis of Java programs, showing both practical applicability and significant speedups in comparison to state-of-the-art model-checking tools for procedural programs.
{"title":"Lazy model checking for recursive state machines","authors":"Clemens Dubslaff, Patrick Wienhöft, Ansgar Fehnker","doi":"10.1007/s10270-024-01159-z","DOIUrl":"https://doi.org/10.1007/s10270-024-01159-z","url":null,"abstract":"<p><i>Recursive state machines (RSMs)</i> are state-based models for procedural programs with wide-ranging applications in program verification and interprocedural analysis. Model-checking algorithms for RSMs and related formalisms have been intensively studied in the literature. In this article, we devise a new model-checking algorithm for RSMs and requirements in <i>computation tree logic (CTL)</i> that exploits the compositional structure of RSMs by ternary model checking in combination with a lazy evaluation scheme. Specifically, a procedural component is only analyzed in those cases in which it might influence the satisfaction of the CTL requirement. We implemented our model-checking algorithms and evaluate them on randomized scalability benchmarks and on an interprocedural data-flow analysis of <span>Java</span> programs, showing both practical applicability and significant speedups in comparison to state-of-the-art model-checking tools for procedural programs.</p>","PeriodicalId":49507,"journal":{"name":"Software and Systems Modeling","volume":"28 1","pages":""},"PeriodicalIF":2.0,"publicationDate":"2024-03-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140200745","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-03-19DOI: 10.1007/s10270-024-01155-3
Jan Haltermann, Heike Wehrheim
Cooperative software validation aims at having verification and/or testing tools cooperate on the task of correctness checking. Cooperation involves the exchange of information about currently achieved results in the form of (verification) artifacts. These artifacts are typically specialized to the type of analysis performed by the tool, e.g., bounded model checking, abstract interpretation or symbolic execution, and hence require the definition of a new artifact for every new cooperation to be built. In this article, we introduce a unified artifact (called Generalized Information Exchange Automaton, short GIA) supporting the cooperation of over-approximating with under-approximating analyses. It provides information gathered by an analysis to its partner in a cooperation, independent of the type of analysis and usage context within software validation. We provide a formal definition of this artifact in the form of an automaton together with two operators on GIAs. The first operation reduces a program by excluding these parts, where the information that they are already processed is encoded in the GIA. The second operation combines partial results from two GIAs into a single on. We show that computed analysis results are never lost when connecting tools via these operations. To experimentally demonstrate the feasibility, we have implemented two such cooperation: one for verification and one for testing. The obtained results show the feasibility of our novel artifact in different contexts of cooperative software validation, in particular how the new artifact is able to overcome some drawbacks of existing artifacts.
合作式软件验证旨在让验证和/或测试工具合作完成正确性检查任务。合作包括以(验证)工件的形式交换关于当前所取得结果的信息。这些工件通常针对工具执行的分析类型而专门设计,例如有界模型检查、抽象解释或符号执行,因此需要为每一次新的合作定义新的工件。在本文中,我们介绍了一种统一的工具(称为 "广义信息交换自动机",简称 "GIA"),它支持过逼近分析与欠逼近分析之间的合作。它向合作中的伙伴提供分析所收集的信息,与软件验证中的分析类型和使用环境无关。我们以自动机的形式提供了这一工具的正式定义,同时还提供了 GIA 的两个运算符。第一种操作是通过排除这些部分来减少程序,这些部分已被处理的信息已在 GIA 中编码。第二种操作是将两个 GIA 的部分结果合并为一个单一结果。我们证明,通过这些操作连接工具时,计算出的分析结果绝不会丢失。为了在实验中证明其可行性,我们实施了两个这样的合作:一个用于验证,一个用于测试。所获得的结果表明,我们的新工具在不同的合作软件验证环境中都是可行的,特别是新工具如何能够克服现有工具的一些缺点。
{"title":"Exchanging information in cooperative software validation","authors":"Jan Haltermann, Heike Wehrheim","doi":"10.1007/s10270-024-01155-3","DOIUrl":"https://doi.org/10.1007/s10270-024-01155-3","url":null,"abstract":"<p>Cooperative software validation aims at having verification and/or testing tools <i>cooperate</i> on the task of correctness checking. Cooperation involves the exchange of information about currently achieved results in the form of (verification) artifacts. These artifacts are typically specialized to the type of analysis performed by the tool, e.g., bounded model checking, abstract interpretation or symbolic execution, and hence require the definition of a new artifact for every new cooperation to be built. In this article, we introduce a unified artifact (called Generalized Information Exchange Automaton, short GIA) supporting the cooperation of <i>over-approximating</i> with <i>under-approximating</i> analyses. It provides information gathered by an analysis to its partner in a cooperation, independent of the type of analysis and usage context within software validation. We provide a formal definition of this artifact in the form of an automaton together with two operators on GIAs. The first operation <i>reduces</i> a program by excluding these parts, where the information that they are already processed is encoded in the GIA. The second operation combines partial results from two GIAs into a single on. We show that computed analysis results are never lost when connecting tools via these operations. To experimentally demonstrate the feasibility, we have implemented two such cooperation: one for verification and one for testing. The obtained results show the feasibility of our novel artifact in different contexts of cooperative software validation, in particular how the new artifact is able to overcome some drawbacks of existing artifacts.</p>","PeriodicalId":49507,"journal":{"name":"Software and Systems Modeling","volume":"10 1","pages":""},"PeriodicalIF":2.0,"publicationDate":"2024-03-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140166983","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-03-16DOI: 10.1007/s10270-023-01142-0
Thuy Nguyen, Imen Sayar, Sophie Ebersold, Jean-Michel Bruel
To correctly formalise requirements expressed in natural language, ambiguities must first be identified and then fixed. This paper focuses on behavioural requirements (i.e. requirements related to dynamic aspects and phenomena). Its first objective is to show, based on a practical, public case study, that the disambiguation process cannot be fully automated: even though natural language processing (NLP) tools and machine learning might help in the identification of ambiguities, fixing them often requires a deep, application-specific understanding of the reasons of being of the system of interest, of the characteristics of its environment, of which trade-offs between conflicting objectives are acceptable, and of what is achievable and what is not; it may also require arduous negotiations between stakeholders. Such an understanding and consensus-making ability is not in the reach of current tools and technologies, and will likely remain so for a long while. Beyond ambiguity, requirements are often marred by various other types of defects that could lead to wholly unacceptable consequences. In particular, operational experience shows that requirements inadequacy (whereby, in some of the situations the system could face, what is required is woefully inappropriate or what is necessary is left unspecified) is a significant cause for systems failing to meet expectations. The second objective of this paper is to propose a semantically accurate behavioural requirements formalisation format enabling tool-supported requirements verification, notably with simulation. Such support is necessary for the engineering of large and complex cyber-physical and socio-technical systems to ensure, first, that the specified requirements indeed reflect the true intentions of their authors and second, that they are adequate for all the situations the system could face. To that end, the paper presents an overview of the BASAALT (Behaviour Analysis and Simulation All Along systems Life Time) systems engineering method, and of FORM-L (FOrmal Requirements Modelling Language), its supporting language, which aims at representing as accurately and completely as possible the semantics expressed in the original, natural language behavioural requirements, and is markedly different from languages intended for software code generation. The paper shows that generally, semantically accurate formalisation is not a simple paraphrasing of the original natural language requirements: additional elements are often needed to fully and explicitly reflect all that is implied in natural language. To provide such complements for the case study presented in the paper, we had to follow different formalisation patterns, i.e. sequences of formalisation steps. For this paper, to avoid being skewed by what a particular automatic tool can and cannot do, BASAALT and FORM-L were applied manually. Sti
{"title":"Identifying and fixing ambiguities in, and semantically accurate formalisation of, behavioural requirements","authors":"Thuy Nguyen, Imen Sayar, Sophie Ebersold, Jean-Michel Bruel","doi":"10.1007/s10270-023-01142-0","DOIUrl":"https://doi.org/10.1007/s10270-023-01142-0","url":null,"abstract":"<p>To correctly formalise requirements expressed in natural language, <i>ambiguities</i> must first be identified and then fixed. This paper focuses on <i>behavioural requirements</i> (i.e. requirements related to dynamic aspects and phenomena). Its first objective is to show, based on a practical, public case study, that the disambiguation process <i>cannot be fully automated</i>: even though natural language processing (NLP) tools and machine learning might help in the <i>identification</i> of ambiguities, <i>fixing</i> them often requires a deep, application-specific <i>understanding</i> of the reasons of being of the system of interest, of the characteristics of its environment, of which trade-offs between conflicting objectives are acceptable, and of what is achievable and what is not; it may also require arduous negotiations between stakeholders. Such an understanding and consensus-making ability is not in the reach of current tools and technologies, and will likely remain so for a long while. Beyond ambiguity, requirements are often marred by various other types of defects that could lead to wholly unacceptable consequences. In particular, operational experience shows that requirements <i>inadequacy</i> (whereby, in some of the situations the system could face, what is required is woefully inappropriate or what is necessary is left unspecified) is a significant cause for systems failing to meet expectations. The second objective of this paper is to propose a semantically accurate behavioural requirements formalisation format enabling <i>tool-supported requirements verification</i>, notably with <i>simulation</i>. Such support is necessary for the engineering of large and complex <i>cyber-physical</i> and <i>socio-technical</i> systems to ensure, first, that the specified requirements indeed reflect the true intentions of their authors and second, that they are adequate for all the situations the system could face. To that end, the paper presents an overview of the BASAALT (<i>Behaviour Analysis and Simulation All Along systems Life Time</i>) systems engineering method, and of FORM-L (<i>FOrmal Requirements Modelling Language</i>), its supporting language, which aims at representing as accurately and completely as possible the semantics expressed in the original, natural language behavioural requirements, and is markedly different from languages intended for software code generation. The paper shows that generally, semantically accurate formalisation is not a simple <i>paraphrasing</i> of the original natural language requirements: additional elements are often needed to fully and explicitly reflect all that is implied in natural language. To provide such complements for the case study presented in the paper, we had to follow different <i>formalisation patterns</i>, i.e. sequences of formalisation steps. For this paper, to avoid being skewed by what a particular automatic tool can and cannot do, BASAALT and FORM-L were applied manually. Sti","PeriodicalId":49507,"journal":{"name":"Software and Systems Modeling","volume":"23 1","pages":""},"PeriodicalIF":2.0,"publicationDate":"2024-03-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140152284","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-03-16DOI: 10.1007/s10270-024-01157-1
Judith Michael, Volodymyr A. Shekhovtsov
Complex assistive systems providing human behavior support independent of the age or abilities of users are broadly used in a variety of domains including automotive, production, aviation, or medicine. Current research lacks a common understanding of which architectural components are needed to create assistive systems that use models at runtime. Existing descriptions of architectural components are focused on particular domains, consider only some parts of an assistive system, or do not consider models at runtime. We have analyzed common functional requirements for such systems to be able to propose a set of reusable components, which have to be considered when creating assistive systems that use models. Such components constitute a reference architecture that we propose within this paper. To validate the proposed architecture, we have expressed the architectures of two assistive systems from different domains, namely assistance for elderly people and assistance for operators in smart manufacturing in terms of compliance with such architecture. The proposed reference architecture will facilitate the creation of future assistive systems.
{"title":"A model-based reference architecture for complex assistive systems and its application","authors":"Judith Michael, Volodymyr A. Shekhovtsov","doi":"10.1007/s10270-024-01157-1","DOIUrl":"https://doi.org/10.1007/s10270-024-01157-1","url":null,"abstract":"<p>Complex assistive systems providing human behavior support independent of the age or abilities of users are broadly used in a variety of domains including automotive, production, aviation, or medicine. Current research lacks a common understanding of which architectural components are needed to create assistive systems that use models at runtime. Existing descriptions of architectural components are focused on particular domains, consider only some parts of an assistive system, or do not consider models at runtime. We have analyzed common functional requirements for such systems to be able to propose a set of reusable components, which have to be considered when creating assistive systems that use models. Such components constitute a reference architecture that we propose within this paper. To validate the proposed architecture, we have expressed the architectures of two assistive systems from different domains, namely assistance for elderly people and assistance for operators in smart manufacturing in terms of compliance with such architecture. The proposed reference architecture will facilitate the creation of future assistive systems.</p>","PeriodicalId":49507,"journal":{"name":"Software and Systems Modeling","volume":"15 1","pages":""},"PeriodicalIF":2.0,"publicationDate":"2024-03-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140152113","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-03-14DOI: 10.1007/s10270-024-01148-2
Paul Kobialka, S. Lizeth Tapia Tarifa, Gunnar R. Bergersen, Einar Broch Johnsen
The servitization of business is moving industry to business models driven by customer demand. Customer satisfaction is connected with financial rewards, forcing companies to invest in their users’ experience. User journeys describe how users maneuver through a service. Today, user journeys are typically modeled graphically, and lack formalization and analysis support. This paper proposes a formalization of user journeys as weighted games between the user and the service provider and a systematic data-driven method to derive these user journey games from system logs, using process mining techniques. As the derived games may contain cycles, we define an algorithm to transform user journeys games with cycles into acyclic weighted games, which can be model checked using to uncover potential challenges in a company’s interactions with its users and derive company strategies to guide users through their journeys. Finally, we propose a user journey sliding-window analysis to detect changes in the user journey over time by model checking a sequence of generated games. Our analysis pipeline has been evaluated on an industrial case study; it revealed design challenges within the studied service and could be used to derive actionable recommendations for improvement.
{"title":"User journey games: automating user-centric analysis","authors":"Paul Kobialka, S. Lizeth Tapia Tarifa, Gunnar R. Bergersen, Einar Broch Johnsen","doi":"10.1007/s10270-024-01148-2","DOIUrl":"https://doi.org/10.1007/s10270-024-01148-2","url":null,"abstract":"<p>The servitization of business is moving industry to business models driven by customer demand. Customer satisfaction is connected with financial rewards, forcing companies to invest in their users’ experience. User journeys describe how users maneuver through a service. Today, user journeys are typically modeled graphically, and lack formalization and analysis support. This paper proposes a formalization of user journeys as weighted games between the user and the service provider and a systematic data-driven method to derive these user journey games from system logs, using process mining techniques. As the derived games may contain cycles, we define an algorithm to transform user journeys games with cycles into acyclic weighted games, which can be model checked using to uncover potential challenges in a company’s interactions with its users and derive company strategies to guide users through their journeys. Finally, we propose a user journey sliding-window analysis to detect changes in the user journey over time by model checking a sequence of generated games. Our analysis pipeline has been evaluated on an industrial case study; it revealed design challenges within the studied service and could be used to derive actionable recommendations for improvement.\u0000</p>","PeriodicalId":49507,"journal":{"name":"Software and Systems Modeling","volume":"74 1","pages":""},"PeriodicalIF":2.0,"publicationDate":"2024-03-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140152179","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-03-14DOI: 10.1007/s10270-024-01161-5
Bishoksan Kafle, Graeme Gange, Peter Schachte, Harald Søndergaard, Peter J. Stuckey
Nontermination is an unwanted program property for some software systems, and a safety property for other systems. In either case, automated discovery of preconditions for nontermination is of interest. We introduce NtHorn, a fast lightweight nontermination analyser, which is able to deduce non-trivial sufficient conditions for nontermination. Using Constrained Horn Clauses (CHCs) as a vehicle, we show how established techniques for CHC program transformation and abstract interpretation can be exploited for the purpose of nontermination analysis. NtHorn is comparable in effectiveness to the state-of-the-art nontermination analysis tools, as measured on standard competition benchmark suites (consisting of integer manipulating programs), while typically solving problems faster by one order of magnitude.
{"title":"A lightweight approach to nontermination inference using Constrained Horn Clauses","authors":"Bishoksan Kafle, Graeme Gange, Peter Schachte, Harald Søndergaard, Peter J. Stuckey","doi":"10.1007/s10270-024-01161-5","DOIUrl":"https://doi.org/10.1007/s10270-024-01161-5","url":null,"abstract":"<p>Nontermination is an unwanted program property for some software systems, and a safety property for other systems. In either case, automated discovery of preconditions for nontermination is of interest. We introduce <span>NtHorn</span>, a fast lightweight nontermination analyser, which is able to deduce non-trivial sufficient conditions for nontermination. Using Constrained Horn Clauses (CHCs) as a vehicle, we show how established techniques for CHC program transformation and abstract interpretation can be exploited for the purpose of nontermination analysis. <span>NtHorn</span> is comparable in effectiveness to the state-of-the-art nontermination analysis tools, as measured on standard competition benchmark suites (consisting of integer manipulating programs), while typically solving problems faster by one order of magnitude.\u0000</p>","PeriodicalId":49507,"journal":{"name":"Software and Systems Modeling","volume":"13 1","pages":""},"PeriodicalIF":2.0,"publicationDate":"2024-03-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140152181","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-03-05DOI: 10.1007/s10270-024-01151-7
Abstract
Competence-based approaches have received increased attention, as the demand for qualified people with the right combination of competences establishes itself as a major factor of organizational performance. This paper examines how competences can be incorporated into Enterprise Architecture modeling: (i) we identify a key set of competence-related concepts such as knowledge, skills, and attitudes, (ii) analyze and relate them using a reference ontology (grounded on the Unified Foundational Ontology), and (iii) propose a representation strategy for modeling competences and their constituent elements leveraging the ArchiMate language, discussing how the proposed models can fit in enterprise competence-based practices. Our approach is intended to cover two tasks relevant to the combined application of Enterprise Architecture and Competence Modeling: ‘zooming in’ on competences, revealing the relations between competences, knowledge, skills, attitudes and other personal characteristics that matter in organizational performance, and ‘zooming out’ of competences, placing them in the wider context of other personal competences and overall organizational capabilities. An assessment of the representation is offered in the form of an empirical survey.
{"title":"Modeling competences in enterprise architecture: from knowledge, skills, and attitudes to organizational capabilities","authors":"","doi":"10.1007/s10270-024-01151-7","DOIUrl":"https://doi.org/10.1007/s10270-024-01151-7","url":null,"abstract":"<h3>Abstract</h3> <p>Competence-based approaches have received increased attention, as the demand for qualified people with the right combination of competences establishes itself as a major factor of organizational performance. This paper examines how competences can be incorporated into Enterprise Architecture modeling: (i) we identify a key set of competence-related concepts such as knowledge, skills, and attitudes, (ii) analyze and relate them using a reference ontology (grounded on the Unified Foundational Ontology), and (iii) propose a representation strategy for modeling competences and their constituent elements leveraging the ArchiMate language, discussing how the proposed models can fit in enterprise competence-based practices. Our approach is intended to cover two tasks relevant to the combined application of Enterprise Architecture and Competence Modeling: ‘zooming in’ on competences, revealing the relations between competences, knowledge, skills, attitudes and other personal characteristics that matter in organizational performance, and ‘zooming out’ of competences, placing them in the wider context of other personal competences and overall organizational capabilities. An assessment of the representation is offered in the form of an empirical survey.</p>","PeriodicalId":49507,"journal":{"name":"Software and Systems Modeling","volume":"10 1","pages":""},"PeriodicalIF":2.0,"publicationDate":"2024-03-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140035352","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-02-29DOI: 10.1007/s10270-024-01154-4
Abstract
The perception of the value and propriety of modern engineered systems is changing. In addition to their functional and extra-functional properties, nowadays’ systems are also evaluated by their sustainability properties. The next generation of systems will be characterized by an overall elevated sustainability—including their post-life, driven by efficient value retention mechanisms. Current systems engineering practices fall short of supporting these ambitions and need to be revised appropriately. In this paper, we introduce the concept of circular systems engineering, a novel paradigm for systems sustainability, and define two principles to successfully implement it: end-to-end sustainability and bipartite sustainability. We outline typical organizational evolution patterns that lead to the implementation and adoption of circularity principles, and outline key challenges and research opportunities.
{"title":"Circular systems engineering","authors":"","doi":"10.1007/s10270-024-01154-4","DOIUrl":"https://doi.org/10.1007/s10270-024-01154-4","url":null,"abstract":"<h3>Abstract</h3> <p>The perception of the value and propriety of modern engineered systems is changing. In addition to their functional and extra-functional properties, nowadays’ systems are also evaluated by their sustainability properties. The next generation of systems will be characterized by an overall elevated sustainability—including their post-life, driven by efficient value retention mechanisms. Current systems engineering practices fall short of supporting these ambitions and need to be revised appropriately. In this paper, we introduce the concept of circular systems engineering, a novel paradigm for systems sustainability, and define two principles to successfully implement it: end-to-end sustainability and bipartite sustainability. We outline typical organizational evolution patterns that lead to the implementation and adoption of circularity principles, and outline key challenges and research opportunities.</p>","PeriodicalId":49507,"journal":{"name":"Software and Systems Modeling","volume":"84 1","pages":""},"PeriodicalIF":2.0,"publicationDate":"2024-02-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140006337","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-02-28DOI: 10.1007/s10270-024-01150-8
Arianna Fedeli, Fabrizio Fornari, Andrea Polini, Barbara Re, Victoria Torres, Pedro Valderas
The capability to integrate Internet of Things (IoT) technologies into business processes (BPs) has emerged as a transformative paradigm, offering unprecedented opportunities for organisations to enhance their operational efficiency and productivity. Interacting with the physical world and leveraging real-world data to make more informed business decisions is of greatest interest, and the idea of IoT-enhanced BPs promises to automate and improve business activities and permit them to adapt to the physical environment of execution. Nonetheless, combining these two domains is challenging, and it requires new modelling methods that do not increase notation complexity and provide independent execution between the process and the underlying device technology. In this work, we propose FloBP, a model-driven engineering approach separating concerns between the IoT and BPs, providing a structured and systematic approach to modelling and executing IoT-enhanced BPs. Applying the separation of concerns through an interdisciplinary team is needed to ensure that the approach covers all necessary process aspects, including technological and modelling ones. The FloBP approach is based on modelling tools and a microservices architecture to deploy BPMN models, and it facilitates integration with the physical world, providing flexibility to support multiple IoT device technologies and their evolution. A smart canteen scenario describes and evaluates the approach’s feasibility and its possible adoption by various stakeholders. The performed evaluation concludes that the application of FloBP facilitates the modelling and development of IoT-enhanced BPs by sharing and reusing knowledge among IoT and BP experts.
将物联网(IoT)技术整合到业务流程(BP)中的能力已成为一种变革模式,为企业提高运营效率和生产力提供了前所未有的机遇。与物理世界互动并利用真实世界的数据做出更明智的业务决策是人们最感兴趣的问题,而物联网增强型业务流程的想法有望实现业务活动的自动化和改进,并使其能够适应执行过程中的物理环境。然而,将这两个领域结合起来具有挑战性,它需要新的建模方法,既不增加符号的复杂性,又能在流程和底层设备技术之间提供独立的执行。在这项工作中,我们提出了 FloBP,这是一种模型驱动的工程方法,将物联网和业务流程之间的关注点分离开来,为物联网增强型业务流程的建模和执行提供了一种结构化和系统化的方法。需要通过跨学科团队来实现关注点的分离,以确保该方法涵盖所有必要的流程方面,包括技术和建模方面。FloBP 方法基于建模工具和微服务架构来部署 BPMN 模型,它促进了与物理世界的集成,为支持多种物联网设备技术及其演进提供了灵活性。一个智能食堂场景描述并评估了该方法的可行性以及各利益相关方采用该方法的可能性。所进行的评估得出结论,FloBP 的应用通过在物联网和 BP 专家之间共享和重用知识,促进了物联网增强型 BP 的建模和开发。
{"title":"FloBP: a model-driven approach for developing and executing IoT-enhanced business processes","authors":"Arianna Fedeli, Fabrizio Fornari, Andrea Polini, Barbara Re, Victoria Torres, Pedro Valderas","doi":"10.1007/s10270-024-01150-8","DOIUrl":"https://doi.org/10.1007/s10270-024-01150-8","url":null,"abstract":"<p>The capability to integrate Internet of Things (IoT) technologies into business processes (BPs) has emerged as a transformative paradigm, offering unprecedented opportunities for organisations to enhance their operational efficiency and productivity. Interacting with the physical world and leveraging real-world data to make more informed business decisions is of greatest interest, and the idea of IoT-enhanced BPs promises to automate and improve business activities and permit them to adapt to the physical environment of execution. Nonetheless, combining these two domains is challenging, and it requires new modelling methods that do not increase notation complexity and provide independent execution between the process and the underlying device technology. In this work, we propose <i>FloBP</i>, a model-driven engineering approach separating concerns between the IoT and BPs, providing a structured and systematic approach to modelling and executing IoT-enhanced BPs. Applying the separation of concerns through an interdisciplinary team is needed to ensure that the approach covers all necessary process aspects, including technological and modelling ones. The <i>FloBP</i> approach is based on modelling tools and a microservices architecture to deploy BPMN models, and it facilitates integration with the physical world, providing flexibility to support multiple IoT device technologies and their evolution. A smart canteen scenario describes and evaluates the approach’s feasibility and its possible adoption by various stakeholders. The performed evaluation concludes that the application of <i>FloBP</i> facilitates the modelling and development of IoT-enhanced BPs by sharing and reusing knowledge among IoT and BP experts.</p>","PeriodicalId":49507,"journal":{"name":"Software and Systems Modeling","volume":"23 1","pages":""},"PeriodicalIF":2.0,"publicationDate":"2024-02-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140006637","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-02-28DOI: 10.1007/s10270-024-01153-5
Abstract
The process mining domain is actively supported by techniques and tools addressing the discovery of single-participant business processes. In contrast, approaches for discovering collaboration models out of distributed data stored by multiple interacting participants are lacking. In this context, we propose a novel technique for discovering collaboration models from sets of event logs that include data about participants’ interactions. The technique discovers each participant’s process through already available algorithms introduced by the process mining community. Then, it analyzes the logs to extract information on the exchange of messages to automatically combine the discovered processes into a collaboration model representing the distributed system’s behavior and providing analytics on the interactions. The technique has been implemented in a tool evaluated via several experiments on different application domains.
{"title":"A technique for discovering BPMN collaboration diagrams","authors":"","doi":"10.1007/s10270-024-01153-5","DOIUrl":"https://doi.org/10.1007/s10270-024-01153-5","url":null,"abstract":"<h3>Abstract</h3> <p>The process mining domain is actively supported by techniques and tools addressing the discovery of single-participant business processes. In contrast, approaches for discovering collaboration models out of distributed data stored by multiple interacting participants are lacking. In this context, we propose a novel technique for discovering collaboration models from sets of event logs that include data about participants’ interactions. The technique discovers each participant’s process through already available algorithms introduced by the process mining community. Then, it analyzes the logs to extract information on the exchange of messages to automatically combine the discovered processes into a collaboration model representing the distributed system’s behavior and providing analytics on the interactions. The technique has been implemented in a tool evaluated via several experiments on different application domains.</p>","PeriodicalId":49507,"journal":{"name":"Software and Systems Modeling","volume":"68 1","pages":""},"PeriodicalIF":2.0,"publicationDate":"2024-02-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140006542","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}