《1-李智-需求工程分论坛-iSQE2023峰会(1).pptx》由会员分享,可在线阅读,更多相关《1-李智-需求工程分论坛-iSQE2023峰会(1).pptx(46页珍藏版)》请在三个皮匠报告上搜索。
1、中国国际软件质量工程峰会中国国际软件质量工程峰会International Software Quality Engineering Forum需求工程中的需求工程中的“E=mcE=mc2 2”理论理论扩展及工具支持扩展及工具支持李智李智广西师范大学广西师范大学计算机与工程学院计算机与工程学院/软件学院软件学院2023年5月26日 22023 iSQE 内 容u 需求工程中的“E=mc2”理论u 扩展:面向问题的复杂性(语义+建模+度量)u 语义扩展:指称语义-操作语义u 建模扩展:Zoom-in vs.Zoom-outu 复杂度度量:以微服务拆分为例u 讨论与总结(AI4RE及RE4AI)需
2、求工程中的“E=mc2”理论需求工程中与爱因斯坦需求工程中与爱因斯坦“E=mc2”对等的理论对等的理论vsE=mc2S,E|RCyber-Physical WorldMichael A.JacksonPhysical WorldAlbert Einstein杰克逊原创性贡献杰克逊原创性贡献-JSP(结构化编程结构化编程)和和JSD(系统开发系统开发)*Anthony Hall,E=mc2 Explained,in*Software Requirements and Design:The Work of Michael Jackson,ed.Bashar Nuseibeh and Pamela
3、Zave,Chatham,NJ Good Friends Publishing Company,2010.“1974年年英国政府英国政府把把JSP采纳为程序采纳为程序设计的设计的标准方法标准方法”*JSD(面向数据结构开发方法面向数据结构开发方法)被被MS Visio2007版采纳为版采纳为内建模板内建模板CMU访问教授、访问教授、Praxis Critical Systems首席顾问首席顾问Anthony Hall博士将博士将杰克逊提出的杰克逊提出的“S,E|-R”评价为评价为需求工需求工程的程的“E=mc2”理论理论*需求工程中的“E=mc2”理论该理论该理论2005年荣获软工顶会年荣获软
4、工顶会ICSE颁发的颁发的10年最有影年最有影响力论文奖响力论文奖*Michael Jackson and Pamela Zave.Deriving specifications from requirements:an example.Proceedings of the 17th International Conference on Software Engineering,ICSE 95,Seattle,Washington,USA,pages1524,April 1995需求工程中的“E=mc2”理论“The Master Law in Requirements Engineerin
5、g”Video*ICSE2006 Panel Topic“Formal methods too much or too little?”ICSE06国际软工大会首次在中国召开国际软工大会首次在中国召开会议会议Panel讨论议题讨论议题“形式化方法太形式化方法太多还是太少?多还是太少?”加拿大滑铁卢大学加拿大滑铁卢大学Joanne Atlee教授教授把该理论称把该理论称“需求工程中最重要公式需求工程中最重要公式”需要适合领域的描述语言需要适合领域的描述语言/符号符号(适合适合描述软件的符号语言不见得最好描述软件的符号语言不见得最好)需求及规格说明的形式化描述语言要需求及规格说明的形式化描述语言要
6、让普通人容易读懂和书写:方便用户让普通人容易读懂和书写:方便用户确认需求;方便开发者确定构建什么确认需求;方便开发者确定构建什么要把要把领域领域、规格规格及及需求需求三种性质不同的语言组合起来构成三种性质不同的语言组合起来构成推理推理需求工程中的“E=mc2”理论“S,E|-R”理论的扩展So far so good?Classics never go out of style!“可是这个理论怎么用啊?可是这个理论怎么用啊?!”经典永不过时,所需要的是扩展!经典永不过时,所需要的是扩展!All they need is extensions!扩展1:模型建模能够把能够把“S,E|-R”(S指称
7、指称软件软件,E指称指称环境环境,R指称指称需求需求,|-指称指称满足满足/entailment,“,”指称指称“并并”)完全映射完全映射到实际到实际CPS/IoT开发问题的开发问题的唯一需求建唯一需求建模方法模方法!问题框架问题框架(Problem Frames*)是该理论的是该理论的实例化实例化(问题图问题图+表格表格),如下。,如下。交通控制交通控制问题图问题图*+领域、需求及规格领域、需求及规格描述表描述表:*Michael A.Jackson.Jackson,M.A.2006.What Can We Expect From Verification?IEEE Computer.39,
8、10(Oct.2006),53-59.*Michael A.Jackson.Problem Frames:Analyzing and Structuring Software Development Problems.Boston:Addison-Wesley,2001.英杰克逊著,金芝译.软件开发问题框架:现实世界问题的结构化分析.机械工业出版社,2005年2月出版SER,|-名称名称类型类型描述描述Lights Controller机器机器(S)Light Units领域领域(E)Crossing Buttons领域领域(E)Road Sensors领域领域(E)Road Layout领域
9、领域(E)Pedestrians领域领域(E)Vehicles&Drivers领域领域(E)Orderly Safe Traffic需求需求(R)“S,E|-R”理论映射到实际的CPS/IoT软件开发问题CARE(Computer-Aided Requirements Engineering)*工具集演示工具集演示:*Guoyuan Liu,ZhiZhi Li Li,et al.CARE:A Computer-Aided Requirements Engineering Tool for Problem-Oriented Software Development,International J
10、ournal of Software Engineering and Knowledge Engineering,volume 25,issues 09n10,pages 1747-1752,December 2015“S,E|-R”理论扩展CARE1.0工具扩展2:模型的语义“,”和和“|-”代表什么?代表什么?指称语义层面,“,”=“|”(并并);“|-”=“sat”(满足满足)发表在发表在软件学报软件学报*李智,金芝.从用户需求到软件规约:一种问题变换的方法.软件学报,第24卷第5期,第961-976页,2013年5月.“S,E|-R”理论扩展指称语义CARE 2.0Ziyan Zhao
11、,ZhiZhi Li Li,et al.A Computer-aided Modeling and Verification Approach for Problem-oriented Software Development,5th Asia-Pacific Conference on Computer Aided System Engineering,pp21-28,Guilin,China,November 2017.Best Paper Award WinnerNing Gao,ZhiZhi Li Li,Generating Testing Codes for Behavior-Dri
12、ven Development from Problem Diagrams:A Tool-Based Approach,2016 IEEE 24th International Requirements Engineering Conference(RE2016),pages 399-400,Beijing,China,September 2016“S,E|-R”理论扩展CARE2.0工具 142023 iSQE 接下来工作接下来工作1 1 -PF2EventB -PF2EventB 编程语言编程语言(C(C语言语言)构建问题图元模型构建event-b元模型event-b的iUML-B图eve
13、nt-b形式化语言ATL Rodin smt插件完成证明义务的证明(形式化验证)转换流程转换流程转换规则转换规则 152023 iSQE 接下来工作接下来工作2 2 -为可靠性风险分析生成故障情景为可靠性风险分析生成故障情景+分解故障树,获取事件映射表分析问题图,获取因果链集通过映射表查找共同事件并关联因果关系包含上下文的故障场景因果链,来自问题图因果链,来自问题图映射表项映射表项故障信息故障信息NLP for RE2023-6-12Source:A.Ferrari,L.Zhao and W.Alhoshan,NLP for Requirements Engineering:Tasks,Tec
14、hniques,Tools,and Technologies,2021 IEEE/ACM 43rd International Conference on Software Engineering:Companion Proceedings(ICSE-Companion),Madrid,ES,20212023-6-12NLP for RESource:A.Ferrari,L.Zhao and W.Alhoshan,NLP for Requirements Engineering:Tasks,Techniques,Tools,and Technologies,2021 IEEE/ACM 43rd
15、 International Conference on Software Engineering:Companion Proceedings(ICSE-Companion),Madrid,ES,2021“R”:为满足:为满足“让普通人容易读懂和书写让普通人容易读懂和书写”,保留,保留NL语言在需求描述表语言在需求描述表格,同时将其改写成符合格,同时将其改写成符合EARS*模板的半形式化语言模板的半形式化语言(可选项:可选项:OCL或谓词或谓词表达的形式化断言表达的形式化断言-仅限于表达仅限于表达)非功能需求要结合模型分析才能转成功能需求非功能需求要结合模型分析才能转成功能需求*A.Mavin
16、,P.Wilkinson,A.Harwood,and M.Novak.Easy Approach to Requirements Syntax(EARS).Proceedings of the 17th International Requirements Engineering Conference(RE2009),pp.317-322,Atlanta,GA,USA.-研究生李云芳对研究生李云芳对EARS进进行改写,使其适配行改写,使其适配CPS,如将如将改改成成,把把CPS中领域实体作为主角中领域实体作为主角-发现发现EARS中不能改写的中不能改写的句子,原因是非功能需求句子,原因是非功能
17、需求较难直接用较难直接用EARS刻画刻画-非功能需求要结合领域模非功能需求要结合领域模型才能转换成功能需求型才能转换成功能需求,PF提供了这种可能!提供了这种可能!“S,E|-R”理论扩展-操作语义?*Goodrum M,Cleland-Huang J,et al.What Requirements Knowledge Do Developers Need to Manage Change in Safety-Critical Systems?RE2017 conference.以无人机控制问题为例以无人机控制问题为例*:“S,E|-R”理论扩展CARE2.0+!(高级功能)2023-6-12
18、需求文档自动生成问题图(NL2PD)NL2PD技术路线技术路线问题图是问题框架的一种可视化形式。使用NLP技术提取需求文档中的关键短语和关键关系,通过问题框架的元模型可以将短语映射到问题图的节点。From Xiao H,Li Z,Yang Y,et al.An Extended Meta-Model of Problem Frames for Enriching Environmental DescriptionsC/2021 IEEE 29th International Requirements Engineering Conference Workshops(REW).IEEE,2021
19、:428-434.2023-6-12NL2PD演示2023-6-12NL2PD演示“S,E|-R”理论扩展CARE2.0+!(高级功能)问题框架建模中引入多媒体提供丰富语义问题框架建模具有较强的普适性,几乎可以描述世界上所有类型机器的上下文环境,这也导致用户查看陌生类型机器的问题图描述会较难理解。通过图片或视频等多媒体方式可以方便用户快速直观了解该类型问题。“S,E|-R”理论扩展CARE2.0+!(高级功能)用CARE2.0+工具获取用户眼动反馈以客观评估其易用性通过眼动仪的热力图成像功能,可以直观的观察到用户观察问题图的轨迹以及用户认为的重要关注点。通过对热力图变化的整体过程录制以及眼动仪
20、数据点的记录,可以较为客观的收集到问题图中用户在意的重要领域。定义定义“S,E|-R”理论的操作语义,是否可行?理论的操作语义,是否可行?“E”(上下文环境上下文环境)的操作语义在实际应用中意味什么?的操作语义在实际应用中意味什么?为满足为满足“适合领域的描述语言适合领域的描述语言/符号符号”,即方便,即方便“领领域专家确认领域模型域专家确认领域模型”,我们采用,我们采用Zoom-in方法展方法展开领域的细节描述开领域的细节描述(FM中称为精化中称为精化);为什么要对为什么要对“E”采用采用Zoom-in?细节为什么重要?细节为什么重要?难道难道RE中的建模不就是抽象吗?中的建模不就是抽象吗?
21、暴露细节,才能够对复杂性进行定量评估!暴露细节,才能够对复杂性进行定量评估!暴露细节,才能对问题模型进行可推理拆分与组合!暴露细节,才能对问题模型进行可推理拆分与组合!(拆分对太抽象的模型意义不大拆分对太抽象的模型意义不大)“S,E|-R”理论扩展操作语义?细节的重要性:细节的重要性:Fred Brooks comments on side effects of abstraction*:“The complexity of software is an essential property,not an accidental one.Hence descriptions of a softw
22、are entity that abstract away its complexity often abstract away its essence.Many of the classical problems of developing software products derive from this essential complexity and its non-linear increases with size.”-essential difficulties need to be exposed by anti-abstraction,i.e.,enriching deta
23、ils!Jacksons suggestions on mastering complexity in RE*:“The key to protecting yourself against this complexity Fred Brooks essential difficulty is postponing composition until you have mastered the components sub-problems.”without zooming in details,how can you examine and master each of these comp
24、onents?Devil is in the details!*Fred Brooks,Brooks F P.The Mythical Man-Month:Essays on Software Engineering.IEEE Xplore,1995.*Michael A.Jackson.Problem Frames:Analyzing and Structuring Software Development Problems.Boston:Addison-Wesley,2001.英杰克逊著,金芝译.软件开发问题框架:现实世界问题的结构化分析.机械工业出版社,2005年2月出版“S,E|-R”
25、理论扩展-操作语义?为什么要对为什么要对“R”采用采用Zoom-in(对对“R”细化)细化)?能够获得需求之间的复杂关系能够获得需求之间的复杂关系(可对问题复杂度度量可对问题复杂度度量);能够将全局质量需求能够将全局质量需求/非功能需求转换成为有限数量的功能需求:非功能需求转换成为有限数量的功能需求:“S,E|-R”理论扩展-操作语义?扩展3:复杂性度量Zoom4PFShangfeng Wei,ZhiZhi Li Li,Yilong Yang,Hongbin Xiao.Zoom4PF:A Tool for Refining Static and Dynamic Domain Descripti
26、ons in Problem Frames,29th International Requirements Engineering Conference(RE21),pages 414-415,September 20-24,2021,Notre Dame,IN,United States.用ZOOM-IN来刻画系统复杂细节2023-6-12应对软件开发复杂性的三种办法*:*Keynote:Nancy G.Leveson-Everything You“Know”About Software and Safety is Probably Wrong,ICSE2020l 有组织的简单性(拆分/模块
27、化软件、上下文环境)-功能l 有组织的复杂性(组合/模块集成满足全局约束)-非功能/质量l 无组织的复杂性(用统计方法-AI4RE)扩展“S,E|-R”理论面临挑战 软件开发复杂性CARE 2.1=Trace4PF+Yajun Deng,ZhiZhi Li Li,Hongbin Xiao.Trace4PF:A tool for Automated Decomposition of Problem Diagrams with Traceability,34th International Conference on Software Engineering and Knowledge Engin
28、eering(SEKE22),pages 473-474,July 1-10,2022,Pittsburgh,United States.用分而治之降低复杂度CARE2.1工具“S”在在RE阶段,仅限于对其阶段,仅限于对其I/O接口、接口、软件架构模块化软件架构模块化等进行黑盒描述等进行黑盒描述 例如,基于复杂性度量的微服务拆分方法例如,基于复杂性度量的微服务拆分方法(受受Salado的复杂度计算的复杂度计算*的启发的启发)*A.Salado et al.The concept of problem complexity.Procedia Computer Science,28(2014):5
29、39-546.Eds.:Azad M.Madni,Barry Boehm,The Aerospace Corporation Redondo Beach,CA,March 21-22,2014用软件开发复杂度计算来拆分微服务 332023 iSQE 方方法流程法流程第1、2步:构建问题图第5、6、7步:结构复杂性分析第3、4步:问题复杂性分析第8、9、10:得到微服务拆分方案 342023 iSQE 扩展问题图模型扩展问题图模型带“X”的方框表示词法领域带 双 竖 线 的 方 框表示机器领域带“C”的黑色方框表 示 业 务 组 件(逻辑业务中的组件实体)连 线 上 的 信 息表示共享现象带“B
30、”的方框表示可叫牌领域虚线椭圆表示需求实线椭圆表示补充描述本方法将因果领本方法将因果领域分为两类域分为两类:通信通信组件、业务组件组件、业务组件 352023 iSQE 构建问题图构建问题图依据需求文档中的业务描述,构建问题图 362023 iSQE 结果呈现结果呈现P6P5P2P1P3P4P7微服务架构微服务架构微服务拆分方案问题领域代入微服务架构中,372023 iSQE 微服务拆分方案微服务拆分方案依据问题图归类结果,得到微服务拆分方案CARE 2.1+=PF4Microservices有组织的复杂性基于复杂度计算的微服务拆分及组合讨论 Causal AI for RE Causal A
31、I是最新的一个热点是最新的一个热点:-Judea Pearl(图灵奖获得者图灵奖获得者)-Joe Halpern(康奈尔大学教康奈尔大学教授授)-Causal AI promise-Explainable AI-Fairness-Trustworthiness-Evolving SoS-How about AI for RE-Explainable Requirements-Cognition-Requirements Prioritiszation-来源:*modified,taken from:Michael Jackson,Requirements,behaviours,and soft
32、ware engineering(keynote),RE2015,Ottawa,ON,Canada,Aug 24-28,2015.*Zheng,Y(2016).“Urban Computing:Tackling Urban Challenges Using Big Data,”(keynote)IEEE 24th International Requirements Engineering Conference(RE),Beijing,2016,pp.3-3.讨论 Causal AI for RE 为为“S,E|-R”理论的理论的添加因果操作语义添加因果操作语义,目的是,目的是解决需求可解释性
33、问题解决需求可解释性问题!“,”和和“|-”的操作语义在实际应用中意味什么?的操作语义在实际应用中意味什么?在描述事件级别的粒度上在描述事件级别的粒度上,“,”用用Halpern和和Pearl定义的定义的Actual Causality(又称又称Token Causality,实际因果实际因果*)中的中的“链式链式”、“对撞对撞”和和“分叉分叉”关系;关系;在表述具有概率变量且高于事件级别的粒度上在表述具有概率变量且高于事件级别的粒度上,“,”用用Halpern和和Pearl提出提出的的Typed Causality(类型因果类型因果*)中的中的“链式链式”、“对撞对撞”和和“分叉分叉”关系;
34、关系;在描述事件级别的粒度上在描述事件级别的粒度上,“|-”意味着实际因果关系为真(适用于意味着实际因果关系为真(适用于CPS););Linear causality 在表述具有概率变量且高于事件级别的粒度上在表述具有概率变量且高于事件级别的粒度上,“|-”意味着类型因果关系为意味着类型因果关系为真(适用于真(适用于HCPS););non-linear causality讨论 Causal AI for RE*Halpern,J.:A modification of the halpern-pearl definition of causality.Proceedings of the 24t
35、h International Conference on Artificial Intelligence(IJCAI15),AAAI Press,Buenos Aires Argentina,July 2531,2015.pp.30223033(2015)用用WrightWright的因果图为问题图添加因果语义的因果图为问题图添加因果语义2023-6-12解决复杂性是软件开发共同面对的问题,解决复杂性是软件开发共同面对的问题,RE复杂性来源于复杂性来源于上下文复杂性及变更上下文复杂性及变更PF提供刻画需求复杂性的重要手段(模型提供刻画需求复杂性的重要手段(模型+语义语义+工具)工具)CARE 1.0 and 2.0支持支持“分而治之分而治之”工程手段工程手段CARE 2.x+目标支持目标支持AI4RE?AI背景下的背景下的RE,需要,需要data-driven和和causality-driven结合结合结论和AI4RE展望And one more thing2023-6-12There should be RE for organizational problems!国际合作Thank you Thank you 中国国际软件质量工程峰会中国国际软件质量工程峰会International Software Quality Engineering Forum