节点文献

基于并发语义的UML2.0顺序图控制流分析

Control Flow Analysis of UML2.0 Sequence Diagrams Based on Concurrency Semantics

【作者】 王琳

【导师】 张家晨;

【作者基本信息】 吉林大学 , 软件, 2006, 硕士

【摘要】 统一建模语言UML是目前软件开发领域最为广泛应用的一种建模语言。随着UML的广泛应用和最新版本UML 2.0的发布,以及模型驱动架构MDA技术的日趋成熟,基于模型的控制流分析(MBCFA)这一领域已经得到越来越多的关注,它对MDA背景下的模型编译、理解、执行以及已有的基于顺序图的测试技术都具有一定的意义。本文在现有工作的基础上提出了一种基于UML 2.0顺序图消息并发语义得到控制流路径的新方法。从系统执行角度,消息的发生实际上是系统执行发送和接收消息的动作,消息发生的顺序实际上可以通过对象发送和接收消息的动作的顺序来确定。本文据此并基于最大并发度的语义提出了利用定义顺序图发送和接收消息的动作之间的顺序关系,根据动作关系发现并定义相应消息的顺序关系,根据UML活动图善于描述并发活动的特点,提出用活动图表示顺序图的并发控制流,即并发控制流图CCFG,最后根据消息顺序关系规定从顺序图到CCFG的一致性转换规则,从而得到顺序图的并发控制流路径。

【Abstract】 The Unified Modeling Language(UML) is the dominant modeling language inobject-oriented modeling,which is a graphical language forvisualizing,specifying,constructing,and documenting the artifacts of asoftware-intensive system. It contains several kinds of diagrams which providemultiple perspectives of the system under analysis or development.These modelssupport the whole developing process from request extracting to coding.As the wide application of UML,the promulgation of the new version UML2.0,and the maturity of the Model-Driven Architecture(MDA),more and more peoplehave been researched on the Model-based Control Flow Analysis(MBCFA). MBCFAcan be useful in the context of MDA including the testing phase of the MDA softwaredevelopment life cycle and also model compilation,comprehension,execution andmost of the existing SD-based testing techniques.Our major work is to define thesequential relationships between the actions of sending and receiving messages basedon the concurrency semantics of messages in UML 2.0 Sequence Diagrams(SDs),andthen by mapping these relationships to the corresponding messages,to define thesequential relationships between messages according to that between actions,andbecause of UML 2.0 Activity Diagrams(ADs) being good at describing concurrency,toselect them to represent the concurrent control flow of SD,and then to define theconsistency mapping rules between a SD and a AD based on the sequentialrelationships between messages with which we can derive the Concurrent ControlFlow Paths(CCFPs) from a SD.UML SD is a kind of interaction diagrams which shows the explicit sequenceof communications and the dynamic interaction relationships between the objects.Itemphasizes the sequence of message interchanging between a number of lifelines. It’snot straight-forward to derive the sequence of messages from a SD due toasynchronous messages and par interaction operator which can cause concurrency orparallelism.Therefore,under the inspiration of J.Cardoso’s “causality flows”,we firstanalyzed various situations according to different location relationships betweenactions in a SD, and then defined two relationships between actions —Asynchronous-Succeed Relationship,and Causality Relationship.One action will beexecuted following another if they accord with any one of these two relationships,andthey correspond to different messages.According to these two relationships of actions,we further defined SuccessionRelationship between messages based on these two relationships between actions.AsUML Activity Diagrams are good at describing concurrent activities,we used AD torepresent the concurrent control flow.Then we designed the consistency mappingrules based on the Succession Relationships between messages which supportconcurrency,loop,condition,ref construct,and synchronization of concurrent messages.With the Succession relationships,developers will be able to obtain thecorresponding AD and CCFPs of SD with our formal definition of the consistencymapping rules.We also described the “combined fragment” in UML 2.0 SD in our mappingrules.A combined fragment defines an expression of interaction fragments.It isdefined by an interaction operator and corresponding interaction operands.We alsoexplained how to schedule the messages both within and outside a combinedfragment,and we did the same to the “ref”construct.In our paper we offered an algorithm to extract interesting information from the*.xmi document of a SD and to obtain all the Succession relationships betweenmessages with the gained information.To validate the feasibility of our approach,wedesigned a simple instance of SD called Boiler Control System.Our entire approachwas applied to the instance.We show in detail the procedure according to which onecan derive CCFPs from a SD.In contrary to V.Garousi’s method,ours has the following properties:derivingCCFPs from the Succession relationships between messages based on the concurrentsemantics of messages and the definitions of actions sending or receivingmessages;using UML 2.0 Activity Diagrams as the Control Flow Model;defining thetransformation rules based on the Succession relationships between differentmessages;can obtain a concurrent control flow with more degree ofconcurrency;presenting the algorithm for implementing our approach.Finally,we discussed what we can do to improve our approach, including addingrules for “coregion area”,”interaction constraints”, ”continuation”, and“polymorphism” to the mapping rules, providing a formalism for CCFPs,automatingthe CCFPs derivation process,etc..

  • 【网络出版投稿人】 吉林大学
  • 【网络出版年期】2006年 09期
  • 【分类号】TP311.52
  • 【被引频次】1
  • 【下载频次】136
节点文献中: 

本文链接的文献网络图示:

本文的引文网络