计算机系统的校验系统的制作方法

文档序号:6602640阅读:326来源:国知局
专利名称:计算机系统的校验系统的制作方法
计算机系统、例如一通信网络的转接系统包含独立的检验系统,又称为检验逻辑程序或审查程序,它并行地或在需要时对转接技术数据等应用有关数据执行功能扩展的一致性检验。所谓的审查程序应能在系统故障或限制应用功能(例如转接功能)之前查出不一致性并予以排除或修正。这里所述的数据不一致性(Dateninkonsistenzen)例如可以根据中断故障或过载情况下的通信损失而产生。
下面将从一种检验转接技术数据用的检验逻辑说明本发明的出发点。
每一端口类型(例如用户、中断线和试验装置)都是以软件方式由一单独的数据类型(数据模式)来定义的,在此一个数据类型的数据结构总体(瞬态值、变量)以下也称为数据库。每个端口的状态说明数据每次均存入该数据类型的一瞬态数据结构,其在以下也称为“位报告组”,因为端口的状态借助于瞬态数据结构表示为一种二进制位的组合形式(在高级语言(Chill)中,这些位报告组称为幂集(“POWERSET”))。因此一种接口类型(端口类型)因而其所属数据类型的改变或扩展总是会对所述检验逻辑产生影响。
本发明的目的在于提供一种检验系统,它可独立地工作,不受要检验的数据库的改变或扩展的影响。
本发明的目的是这样实现的,在计算机系统的检验系统中,检验代码包括一转换代码,它将来自至少一个数据结构的实际数据值传输到该检验系统的一个非专用的数据结构中;该检验代码包含一标准检验码,它从该非专用的数据结构中取出实际的数据值,根据该数据值求出实际产生的数据组合,并且按照所述的检验控制表确定要实施的操作(Aktion)。
应用本发明可实现将计算机应用系统的检验软件与数据库解耦。这样当检验逻辑由于新的需求必须改变时,该检验逻辑的原来的代码可保持不变,由于这种去耦合处理方法的应用,本发明有助于检验功能的标准化(非一致化、有条件的一致性、一致性及其组合)。
本发明的一个实施例体现在权利要求2的内容中,这个实施例的优点在于所述检验控制表易于扩展,它提供较高的透明度,较好的文献和简化的管理(例如在插入码时)。此外,标准检验码可作为某一类检验码而实现。
下面以按本发明的检验逻辑产生的代码例进一步说明本发明的实施例。
利用本发明的一个两维表格实现一应用系统的数据库(例如转接技术数据库)和检验逻辑/执行码的解耦,该表格通过一包含所有检验样本的非专用数据结构被选址。该表格的其中一维是由包含在一个可靠的数据结构中的检验样本构成的,使在该一维已选址的表中的编号(Nummer)与在非专用数据结构中的位置相对应,该表格的另一维由一要检验的目标构成,这个目标(Objekte)可以但不必与检验样本相同,它定义为字符串,在此该字符本身确定了要执行的检验功能(例如“i”无效的,“O”其中之一,“数字”有条件的一致性)。
<pre listing-type="program-listing"><![CDATA[/*数据库的原来模式*/  SYNMODE PORTSTATE_MOD = STRUCT(BUSY_INC BOOL,   BUSY_OUT BOOL,   WAY SET (X_WAY,Y_WAY,  FREE_WAY));  DCL PORTSTATE PORTSTATE_MOD;/*为建立一个非专用的检验逻辑,定义一位报告组*/  SYNMODE PORTSTATE_N = SET(DUMMY,B_INC,B_OUT,X_WAY,  Y_WAY,   FR_WAY)./*根据该非专用位报告组现在实现从PORSTATE→ACTUAL_PORTSTATE的转换*/SYNMODE PORTSTATE_PWS = POWERSET(PORTSTATE_N);DCL ACTUAL_PORTSTATE PORTSTATE_PWS;SYNMODE MAX = NUM (FR_WAY);DCL LISTE ARRAY (0MAX) PORTSTATE_N<>PROTECT<>INIT=(  (0)DUMMY,  (1)B_INC,  (2)B_OUT,  (3)X_WAY,  (4)Y_WAY,  (5)FR_WAY);ACTUAL_PORTSTATE=   PORTSTATE_PWS(LISTE(NUM(PORTSTATE.BUSY INC)*1))/*1*/ OR PORTSTATE_PWS(LISTE(NUM(PORTSTATE.BUSY_OUT)*2))/*2*/ OR PORTSTATE_PWS(LISTE(NUM(PORTSTATE.WAY)+2))/*3,4,5*/  /*在“ACTUAL_PORTSTATE”的存储映象中,一个逻辑“1”只具有同样的比特位置,它与应用程序的表示状态的数据单元相对应,于是确定了这个用户的状态,例如BUSY_INC和Y_WAY*/  /*这里是转换的终点,以此实现了该检验逻辑的专用部分。
*/  /*接着定义非专用应用的两维检验控制表“CHECKTABLE”*/<paragraph id="d10"></paragraph>/*接着是一小的检验实例的检验逻辑代码*/DO WHILE/*并非所有位在端口状态被检验*/  ACTUAL_PORTSTATE≠(∷)  MASTER=MIN(ACTUAL_PORTSTATE);  /*取出在幂集中包含的最小的设定单元,并利用它实现检验控制表纵向上的选址*/  */MASTER只采用由该用户真正设定的值*/  OTHER=NOT(∷);  */其他包含幂集的所有比特位*/  DO WHILE/*这个(MASTER)位没有相对其他各比特位   被校验*/   OTHER≠(∷);  SLAVE=MIN(OTHER)  /*SLAVE采用所有可能的值*/  CASE CHECK_TABLE(MASTER,(NUM(SLAVE)*2)OF  */将“SLAVE”与2相乘的作用是使在两维表格中只对同样的字符选址,其在字符串内部起控制符作用。其他字符的作用只是增加检验码内该表格的易读性。为此有必要在数据结构“LISTE”中引入“DUNMY”*/  (i)/*这是一种无数组合*/  IF SLAVE IN ACTUAL_PORTSTATE  /*只有当用户实际将SLAVE置位时,我们具有一个   无效的MASTER_SLAVE组合*/  /*例如,如果X_WAY和Y_WAY共同存在*/THEN   /*校正错误*/   FI;  (o)/*这些状态之一是强制性的*/  IF NOT(SLAVE IN ACTUAL PORTSTATE  THEN   /*校正错误*/  FI;(1)/*这是仅用于收费制用户的一种无效组合*/   IF SLAVE IN ACTUAL PORTSTATE  AND PORT_TYPE=ORDINARY_SUBSCRIBER   THEN   /*校正错误*/  FI;ESAC;OTHER=OTHER-(SLAVE);/*转入下一随动项*/OD;ACTUAL PORTSTATE=ACTUAL PORTSTATE-(MASTER)/*转入下一实际状态*/OD;]]></pre>下面将进一步叙述上述Chill语言的实施例。为此,首先说明最重要的在本实施例中所使用的Chill高级语言结构。
术语“SET”涉及一种只能取一有限量的常量的模式,这些常数表示在定义模式下具有给定符号常数的存储映象。在本实施例中,通过“PORTSTATE_N”定义一个设定模式,它包含符号常数DUMMY,B_INC,B_OUT,X_WAY,Y_WAY和FR_WAY。符号常数的相应的存储值分别为DUMMY为“0”,B_INC为“1”,B_OUT为“2”,X_WAY为“3”,Y_WAY为“4”,和FR_WAY为“5”。
CHILL语言中的术语“SYNMODE”或“SYN”定义一种数据模式,它与标准化的数据模式如“STRUCT”,“SET”或“POWERSET”不同,而以非标准化形式包含在Chill中。在术语“SYNMODE”之后跟有要定义的数据模式的名称,如在本实施例中跟有名称“PORTSTATE”或“PORTSTATE_N”。
采用语言结构“POWERSET”可定义一种数据模式,它作为其他数据模式的基本模式,例如SET数据模式。所有基于基本模式的混合可以利用“POWERSET”恢复。数据模式“POWERSET”的一个变量可通过一比特位串表示在物理级上,其长度对应于基本模式(如SET模式)的元件数。
为了说明用语言结构“POWERSET”定义的数据模式,现以本实施例中的数据模式“PORTSTATE_PWS”说明。这里以数据模式“PORTSTATE_N”作为基本模式,它包括符号常数“DUMMY”,“B_INC”,“B_OUT”,“X_WAY”,“Y_WAY”和“FR_WAY”。每个这种符号常数布置在比特位串内的位于存储级上的一个位单元上,在这个位单元上形成存储的POWERSET模式。在本实施例中,POWERSETS“PORTSTATE_PWS”的位串也包含五个位单元。这些有关的数值总是包括25=32个不同的值。
作为一例可认为,数据模式“PORTSTATE_MOD”的变量“PORTSTATE”只对于数据单元“BUSY_INC”和“X_WAY”取逻辑“1”。在这种情况下,变量“ACTUAL_PORTSTATE”将由比特位串(0、0、1、0、1)重新提供到存储页面上,也就是说,“ACTUAL_PORTSTATE”包含该混合体{B_INC,X_WAY}。使用“POWERSET”型的数据模式,现在能执行不同的SET操作,例如在集合运转中通常采用的“AND”,“OR”,“IN”,“NOT”,“一”等逻辑操作。此外还可将各种标准函数用到这些数据模式中,例如函数“MIN(..)”。这种MIN函数计算出基本模式的最低元素的基本模式值,它用在比特位串中的最低位单元表示。在前述实施例中,假如该最低位单元的元素是常数“B_INC”,则它的值用“1”表示。而该元素是“X_WAY”时,其值用“3”表示。
下面根据迄今为止的叙述说明编码实例。为了从检验逻辑接收当前的接口状态数据,首先定义一个非专用的位报告组(Bitleiste),即SET模式“PORTSTATE_N”。根据这个基本的数据模式进一步定义POWER_SET模式为“PORTSTATE_PWS”,由此得到一瞬态变量,即变量“ACTUAL_PORTSTATE”。这个变量“ACTUAL_PORTSTATE”用于接收在“PORTSTATE”内所含的用户数据。
这个检验逻辑编码的工作过程如下在一个较大的“DO WHILE”循环中,只要POWER_SET变量“ACTUAL_PORTSTATE”不为空,检验控制表执行纵向编址。如果我们仍从上述例中的PORTSTATE(接口状态)数据出发,其中元素“B_INC”和“X_WAY”取逻辑值为“1”,于是函数“MASTER”首先发出“B_INC”的设定值(相应于存储值“1”)。
在用变量“MASTER”对两维检验控制表中的一维编址时,采用变量“SLAVE”实现对第二维的编址。
在一“CASE”语句中,这种地址域可在检验控制表“CHECK_TABLE”中读取,并且根据其内容执行相应的处理。
关于所述检验控制表,其中一维本身是位报告组,另一维是一字符阵列,即一个字符串,在字符串中的每个正对的位置对应该位报告组的一比特绝对值。这两个数组的横向交点包含控制字符,它通过上述提到的“CASE”语句启动一种与接口类型有关的检验逻辑。专门的检验以相应的专门字符列于检验控制表中。
在编码举例中,建立检验控制表的第一交叉点,其为组合(B_INC)和第一字符序列的位置4(即“1”)。这个CASE语句显示“(1)”,则应执行一与端口类型有关的检验。
在编码举例中,在数据结构ACTUAL_PORTSTATE中位B_OUT不置位,也就是说这里不存在不一致性(Inkonsistenz)。也可以分支到下一个交叉点(B_INC,X_WAY)。
非专用的数据结构当然能够接收多种专用数据类型的数据元素的数据值,而不只是接收“端口”这种类型的数据值。
不过值得推荐的有益方案是,对每个要检验的目标类型(例如连接类型“用户”)具有一独立的非专用的数据结构,这是因为如果采用一个总的数据结构,将需要一个巨大的表格。大量的状态只对很少量的连接类型有重要意义。由于由此产生的条件冗余度,将造成较大的存储空间的损失。
本发明可进一步应用于一转接系统的与线路特性相关的数据的非一致性检验。一方面本发明能阻止不允许的线路特性组合的输入,另一方面又能将收到的线路特性的错误组合检验出来并且消除。
采用本发明的检验逻辑,可实现下列良好效果这种检验逻辑易于管理,因为该检验逻辑的改变(状态的组合)是通过置位/恢复某字符实现的。这可通过一插入码容易地加以校正。
该检验逻辑的代码能够通过各个版本几乎毫无变化地保存。其中唯一的例外是形成检验表;必要时这些表必须添加控制字符(例如“i”)。
这种检验逻辑通用性强(即标准检验码作为样板(模板)使用,并且能相应每种端口类型变换,其改变量很小),因此只需很小的修改就能应用于任一端口类型。而且这种检验逻辑与端口类型的数据库的数据排列无关。
由于在文献说明书中可以把检验控制表以1∶1的比例复制,所以该文献总是相应于编程技术的实现。
当有缺漏时,该检验逻辑易于插入补救,只需改变表格中的一个字符即可。
单个文本串的解释可通过与一空串的比较实现动态优化。也就是说,当仅在文本串的开头定义了控制位时(其余的字符是“111…”),则其通过与空串(=“111…”)比较而发现,于是停止对该文本串的检验。
权利要求
1.一种计算机系统的检验系统,执行对应用程序有关的数据的一致性检验,并且在必要时进行排除或修正操作,包括a)一个检验控制表,它根据存在于该表内的每种可能的数据组合的控制字符分配一种相应的操作,当出现某确定的数据组合时,能引起该操作的动作,b)一检验码,它从一应用程序的至少一个数据结构中读取出实际的数据值,并根据该数据值判断出实际产生的数据组合,借助于上述检验控制表确定每次要执行的操作,其特征在于,c)该检验码包括一转换码,它将取自至少一种数据结构的该实际数据值传送到该检验系统的非专用数据结构中,d)该检验码包括一标准检验码,它从该非专用的数据结构中取出实际的数据值,根据该数据值判断出实际出现的数据组合,并借助于所述的检验控制表确定每次要执行的操作。
2.根据权利要求1所述的计算机系统的检验系统,其特征在于,该标准检验码通过所述非专用的数据结构对检验控制表编址,为此对该非专用数据结构内的每一数据单元分配该检验控制表的第一维空间中的一个确定的地址。
全文摘要
一计算机系统的检验系统应该不受要检验的数据库变化或扩展的影响。根据本发明,通过采用一个检验控制表使检验逻辑/执行码和数据库相互解耦,这个检验控制表通过一包含所有检验样本的非专用数据结构进行编址。
文档编号G06F11/36GK1136183SQ9610128
公开日1996年11月20日 申请日期1996年2月16日 优先权日1995年2月16日
发明者P·迪克拉克 申请人:西门子公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1