论文写作规范毕业论文格式开题报告范文|MBA论文范文本科论文范文硕士论文范文博士论文范文

  • 在线提交留言
  • 当前位置:首页 > 理工医学论文 > 计算机论文

    基于范畴结构MSC的需求行为建模

    发布时间:2019-10-20 来源:www.boshuolunwen123.com  作者:博硕论文辅导网

      TAGS标签:研究生论文  免费论文  论文下载  写作辅导  论文写作  论文致谢  参考文献  开题报告  职称论文  毕业论文  论文模板  论文范文


    硕 士 学 位 论 文
    题  目:一种形式化需求引出及其行为建模的方法(或者 基于范畴结构MSC的需求行为建模)
    学  科  专  业:      计算机软件与理论          
    年      级:     2018级   学    号:  
    (只是一个大体框架,里面可以加内容 修改内容,只要文章思路和这个一样就好)
    摘  要
    摘要
    ABSTRACT
    1 绪论
     
    1.1研究背景  
    (主要是需求工程及形式化建模的发展 以下只是参考)
    1.2国内外研究现状
     (需求建模 及形式化方法 还有范畴的研究现状)
    1.3研究内容
     需求工程中有效地捕获用户的真正需求已经成为软件工程学科研究的重点,而场景被认为是引出、文档化和验证需求的较为有效的工具,其支持非形式化、叙述性和具体化的描述,关注用户与软件环境交互的动态特性,因而参与需求分析过程的实践者和用户都能很容易地使用场景来表达其对需求的理解,以达到最佳的交互状态,从而更好地获取用户需求。
    MSC(Message Sequence Charts)是一种集图形和文本于一体的系统交互行为描述语言,核心语言是BMSC(Basic Message Sequence Charts)。MSC是一种强调消息的时序交互图,主要用于描述对象之间随着时间在某些行为方面的协作关系,捕获用例的行为,同时显示在特定用例的时间框架中的对象以及这些对象之间传递的消息。MSC最初只是作为SDL(Specification and Description Language)语言的补充[15],但随着MSC的发展,及其应用领域越来越广,新的概念和内容被越来越多的使用者加入其中。
    范畴是试图抓住一类数学对象的本质的数学结构,自范畴提出以来,其理论到现在已经有了很大的发展,它不仅可以用于数学基础或者用作其他数学分支,而且在计算机科学研究中有着广阔的前景。范畴主要强调各对象间保持对象结构不变的态射,而不像传统的数学方法那样只集中注意力于数学对象本身,范畴提供一个更高的抽象形式,是一个方便的概念语言,被越来越多的应用于计算机科学的研究中。
    本文将提出一种形式化需求引出及其建模的方法。采用范畴论的理论方法进行行为建模,用消息序列图(Message Sequence Chart,简称MSC)来描述场景规约。
    形式化需求引出及其建模的主要思路:我们首先基于范畴论的方法对MSC进行形式化描述,然后根据我们所得的抽象结构进行多场景合并,得出需求的一个初始化模型,再将得到的模型进行隐含场景检测,去除所有不期望的场景,最后进行系统行为建模,得到最终的一个行为模型。
    1.4文章结构
     
    2. MSC范畴结构构造
    (其中2.3 MSC范畴结构构建是原创内容(自己小论文的内容),前后加一些东西,文章衔接好就行)
    2.1 MSC简介
    MSC(Message Sequence Charts)是一种集图形和文本于一体的系统交互行为描述语言,核心语言是BMSC(Basic Message Sequence Charts)。MSC是一种强调消息的时序交互图,主要用于描述对象之间随着时间在某些行为方面的协作关系,捕获用例的行为,同时显示在特定用例的时间框架中的对象以及这些对象之间传递的消息。
    MSC最初只是作为SDL(Specification and Description Language)语言的补充,但随着MSC的发展,及其应用领域越来越广,新的概念和内容被越来越多的使用者加入其中。
     范畴是试图抓住一类数学对象的本质的数学结构,自范畴提出以来,其理论到现在已经有了很大的发展,它不仅可以用于数学基础或者用作其他数学分支,而且在计算机科学研究中有着广阔的前景。范畴主要强调各对象间保持对象结构不变的态射,而不像传统的数学方法那样只集中注意力于数学对象本身,范畴提供一个更高的抽象形式,是一个方便的概念语言,被越来越多的应用于计算机科学的研究中。
     本文试图利用范畴论的理论方法,给出一种MSC的形式化语义,使得MSC概念更加精确地刻画出来。我们首先对MSC的基本结构组成做了相应的描述,然后利用范畴论的理论方法给出形式化描述,并根据MSC2000新增的时间概念,给出相应的扩展。
     文章主要结构如下,第2节主要介绍范畴论的相关背景知识,我们在第3节利用范畴的方法给出MSC的形式化描述,第4节我们对MSC的描述进行了相应的扩展,使其能够描述带时间观念的MSC,最后第五节对整篇文章做了总结。
    2.1.1 MSC的基本概念
    一个基本消息序列图(basic Message Sequence Chart, 简称bMSC)描述了一组构件之间有限的交互行为。一个消息序列图(MSC)由代表时间的垂直线(与构件关联)和代表构件之间交互的水平箭头组成[26]。其中,每个垂直线表示一个构件(也称为实例);每个水平箭头指明了一些定义相关交互的事件,并分别决定着控制和监视交互事件的源agent实例和宿agent实例,其中事件(可以是消息发送事件、消息接收事件、定时器等)被源agent实例同步控制,并被宿agent实例监视。
    2.1.2 MSC的组成元素
    a)一个MSC包含若干实例。实例是一个抽象的实体,在MSC中系统构件、环境以及用户都是实例,采用垂直线表示。图2.2中,A、B、C表示实例。
    b)实例之间、实例与环境之间的交互称为消息,用水平箭头表示。其中,箭头的原点表示发送事件,终点表示接收事件,箭头的方向说明了事件间的序关系(消息发送事件必须发生在同一消息的接收事件之前),消息标签表示实例交互的类型。图2.2中,x,y表示消息标签,实例A上对应于消息x的发送事件发生在实例B对应于消息x的接收事件之前。
    c)事件是实例操作发生的基本单位,可以是消息发送事件、消息接收事件、定时器等。实例之间的一条交互消息可以看成两个事件——消息发送事件和消息接收事件,同一消息的发送事件和接收事件是异步的。


    图2.2 消息序列图的元素
    错误!文档中没有指定样式的文字。-1
    2.1.3 MSC优点
    MSC是一种描述语言,它主要用于描述系统构件之间、 系统构件与环境之间的行为交互事件。MSC不仅提供了一种直观、透明的方式,还提供了两种描述方式:图形描述和文本描述。其中图形描述提供了清晰易懂的图形元素作为系统中实例交互以及事件发生的描述手段。文本方式以一种类似自然语言的方式进行描述,与多数架构描述语言(S DL)描述形式类似,采用层次化描述方式,使系统结构的描述更加清晰。文本描述符主要有三类:关键词、终结符和非终结符。MSC已被作为国际电话电报联合会 ( I nternati onal Telecom2municati on Uni on)的一种推荐使用标准。基于 MSC提供的这些特性使其可以用于需求描述、接口描述、仿真与检查、测试用例描述等多个方面。另外 MSC也可以连接其它描述语言 ,如 SDL等。MSC直观的图形表示方式以及丰富的语法表示形式使其具有对构件及构件组装 (交互 )描述的先天优势。具体表现在如下几个方面:
    (1)MSC是一种图语言。因此可以通过二维图描述构件内部实例之间的行为交互。MSC文本描述主要目的是为了完成自动化形式分析与实现工具之 间的转换。在构件组装环境中可以利用文本描述提 供构件间胶合代码自动生成工作。
    (2)MSC支持结构化设计。一个简单的 MSC描述利用高层消息序列图 (HMSC)可以被组合成一个 更复杂的系统描述。依靠这种分解和复用机制可以很容易地实现对遗留系统的构件提取和构件组装的 再工程。
    (3)MSC支持工程的全过程。形式化的描述和 直观的表示方式是它支持包括从领域分析到测试的 整个工程领域。因此 MSC可以很好地描述软构件元素 ,并且适合于整个 CBSD开发生命周期。
    (4)MSC可以被用来关联其它描述语言如 SDL和 TTCN等。这使其具有灵活的可扩展性和兼容性。另外 MSC可以等价地转换为有限 (非有限 )自动机模型 DFA (NDFA)。可以利用自动机模型的多种性质(如有限自动机匹配、 有限自动机合并等 )实现构件与构件模式匹配的方法。

    2.2 范畴简介

    2.3 MSC范畴结构构建
    MSC是一种图形描述语言,通常用于软件系统需求的可视化描述。MSC的基本元素是构件实例(Instance)和消息流(Massage)。可见一个MSC由有限多个实例组成,而消息表示了实例之间的交互。
    实例是一个抽象实体,表示系统的组成部分(如:构件、用户及环境等),用带有题头(用矩形表示)的垂直直线代表实例,题头中书写实例的名称,垂直线为时间轴,自上而下依次排列一系列事件,这些事件可以是消息发送、接收和本地动作等事件。一个时间线定义了输入/输出事件的完整顺序,而整个MSC定义了全部事件的部分顺序。可见一个实例是由一组被定义顺序的事件组成,也就是MSC事件集上存在偏序关系。图3.1是一个MSC的示例。
     
    图3.1 MSC示例
    Fig 3.1 Example of a MSC
     定义3.1 (消息序列图MSC范畴)MSC的基本元素是构件实例(Instance)和消息流(Massage),我们确定MSC范畴M为一个元组< I,ft,M >,其对象为实例,态射为实例之间的交互关系(消息),恒等式空消息,复合是消息的串联,因此根据定义2.1可以确定消息序列图MSC范畴是一个范畴,其中:
    I是对应MSC中实例的集合。
    ft是范畴M对象之间时刻t的态射集合。由于两个实例之间交互的消息可能不止一个,但同一实例上事件的时间约束,使得某个时刻t两实例的交互唯一。
    M是消息集合。

    图3.2 带事件的MSC示例图
    Fig 3.2 Example of a MSC with events
    事件是MSC中可观察的基本单位,本文中我们把两个实例之间的一条消息看成两个事件:发送事件(s)和接收事件(r),而本地事件(l)是一个独立的事件。如图3.2所示。
    定义3.2 (实例Instance范畴)实例是一个抽象实体,由一系列存在偏序关系(<)的事件组成。因此我们约定实例范畴I是一个范畴,它的对象是事件(e),态射是事件之间的偏序关系(<)。其结构可以确定为一个元组I=<E,<,L,K,M,P>,其中:
    E为对应实例上的事件集合;
    <为对象之间的态射(事件之间的偏序关系)。如果存在态射<:e0→e1,IFF事件e0<e1;
    L:e→I 每一个事件与实例的映射;
    K:e→{s,r,l}每一个事件与事件类型的一个映射,s:发送事件,r:接收事件,l:本地事件;
    M:e→M每一个事件与消息的一个映射;
    P⊆E×E是<s,r>对的集合,即发送事件与接收事件对,每一个发送事件s,都与一个唯一的接收事件r相匹配。如果事件e1与e2可以表示为P(e1,e2),IFF M(e1)=M(e2),并且K(e1)=s,K(e2)=r。
    通过以上对MSC范畴式的定义,虽然抽象,但不乏具体,如,消息序列图(MSC)是一种部分事件有序的图形及文本化描述工具,对于两个有序的事件e1和e2,我们说e1< e2,只需要满足下面两种描述之一:
    e1和e2是一个<s,r>对,即P (e1,e2)存在,M(e1)=M(e2);
    e1和e2属于同一个实例,并且在此实例的时间轴上e1早出现于e2。
    再例如,如果要对交叉信息的发生(如图3.3)进行限制,只需要保证如下命题之一为真即可:

    图3.3 带交叉事件的MSC示例图
    Fig 3.3 Example of a MSC with crossing events
    (P (s1,r1) ∧P (s2,r2) ∧s1<s2∧L(s1)=L(s2) ∧L(r1)=L(r2)) r1<r2;
    (P (s1,r1) ∧P (s2,r2) ∧s2<s1∧L(s1)=L(s2) ∧L(r1)=L(r2)) r2<r1。
     现在我们回顾一下图3.2中给出的例子,对于任何一个消息Mi ,1≤i≤6,我们都将其事件标注为si(发送事件)和ri(接收事件)。根据上面的定义我们可得到:
    I ={I1,…,I3};
    M ={m1,…,m6};
    ft1 (I1→I2)=m2;
    E ={s1,…,s6,l,r1,…,r6};
    L-1(I1)= {s1,s2,l,r5,r6},并且s1<s2<l<r5<r6;
    K-1(s) ={s1,…,s6},K-1(r) ={r1,…,r6},K-1(l) ={l};
    对于i ,M(si)=M(ri)= Mi;
    对于i ,如果存在P (si,ri)则si<ri。
    如果我们将偏序关系标注为可视图形中的符号→,则可得到如下可见顺序的MSC图,如图3.4:

    图3.4
    Fig 3.4
    2.4 MSC形式化语义的扩展
    MSC2000引入了时间概念,采用量化的时间值扩展了MSC事件的表达范围,如图4.1(a)所示,时间概念的引入就如MSC发生了一个特殊事件,这个事件只代表了事件的延迟,没有具体的事件行为。
    MSC范畴M < I ,ft,M>中的态射ft很准确的描述了实例之间的交互关系,但如果要描述带时间概念的MSC,还需要对此进行扩展,如图4.1(b)所示,我们在原来基础上加入了一个特殊事件t0,并且有一个延迟时间约束∆t(t0)=5s,我们称这种事件为时间事件(t)。

    图4.1(a) 带时间概念的MSC示例  图4.1(b) 带时间概念的MSC扩展
    Fig 4.1(a)
    因此我们需要重新定义实例范畴,结构不需要变,只需要更改事件类型即可,如定义4.1所示:
    定义4.1 (实例Instance范畴)实例Instance范畴I结构可以确定为一个元组<E,<,L,K,M,P>,其中:
    E为对应实例上的事件集合;
    <为对象之间的态射(事件之间的偏序关系)。如果存在态射<:e0→e1,IFF事件e0<e1;
    L:e→I 每一个事件与实例的映射;
    K:e→{s,r,l,t}每一个事件与事件类型的一个映射,s:发送事件,r:接收事件,l:本地事件,t:时间事件,有个∆t属性;
    M:e→M每一个事件与消息的一个映射;
    P⊆E×E是<s,r>对的集合,即发送事件与接收事件对,每一个发送事件s,都与一个唯一的接收事件r相匹配。如果事件e1与e2可以表示为P(e1,e2),IFF M(e1)=M(e2),并且K(e1)=s,K(e2)=r。
    根据上面的定义,图4.1(b)所示MSC的描述如下:
    I ={I1,I2};
    M={m1, m2};
    ft1 (I1→I2)=m1;
    E ={s1,s2, t0,r1,r2};
    L-1(I1)= {s1,s2,t0 },并且s1<s2<t0,∆t(t0)=5s;
    K-1(s) ={s1,s2},K-1(r) ={r1,r2},K-1(l) =ø,K-1(t) ={t0};
    对于i ,M(si)=M(ri)= Mi;
    对于i ,如果存在P (si,ri)则si<ri。
    2.5 总结
     本文基于范畴论的理论方法,给出了MSC的一种形式化语义,并对其进行了扩展,使其能够描述带时间概念的MSC。本文开篇对MSC及范畴的相关知识进行了简单介绍,展示了范畴语义形式化MSC的可能性,然后根据MSC的结构特征,我们根据范畴论的理论方法,给出了MSC的形式化语义,最后并对形式化结构进行扩展,加入了时间概念,增强了MSC范畴结构的描述能力。
    3.基于范畴结构MSC的系统行为建模
    @1引言(行为建模技术的主要介绍、基于MSC范畴结构进行行为建模的可行性)
    @2基于范畴结构MSC的需求形式化建模过程描述
    用范畴结构的MSC描述用户场景
    对这些MSC进行合并,去除大量冗余状态,发掘并处理隐含场景
    @3范畴结构MSC的合并技术研究
    (合并方法在一些英文参考资料中有相关的,但都不很理想,参照一般的建模过程,全都改成用范畴的方法,对上面提出的那个结构进行运算,完成同样的建模就好,只能用纯范畴运算完成,不要用到什么自动机、什么LTS的)
    3.1 引言
    行为建模是软件需求工程中较为重要的技术。其通过给模型增加行为智能,可以大大缩短软件设计的时间,从而降低整个工程的预算。行为建模主要包括三方面内容[26]:首先是:定义行为的特征,其次是评估模型是否可行,灵敏性或优化程度能否达到用户预期要求,最后就是模型是否容易理解并且修改方便,而采用严格的以数学理论为基础的形式化方法描述系统的功能、性质,则可以产生简明、精确、无二义性并且可验证的需求建模过程的描述,从而更为有效的保证了需求功能行为交互演化的一致性。
     近些年来,形式化方法的研究及其在软件需求工程的应用得到了充分地发展,研究人员建立了易于用户理解的规格概念描述和领域术语,以及应用这些术语和概念的形式化方法和语言,并建立了功能强大和完善的模型检验和定理证明技术等。
     
     
    3.2 基于范畴结构MSC的需求形式化建模过程描述
     1根据用户场景构造出范畴结构的MSC。
    2.对这些MSC进行合并,去除大量冗余状态,发掘并处理隐含场景
    3.3 范畴结构MSC的合并技术研究
    描述一个复杂系统的消息序列图一般包括多个不同的MSC,而不只是一个单独的MSC,MSC语言也提供了一套组合规则,将一组MSC组合成一个复杂的能够正确描述系统规约的MSCs。到目前为止,基本的MSC组合操作局限于并行、顺序、循环和选择组合,(这些组合只是图形组合,没有相关的形式化方法组合),在MSC语言中,也有不同的表达方式去描述这些组合操作,如内联表示(inline expressions)、引用表示(reference expressions)和高层MSCs(High-level Message Sequence Charts)。

    (这个合并我也想过试着写一下,我原来思路是这样的:我在参考资料中只看到不相关的两个MSC进行合并,直接就是用的并(U)操作,因为他们只考虑两个没有重复的msc,后来又看到MSC的组合有 并行、顺序、循环和选择 等组合,所以我突然想起来这么一个思路:先用一些运算分别实现这样几个组合功能,然后给出一个算法(伪代码),实现什么情况下用并行 什么情况下用选择组合,也就是没有重复的时候该怎么办,有重复的时候怎么办,怎么样找出隐含场景 等等。这只是我的想法,我对建模过程不是很了解,只要是您能够用纯范畴对上面的MSC结构运算 完成一个建模过程,得到合并后的总的MSCs就好!)

    4. 需求行为建模
     (以一个实例来描述整个需求建模的过程,验证以上方法的可行性)
    5. 总结
    5.1主要工作
    5..2未来工作
    参考文献:[[1]ITU-T.ITU-T Recommendation Z 120 Annex B: Formal Semantics of Message Sequence Charts[S].ITU-T Geneva,1998
    [2]
    [3]P. B. LadkinandS. Leue .Interpreting messageflow graphs. Formal Aspect s of Computing, 7(5):473–509, 1995.
    [4]徐家福,费宗铭.范畴论在计算机科学中的若干应用[J] .计算机科学,1989.

    原文地址:https://www.boshuolunwen123.com/lgyx_lunwen/jsj_lunwen/21683.html,如有转载请标明出处,谢谢。 您可能在寻找关于计算机论文方面的范文,您可以到理工医学论文频道查找。

    在线咨询】【写作辅导】【论文检测】【论文改重】【论文翻译

    会员投稿】【范文模板】【开题报告】【资料下载】【提交留言

    发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表
    论文写作指导
    论文在线咨询

    热门论文热门下载

    京ICP备18055229号