admin 管理员组文章数量: 1184232
2024年3月9日发(作者:margin四个值顺序)
计算机与通信1998年第9期计算机与邮电电信系统的标准化语言———SDL○罗摘要和描述不产生歧义。本文将向读者展示SDL的基本概念及用其开发系统的快速和强大。关键词SDL图形表示法实时并行其在设计大型实时通信系统时更为突出。在以下的介绍中,我们将以其图形表示法为主。松SDL(规格和描述语言)是ITU-T在建议Z.100中推荐的一种标准化语言,其目的是使电信系统的功能规格一、SDL语言简介1972年,ITU-T准备开发一种全新的系统分析语言,叫做SDL(SpecificationandDescriptionLanguage,规格和描述语言)。推荐SDL的目的,是为了提供一种能确切地定义电信系统功能规格及对其行为进行描述的语言;要求SDL在分析或模拟系统的时候,做到无歧义。SDL的第一个版本于1976年完成,此后又经历了1980、1984、1988这三个升级版本,最新的修改完成于1993年,就是现在的建议Z.100。为了易于扩展,SDL现已引入了面向对象(OOP)的概念,这使得今后的开发工作不会影响前期的成果,而只需加以补充即可。SDL语言不同于一般的程序设计语言,它主要面向实时、交互、分布式的系统,其应用包括:交换系统中的呼叫处理过程(例如呼叫处理、电话信令、计费);一般电信系统中的维护和故障处理(例如告警、自动故障排除、例行测试);系统控制(例如过载控制、更改或扩充过程);操作和维护功能、网络管理;数据通信协议;电信业务。当然,SDL语言的应用不只限于电信领域,它甚至可以用来开发游戏软件;它也不只限于系统的开发,同样可以进行细节描述。SDL语言有别于其他语言的一个最大的特点,是它可以用画图的方式来进行程序的设计,即图形表示法(GPM),这是其他语言所不具备的。不同于现今流行的一些Visual系列开发工具是在界面上“所见即所得”,SDL真正做到了“程序图形化”,其程序就是一张张画满图形的“纸”。当然,SDL也有其文本表示法,且二者可以相互转换;除此之外,SDL还允许嵌入高级语言以及转换为高级语言,如C++。以上的特点使得用SDL来开发系统可以快捷、方便、准确和高效,尤二、SDL语言的理论模型SDL语言的核心及基本理论模型叫做“有限状态自动机”(FSM)。SDL允许设计者根据系统的特性来划分系统的“状态”,在不同的“状态”下发生不同的“事件”会有不同的“行为”,这就是所谓的“状态自动机”。由于各“状态机”均实时、并行地运行,且相互独立,故称之为“自动”。在SDL中,“事件”是个很重要的概念,整个系统就是由“事件”来驱动的;一般地,“事件”在SDL中就是“信号”。一个“信号”驱动“状态”,并产生“行为”的图例见图1。一个SDL系统是由以下四个要素组成的:功能结构、通信、行为、数据,下面将分别加以详细介绍。1.功能结构SDL遵从结构化和“自顶向下”的设计原则。在SDL系统中,各种功能结构层层嵌套;这些结构从高级到低级依次为:系统※功能块※进程※过程。其中,功能块还可细分为子结构,进程也可分为若干个服务。一个典型的SDL系统应具有如图2所示的树形架构。SDL系统的描述总是从系统的角度开始的,在系统之外的部分称为环境,系统和环境之间由边界来确定。系统和功图1“状态机”图形表示法12
计算机与邮电图2SDL系统的树形结构图能块的描述称为“静态描述”,而进程以下的结构则称为“动态描述”,因为后者才包括了行为的概念。2.通信在SDL中没有全局变量,各功能结构之间通过信号来相互通信。系统和环境之间、功能块之间的信号传递路径称为“信道”,而进程之间的信号则是在“信号路由”上传递的。各信号的发送和接收是异步同时进行的,也就是说,发送信号的进程不必得到接收进程的确认就可以发送下一个信号。图3是一个功能块内的通信情况的描述图例。图3进程之间通信图例图中,R1和R5是连接外部信道的信号路由,R2、R3、R4则是内部路由;每个进程都可能有若干个实例,如(1,5)表示系统创建时就存在一个此进程实例,而最多可有5个实例同时存在;虚线表示创建一个进程,也描述了两个进程之间的“父子”关系。每个进程都可以有若干个输入和输出的“信号路由”连接到其他的进程,但其输入端口只有一个。进程对每个输入信号的消耗称为“跃迁”,消耗的顺序按照“先进先出”(FIFO)的排队原则。若有两个信号同时到达,则随机处理。在“服务”一级的结构中,可以设置信号的优先级,优先级高的可以抢先被消耗。此外,进程还可以对输入信号加以保存和延续。3.行为SDL系统的动态行为在进程中描述,进程可以在系统开始时就被自动创建,也可以在运行时动态地建立或消亡。每个进程实例相互独立,并行处理,并由唯一的“进程标志符”(PID)来区分。每个进程实际上就是一个“有限状态自动机”,只要其输入端口有信号,就处于不停的跃迁之中,直至消计算机与通信1998年第9期亡。在进程中,可以执行以下动作:①任务(task):主要用于进行赋值,也可嵌入C代码和非正式文本。见图4。②创建(create):用于创建一个图4任务图例“子孙”进程,并赋予其PID值。见图5。Game—Handle(0,5)图5创建图例③调用(call):用于对一个过程进行调用。见图6。Add—User(head,a)图6调用图例④输出(output):即输出信号,见图1。⑤判定(decision):用于对变量的分支加以控制。见图7。以上的一些动作构成了SDL的基本流程,除此之外,还有如输入、保存、汇接、停止、返回等行为,在此不一一赘述。4.数据同大多数语言一样,SDL也有其基本的数据类型,如整数、实数、布尔、自然数等等;但同时也有着特殊的类型,如PID,PID值用于在系统内唯一地确定一个进程。在每个进程中,都有4个隐含的PID类型的变量,分别为Parent、Off-spring、Sender、Self,正因为有了这些变量,使得用户可以轻易地在各进程之间发送信号而不会混乱,也不必考虑SDL本身是如何分配这些变量值的。除PID之外,还有一个特殊的类型,就是定时器(Timer),它包括时刻(Time)和持续时间(Duration)两个要素,用于限制系统的某些行为的合法时限。对于一些复杂的数据结构,SDL有着一种与众不同的处理机制,称为ADT(抽象数据类型)。所谓ADT,并不是某个确定的数据结构,它只规定了一组数值、一些操作和一套等式来确定一个数据结构,这种机制使得SDL的数据类型可以很容易地映射到其他高级语言中去,也使得SDL对复杂数据类型的设计更加灵活和简练。一个典型的ADT数据类型定义如下:NEWTYPEBoolean/*布尔类型定义*/LITERALSTrue,False;/*此类型的取值范围*/OPERATORS/*可以对此类型进行的操作*/″NOT″:Boolean->Bo-olean;图7判定图例″=″:Boolean,Boole-13
计算机与通信1998年第9期技术讲座本栏目由微软(中国)有限公司协办WindowsNTServer4.0上的服务系统○王立丰目前流行的网络操作系统通常是WindowsNTServer4.0和文件服务器,前者是基于多任务技术的操作系统,后者则是以DOS为起点的操作系统,通常被人们称为“文件服务器”。文件服务器在网络发展的初期起到了很大的作用,因为一个昂贵的硬盘被几台计算机公用,的确是资源的合理使用。那个时候,在微机网络环境下,共享硬盘等设备,是许多用户追求的目标。然而,当用户的信息级数增加,计算机和网络设备价格不断降低的时候,运算速度和处理效率立即成为用户的首选条件。这导致了今天的网络运算方式的到来。本文就网络操作系统的问题进行一下讨论。复杂而被不断增加的用户使用的应用系统到来的时候,它那种基于DOS的思想的程序处理已经不能够承担这样的任务了。因为随着用户数目的增多,为每个用户服务的程序也增加,每个程序都是独立运行的大块文件,占据了相当数量的内存和磁盘空间,而且导致程序调度的困难,给用户的感觉是速度极其慢。正如下面的例子:在一个银行中,如果是文件服务器的工作方式,用户将进行下面的取款工作:用户填写取款单,然后交给服务员,服务员确将键盘递到用户面前,让用户输入银行帐户信息,当然用户需要懂得银行业务,否则他不能操作,用户填写了单据后,并亲自打印,将打印结果给服务员,服务员只是将单据放到办公桌里,用户再告诉他要取的钱数,服务员又将许多单据给用户,让用户填写,实际上用户在进行银行的业务工作,用户做完工作后,服务员仍然是简单地将单据保存,并将人民币给用户,用户取了自己的钱后,服务员才将钱柜放一、文件服务器文件服务器自然以共享磁盘文件为主要目的。对于一般的数据传递来说已经够用了。但是当数据库系统和其他an->Boolean;......AXIOMS/*一组该类型必须满足的等式(公理)*/为定购及投标提供明确的功能规格;易于扩展;能够支持若干种系统规格和设计的方法,而不需设定其中某一种。在以上的介绍中,我们看到,SDL正是这样的一种语言。限于篇幅,不能将SDL的所有特性一一加以说明,但其强大的设计能力已可见一斑。SDL结构化、图形化、抽象化的分析方式,使得制定庞大而复杂的系统变得十分容易。有许多公司一直在致力于SDL软件开发平台的设计,它们的产品始终跟踪着ITU-T的协议进展,现已日趋成熟,如瑞典TeleLOGIC公司的SDT/PC/WorkStation、法国VER-ILOG公司的ObjectGEODE等,这使得SDL系统的开发更加快速。目前我国有的电信企业还未意识到SDL语言的先进和便捷,而国外的一些大型公司却早已用SDL平台成功地开发出自己的系统了。有些领域如信令协议,ITU-T已推荐了SDL的框架。如果弃简求繁,用C语言来实现,将大大浪费时间和效率;而采用SDL,将会收到事半功倍的效果。″NOT″(True)=False;″NOT″(Flase)=True;″=″(True,True)==True;″=″(True,False)==False;......ENDNEWTYPEBoolean;/*定义结束*/从形式上看,ADT似乎有些类似于C++中的“类”。的确,二者有许多共性,这也使得ADT可以方便地嵌入C++中的类而不用做什么修改;但它们也不全然相同,如ADT对操作数(Operators)的限制就不像C++中对对象的“行为”那么严格,它更像是函数,而且可以随时添加。另外,C++中没有AXIOMS的机制,等等。三、SDL语言的现状ITU-T定义SDL语言的目标,是要提供这样一种语言:易于学习、使用和解释;14
版权声明:本文标题:电信系统的标准化语言——SDL 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1709971135a551709.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论