{"title":"一种使用正式领域特定语言开发按构造更正业务流程模型的方法","authors":"Yousra Bendaly Hlaoui, Salma Ayari","doi":"10.1002/smr.2762","DOIUrl":null,"url":null,"abstract":"<div>\n \n <p>As the size and the complexity of business process models are an important driver of error probability, it is recommended to split large models into smaller models. Hence, we propose, in this paper, to develop business process models by refinement. A refinement is a transformation of a source model to a target model expressed in the same modeling language. This transformation should preserve the semantics of the source model to provide semantically correct target model. Thus, we propose, in this paper, a domain specific language based on Business Process Model and Notation (BPMN) language for developing by refinement business process models correct-by-construction. Hence, we propose (i) a <span></span><math>\n <semantics>\n <mrow>\n <mi>B</mi>\n <mi>P</mi>\n <mi>M</mi>\n <msub>\n <mrow>\n <mi>N</mi>\n </mrow>\n <mrow>\n <mi>R</mi>\n </mrow>\n </msub>\n </mrow>\n <annotation>$$ BPM{N}_R $$</annotation>\n </semantics></math> formal syntax throughout a context-free grammar <span></span><math>\n <semantics>\n <mrow>\n <msub>\n <mrow>\n <mi>G</mi>\n </mrow>\n <mrow>\n <mi>B</mi>\n <mi>P</mi>\n <mi>M</mi>\n <msub>\n <mrow>\n <mi>N</mi>\n </mrow>\n <mrow>\n <mi>R</mi>\n </mrow>\n </msub>\n </mrow>\n </msub>\n </mrow>\n <annotation>$$ {G}_{BPM{N}_R} $$</annotation>\n </semantics></math>, (ii) axiomatic semantics to ensure the refinement correction when building business process models, (iii) operational semantics in terms of Kripke structure permitting formal verification of provided <span></span><math>\n <semantics>\n <mrow>\n <mi>B</mi>\n <mi>P</mi>\n <mi>M</mi>\n <msub>\n <mrow>\n <mi>N</mi>\n </mrow>\n <mrow>\n <mi>R</mi>\n </mrow>\n </msub>\n </mrow>\n <annotation>$$ BPM{N}_R $$</annotation>\n </semantics></math> models to check their reliability. The Kripke structure supports the verification of behavioral requirements represented by the Computational Tree Logic (CTL) temporal logic and verified by NuSMV model checker. Based on these semantics, we prove the validity of the <span></span><math>\n <semantics>\n <mrow>\n <mi>B</mi>\n <mi>P</mi>\n <mi>M</mi>\n <msub>\n <mrow>\n <mi>N</mi>\n </mrow>\n <mrow>\n <mi>R</mi>\n </mrow>\n </msub>\n </mrow>\n <annotation>$$ BPM{N}_R $$</annotation>\n </semantics></math> compiler that we have developed to assist developers when building their correct <span></span><math>\n <semantics>\n <mrow>\n <mi>B</mi>\n <mi>P</mi>\n <mi>M</mi>\n <msub>\n <mrow>\n <mi>N</mi>\n </mrow>\n <mrow>\n <mi>R</mi>\n </mrow>\n </msub>\n </mrow>\n <annotation>$$ BPM{N}_R $$</annotation>\n </semantics></math> models and to transform these models to NuSMV code to prove their reliability.</p>\n </div>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"37 2","pages":""},"PeriodicalIF":1.7000,"publicationDate":"2025-02-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"An Approach to Develop Correct-by-Construction Business Process Models Using a Formal Domain Specific Language\",\"authors\":\"Yousra Bendaly Hlaoui, Salma Ayari\",\"doi\":\"10.1002/smr.2762\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<div>\\n \\n <p>As the size and the complexity of business process models are an important driver of error probability, it is recommended to split large models into smaller models. Hence, we propose, in this paper, to develop business process models by refinement. A refinement is a transformation of a source model to a target model expressed in the same modeling language. This transformation should preserve the semantics of the source model to provide semantically correct target model. Thus, we propose, in this paper, a domain specific language based on Business Process Model and Notation (BPMN) language for developing by refinement business process models correct-by-construction. Hence, we propose (i) a <span></span><math>\\n <semantics>\\n <mrow>\\n <mi>B</mi>\\n <mi>P</mi>\\n <mi>M</mi>\\n <msub>\\n <mrow>\\n <mi>N</mi>\\n </mrow>\\n <mrow>\\n <mi>R</mi>\\n </mrow>\\n </msub>\\n </mrow>\\n <annotation>$$ BPM{N}_R $$</annotation>\\n </semantics></math> formal syntax throughout a context-free grammar <span></span><math>\\n <semantics>\\n <mrow>\\n <msub>\\n <mrow>\\n <mi>G</mi>\\n </mrow>\\n <mrow>\\n <mi>B</mi>\\n <mi>P</mi>\\n <mi>M</mi>\\n <msub>\\n <mrow>\\n <mi>N</mi>\\n </mrow>\\n <mrow>\\n <mi>R</mi>\\n </mrow>\\n </msub>\\n </mrow>\\n </msub>\\n </mrow>\\n <annotation>$$ {G}_{BPM{N}_R} $$</annotation>\\n </semantics></math>, (ii) axiomatic semantics to ensure the refinement correction when building business process models, (iii) operational semantics in terms of Kripke structure permitting formal verification of provided <span></span><math>\\n <semantics>\\n <mrow>\\n <mi>B</mi>\\n <mi>P</mi>\\n <mi>M</mi>\\n <msub>\\n <mrow>\\n <mi>N</mi>\\n </mrow>\\n <mrow>\\n <mi>R</mi>\\n </mrow>\\n </msub>\\n </mrow>\\n <annotation>$$ BPM{N}_R $$</annotation>\\n </semantics></math> models to check their reliability. The Kripke structure supports the verification of behavioral requirements represented by the Computational Tree Logic (CTL) temporal logic and verified by NuSMV model checker. Based on these semantics, we prove the validity of the <span></span><math>\\n <semantics>\\n <mrow>\\n <mi>B</mi>\\n <mi>P</mi>\\n <mi>M</mi>\\n <msub>\\n <mrow>\\n <mi>N</mi>\\n </mrow>\\n <mrow>\\n <mi>R</mi>\\n </mrow>\\n </msub>\\n </mrow>\\n <annotation>$$ BPM{N}_R $$</annotation>\\n </semantics></math> compiler that we have developed to assist developers when building their correct <span></span><math>\\n <semantics>\\n <mrow>\\n <mi>B</mi>\\n <mi>P</mi>\\n <mi>M</mi>\\n <msub>\\n <mrow>\\n <mi>N</mi>\\n </mrow>\\n <mrow>\\n <mi>R</mi>\\n </mrow>\\n </msub>\\n </mrow>\\n <annotation>$$ BPM{N}_R $$</annotation>\\n </semantics></math> models and to transform these models to NuSMV code to prove their reliability.</p>\\n </div>\",\"PeriodicalId\":48898,\"journal\":{\"name\":\"Journal of Software-Evolution and Process\",\"volume\":\"37 2\",\"pages\":\"\"},\"PeriodicalIF\":1.7000,\"publicationDate\":\"2025-02-11\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Journal of Software-Evolution and Process\",\"FirstCategoryId\":\"94\",\"ListUrlMain\":\"https://onlinelibrary.wiley.com/doi/10.1002/smr.2762\",\"RegionNum\":4,\"RegionCategory\":\"计算机科学\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q3\",\"JCRName\":\"COMPUTER SCIENCE, SOFTWARE ENGINEERING\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Software-Evolution and Process","FirstCategoryId":"94","ListUrlMain":"https://onlinelibrary.wiley.com/doi/10.1002/smr.2762","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0
摘要
由于业务流程模型的大小和复杂性是错误概率的重要驱动因素,因此建议将大型模型拆分为较小的模型。因此,我们在本文中建议通过细化来开发业务流程模型。精化是源模型到用相同建模语言表示的目标模型的转换。这种转换应该保留源模型的语义,以提供语义正确的目标模型。因此,我们在本文中提出了一种基于业务流程模型和符号(BPMN)语言的领域特定语言,用于通过按构造正确地细化业务流程模型来进行开发。因此,我们提出(i)一个贯穿上下文无关语法G的B P M N R $$ BPM{N}_R $$形式语法B P M N R $$ {G}_{BPM{N}_R} $$,(ii)公理语义,确保构建业务流程模型时的精化校正;(iii)基于Kripke结构的操作语义,允许对所提供的B P M N R $$ BPM{N}_R $$模型进行形式化验证,以检查其可靠性。Kripke结构支持以计算树逻辑(CTL)时态逻辑表示的行为需求验证,并通过NuSMV模型检查器进行验证。基于这些语义,我们证明了我们开发的b.p M N R $$ BPM{N}_R $$编译器的有效性,该编译器可以帮助开发人员构建正确的b.pM N R $$ BPM{N}_R $$模型,并将这些模型转换为NuSMV代码,以证明其可靠性。
An Approach to Develop Correct-by-Construction Business Process Models Using a Formal Domain Specific Language
As the size and the complexity of business process models are an important driver of error probability, it is recommended to split large models into smaller models. Hence, we propose, in this paper, to develop business process models by refinement. A refinement is a transformation of a source model to a target model expressed in the same modeling language. This transformation should preserve the semantics of the source model to provide semantically correct target model. Thus, we propose, in this paper, a domain specific language based on Business Process Model and Notation (BPMN) language for developing by refinement business process models correct-by-construction. Hence, we propose (i) a formal syntax throughout a context-free grammar , (ii) axiomatic semantics to ensure the refinement correction when building business process models, (iii) operational semantics in terms of Kripke structure permitting formal verification of provided models to check their reliability. The Kripke structure supports the verification of behavioral requirements represented by the Computational Tree Logic (CTL) temporal logic and verified by NuSMV model checker. Based on these semantics, we prove the validity of the compiler that we have developed to assist developers when building their correct models and to transform these models to NuSMV code to prove their reliability.