没有合适的资源?快使用搜索试试~ 我知道了~
18理论计算机科学电子笔记65(2002)网址:http://www.elsevier.nl/locate/entcs/volume65.html16页开发过程中的消息序列图曼弗雷德·布罗伊Institut fürInformatikTechnischeUniversität MünchenD-80290München,Germany摘要消息序列图(MSC)是一种通过特定的图来描述交互式分布式系统组件之间的交互模式的技术MSC已经在电信应用中发展,并且在软件体系结构的设计中以及通常在分布式软件系统的设计中变得非常流行它们经常用于描述交互场景,说明用例的实例然而,到目前为止,MSC作为规范技术的语义及其在开发过程中的方法和技术作用还没有得到准确和充分的澄清在本文中,我们讨论了MSC在软件开发过程中的系统应用1介绍今天,消息序列图(MSC,参见[13])或扩展事件跟踪(ESTRA)已经成为软件和系统工程中广泛接受和广泛使用的描述技术。它们已被纳入许多流行的系统建模方法(见[18],[9],[15],[2],[16])。它们用于说明在网络中协作的分布式交互组件它们有助于说明分布式系统中协作和交互的基本模式MSC广泛用于例如电信应用中,用于说明协议以及交换组件的协作。MSC也找到了进入业务应用程序开发的方法。然而,与MSC有关的关键方法问题仍然没有得到令人满意的回答。例如,通过一组MSC来描述系统的完整行为的想法可能需要太多(甚至无限多)的场景。因此,通过MSC覆盖所有可能的交互场景的天真想法可能被证明是不现实的。然而,一个现实的想法,似乎是规范的一组代表性的系统行为模式的实例MSC。到目前为止,尚未系统地尽管它们很受欢迎,但它们的系统使用问题2002年由ElsevierScienceB出版。 诉操作访问根据C CB Y-NC-N D许可证进行。BROY19在软件工程文献中还没有以令人满意的方式解决(参见[7],[1])。我们首先讨论了MSC的最新技术,它们所模拟的系统类型我们在第2节中介绍了一个系统的参考模型。在那之后,我们简短地讨论了MSC的语义,首先是确定性系统,然后是非确定性系统。然后,我们处理与MSC在开发过程中的控制和数据状态,并讨论使用投影的MSC的交织最后,我们讨论了MSC的方法作用2消息序列图通常,MSC用于描述系统交互的一组特征实例。当以这种方式使用时,MSC描述了在需求工程和系统设计中要构建或分析的系统的属性这种观点建议将MSC形式化为代表系统的逻辑属性。因此,我们将MSC集转换为描述系统组件属性的逻辑谓词。2.1交互系统模型MSC通常用于描述分布式系统和软件架构的交互模式。MSC描述了系统组件之间的相互作用以及它们与环境的相互作用特别地,MSC非常适合于描述具有通过消息交换进行通信的并发控制流的系统对于MSC的解释,所描述的系统的组分的相互作用的特定概念是至关重要的。我们确定了通过消息交换进行交互的分布式系统中通信的三个基本概念 异步通信(异步通信):消息在发送方准备好后立即发送,与接收方是否准备好接收消息无关发送的消息被缓冲(通过通信机制),并且可以在以后的任何时间被接收方接收;如果接收方想要接收消息,但没有消息发送,则必须等待。然而,由于消息可以被缓冲,所以接收器不必等待(参见[10],[17])直到接收器准备好。 同步通信(消息同步,会合,握手通信):只有当发送者和接收者同时准备好通信时,消息才能发送;如果只有其中一个(接收者或发送者)准备好通信,则必须等待通信伙伴准备好(参见[5],[6])。 时间同步通信(完美同步):几个交互步骤(信号或原子事件)在概念上被收集到一个时隙中;这样,系统就可以在事件集序列的帮助下建模(参见[8]作为一个众所周知的例子)。BROY20原则上,消息序列图可以用来描述上面介绍的所有三类系统的组件交互(同步和异步通信的跟踪语义见[14])。在下文中,我们使用异步消息传递,因为对于这种模型,消息序列图似乎最适合作为描述技术。我们遵循系统模型,Broy 96提出并将我们的方法基于一个传递消息通过命名和类型化的通道与环境在同步的时间帧中异步运行。2.2所选系统型号我们认为一个系统是由许多子系统组成的,我们称之为组件。事实上,一个组合系统本身是并且可以作为一个组件再次作为一个更大的系统的一部分使用组件是具有精确指定的接口和封装状态的单元。通过它的接口,它连接到它的环境并与之通信在本节中,我们将简要介绍一个简单的、非常抽象的系统组件的数学概念。2.2.1组件系统组件是一个主动的信息处理单元,它通过一组输入和输出通道与环境进行异步通信。这种沟通发生在一个全球(离散)的时间框架。1:S1n:Sn1:S1'公司简介图1作为数据流节点输入通道x1,...,xn和输出通道y1,.、ym及其各自的类型设I为输入通道的集合,O为分量f的输出通道的集合对于信道集合I 0中的每个信道,我们关联一个数据类型,该数据类型指示沿该信道发送的消息的类型然后用(I,O)描述系统构件的语法接口。一个组件及其语法接口和各个通道类型的图形表示1.一、我们用M表示来自集合M的元素流的集合,这些元素流是来自M的元素的有限或无限序列。流表示在系统生存期内通过通道发送的消息序列。当然,在具体的系统中,通信发生在一个时间帧中。事实上,能够参考这个时间往往是方便的因此,我们使用定时流。我们的时间模型非常简单。我们假设时间是由无限长的时间间隔序列表示的在每个信道上的每个间隔中,发送有限的、可能为空的消息序列我们用()表示集合M的元素序列的无限流的集合。从数学上讲,(N)中的定时流也可以理解为函数IN \{0}{N。FBROY21在本文中,我们使用了一些简单的流符号。具体地,我们对定时流x使用以下符号z = x将序列或流z连接到流x,x. k流x中的第k个序列x是定时流x中的前k个序列的x有限或无限(非定时)流作为连接x中所有序列的结果。设C是一组通道,其类型由函数类型分配:这里T是一组类型,它们是数据元素的载体集让M成为所有信息的宇宙这意味M =:T}我们通过函数x定义通道集合C的赋值:C(其中,对于类型为(c)=的每个通道c∈ C,流x. c的元素是类型1(在整个论文中,我们不仅用f(b)而且用f.b来表示函数f对参数b的应用,以节省括号):x.c(C中的通道的赋值集合由C表示。设下列I和O为集合类型的频道。设r∈(M*),r称为时间流r的时间抽象类似地,我们用x表示通道估值x ∈C的时间抽象,对于每个通道c ∈ C,由以下等式定义:x.c = x. c操作符很容易推广到流和赋值的集合我们通过定义组件的输入流和输出流之间的关系的I/O函数来描述组件的黑盒行为I/O函数由定时流对输入通道进行估值的集值函数表示。对于输入通道的每个估值,该函数产生输出通道的一组估值I/O函数是一个集值函数 f:I(O)它满足以下时序属性,该属性将时间流公理化其内容如下(令x,z I,y<$O,t<IN):x t=z{y t+1: y(x)}={y t+1: y(z)}在这里,x = t表示流,它是流x的前缀,包含t个有限序列。换句话说,x = t表示直到时间间隔t的信道估值x中的通信历史。定时属性表示前t+1个时间间隔的可能输出历史的集合仅取决于前t个时间间隔的输入历史换句话说,组件中消息的处理至少需要一个时间刻度。我们称具有这种性质的函数为时间守护函数或严格因果函数。BROY22 函数f:I(O)被称为时间无关的,如果我们对于所有输入通道赋值x,x'I:x=x'f.x = f.x'在时间无关函数中,输入的定时最多影响输出历史中消息的定时;它不影响这些消息的选择通过Com,我们表示任意通道集合I和O的所有I/O函数的集合对于任何F我们用In(f)表示它的输入通道集合,用Out(f)表示它的输出通道集合2.2.2组合系统交互式分布式系统由一系列交互组件(在某些方法中也称为代理或对象)组成。这些组件通过在它们连接的通道上交换消息进行交互分布式系统,也称为系统架构,由通信组件的网络组成。它的节点代表组件,它的弧代表通信线路(通道),消息流在通信线路上发送。我们用数据流网对分布式系统进行建模。设N为组件的标识符集合,I和O分别为输入和输出通道集合分布式系统(I,O)与语法接口(I,O)的映射表示为公司简介它以黑盒视图的形式将每个节点与组件行为相关联,形式上,它是由I/O功能给出的接口行为每个数据流网络描述一个I/O功能。这种I/O功能被称为数据流网络描述的分布式系统的黑盒视图通过将分布式系统映射到COM中的组件行为,我们将分布式系统抽象到其黑盒视图。此黑盒视图由以下公式指定的组件行为f Com表示(请注意,y C,其中C是系统所有通道的集合):f(x)= {y|O:y|I= x i N:y|Out((i))(i)(y|In(i))}在这里,我们使用函数限制的符号 对于函数g:D R和集合T D,我们用g表示|T:T R函数g对定义域T的限制。该公式实质上表达了数据流网的输出历史是对输出通道的所有网方程的不动点的限制3为MSC在我们的方法中,一组MSC被认为是一个正式的规范(谓词)的组件的分布式系统建模的数据流网(N:N Com,O)。在确定性系统组件的情况下,每个MSC描述针对特定输入激励唯一确定的组件的行为的实例在确定性组件的情况下,MSC可以直接转化为代数方程。然而,这种简单的观点并不适用于非确定性系统。对他们来说,单个MSC的意义就不那么简单了。乍一看,MSC仅描述组件响应于特定输入模式的一种反应模式。根据非决定论,可能还有其他可能的反应只有通过一套全面的MSCBROY23它包含了所有可能的行为,我们得到了一个全面而精确的非确定性组件规范。我们的讨论基于对MSC的非常抽象的观点。给定交互组件的网络,MSC被理解为每个组件p ∈ N定义谓词Q p。我们假设系统中每个组件的语法接口都已给出。这意味着对于每个分量p,输入通道的集合Ip和输出通道的集合Op被指定为具有它们的类型,该类型指示哪种消息可以沿着通道发送。这样,我们就得到了由I/O函数Qp表示的谓词的以下数学表示(在这里,我们更喜欢集合表示法而不是逻辑表示法) Qp:Ip(Op)通过将谓词与MSC集合相关联,我们修复了MSC的形式语义然而,这种方式没有捕获MSC的方法学作用关于在开发过程中系统地使用MSC集的许多问题仍然是开放的。消息序列图描述通信动作1的交互的并发跟踪,其也被称为过程(“运行”)。它们表示单个系统运行的实例有了这个视图,MSC指定了组件网络的属性,这些组件是分布式的,并通过交换消息并发地交互通常,MSC仅被认为然而,我们理解,在下面的一组MSC,而不是作为一个可能不完整的,但仍然是正式的,因此系统的组件的行为精确的规范在开发过程中,MSC通常用于根据交互的特征模式复杂的行为不能很容易地以这种方式指定对于他们来说,我们需要更好的结构化和抽象技术,以便能够处理可理解的足够短的MSC集在本节中,我们将描述一组MSC的含义,这些MSC表示确定性系统的交互实例。我们用一个I/O函数来表示确定性系统组件的行为(事实上,时间抽象f是确定性的就足够了 f:IO将输入历史映射到输出历史。a:Mb:M准备好了吗?d:Y,N c:Y,N图2组件TR示例:简单传输协议我们认为组件TR是一个发射机。它在其输入信道a上接收消息,通过信号ready通知接收器消息s在其输出信道b上可用,并且[1]我们有意避免使用[MSC 95]的作者们作为进程同义词的术语接收器TR发送者BROY24嗯如果接收机准备好接收该消息,则转发该消息,这在信道C上指示在任何情况下,发送者都在信道d上被告知消息是否可以被递送。组件TR的语法接口如图所示二、图3给出了组件TR的两发送者TR接收器发送者TR接收器a:d:b:准备好了吗c:a:b:准备好了吗D:图3TR组件的两个MSC从图中的两个MSC3我们推导出以下关于分量TR的指定方程fTR(m a:m b) =m b:就绪fTR(a:m c:Y x)= b:准备就绪d:Y b:mfTR(x)fTR(a:m c:N x)= b:准备就绪d:N fTR(x)这三个等式捕获了两个MSC中包含的所有信息。MSC到方程的转换完全按照上面介绍的模式示意性地完成。我们简单的解释MSC的方程不工作,事实上,当指定不确定性组件的MSC集。一般来说,在这种情况下,我们会得到不一致的指定方程组,通过简单的翻译技术,我们定义了上述确定性的情况。下面的例子说明了这一点。因此,在非确定性的情况下,我们必须处理函数集或集值函数。a:M:Mc:Mr.图4组件UMBROY25示例:不可靠介质我们指定一个不可靠的传输组件UM。它在信道a上接收到M类型的消息,然后在信道b上转发它们,通过信道c向发送方发送一些确认,或者它可能忘记它们,向发送方发送失败指示消息(fim)组件UM的语法接口在图4中描述。我们提供了图1所示的两种相互作用情况。五、发送者UM接收器发送者UM接收器a:mc:B:a:mc:图5组件UM的两个MSC如果我们简单地将上一节的翻译用于确定性分量,我们得到以下两个fUM方程fUM(a:m x) =k c:ack b:mfUM(x)fUM(a:m x)= k c:fim fUM(x)这些等式显然是矛盾的。由于fUM必须是一个函数,因此它在输入m上的结果:a x必须唯一确定。因此,旨在指定非确定性系统组件的一组MSC不是由流值函数而是由集值函数 f:I(O)这里我们用表达式y <$f(x)表示集值函数f的集合{y <$z:z f(x)}。示例:不可靠的媒介(第2部分)对于我们上面的例子,我们通过这种转换得到指定的公式c:ackc:fim对于非确定性系统,正确性的概念,因为它被引入确定性系统没有多大意义。如果我们定义:“如果I/O函数满足从一组MSC生成的公式,则它是正确的“我们将调用显示混沌行为(其中每个输出对于每个输入都是可能的)的正确函数这通常不是一组MSC所期望的。因此,对于非确定性组件,需要更严格的解释,以便能够适当地限制行为这种解释被称为封闭世界假设。BROY26示例:不可靠介质我们再看一次不可靠媒介的例子我们假设语法接口与前一个例子中的相同然而,这里我们假设一个消息必须发送两次才能被发送或拒绝。这是由图1所示的MSC表达的9.第九条。接收器接收器a:ma:m c:B:a:ma:mc:图9组件UM这两个MSC转化为规范‹›fUM(a:mˆx)c:ackc:fim通过封闭世界假设,除了第一个方程外,通过加强后两个方程,我们得到了更强的规范。c:ack唯一地固定输出历史的集合。这个例子展示了封闭世界假设对于限制一组MSC的意义是MSC的每个集合S定义形式规范QS。给定MSC的两个集合S1和S2,只要我们不使用封闭世界假设,我们就可以通过组合它们的规范来容易地组合它们我们得到Q S1 QQS2因此,MSC的集合可以自由地用作规范单元并被组合。然而,在与封闭世界假设有关的情况下,建议谨慎令CWAs表示对于给定的MSC集合S,通过S上的封闭世界假设获得的规范正如预期的那样,一般来说,我们不具有等式CWAS1<$CWAS2 =CWAS1$S2的有效性这是封闭世界算子的非单调性的简单结果实际上,我们得到以下弱得多的关系式CWAS1-CWAS2-CWAS1CWAS2-CWAS1- CWAS2这一考虑表明,在将封闭世界假设应用于收集要求时,谨慎是明智的在这方面,必须仔细选择方法BROY27I1IO1OK4介绍控制和数据状态到目前为止,我们对MSC进行了以下限制性解释 初始紧凑行为:MSC描述组件的输入和输出动作的完整前缀在观察到这种行为之后,对于所描述的组件,可以假设其再次处于其初始状态然而,总的来说,这种风格的规范不够有表现力。我们不希望MSC只描述可以永远重复的组件行为的初始部分。我们更希望描述某些状态下的行为,这些状态可能会根据特定的I/O模式重复出现。MSC只描述有限的交互历史(只要我们不将重复或递归的概念引入MSC)。因此,对于具有无限或至少无界行为的系统的规范,我们更倾向于要求MSC不仅对于在初始状态中开始的执行序列有效,而且对于在MSC有效的所有那些状态中开始的所有执行序列为了能够表达这一点,我们将控制状态和数据状态的概念引入MSC。我们假设每个组件有一个有限数量的控制状态。数据状态的空间可以是无限的。我们将这些控制状态和关于本地数据状态的状态谓词(断言)作为标签添加到MSC中的线程在本节中,我们将展示如何通过控制和数据状态来丰富MSC,以及如何将它们转换为规范。我们使用控件状态作为线程的标签。对于每个组件,我们引入一个有限的控制状态元素。这些元素中的每一个都表示组件的控制状态数据状态由一组状态属性及其值定义。状态属性是一个数据元素的标识符,该数据元素的类型被给定。属性集及其类型定义了数据状态空间。属性的每个赋值,也就是属性的赋值,定义了一个数据状态变量。令“”、“”表示数据状态。给定一个线程,我们使用数据状态上的谓词P()和Q(,')作为标签,如果合适的话,我们将其放置在线程的开头和结尾,以及输出箭头和输入箭头之间的每个位置这样的谓词很容易表述为状态属性上的断言一般来说,我们使用依赖于全局状态属性的谓词这意味着它们涉及所有相关组件的局部状态为了方便起见,我们假设我们可以从这些给定的全局谓词导出仅引用局部状态的局部谓词P和Q:P(Q:Q(Q,Q ′)图6MSC中的线程,具有关于本地数据状态的BROY28店从语法上讲,我们将断言写为P(k)和Q(k,k ')的谓词逻辑公式,其中包含数据状态的属性作为自由标识符。我们得到由图1所示形式的状态谓词标记的线程的子部分六、通过这种方式,我们可以将线程解释为状态机的一组转换或由控制状态和数据状态谓词索引的流函数的转换方程在下面的部分中给出了沿着这些路线对MSC的解释的正式描述。从方法学的角度来看,我们可以使用以下策略通过对照状态来富集MSC如果我们具有用于组件的一组线程,则我们可以示意性地为MSC组中的组件f的每个线程的开始和结束选择相同的控制状态标识符这意味着MSC的行为模式一遍又一遍地重复a:数据块{empty,read}b:数据图7组件库另一种技术是让MSC的设计者将控制状态名称显式地引入MSC的线程然后,每个MSC以单独选择的控制状态开始,并以单独引入的控制状态结束。 每个控制状态对应于流处理函数f (给定数据状态f)。 具有控制状态的MSC可以由所谓的高级MSC表示,其中MSC由自动机以结构化的方式表示(也参见图12)。示例:简单存储单元存储单元是一个确定性的组件,可以是空的或非空的。如果它是空的,它可以被填充;如果它被填充,它可以被读取或变空。为了填充一个单元格,我们写一个数据值。这个值可以重复读取,直到单元格被清空或覆盖。7.第一次会议。对于组件Store,我们使用一个简单的控件状态空间:{em,ne}并且仅具有一个数据属性n。因此,数据状态空间由函数集给出:{图图8示出了对组件存储单元的行为模式进行建模的MSC我们通过从图1中的MSC生成条件方程来获得以下方程规范第八章:fne(x)= fem(x) BROY29fem(a:d x)= fne(x)'.= a fne(a:读x)= b:d fne(x).= a '.= a fne(a:d x)= fne(x)'.= a 我们假设Store是一个确定性组件,因此我们从MSC生成方程。店neem店emne:n=d店店nene:n=d图8用于组件存储的特别地,每当对于某个输入,对应的输入模式不包含在MSC集合这符合众所周知的规格不足的想法。5MSC和投影的通常,分布式系统必须提供大量完全不相关的服务和各自的交互场景然后,不在单个MSC中示出在分布式系统中交换的与不同服务相关的所有消息的模式,而是将MSC示出的消息限制为与特别感兴趣的系统的使用情况相关的那些消息是有帮助的在这种独立行为的情况下,有三种可能的方法在需求工程中使用一组MSC:(1) 我们通过只研究输入和输出消息的特定子集来集中于规范中的一个特定服务。这样,我们通过MSC指定一个“抽象”行为,然后我们将更复杂的一般a:空的a:da:阅ne:n=dne:n=da:dBROY30将组件的行为转换为抽象的行为。独立的服务然后可以交错地发生。(2) 我们假设某些I/O模式在某些情况下(在某些状态下)是独立的。然后模式也可以交错出现如果不同的模式之间存在依赖关系,并且可能交错出现,我们可以使用状态和不变量的概念来指示何时可能发生某种行为以及模式如何相互作用。这使我们能够表达相互排斥。我们还可以使用额外的MSC来表达MSC之间的数据依赖性为此,我们使用重叠MSC。给定一组MSC,我们可以根据以下想法解释组件的线程: 投影:MSC根据输入和输出的投影来描述行为 松散选择:MSC描述消息的松散选择(自由选择的子历史)。第二种情况更难正式确定。它的含义非常模糊,很可能不适合作为精确的规范方法。然而,即使这种情况也可以被视为具有未正确指定的投影函数的投影的特殊情况6论MSC在交互式分布式系统的开发过程中,有许多方法可以有条不紊地使用MSC例如,MSC可以用来说明系统组件的交互,作为系统分解的一部分此外,MSC有助于在测试或软件检查中表示系统跟踪。6.1MSC和细化要清楚地了解MSC在系统开发中的方法论角色,一种方法是将它们与正式方法联系起来。形式化方法推荐基于细化关系的形式化规范和系统开发步骤(见1993年)。最基本的加细关系是属性加细。在属性细化中,通过向未指定的系统描述添加进一步的属性(需求)以及通过添加进一步的系统部分(丰富签名)来开发系统属性精化的基本数学概念是逻辑蕴涵(相对于逻辑属性)或同构集合包含(相对于签名和模型集合)。这也允许我们用逻辑上等价的组件实现来替换组件对于我们的系统模型,属性细化是一个非常简单的概念。具有由I/O函数ˆ f:I(O)称为组件的属性细化,其行为由I/O函数描述 f:I(O)BROY31我们有:如果对于所有输入流x,f(x)f(x)非正式地表示,我们称组件f是分量f的属性细化,如果对于f可以为输入x生成的每个输入历史x每个输出历史也是输出输入x上f的历史换句话说,f满足f满足的所有要求在许多应用中,我们更好地区分两种MSC: 描述预期行为和相互作用的MSC, MSC描述不需要的行为,对可能由于系统部件的某些不可靠性而发生的故障情况进行建模,因此必须容忍,但应尽可能避免。鉴于这种分类的MSC,我们获得了一个完全不同的观点到一组MSC的细化。只有当其他积极的场景仍然适用于相同的输入模式时,积极的场景才可以在系统开发步骤中被删除在可行的情况下,可以消除消极的情况最后,我们不接受只由消极情景模式组成的行为如果相应的输入模式无限频繁地出现,则肯定模式应该无限频繁地出现我们也可以说,我们需要弱公平的积极模式。6.2MSC在发展过程实际上,在软件开发过程中,有几个阶段证明MSC是一个有用的概念:(1) 在需求工程的早期阶段,与用例相关的MSC帮助获得系统应该提供哪些服务的初步想法(2) 在需求工程的后期阶段,MSC集作为正式规范的一部分(3) 在设计阶段,系统组件之间的交互可以通过MSC来说明。这样,MSC是设计和记录系统分解的关键技术。特别是,MSC在描述设计模式时很有帮助。(4) 在实现阶段,MSC提供测试用例。特别地,系统运行的计算结果以及测试用例的所需行为都可以由MSC表示。所有这些使用MSC的场景都可以通过工具来支持。特别是,对于这些工具的概念,MSC的科学基础可能是决定性的。从方法论的角度来看,我们可以使用一组MSC来描述系统运行的说明性选择,或者所有系统行为的完整规范因此,可以在具有以下意图的系统开发中提供用于组件的网络的行为的规范的MSC集合(a) 松散实例:我们给出了系统运行的松散实例选择,以说明其行为。BROY32(b) 全面的实例:我们给出了一组全面的MSC,表达了网络组件的所有这两种选择对应于在开发过程中使用MSC的不同想法。这两种关于一组MSC的作用的观点之间的差异是相当关键的。第一种情况可能是需求工程中的一个步骤,我们感兴趣的是尽可能通用的系统行为描述(参见第11章)。第二种情况可以看作是设计过程中的一种用法,其中必须选择和描述特定的行为。7结论我们已经表明,有几种合理的方法来理解和解释MSC集在系统开发过程中。我们认为这种解释的自由不一定是MSC的弱点,而是MSC的优点。然而,我们从中得出结论,如果没有明确的指示,应该如何解释它们以及它们在开发过程中扮演的角色,就不应该使用一种方法是通过控制状态、数据状态谓词和附加的正式注释和提示来注释MSC在文献中已经有几个建议,以提供一个精确的语义MSC。然而,他们中的大多数人都将MSC理解为在全局状态视图中描述组合系统的含义这种方法的典型例子见[14]。在那里,MSC被转换为组合系统的全局状态机这样,全局系统轨迹的集合被定义用于给定MSC。同样在[4]中,引入了扩展MSC,给出了全局系统跟踪语义在[11]中,MSC被转换为描述系统组件行为的状态机这个想法与我们的想法非常接近,因为状态机可以被看作是描述I/O函数的一种特定对于我们的方法,使意义的MSC的输入消息和输出消息之间的区别,在MSC的通信事件证明是必不可少的。区分输入和输出导致每个相关组件的因果关系概念这使我们能够以一种方式解释MSC,我们不仅可以通过一组MSC非常松散地描述系统中可能发生的事情,而且还可以非常严格地描述必须发生的事情确认我很高兴地感谢Ingolf Krüger和Radu Grosu对手稿草稿进行了富有启发性的讨论和有益的评论引用[1]H. Ben-Abdallah,S.Leue:消息序列图规范中的时间约束上一篇:FORTE/PSTV'97[2]G. Booch:面向对象设计与应用。Benjamin Cummings,Redwood City,CA,1991年103米。Broy:Compositional Refinement of Interactive Systems Modeled byRelations.Malente 1997400万布罗伊角霍夫曼岛Krger,M Schmidt:A Graphical Description Technique forCommunicationin Software Architectures. 慕尼黑工业大学BROY33Informatik , TUM-I9705 , Februar 1997URL : http://www4.informatik.tu-muenchen.de/reports/TUM-I9705,1997. 1997年亚太软件工程会议和国际计算机科学会议(APSEC'97/ICSC'97)[5]C.A.R.霍尔:沟通顺序进程。Prentice Hall,1985年[6]R. 米尔纳:通信系统的微积分计算机科学讲义92,Springer1980[7]W. Damm,D.Harel:Breathing Life Into Message Sequence Charts。魏茨曼理工学院报告CS 98 -09,1998年4月,1998年7月修订,出现在:FMOODS'99,IFIP TC6/WG6.1第三届国际会议,开放式基于对象的分布式系统的形式方法,意大利佛罗伦萨,1999年2月15-18日[8]G. Berry,G. 英文名:The E STEREL 同步 编程语言:设计,语义,实现。INRIA,研究报告842,1988年[9]I. Jacobsen:面向对象的软件工程。Addison-Wesley,ACM Press 1992[10] G. Kahn : The Semantics of a Simple Language for Parallel Processing. 在 : J.L.Rosenfeld(编辑):74.第七十三章Proc. IFIP Congress 74,Amsterdam:NorthHolland 1974,471-475.摄氏11度。Klein:Anforderungsspezifikation durch Transitionssysteme und Szenarien.升职,Fakultät für Informatik,Technische Universität München,1997年12月[12] I.克鲁格河Grosu,P. Scholz,M.从MSC到Statecharts。载于:DIPES[13] ITU-T。建议Z.120,附录B:消息序列图的代数语义。国际电联电信标准化部门,瑞士日内瓦,1995年。[14] P.B. Ladkin,S.Leue 解释消息流图。Formal Aspects of Computing,7(5):473-509,1995.[15] B. Selic,G.古莱克森P.T. Ward:实时面向对象建模。威利,纽约1994年[16] J. Rumbaugh:面向对象的建模和设计。Prentice Hall,Englewood Cliffs:新泽西州1991[17] 规范和描述语言(SDL),建议Z.100。技术报告,CCITT,1988年[18] G. Booch,J. Rumbaugh,I. Jacobson:面向对象开发的统一建模语言,1.0版,RATIONAL莱欣诺®软件合作公司
下载后可阅读完整内容,剩余1页未读,立即下载
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![application/x-zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- 京瓷TASKalfa系列维修手册:安全与操作指南
- 小波变换在视频压缩中的应用
- Microsoft OfficeXP详解:WordXP、ExcelXP和PowerPointXP
- 雀巢在线媒介投放策划:门户网站与广告效果分析
- 用友NC-V56供应链功能升级详解(84页)
- 计算机病毒与防御策略探索
- 企业网NAT技术实践:2022年部署互联网出口策略
- 软件测试面试必备:概念、原则与常见问题解析
- 2022年Windows IIS服务器内外网配置详解与Serv-U FTP服务器安装
- 中国联通:企业级ICT转型与创新实践
- C#图形图像编程深入解析:GDI+与多媒体应用
- Xilinx AXI Interconnect v2.1用户指南
- DIY编程电缆全攻略:接口类型与自制指南
- 电脑维护与硬盘数据恢复指南
- 计算机网络技术专业剖析:人才培养与改革
- 量化多因子指数增强策略:微观视角的实证分析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)