CN1204409A - 应用程序和文件生成程序系统和方法 - Google Patents

应用程序和文件生成程序系统和方法 Download PDF

Info

Publication number
CN1204409A
CN1204409A CN 96198915 CN96198915A CN1204409A CN 1204409 A CN1204409 A CN 1204409A CN 96198915 CN96198915 CN 96198915 CN 96198915 A CN96198915 A CN 96198915A CN 1204409 A CN1204409 A CN 1204409A
Authority
CN
China
Prior art keywords
program
field
data
rule
definition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN 96198915
Other languages
English (en)
Inventor
布赖恩·T·斯塔克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ALTHIRL GENEKERS Inc
Original Assignee
ALTHIRL GENEKERS Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ALTHIRL GENEKERS Inc filed Critical ALTHIRL GENEKERS Inc
Priority to CN 96198915 priority Critical patent/CN1204409A/zh
Publication of CN1204409A publication Critical patent/CN1204409A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

一种用于实现应用程序的自动生成的编程系统(30)包括一个引导编辑器(32),用于将程序(76)、数据(74)和字段定义(78)建立成多个功能描述原子序列(38),每一序列描述一个唯一的特征,这样多个帧分别地描述多个输入事件元件(14),其中每一帧来自每一功能描述序列包括零或更多功能描述原子序列;一个规则处理器(66),包括一个有条件地描述一预定应用程序的结构和操作的程序规则库(62),该规则处理器自主地处理程序规则库(62),以与多个功能描述原子序列一致(38),通常顺序地在多个帧上进行,有条件地将多个功能描述原子序列(38)与预定应用程序的结构和操作统一;一个语法处理器(22),包括一个定义预定程序设计语言的语法的语法规则库(128),自主地应用所述预定程序设计语言的语法统一多个功能描述原子序列(38),以提供预定应用程序的结构和运行的编码表示(24)。

Description

应用程序和文件生成 程序系统和方法
本发明一般地涉及一种自动程序和文件生成程序系统,特别地,涉及一种多级的、基于规则的系统,用于管理一程序和文件编制说明(specifications)的并行开发,其中程序和文件编制说明然后被处理成程序码,和直接对应于用户文件编制。
随着应用程序复杂性的增加,伴随着对所有应用程序操作级上不断增长的不同的和特殊的功能性需求,各种被称为程序综合器、应用程序生成器和自生成系统的产品的自动程序生成,是所特别期望的。随着应用程序综合性的增加,以宽的和高度可配置的功能性来设计、实现、维护和文件编制(document)应用程序的能力则下降。并且,训练和文件编制必须处理这种应用程序所包括的各种选择。
为了减轻不必要的复杂性和存在的配置(configuration)选择,同时避免专用应用程序的全部重新设计、实现、维护和文件编制的必要性,已经提出了各种程序生成器。或许程序生成器最普遍的形式就是通常与数据库管理系统一起应用或者作为数据库管理系统一部分的格式和报告生成器外壳(formand report generator shell)。这些系统通过对存储在一基础的、预定义的数据库管理系统中的字段位置、数据类型和格式以及与数据的关系的识别,合理地允许全屏幕和报告设计(layout)定义。生成一操作程序,该程序通过基于在格式、报告和数据库字段之间限定的对应关系的报告,允许通过格式和数据输出进行用户数据交换。引入数据字典这个概念以部分地在定义数据库字段和格式和报告字段之间来支持关系对应的内部文件编制。这种系统很少提供对应用程序的设计的额外的支持,对于处理传输到或来自数据库的数据的功能逻辑的支持,如果有的话,也非常少,并且其本质上没有生成程序的自动文件编制。
为了较大程度地支持内部功能(functional)能力,已经提出了基于预先建立程序部分库的程序综合器。美国专利No.4,949,253中描述了一种基于库的程序综合器。所描述的程序生成器从定义的数据来操作,以从一个部分原型库中选择一个程序部分原型(program part phototype)的最佳匹配。由库存储的每一程序部分原型是预先定义的,并作为库的部分(part)静态保持,直到程序生成期间选择为止。程序部分原型被选择后,通过宏指令(macro)置换来处理,以将部分原型的接口同一预先处理的部分原型(phototype)合并,并且进一步地,将部分原型应用的变量名与预先处理的部分原型的变量名统一。
然而,在功能项中,每一部分原型的性能本质上是在最初建立时固定在部分原型库中的。该专利没有说明在相反于有用接口定义的功能基础上,如何选择部分原型。在缺少这种选择能力的情况下,对应于将要生成的全部程序的特定功能,各种部分原型的功能性必须限定到很窄,以确保程序固有实现的逻辑是从部分原型接口的定义产生的。
美国专利No.5,315,710描述了另一种程序综合系统。这个系统也按照一个库操作,这个库在该专利中称作程序部分数据库。此系统用于调解(mediating)程序部分的自动生成,在接口程序部分时提供了一个更大的自由度,其中所述调解程序部分被加工处理以便特别地耦合否则就是不同定义的程序部分。从而,当两个表面上不兼容的程序部分的接口必须在一起时,则从一程序转换规则库找到计算规则可以用来将数据单元、库或类型转换成另一个这样的表示。一数据类型转换规则可以用来将数据的数据类型从一种类型转换成另一种。通过将对于每一个变量的这些转换合并起来,就组成了调解程序,其中数据通过这些变量在程序部分之间通行。这种调解程序的两个接口自然地由要被连接程序部分的接口定义。这样,程序部分和调解程序可以被装配进一个更大的功能单元作为更大的应用程序的部分或用于完成更大的应用程序。然而,生成的调解程序在其改变程序部分的操作功能能力时被固有地受到限制。因此,程序部分可用的选择必须很好地预定义,且与生成的应用程序最终想要得到的功能性高度一致。
美国专利No.5,038,296中描述了一种具有功能性较大的自动程序综合器系统。在这个系统中,系统说明和程序综合规则集通过在由变量表示的数据上执行操作的描述功能性地定义了一个目标程序。系统说明和程序综合规则通过功能定义来识别这些变量。程序综合器处理这些定义,将所述的变量功能性地分解成特定的变量名。存在的变量由其被指定的功能属性来识别。在必须为一组特定的属性集定义一个变量时,生成一个内插程序来定义带有要求属性的该必须的变量。因为内插程序显然是用与生成目标程序相同的程序生成装置来生成的,当必须且适当地组合其他预先存在的变量时,内插程序显然被运行,以获得由新生成的变量功能地存储的变量值。也就是说,程序生成装置的功能是将专用的操作结合于本质上单独的(singular)变量。因此,由带有程序综合器规则定义的功能子步骤的系统说明提供的目标程序的功能轮廓(outline)可以合理地定义一个完全的目标程序。
然而,在美国专利No.5,038,296中描述的程序综合器固有地要求了在系统说明和预先存在的程序综合规则之间的非常高的一致性,以生成一目标程序。所公开的系统没有提供在程序综合器运行期间,用于生成或维持这样一种一致或保证有效应用的可识别的方法或结构。此外,公开的系统无法识别任何用于支持系统说明的开发的结构,肯定也无法公开任何用于生成适合于特别生成的目标程序的文件编制的结构。
为了提高程序生成器的有用性能,在其上装入了各种形式的专家系统。这种专家系统包括有限状态自动机(automata)、正向和反向链接的基于规则的推理机(inference engines)、模糊逻辑推理系统和上下文敏感或引导的编辑器系统。虽然应用这种专家系统可以极大地提高一个程序生成器系统的视在功能,这种专家系统已经典型地应用于一个应用程序处理环境,该环境基于预先定义的规则,限制了操作系统对于专家系统的特定数据输入和作出的请求的可理解的复杂性。于是,这些专家系统展示了一个应用程序在其中以一种已构造好的形式出现的环境。没有产生可编译或可解释的应用程序码。因此,这种环境很难用来设计和维护,并且对于生成专用于一特定的工作应用程序的文件编制几乎没有采取任何措施。
在更传统的程序生成器中,专家系统也被用作为组成部分(component)。然而,在大多数例子中,专家系统对更完全或更广泛地启动程序部分原型的选择用于应用程序的构造,或推理合适的对于接口程序部分是必须的调解变换,在功能上是有限的。结果,现有技术中专家系统在程序生成器系统中的应用并没有预先使综合的应用程序生成器开发。
因此,本发明的一个目的是提供功能上以应用程序为目标(functionallytargeted)的独立的综合设计、生成维护和文件编制。
在本发明中,这一目的由一个用于应用程序的自动生成编程(programmed)系统来实现。该编程系统包括一个用于从多个输入事件元素建立程序数据和字段定义的引导图像编辑器;一个序列生成器,连接到引导编辑器,自主地(autonomously)将程序、数据和字段定义处理成多个功能描述原子序列,每一序列描述一个唯一的特征,这样多个帧(frame)分别地描述多个输入事件元素,其中每一帧包括来自每一功能描述原子序列中的零或更多功能描述原子序列;一个规则处理器,包括一个有条件地描述一预定应用程序的结构和操作的程序规则库,该规则处理器自主地处理程序规则库,与多个功能描述原子序列一致,通常顺序地进行于多个帧,有条件地将多个功能描述的原子序列与预定应用程序的结构和操作统一;一个语法处理器,包括一个定义预定程序设计语言的语法的语法规则库,自主地应用所述预定程序设计语言的语法统一多个功能描述原子序列(functionally descriptive atomicsequence),以提供符合预定程序设计语言的语法的预定应用程序的结构和运行的编码表示。
本发明的一个优点是通过引导图像编辑器将一组描述输入事件元素的序列集合在一起。假设输入事件元素合理地对应于预定应用程序的预期功能,规则生成器通过有条件地应用程序序列的内容,以便自主地用程序规则统一序列,以自动生成实质上由输入事件元素定义的并与程序规则相符合的应用程序。
本发明的另一个优点是语法生成器用于自主生成全部符合预定程序设计语言定义的可编译或可解释的码。
本发明的进一步的优点是该引导图像编辑器用于将一系列或一个组或更多输入事件元素具体化。结果目标可以删截、复制以及存储起来以备随后使用。由于是一个图像而不仅仅是一个引用(reference)被目标俘获,所以没有提供全部的承袭特征。而是在图像内维护了内部引用,并且在将目标粘贴(pasting)进另一个目标或更大的图像中时,这些内部引用按照一致性规则被使用。从而提供了再应用和独立修正的能力。
本发明的又一优点是引导图像编辑器提供了实质上与其输入一致的输入事件元素的存在的事物(existence)、目的和操作的文件编制。文件编制一般在每一事件基上被接收作为文本输入以响应于引导问题或提示(prompt)。接着,被要求的事件序列的所有方面可以与帮助文本一齐被规则生成器访问,以提供高度特征化的文件编制,其中该文件编制由生成的应用程序的结构和外部特性产生。生成的文件编制可以包括文本说明书产生于相应于处理和限制的与输入事件相联系的功能上限定的逻辑。生成的文件编制进一步处理为包括库文本和构造的表,包括内容表和图表。
通过下面结合附图对本发明的详细说明,可以更好地理解本发明的这些和其他优点及特征。在这些附图中,相同的引用数代表相同的部分:附图简要说明:
图1是本发明知识结构的一个总构成(organization);
图2是本发明各种组成部分的最佳的有关总体结构的方框图;
图3是由本发明维护的应用程序结构的简化方框图;
图4是依据本发明用于生成应用程序序列的图像编辑器和相关的子系统的方框图;
图5是详细介绍图像编辑器子系统的操作的方框图;
图6是详细介绍在建立的并行应用程序序列中的序列生成器的操作的方框图;
图7是详细介绍依据本发明构造的应用程序设计者专家子系统的方框图;和
图8是详细介绍依据本发明构造的文件编制出版者(publisher)专家系统的最佳结构的方框图。
一种具有实际综合且自动地生成任何数目应用程序的系统通常如图1所示。应用程序生成系统10最好是在一个通常的通用目的的计算机系统(未显示)中执行,并且是在一个通常的操作系统环境下执行,例如由MicrosoftWindows3.1提供的环境,和支持的一种常用的程序设计语言,例如Basis国际公司采用的BBX Business Basic,来自微软公司的Microsoft C,以及来自国际商用机器公司的C++。在这种环境中,系统10操作以获得和构造应用程序结构和序列12,该结构和序列通过用户输入14的应用程序选择地与序列指定目标16的应用相结合,与一特定的应用程序相对应。用户输入14可以是直接的程序编制器数据入口(entry)、由一熟练的终端用户编辑的系统说明、或者是与用户的限定方向相结合产生直接等效用户输入的其它程序辅助分析的计算机产品和说明。
依据本发明的最佳实施例,目标16是用户输入14任意形成的高级组成部分。因此,目标16不是直接程序部分,而是密封(encapsulated)进目标的部分详细说明,可以在应用程序的结构和序列12生成期间在提供用户输入14的过程中被删截、剪辑、存储、复制及移动。
当应用程序结构和序列已被生成或随后修正时,通过一个实质上的分级专家系统对所得的结构和序列进行分析,所说的分级专家系统逐次地运用程序规则18、技巧(skill)规则20和语法规则22,这些规则以生成独立文件编制的可编译或可解释的码24、或双码24与相应的文件编制26一起的分立模块或一模块组而终结。程序规则18在一构成的规则数据库中提供,该规则数据库可提供一组共用的规则和分立的多组专用于特定程序类型的规则。虽然根据本发明程序类型可以任意定义,目前最佳的程序类型集(set)包括数据收集、数据处理以及数据输出程序类型。另外的程序类型,例如一种用于可以分开使用或是在其他程序类型支持下也可以被定义的专家系统定义。此外,程序子类型可以被联想为程序规则18的详细分类。按照本发明的一个最佳实施例,其面向记帐(accounting)或记帐类型应用程序的生成,程序子系统最好包括从属于数据收集程序类型的维护、事务的和细节的分析屏幕(screens),从属于处理程序类型的记入处理(posting process),以及从属于输出程序类型的列报告(columnar report)、查询报告(inquiry report)和格式报告(form repor)。于是,当程序规则18运用到应用程序结构和序列12上时,合适的程序规则集和子集是为应用程序的实现被非独立地识别和执行的数据,其中该应用程序特别地对应于运用了程序规则18的特定的应用程序结构和序列12。因此,本发明最直接地提供了潜在冲突的程序规则的存在和应用,该程序规则可以恰当地在应用程序的不同的类型和子类型支持下存在。因为有些规则并未与任何特定的程序类型或子类型相联系,程序规则18的一部分是有关种类并因此而有效地被定义用于所有类型的应用程序的生成。
技巧规则20表示用于有效地实现程序规则的应用的低级(low-level)功能操作(functional oprerations)。也就是说,技巧规则提供了广泛用于一个被生成的程序中间表示的生成的基本功能操作。虽然在系统10中可以定义任意多个技巧规则20来供使用,但这里提供了八个基本技巧的实施,包括:
1)单行(single line):通过置换或解释来指导规则的处理,以规则的一种一对一的关系建立一个常元素或变元素的中间或最终码表示,以输出行(例如:一规则应用该技巧将该规则表示为一行码);
2)递归行(recurring line):通过置换或解释来指导规则的处理,以生成一个常元素,或者更典型地,一个变元素的一系列近似相同的中间或最终码表示(例如:一规则应用该技巧以在一个标题(header)细节关系中生成用于细节行阵列的码);
3)变量表:指导一个或多个引用了变元素规则的处理,该变元素可以用于不同的上下文(例如节串(verses string)),并生成该规则的一个相应的单个中间或最终码表示(例如:规则建立多个变量,该变量基于一个开关变量的类型被初始化成数字或串缺省并被组织成一个“case”编程语句的最终码表示的变量);
4)递归表:指导一个或多个规则的处理其与一个递归行技巧到一个变量表技巧的应用程序相一致(例如:为一个细节阵列的每一行提供分离case语句的生成,从而提供细节行的独立处理);
5)隐式表:指导用于变元素的常值表的生成(例如:在一个跳转表的结构中的程序子程序名引用的生成);
6)翻译(translate):指导一个序列搜寻,基于一个定义的常量或变量选择一个或多个相关的序列(例如:搜寻序列,以找到规定了一个字段引用的屏幕字段位置的序列,其中该字段是由一个当前序列引用的特征包的功能逻辑引用的);
7)组合表:指导一个或多个规则的评价(evaluation),基于序列类型,例如阿尔法节(alpha verses)数字,在以给定关系对一组序列检查的基础上,选择和处理一个或多个相关序列中的每一个(例如:基于其他系统变量的内容,首先说明并然后建立该系统变量的值,其中其他系统变量由是否这种其他变量用于一个相关的上下文来限定);以及
8)混合表:基于可以通过对一个限定序列集的检查来识别的任何重合关系,指导一个或多个用于建立一个变元素的序列的选择(例如,确定字段的最好的匹配联合,该字段说明作为两个或更多文件记录的部分,以形成一个用于排序从文件数据返回的键(key))。
程序规则18可以按一种表面上任意的顺序存在于程序规则库中。然而,当程序规则18对于一特定程序类型和子类型被看作是可应用的时候,该程序规则18可以被认为是有序的。从而,对于一特定程序子类型,在应用程序结构和序列12的应用基础上,在为相应于应用程序子类型的实现提供的评价序列中,程序规则看起来是有序的。程序规则18的处理开始于一个逻辑根规则,并通过有序的规则集进行,该规则集或者是对所有程序类型通用的,或者是对当前评价的子程序类型专用的。在程序规则18对照于应用程序结构和序列12被评价时,执行技巧规则20,以导出通过码24的生成实现的应用程序的一个逻辑上完全的表示。也就是说,技巧规则规定逻辑语句的例示,该逻辑语句在进一步对照于语法规则22被评价时,规定码24的生成。因为一个应用程序的每一逻辑语句可以被完全地表示为用数字或ASCⅡ形式表示的常元素或变元素,或是这种元素的列表结构,即使是有限的八个基本技巧的集也足够支持一个满的而且功能完全的用于生成大多数(如果不是全部的话)会计的或有关会计的应用程序所必须的程序规则集18。八个基本技巧规则对于从种属上说支持许多其他类型的应用程序等的生成来说也是足够的。如果对于一个特定的应用程序期望或要求不同的功能,或者期望通过构造一个复杂的技巧来支持更高级别的程序规则,这样的技巧可以容易地加到技巧规则库20中。
在本发明的最佳实施例中,应用程序的中间表示只是暂时生成的。当每一语句表示被生成时,运用来自语法规则库22的语法规则实现和输出码24到一个最好被存储在非易失性存储介质上的持久(persistent)文件中。
语法规则22在语法规则库中主要被维护为大量地有序系列的规则语句。在语法规则库中的语法规则之间的划分(division)可以由一个附加到每一个规则的语言类型码来定义。对于相同的通用类型的语言,例如,BusinessBasic和Visual Basic的变码,或者对于显著不同的语言,例如C,可以定义不同的语言码。当语言大致相似时,应用程序的一个共同的中间表示用于生成专用于任一特定语言的码24是足够的。当码24的语言显著不同时,则需要对由码24的中间表示实现的范例(paradigm)作轻微的改变。如果是这种情况,程序规则和技巧规则18,20可以被做成为对码24选择的特定语言适当地敏感,以便合适地改变应用程序的中间表示,如同在为那种语言运用了语法规则22的闭包(closure)以实现码24的整体形式所需要的那样。
在选择了适当的编程语言的条件下,将语法规则应用到应用程序的中间表示是在逻辑上逐句相关的基础上进行的。利用应用程序中间表示的每一个逻辑上完全的语句来选择一个或多个相应的语法规则22。象程序规则18一样,语法规则22利用技巧规则20为应用程序的中间表示的每一逻辑语句,实际执行必须的操作用于实现将潜在地一个或多个语言专用语句向码文件24输出。于是,象程序规则18一样,语法规则22由甚至是一小的技巧规则集很好地支持。规定更高级功能或在生成码24中需要不同操作的语法规则22可以容易地通过用不同的或更复杂的技巧规则来扩充技巧规则20而被支持。
虽然前面对系统10的说明主要是关于码24的生成,系统10同样产生与由系统10生成的码24的说明高度相关的文件编制26。用户输入14和目标16都可以包含并表示最终在码24中体现的描述性注释和描述作为文件编制26的一部分的整个程序、子程序、单个屏幕和报告、特定字段的描述性文本。于是,这些码注释和描述性文本体现为在应用程序结构和序列层12中的序列,或与这些序列相关,并且当序列被评价时,由程序,技巧和语法规则18,20,22进行一般地评价。于是码注释被有效地编译进码24。描述性文本相似地被编译进文件编制文件26中,该文件最好是持久地存储在一个非易失性存储介质上。
因为应用程序结构和序列12也最好是存储在一个非易失性存储介质上的持久文件中,系统10允许对存储的应用程序结构和序列12进行维护、修改和派生。因此,应用程序生成系统10可提供一个实质上自动生成的应用程序的综合设计、实现、维护和文件编制。
依据本发明的最佳实施例构造的一个应用程序生成器的最佳总体结构30如图2所示。一个图像编辑器32合并了一个提示的引导编辑器设备与结合于全屏幕图像编辑器的上下文敏感的编辑器的特征为获取的用户输入提供了基本环境。最佳图像编辑器32显示为在一个999×999单元(cell)图像页面上的80×25单元视口(cell view)。显示给用户的用于输入的显示图像可以是来自图像页面的不同部分的视口区域(section)的组合。另外,图像页面有效离开屏幕的部分可以被用作支持实现在屏幕上(on screen)可视信息的处理的暂时区域。
图像编辑器32被用来设计和定义一应用程序结构36,该应用程序结构被构造为一起来实现该应用程序的相应程序的主题、识别的特定应用程序、和一起来定义专用程序的序列之间的一个分级关系。该分级关系用来以一种有限的且容易引用的格式建立应用程序结构36。此外,每一主题、程序和段(segment)由存储作为应用程序结构36的部分的一个引用名来唯一地识别。
应用程序结构36也可以维护用于一特定主题相联系的文件和文件记录的分级关系。在应用程序结构36中的每一个文件和文件记录存储着对每一文件和记录在分级上是唯一的引用名。
存储在应用程序结构36中的引用名不仅为设计和定义应用程序结构36提供了便利的方式,在建立生成应用程序序列38的基础关系时对图像编辑器的使用也提供了唯一定义的处理基准。
图像编辑器32的引导编辑器(editor)和上下文敏感编辑器的特征最好根据一知识库34专家系统的操作来驱动。该支持图像编辑器32的专家系统将文件编制功能与设计和定义应用程序结构36的及生成应用程序序列38的功能综合起来。此专家系统从一个有关的静态文件和帮助文件40的有效部分引导出提示问题和开始文本。提示问题是特定于用户输入的上下文,而开始文本是特定于提示问题的上下文。当主题、程序、序列、文件和记录被定义时,不同的提示问题由图像编辑器32从帮助文件40中检索。另外,提示问题基于程序类型或子类型相关于程序单个段定义的每一字段或显示数据由图像编辑器选择。在每一个例子中,提供了预先考虑和建议用户输入应答的格式和性质的相应的开始文本。
通常,提示问题采取两种基本格式。第一种格式是对引入信息的需求,其中引入信息可被用于解释段与程序或程序与主题的功能关系或由段或程序进行的处理的功能关系。第二种格式被用于引出描述一专用字段或显示区域的信息或引出显示给终端用户的处理选择的信息。这些提示问题基于图像编辑器32的用户操作的当前上下文从帮助文件40中来选择,并因而用来引导图像编辑器32的进一步应用,特别是包括对文件编制信息的获取。用户对提示问题输入的应答,以一种适合于原始的提示问题的和以生成提示问题的应用程序结构36的特定部分的方式,被存回帮助文件40。
图像编辑器32还提供了图像操纵(manipulation)功能,包括删截、剪辑、粘贴(pasting)及选择图像页面的部分。这些控制操作允许图像部分被移动、复制及删除。基于用户输入,这些操作以传统的块操作状态来实现。然而,作为块操作的一部分,图像编辑器32提供在图像的块部分内与每一显示项和字段相联系的属性的隐式选择。各种块目标操作最好在对从知识库34检索的块操作规则的评价下实现。这些规则帮助对与一个块目标相联系的属性以及它们与现有属性的合并的合理选择,当一个目标被复制回一个图像时。这样的话,块操作也提供了在图像编辑器32的执行中的一致性检查和合并确认。
图像的块部分也可以被复制到一个目标存储数据库42,并且在引用一个唯一指定的目标识别符的基础上经过检索可以被存储。因为图像编辑器32最好将属性识别符与每一显示项或字段联系起来,而不仅仅引用一个属性,所以存储到目标存储数据库42的目标是逻辑上独立的,并不承袭随后通过图像编辑器32对目标的任何初始或其他复制造成的变化。因此,虽然目标可以以任意大小和复杂性动态地被选择,由目标存储数据库42存储的目标本质上是静态的。
当显示项和字段数据被输入进图像编辑器32且指定了属性时,图像编辑器32导出定义信息并对一个应用程序序列生成器提供该定义信息,该应用程序序列生成器生成一应用程序序列集,该应用程序序列综合地描述了一个程序段,以及识别数据库程序和显示项或字段、在图像页面空间内的项或字段的位置、以及与项或字段相联系的功能属性。这些应用程序序列然后被提供给应用程序序列栈38。
一旦一个程序的应用程序结构36和应用程序序列38已经通过图像编辑器32的操作构造好,调用一个应用程序设计者(author)4以生成一可编译的或可解释码的相应的集。应用程序设计者根据应用程序结构36、应用程序序列38、帮助文件40的内容和相应的由知识库34存储的程序、技巧和语法规则集操作。应用程序设计者44一般作为一个专家系统来操作,与专用的应用程序序列38一致,将程序、技巧和语法规则运用到应用程序结构36的可用定义,从而为生成的特定类型和子类型的程序产生码。也就是说,基于定义的应用程序结构36和可用的应用程序序列38,由设计者44的专家系统的操作构造出所选程序类型和子类型的程序。依据本发明,由设计者44产生的码是将一特定的程序类型和子类型的程序规则定义到该范围的产物,其中这种规则与提供的应用程序结构36和应用程序序列38相一致。因为码语句是由设计者44基于应用程序结构和序列36,38的操作有效且独立地生成的,所以单个码语句对于由设计者44例示的所有变量的数目、名字和类型是固有地统一的。不再需要对在单个程序的段之间的接口的变量或调解量(mediation)作进一步的统一。基于应用程序结构36和应用程序序列38的限定,其中,该序列定义了由一个共同程序的不同段共用的数据项和字段,在段之间的接口由设计者44的专家系统的操作被自动匹配,直到其所需要的范围。
最后,一个文件编制出版者(publisher)46与应用程序设计者44有效地并行操作。实现文件编制出版者46的专家系统基于应用程序结构和序列36,38和来自知识库34和帮助文件40提供的规则和信息来操作。在本发明的最佳实施例中,通过依靠应用程序设计者44简化了出版者专家系统46首先有效地处理应用程序序列38,以特别地提供描述了由序列定义的功能逻辑实现的处理单元的细节帮助文件,例如,对于一个被定义为三个数字的正数的字段的帮助文件可以为:“记帐期间字段的值不能超过999,但可以小到0。”因此,细节帮助文件文本可以由应用程序设计者44以文件编制出版者46的名义生成。于是,这个信息精细地表示由应用程序设计者生成的特定的码,并减轻对文件编制出版者的要求,否则文件编制出版者46不得不通过重新分析应用程序结构和序列36,38来全部重新构造这个码。再者,基于文件编制出版者46的专家系统可以与应用程序设计者44合并,使得全部形成的文件编制由设计者44直接生成。等效地,文件编制出版者46可以复制设计者44的专家系统并由设计者44从应用的信息源直接操作。在任何情况下,文件编制出版者46在提供给出版者46的信息上操作,以生成密切地相应于由应用程序设计者44产生的码的文本文件编制。特别地,这包括进入帮助文件40的解释文本、以及由出版者46自身的操作指定的屏幕、处理、和报告格式、文件编制的程序的结构和菜单组织的合并,正如同从包括出版者46基于知识库34获得的文件编制结构定义规则处理的任何定义和解释的应用程序结构36被确定那样。
由应用程序生成器30维护的应用程序结构36如图3所示。应用程序结构36组织为一个建立在一逻辑根节点上的分级结构。例示的结构36包括任意数目的主题记录50,该主题记录表示专用的应用程序,例如支付帐目应用程序、慈善礼物捐赠人跟踪应用程序或关键路径构造管理应用程序。每一主题记录50包括一个主题识别符,一般为应用程序的一个描述性名字;在一个或多个面向菜单格式的屏幕的分级结构中的用于组织应用程序菜单入口的菜单结构;以及一个用于识别每一部分程序的程序列表,其中每一部分程序被提供作为一累计的整体以使实现由主题识别的特定应用程序。另一与每一主题相联系的列表结构汇集了文件识别符作为对由一特定主题50在其上或由其产生操作的每一文件的引用。
因此,一特定主题501与一主题识别符Topic1、一菜单列表结构(未显示和图解地显示为与一个或多个程序52和文件56的逻辑连接的程序和文件列表相联系。每一程序记录52,例如特定程序520,包括一程序识别符Program0和一程序类型,并作为一程序级别序列,还包括一子类型识别符和一个识别一起顺序地定义程序520功能的程序段集的列表结构。
在本发明的最佳实施例中,程序50被划分为相对分离的功能操作。例如,在一个帐目支付主题中,一个特定的程序52可以分离并执行接收和存储输入定义的一个发票(invoice)的功能。另一个程序52可以被定义为对记入一般的分类帐目的发票记录负责。另一个程序可以被指定来选择和打印一份协调(reconciliation)报告。于是,程序50的逻辑划分可以由程序类型和子类型分离地识别,因而支持构成设计者44的基础的专家系统在生成相应的程序码中操作。而且,另外的程序类型和子类型可以容易地被增加或定义,和程序规则集也可被修正或扩充,以合适地支持新的程序类型和子类型。
每一程序,例如程序0520被有效地实现为一个或多个段54的集合。一个段记录,例如段记录541逻辑地识别一组功能上定义程序520的一子程序功能的应用程序序列。在本发明的最佳实施例中,多达99个段可以与一个特定的程序520相联系。99个段的任意限制可以认为是超过适于允许定义足够多的段来实现任何特定程序52的功能,每一段实际最好具有有限的复杂性。于是,一个段54可以表示一个分离的数据入口屏幕及有关的输入字段数据确认逻辑。段54的一个子集可以被用来实现一个更复杂的处理,其中应用分离的段来实现例如一个报告选择屏幕,一个报告数据合格输入屏幕和报告生成。
每一个段记录54存储一个段识别符,该段识别符是在与一个特定段54相联系的每一个应用程序序列中或者明确或者隐含地逻辑重复的。这些应用程序序列38顺序地提供了由应用程序生成器30在生成码和文件编制的过程中应用的细节逻辑。
每一个文件记录56包括一个文件ID,在应用程序序列中可以引用该文件ID来指明到相应于文件记录的文件的访问。文件类型、文件名和位置也存储为文件记录56的一部分。文件类型信息实际上指明对一特定文件的访问方法。文件类型可以包括关系数据库文件、平面(flat)文件、临时数据文件或存储器内(in-memory)数据结构。文件名可以是到一个文件系统文件的相对或绝对路径名,或者在有关数据库的情况下,是由此文件记录56引用的数据库和表名。文件位置信息可以被提供,以支持在一个特定文件系统中的文件位置中的分配的文件引用或间接(indirection)结构。另外,最佳实施例包括一个数据字典,该数据字典存储描述文件和数据结构的信息,包括字段大小和类型的信息,并包含可维护的位置信息。
每一文件记录56,例如文件0560包括一个列表,逻辑地识别一组或多组字段(或记录)记录58。这些记录58每一个都存储一个记录识别符,该识别符可由一应用程序序列引用作为名字空间内唯一的名字综合到由一特定主题应用的文件数据空间。每一记录58可以被分级地由一个根记录序列来引用,该根记录序列为每一由特定记录表示的字段来存储字段记录大小和类型信息。字段大小信息一般表示可用的或由一特定字段可引用的最大存储空间。字段类型信息指明依赖于记录类型的数据类型。于是,例如在平面文件的情况下,记录类型可以是ASCⅡ,整数或二进制数。在数据库表字段的情况下,字段类型可以指明任何预定义的数据库类型,包括日期、钱、文本、整数和浮点数。
图4提供了一个更加详细的与应用程序生成器30的图像编辑器32密切联系的结构图。使图像编辑器结构60操作,以便将用户输入14与存储在目标存储库42中的目标及存储为知识库34中一部分的特征包合并起来。图像编辑器32部分地基于从一规则表62获得的应用程序结构信息和确认信息来执行此功能。基于这些输入,图像编辑器生成一个提供给序列生成器66的图像定义序列。
输入到图像编辑器32的用户输入14允许用户直接输入图像信息其中例如在指向屏幕的形式下用来指明识别屏幕字段的位置和预定内容的背景数据。用户输入14也被用来执行一般的编辑器功能,其中特别是包括存储和检索作为目标存储库42的目标的图像部分的功能。检索的目标可以被粘贴(past)在由图像编辑器维护的图像页面上。
另外,用户输入14可以指定属性,该属性将被加在图像页面上已识别的数据字段。这些属性可以被指向操作过程,该过程是由当前正在图像编辑器32内编辑的程序52实现的或者是关于一特定段54的一个或多个专用字段。于是,当程序520通过图像编辑器32的操作定义时,任何一组预定的程序属性可以由引入基于程序的特征包来选择。这些基于程序的特征包中的每一个都提供一个专用于一特定过程的高级说明或由设计者44提供在生成程序520码时运用的限定条件(qualification)。基于程序的特征包一般不编址到任何专用字段,而一般被指定给每一程序段的字段。表Ⅰ提供了在本发明的最佳实施例中应用的基于程序的特征包的示范列表,以及由每一特征包生成的功能说明的描述。
                            表Ⅰ
                         程序特征包基本程序说明           当程序生成时,允许对类型、子类型、已选定的
                   读和写程序选择项改变。取消删除键             禁止用户访问F5 DELETE功能键。用于防止从
                   主文件删除记录。取消打印空白行         当报告上的所有数据字段为空白时取消打印空
                   白行,选择地,在该行上的任何背景文本可被取
                   消。输出选择               为1)屏幕查询,2)屏幕选择器或3)ASCⅡ文件定
                   义专用程序处理-如果选定,必须指定从用户接
                   收输出文件名选择。废弃页面标题           提供取消标准页面标题,允许用户标题的格式,
                   通常用于格式处理,几乎总是当生成ASCⅡ文件
                   用于输出时使用。定义下一段             用于改变段从最低号到最高号执行的固有顺
                   序。除本机的程序处理之外,能提供分支到不由
                   系统生成的(非本机的)程序。向用户询问主文件名     提示用户以便将主程序文件指定给磁盘上一个
                   不同的文件。通常与存档/解档程序一起使用,以
                   允许控制整个文件布局。增加处理停止支援       按要求提供用户初始程序停止。借助清除破坏文件       随着该选择被激活,程序将删除专用于段记录中
                   的文件,作为清除(Purge)输出类型。用于在对话
                   期间应用的临时工作文件和然后在程序结束时
                     完全删除。并排记录                 定义在开始一个新行之前打印在报告上的记录
                     列的数目。例如,用于生成双倍或四倍标记。借助清除复位             在清除期间当记录从文件中被清除时,所有连续自动编号                 的自动编号(autonumber)被复位为0。取消记入屏幕             规定登记过程为无声的,不通知该过程已开始。不保护数学(math)字段     不允许对字段被零除的保护;也禁止字段初始化
                     为计算的乘积。程序上托调用             从该字段识别被调用的选择器上托程序,输入名
                     字或应用由主题进行的F2调用,以查看可用程
                     序的列表。上托涉及选择器。
在编辑段541时,在图像页面上指定的字段也可以基于特征包被指定属性。这些基于字段的特征包用于定义在一字段专用基上通常执行的操作逻辑的包含关系和限定条件。每一个基于字段的特征包可以引用并因而应用或影响其他字段的内容。它们也可以通过开始或跳转其他程序段来控制程序流程。在本发明的实施例中用在例示的基于字段的特征包如表Ⅱ所示。
                        表Ⅱ
                    基于字段的特征包特征包名                基            说明屏幕数据元素位置        定义数据名的局部递代。这是“00”包或
                    根包,其说明有一个数据名或说明其可以
                    有包。图像编辑器自动地为根包来提示,
                    作为实现在当前段中的数据名的部分或
                    包。包可以超越数据名的数据字典定义。
                    例如:提高所允许的集合长度的最小值或
                    减少显示长度。包也可以使数据名“不是
                    一个字段”,而是背景屏幕标志(mask)的部
                    分,使得该数据名可以用任何支持它的处
                    理在以后的屏幕上重新显示。元素编辑    EDITS       限制输入值的范围,设置重复或循环入口
                 说明,设置计算关系和建立显示标志
                 (maskings)。元素显示逻辑 DISPLAY  为在下述方法中的显示数据提供字段特征
                 ---1)只显示,2)强制(forced),3)缺
                 省,4)计数目标和5)不可见。逻辑对于除
                 4)计数目标之外的所有选择项是必须的。帮
                 助文本F7可用于解释这五个选择的每个。元素验证逻辑 VERIFY  识别引用文件和记录,为数据入口精度验
                 证字段值。指定强制选择,并且用~!A~
                 代表alpha或用~!#~代表数字字段(与
                 “当前字段的值”相等同),来为当前字段
                 的验证建立关键值。任何其他的关键元素
                 应该通过它们的名字应用已有的数据元
                 素。元素跳转逻辑  SKIP   如果逻辑部分指定的条件发生,允许为数
                 据输入旁通一字段。如果为跳转检测一填
                 充字段,例如用于显示验证读出的字段名
                 的只显示变量的跳转逻辑,则应该用SKIP
                 IF FIELD IS EMPTY,否则必须除空操作
                 情况以外检测空白。元素显示到逻辑 DISP2   显示由在屏幕底部一可选位置指定的逻辑
                 生成的值。包使得一个值被放在别处,而
                 没有利用任何已知目标字段。字段确认逻辑 VALID   为字段数据入口定义允许值。在没有假设
                 涉及的字段名属于不等式的右端或左端
                 时,如果应用一比较,在逻辑部分必须包
                 括字段名。元素计算逻辑 CALC2   基于俘获或接收进当前字段的值引起另一
                 字段值的改变。此改变可为任何数学运算
                 符,并可当正在发生时显示或等待直到其
                 他字段处理。元素输入选择              为输入指定选择的数据输入程序。当前的
                      选择为允许字段内编辑的单字符I/O和允
                      许多个循环行的长文本字段编辑的多字符
                      I/O。情况    CASE              使得产生该值(在串字段中的任何类型)以
                      使具有强制情况的值。选择为改变到所有
                      的UPPERCASE,改变到大写第一个字,
                      改变到大写第一个字母或改变到所有的低
                      级情况。包可以在程序段的任何位置作用
                      于任一数据名上(许多包可以引起未显示在
                      图像中、不在屏幕或报告上的字段内的改
                      变)。如果空则元素跳过字SKIPEM  如果另一个字段包含一个串变量的空值(空段                        白)或数字的零,允许对于数据输入旁路字
                      段。输入编辑选择    INPUT    允许对一alpha字段有效字符指定的用户
                      范围的进入。选择项被限制为数字、数字
                      和alpha、只有alpha、Y或N或字符的专
                      用列表。复制值到字段    COPY2     识别目标字段以接收源字段的内容。这等
                      同于在程序设计中的移动。翻译到字段     TRANS      指定对1)加密,2)解密,3)桑迪克斯
                      (Soundex)所需的转换-用于名字的语音搜
                      寻,包括说明和程序目标。元素计数(运行全部)TALLY    为被识别的仅显示字段提供全部选择(=-
                      */)以接收来自源字段的结果。不要在逻辑上退出 NO EXIT  只有当逻辑被满足时测试使程序结束字段
                      中的一特定值。强迫用户在退出之前完成
                      要求,例如平衡(in-balance)条件。记入到另一字段 POST TO    使得由限定逻辑生成的值被放置到一目标
                      字段。从另一字段登记   PSTREL      使得由逻辑生成的值被放置在包固定的当
                         前字段。字段缺省         NEWVAL      当字段空或被用于替换当前字段内容时,
                         指定要被放置在该字段中的缺省字段值。
                         此特征包总是与一对多(one-to-many)
                         登记关系连在一起使用,此关系在本指南
                         的后面将作为一个全函数来讨论。将日期转换成串名 CONVDT      将日期存储为Julian数的日期字段转换成
                         可以为该星期的该日或该年的该月的串字
                         段。此特征可广泛用于日程安排。将数字量转换成   CONV2AV     用于得到文字的美元数以使打印在支票Alpha                        上。报告缺省总计     RTOTAL      对于数字,操作符(+ -/*),在一个报告分
                         合计或总计中在用字段之前需要数字字段
                         确认。计算分合计                   在一个报告分合计中在用字段之前需要数
                         字字段确认。与报告缺省总计中的模式相
                         同。分合计区必须存在并包含该目标变
                         量。计算总计                     在一个报告总计区中在用字段之前需要数
                         字字段确认,该区必须存在并包含该目标
                         变量。指定范围相容开始 START       从启动屏幕指定数据名,用于为在报告中
                         相容验证字段值的开始范围。指定范围相容结束 END         从启动屏幕指定数据名,用于为在报告中
                         相容验证字段值的结束范围。在恰好匹配上指定 MATCH       将字段值与这里输入的值比较,以从该报的排除                       告中排除一个记录。是或否逻辑       YES/NO     将字段值与逻辑比较,以确定是否应该包
                           括字段。只有在与是或否选择排除一起结
                           合时工作。正常排除记录逻辑    NORMAL     定义从报告排除记录所需满足的条件。字
                           段不需要出现在报告中,但包可以用于固
                           定对出现在报告上的另一字段的排除。定义分类键           SORT      所有在启动屏幕时生成的分类选择必须被
                           定义并固定到报告上用的字段。分类选择
                           应该位于分类的最低字段次序。数据名增量器        MEMINC     使得在固定字段中的值每次(通常处理的每
                           一记录)以一固定量改变,计数是独立的,
                           开始于同一值,在存储器中计数然后清
                           除。正常包括记录逻辑    NORMIN     使得处理的记录被包括或忽略此时的基值
                           (based values )。该包通常用在处理和输出
                           中。在逻辑上跳转程序段  SKPPRG     基于逻辑条件通行完全地取消此段的执
                           行。该逻辑必须被装载进一个在早些段中
                           的非存储的数据名。不记录将要读出的。隐藏输出细节         HIDE      基于逻辑连续地完成为记录提供打印抑
                           制。来自记录的信息可用在程序中累积总
                           合而不打印细节记录。在逻辑上改变标记    SIGN       基于通行的指定逻辑改变一数字变量的标
                           记。总计                           指定包被固定的字段必须具有为其生成的
                           总计、分合计或二者都有。虽然没有如何
                           生成为报告/处理定义的分合计或总计的说
                           明。该包支持总和、负总和、级数和负级
                           数的定义。借方逻辑贷方逻辑总计                   与对贷方逻辑计数操作一样,除了用于更
                           新特别定义的总计区的字段外。对借方逻辑计数       TALLY      与影响其他字段操作一样,但只从在输入
                            逻辑的通行条件下指定的变量中减去字段
                            内容。对贷方逻辑计数       TALLY      与影响其他字段操作一样,但只将字段内
                            容加到在输入逻辑的通行条件下指定的变
                            量中。自动增量器          AUTOIN      (也称为自动编号)指定自动增量字段的两
                            种类型中的一种。第一种类型在指定范围
                            内对文件连续编号,每一重复增1。最后
                            的增量值存储在磁盘上,下一次继续增量
                            过程。第二种类型基于一个引用的标题记
                            录对行计数。每一标题有自己的增量器,
                            该值可从对话期到对话期一直继续。字段上托调用        POPUP       识别从该字段调用的选择器上托程序。输
                            入名字或用由主题进行的F2调用来查看可
                            用程序的列表。上托被涉及作为选择器。确认通过逻辑                    有条件地基于定义逻辑得到各种确认特征
                            的全部。元素确认否定       DENIAL       是一个负确认。指定一个引用记录不应被逻辑                            在那里通过。在系统中特征和基数都被正
                            确地拼写。只确认             VONLY        与元素确认逻辑相同,但是读引用文件/记
                            录的目的仅仅是为了确认,没有数据被改
                            变或装载。写记录             WRITE        是一个反向确认。不是读引用的记录。而
                            是写引用的记录。大致确认           APXVER       是对(另一个)要装载数据的引用文件/记录
                            (全部引用记录)的全部确认,但并不全部知
                            道对(其他)引用文件/记录的关键值。该包
                            使得设计的程序可以以部分或简单的引用
                            读操作作表扫描,允许在处理中有不确切
                    的相关数据被匹配。确认装载表      LOAD    是一个完全的确认,包括读整个的(其他)
                    引用记录,但该记录在程序运行期间被处
                    理为非易失性的数据。更新来自                指定包含放置在当前字段中的值的字段或
                    字段的采集。记入程序完成操作        超越设计者用于登记程序的缺省结束模
                    式;提供更换结束逻辑的选择。
图像编辑器32最好为基于程序和基于字段的特征包的选择提供一采集表(picklist)。当基于用户输入14选定一个特征时,则为用户输入完成显示附加的信息。此附加信息一般表现为一个上托(POP-UP)显示记录的形式,该记录为用户输入提示,以便能足够地限定选择特征包的所期望的功能。
特征包识别和支持的信息由图像编辑器作为一特定程序520或段541的枚举(enumerated)属性来采集。图像编辑器32最好进一步操作,以便根据特别地包括了文件和记录56、58引用(reference)的现有应用程序结构合理地确认这些属性。另外定义了基数(basis)属性的特征包也根据对每一基数包括一记录的规则表62而被确认。每一基数记录定义抽象的行为(abstract behavioral)特征,其中该行为特征定义了一特定基数。针对特征包的一个特定例子,当与由用户输入的限定信息相结合时,行为特征允许定义一应用程序序列集它可用于实现特征包的功能。
特征包可以并且一般提供功能逻辑的用户输入入口,以完成一特定特征包的定义。例如,计数(Tally)特征包支持另一字段名的说明和一个算术运算符的说明。例如,实现的特征包可以表示为:
16AP200100 Total Cost
0
+
Value Tally
0其中:
16                         相应于此包的规则的ID
AP                         主题识别符
2001                  程序识别符
00                    程序段识别符
Total Cost            特征包固定处的字段识别符
0                     被保留以供将来使用
+                     第一特征值
value Tally           第二特征值
                      目的字段
0                     第三特征值
因此,这种特征包的功能逻辑主要是隐含的,由用户提供并显示于最低需求的说明。在此功能逻辑支持下,提供了一些系统变量以便引用。这些系统变量不是一般的变量,而是对系统函数、调用(call)以及文字(literal)的抽象(abstract)元素,以及保留的或预先定义的变量和用户定义的变量。系统函数包括获得的该系统日期(!Data Date),而调用可以为系统操作调用,例如生成一可听音调(!Data Ring Bell),文字包括了固定的数据串(!Lit Asterisk)和数据常数。保留变量包括功能编程限制(!Ele LP Counter),算术函数(!Ele Calc 2Field),预分配变量(!Data Temp Num 1),和功能系统状态(!Curr Topic;!DataMain Read)。最后,用户定义的系统变量包括所有由用户通过图像编辑器定义的字段名,从而允许(custom)直接一致的引用定制的以及应用程序及其动态执行环境预先定义的方面。
功能逻辑可以包括一般的数字和逻辑运算符,被用作为在系统变量、字段名、文件名和记录名,以及由序列提供的应用程序结构中的信息和动态执行存储器变量和文字组合之间的关系连接符。字段名是与由图像编辑器32实现的定义过程部分的字段相联系的名字。文件名和记录名相应于在应用程序结构36的文件和记录56,58的定义中指定的文件和记录ID。表Ⅲ详细列示了典型的系统变量。
                   表Ⅲ
                   系统变量!#                   当前数字字段变量!a                   当前串字段变量!Curr Basis Key      当前指针进入序列!Curr Error          当前错误号!Curr Field            正在处理的字段名!Currr Field Max       段中字段数目!Curr Field Rec        当前字段记录!Curr New Line         全部置换的文本行!Curr Next Seg         程序下一段号!Curr Page No.        当前的检查页面号!Curr Program          当前程序ID!Curr Segment          当前段ID!Curr Topic            当前主题ID!Curr Variable         在翻译中的当前变量!Data Bell Sound       按信息声音振铃!Data Date             运行时间系统日期!Data DSZ              保持数据大小变量!Data End Check        数据结束变量!Data Input            运行时间输入变量!Data Main Read        继续读主文件!Data Menu SW1-14      菜单参数开关1-14!Data Next Prog        运行时间设置下一程序!Data Page Count       报告页计数器!Data Read Write       缓冲器读/写标志!Data Required         所需记录是/否标志!Data Row              行号的临时变量!Data Search           搜寻键!Data Temp Num 0-7     运行时间临时数字存储!Data Temp Str 0-7     运行时间临时串变量!Data Total Base       数字的全部阵列!Data VDP User         运行时间工作站和用户!DDICT Case CVT        条件转换选择项!DDICT Data Type       数据类型!DDICT Desc            入口说明!DDICT Justify         字段证明正确!DDICT Max Len          最大长度!DDICT Min Len          最小长度!Ele Calc Dest          从屏幕数学计算的!Ele Calc Source        屏幕数学源!Ele Calc2 Field        计算的目标字段!Ele Calc2 Op           计算到数学操作!Ele Calc2 Show         显示计算的字段!Ele Col                元素列!Ele Conv From          用于转换的源字段!Ele Conv2 Alpha        用于数字到Alpha转换的目标字段!Ele Convl Field        转换后的目标字段!Ele Convto Mask        用标志号到串转换!Ele Copyto Field       复制到的字段名!Ele Copyto Type        复制到的记录类型!Ele Disp Logic         元素显示逻辑!Ele Disp Option        元素显示选择!Ele Dispto Pos         元素显示到位置!Ele Dispto Type        显示到记录类型!Ele Dispto Logic       元素显示到逻辑!Ele Exitlogic          不要退出逻辑!Ele Exit Option        不要退出选择!Ele Grand Field        总和计算到字段!Ele Grand Sign         数学运算符!Ele Grand Plus Field   总和加至字段!Ele Grand Plus Logic   总和加至逻辑!Ele Grand Minus Field  总和减至字段!Ele Grand Minus Logic  总和减至逻辑!Ele Imm Field          立即更新目标字段!Ele Imm File           立即更新文件!Ele Imm Op             立即更新操作!Ele Increment          数字显示增量!Ele Input From 1       从值范围l!Ele Input From 2       从值范围2!Ele Input From 3       从值范围3!Ele Input Thru 1       通过值范围1!Ele Input Thru 2       通过值范围2!Ele Input Thru 3       通过值范围3!Ele Loop Use           循环开始或结束标志!Ele Lp Counter         循环记数器变量!Ele Lp Exac tEn        正确结束循环号!Ele Lp Exact St        正确开始循环号!Ele Lp Var En          变量结束循环号!Ele Lp Var St          变量开始循环号!Ele Tally Clear        运行全部清除选择!Ele Tally Field        用于运行的目标字段!Ele Tally Op           运行全部数学操作!Ele Tally Puls Field   计数加至字段!Ele Tally Plus Logic   计数加至逻辑!Ele Tally Minus Field  计数减至字段!Ele Tally Minus Logic  计数减自逻辑!Ele Type               字段类型!Ele Up To Logic        登记到更新逻辑!Ele Up To Option       登记到选择!Ele Up To Target       登记到目标变量!Ele Up X18 Func        以翻译函数名更新!Ele Up X18 Logic       源字段到翻译自!Ele Up X18 Prog        翻译程序名!Pgm Subtype            程序子类型!Pspec Ask              请求主数据文件名?!Pspec Ask Prompt       得到主文件的提示文本!Pspec Alt File         报告输出数据文件名!Pspec Alt Text         报告输出文件提示!Pspec Output    报告输出选择
于是系统变量提供了一个容易的结构,允许对在记录和字段间的数据及各字段组之间的数据当前状态、控制和转换或翻译进行的测试,允许建立选择项集,以及在指定逻辑函数操作中允许特定字段或操作进入或退出字段。虽然系统变量可用在特征包中的引用,它们更通常地是用在知识库34中所实现的程序和测试规则或由其引用。大多数系统变量影响或详述与特征包相联系所建立的功能说明相关的低级功能。例如,在一个支持对显示值进行编辑的特征包中的一个字段名引用将根据程序和测试规则被隐含地评价(evaluated),以确定是否在该字段中要显示一初始缺省值。确定是否显示一缺省值的测试规则和确定或读取该缺省值的程序规则在实现需要的功能逻辑时可以扩展地引用系统变量。如果一字段被缺省为当前日期,但允许用户修改,则如果当前字段(!a)是空的话,此规则可以检索当前日期(!Data Date),并将该日期放在该字段中(!Display to)。因此,在程序和测试规则组成的支持下通过应用功能包中的系统变量,可以提供一直接的及高度非过程(non-procedural)的能力,同时提供一详细但高度概括(abstract)的能力。
最后,由图像编辑器生成的各种定义最好在每一定义对于序列生成器66是完全的情况下提供。这些定义由序列生成器66评价,以生成多个应用程序序列集。该定义评价最好由作为序列生成器66基础的一个专家系统来执行。当特定包和功能逻辑由此专家系统来评价时,引用一控制表64,该控制表64与规则表62相结合,作为一概括的、多级数据查找装置来操作,用于支持生成定义的应用程序序列。当规则表为每一个在特征包中引用的基数(basis)提供抽象的行为特征时,控制表识别各组规则表入口。一个简单基数可以有一个单个的规则表入口,该表入口适合用于该基数可能出现的所有例子中。一个较复杂的基数,或定义为在其预期应用中受一些模糊支配的基数的函数,可以首先根据控制表来评价,以确定一特定的基数规则集,以在进一步的评价中考虑复杂的基数或函数。于是,例如,在一数据输入过程的上下文中对一字段名的函数引用可以暗示用于建立字段的输入横向焦点(focustransversal)的需要,该字段与其它字段相关,然而,在一报告过程的上下文中的相同函数暗示一显著不同的功能,特别是一个与这个字段及相关字段的数据的最佳检索顺序有关的功能。表示复杂基数的函数通过控制表64来引用,这些函数概括于表Ⅳ中。
                          表Ⅳ  控制表函数ALTKEY               定义在不同的上下文中程序元素是如何由一(alternate)索
                   引键引用来选择的。AUTONUMBER           定义在不同的上下文中有序程序元素是如何被排序的ELEMENT              定义在不同的上下文中用于生成一程序元素的过程ENTRY                定义在不同的上下文中用于字段的遍历(traversal)顺序LOCATION             确定在不同的上下文中一字段或程序元素的位置是如何确
                   定的MAIN KEY             定义在不同的上下文中程序元素是如何由主索引键引用选
                   定的ORDER                确定在不同的上下文中定义程序记录或元素的顺序的方法RECORD TYPE          确定在不同的上下文中一程序记录的类型UIP FIELDS           确定在不同的上下文中在支持一程序段的进一步的规则处
                   理时必须被定义的附加的字段集或程序元素
例如,ELEMENT函数在一数据俘获程序的上下文中将顺序地引用下列函数或简单基数:ELELOC    在图像页面上的元素位置:ENTRY     数据字段采集数据的顺序;NAME      字段名元素;PTRANS    字段名的翻译序列;以及RECORD    增加到数据库然而,在一登记过程的上下文中,ELEMENT函数将只引用ELELOC、NAME、PTRANS和RECORD。
图5显示了在生成各种提供给序列生成器66的定义和文本中由图像编辑器32实现的过程。过程70开始于用户选择72,以便定义文件结构74,定义一程序结构76或生成一字段定义78。按照这些选择中的每一个选择,提示用户,并提供合适的开始文本,其通过了产生文本和定义的生成过程,该文本和定义表示用户进一步的输入。在定义文件结构74的情况下,生成文件定义和文本。文件定义用于逻辑地建立应用程序结构36中的文件和记录56,58入口。相对于每一文件和记录56,58进入的提示应答文本也由定义文件结构步骤74俘获。此文本存储到帮助文件40。然后过程70再继续另一个用户选择72。
相似地,定义程序结构步骤76形成程序定义和文本的生成。使用程序定义来逻辑地定义应用程序结构36的程序和段记录52,54。提示应答文本被存储进帮助文件40。
用步骤74,76生成的文件和程序定义包括了适当的记录被立即有效地做到可用于序列生成器66。也就是说,随着序列生成器66的操作的每一重复,应用程序结构36可用于序列生成器66以便引用。
生成字段定义步骤78和随后的步骤80,82,84,86一起详细说明了生成字段定义和文本的流程。此过程一般为上述的定义文件结构74和定义程序结构76步骤的示例。定义一字段的过程开始于由用户选择72选择的生成字段定义78。从与帮助文件40相联系的问题文件获得一个预先定义的提示问题和任何合适的开始文本,并将其显示给用户以便应答。这个引入问题步骤80用于获得一个关于被定义字段的目的和功能的引入语句。此字段引入文本存储回帮助文件40。定义字段步骤82允许用户通过输入以便选择被定义字段的外部特性(appearance)。这可以包括从目标存储器42选择一个目标。在定义字段步骤82期间检索的目标内的任何字段的属性被最初地维护,以后由用户输入进一步修改。特别地,与一个目标内的字段相联系的特征包在定义字段步骤82期间可以被打开并编辑。与一个目标相联系的特征包也可以被增加或移去。于是,一旦一个目标在定义字段步骤82被检索,该目标最好由正在区别作为一个封装的目标停止。通过检索一个目标定义的每一字段和属性在功能上与通过用户输入新定义的字段或属性没有区别。
当用户输入表明一特定字段的定义是完整的时,图像编辑器34至少暂时地过渡到确认字段步骤84。与应用程序结构36相结合实时地引用规则表,以确保已经与定义字段相联系的每一属性定义了的合适的特征包基和功能逻辑。如果字段确认失败,图像编辑器32返回定义字段步骤82,以允许用户指导修正。在非模糊修正条件下的失败可以由图像编辑器32自动地修正。当一字段最终被确认时,相应的字段定义由图像编辑器32产生。这些字段定义用于识别字段和指定属性的所有方面。虽然这些字段定义最好立即提供给序列生成器66以便处理,一个图像由图像编辑器32来维护以支持对定义字段的进一步的编辑。
一旦字段已被确认,执行解释问题步骤86,以获得关于定义字段的目的和功能的详细说明文本。基于定义字段当前选择的属性选择的提示问题和任何适合的开始文本又被显示给用户。由用户输入提供的提示应答文本作为文件解释文本存储在帮助文件40中。
当相关于一特定功能将要定义多个字段时,例如用于识别一个清单项的分类和子分类字段,图像编辑器返回定义字段过程步骤82,以定义下一字段。一旦一个或多个字段的集合已全部定义,图像编辑器返回用户选择步骤72。
现在参考图6,其显示了序列生成器66和由序列生成器66产生的应用程序序列的细节部分90。序列生成器66根据先前建立的应用程序结构36来操作,该结构36显示为由图像编辑器32产生的文件定义92和程序定义94,以及字段定义96。这些定义输入是通过依靠控制表64由序列生成器66的专家系统直接或间接地处理的,以便从规则表62识别和选择一特定基数的行为特征,作为由字段定义96的属性进行的识别。在本发明的最佳实施例中,序列生成器66工作以生成离散序列,这些序列是输入定义的特定方面的功能描述。特别地,生成程序序列98以定义由一特定段54表示的过程的明显有序的执行。例如,程序序列将定义屏幕显示字段被访问的顺序。程序序列也将隐含地定义检索、编辑和保存记录数据的顺序。
数据序列100被离散地生成,以描述在各种记录58之间的有序的数据关系。例如,数据序列将定义文件和记录56,58,以及用于检索和存储数据到这些或其他文件和记录56,58的关键字段。
文件序列102被生成以提供在程序和数据序列98,100之间的关系引用。例如,文件序列可以提供一字段和一数据序列100之间的逻辑连接,其中该字段被识别作为一有序的程序序列集实现的特征包的一逻辑功能语句的部分,该数据序列100引用一特定记录58。利用文件序列102来指定由数据序列100引用的数据到由程序序列98引用的字段的转换。
翻译序列40被生成以支持特定数据名与概括的变量名的最终联系,其中这些变量名或者通过序列生成器66的操作被隐含地分配在一动态基数上,或者表示系统变量。于是,由数据序列100识别并由文件序列102指定检索的数据被最终在由设计者44建立的程序变量中基于一翻译序列104例示(instantiated)。
确认序列106提供表示限定条件的离散序列,其中该限定条件可以根据其他序列被应用。特别地,利用确认序列来嵌入适合于特定数据字段或数据字段组的功能逻辑条件。
段记录序列108提供记录58的记录识别符的列表,该记录58可以包括数据读或写、对一特定记录的存在的测试、一特定记录的删除或清除、以及用作源或目标的任何记录,或者包括当前段54中要被读或写的记录的标题/细节关系。
特征序列110提供序列其中描述要运用到字段或字段组的功能逻辑,并可包括对所有类型的系统变量的引用。虽然每一特征序列在指定一特定功能逻辑函数时当前最好是完全的,例如以一专用算术或布尔运算符将一特定字段计数到另一字段,通过应用多序列表示一单独的特征包,可以实现更通用的函数。
应用程序序列结构98,100,102,104,106,108,110不是严格按照先进先出序列缓冲器的顺序排序的。虽然可以按照一种通常并行的FIFO顺序将序列加到结构中,每一个应用程序序列按照一种一帧接一帧的关系被增加进去,这种一帧接一帧的关系在一虚拟帧例如帧112内联系了序列结构98,100,102,104,106,108,110中的零或多个序列。于是,如果在帧112内的程序序列仅仅指定了给字段的值,翻译序列可以是在帧112内的另一个唯一的序列。相反地,在一个或多个序列结构98,100,102,104,106,108,110中的任何数目的序列可以由一特定帧112联系。因此,应用程序序列的每一帧112全部定义了一个非常窄的逻辑关系,此逻辑关系可以在由应用程序生成器30生成的码的执行中最终实现。
虽然应用程序序列作为帧112相互关联,单个序列在一个作为生成的基上也可以加到应用程序序列结构98,100,102,104,106,108,110中。该序列在功能上划分成离散序列类型的序列导致关系由帧引用隐含地定义。
在本发明的最佳实施例中,应用程序序列是简单的数据记录,每一个记录带有少数的序列字段。每一不同类型的序列98,100,102,104,106,108,110具有一个唯一的,预先定义的序列字段集。一般地,所有序列包括一个识别相应段54的序列字段,和直接或间接地包括一个帧识别字段。然而,一些序列98,100,102,104,106,108,110对于文件56,程序52或者甚至主题50可以是通用的。这些通用序列被认为是所有分级从属(depending)段54和记录58的序列集的部分。序列类型专用字段包括用于指定程序序列功能,例如检验自动售货机的功能字段,以及用于指定与一特定帧或序列相联系的序列顺序更通用化的序列字段,例如计数器。
应用程序序列的帧112通常顺序地由构成应用程序设计者44的基础的专家系统来评价。如图7所示,表示采集的应用程序序列的程序员说明接收作为应用程序设计者的输入与由文件定义92和程序定义94表示的应用程序结构36结合。另外,应用程序设计者44访问知识库34以便检索程序规则120,测试规则122,基数规则124,技巧规则126以及语法规则128。基于从程序定义94有效地获得的程序类型和子类型,由设计者44根据程序员说明评价选择的适当的程序规则120和相应的测试规则122集。这些选定的程序规则预测并采用(impose)一个通用的框架用于由程序员说明展示的功能和关系。结果,程序规则120用于从需要满足程序规则120的可用的应用程序序列的信息选择出程序员说明。测试规则122用作高级限定条件测试,以决定按照提供给应用程序设计者44的特定程序员说明是否应用了程序规则120的不同子集。因此,由应用程序设计者44生成的特定码模块的综合结构和流程在推理上依靠了基于用户输入最初建立的字段和字段关系。
与单独的程序规则和应用程序序列的专用帧一致,来评价基数规则124,以示例由程序员说明表示的特征包的该预先概括的行为特征。
应用程序设计者44运用技巧规则126来开发由应用程序设计者产生的码的中间表示,作为程序和基数规则120,124的评价结果。技巧规则126也参加了根据码的中间表示对语法规则128的评价,以最终实现单个码语句的例示。
最后,应用程序设计者44也产生了与通过码的执行实现的字段;程序和菜单相关的文本信息。这个附加的信息一般包括字段大小和类型,包括的程序,以及菜单组织,还有按屏幕提示操作的方式的上下文专用指示,例如,在执行的不同点上的可用程序选择,在执行中的一点上特别不允许的操作等。此信息由设计者44存储进帮助文件40,以扩增预先存储在那里的信息。
现在参考图8,文件编制出版者46一般与应用程序设计者44并行操作。虽然其显著的区别是出版者46依靠了由设计者44先前扩增的帮助文本40。出版者46依靠由包括段和记录定义的文件定义92和程序定义94提供的应用程序结构36,以及从序列生成器66提供的程序员说明。特别地,文件编制出版者46实现一个相对简单的专家系统,该系统主要根据由帮助文件40提供的信息评价从知识库34获得的文件规则130。一般基于应用程序结构36从帮助文件信息引导出文献编制的结构。特别地,与程序定义94的当前主题相联系的菜单列表被用于组织文件编制的主体(body)。还一般地根据在一帧接一帧的基础上,评价程序员说明,以构造适合显示于文献编制中说明的屏幕和报告格式表示。关键词(key word),例如在帮助文件40中出现的功能键名和基数类型,被用于激发(trigger)保留字规则132的评价。这些保留字规则132最好被用来支持关键概念、操作特征或以一非重复的方式使用的方法的扩展的解释,保留字规则132也可以支持关键词索引及关键词的词汇表入口的生成。
文本库134被用来支持出版者46评价文件编制和保留字规则130,132。文本库提供预先定义的文本部分,包括标题部分,屏幕介绍,附录标题,法律公告和标准介绍。文本库134还可以包括多个小的、不那么专用的文本串,这些文本串可以根据语法规则136的评价被控制。特别地,帮助文件40和程序员说明将提供用于识别各种字段和用户可看见的属性,例如只显示,只输入数字或文本或缺省字段值的源。语法规则136被评价,以将此信息控制成显示的标准形式,适合于在引用相应的图像的文本编辑器的包含关系(inclusion)。因此,出版者46生成了一个高度详细的文件编制集,直接相应于由应用程序设计者44生成的特定码实现的正确的屏幕显示过程和报告。
因此,这里已描述了一种完整的应用程序生成器系统和方法,对实质上的用户应用程序的设计、实现、维护和文件编制提供直接的支持。为了指定形成的应用程序的功能,该系统需要用户输入最少量的信息,该信息输入主要地限制于应用程序结构的定义和指定字段特征和字段之间关系的字段的逻辑属性,其中所说字段从推理上定义实现属性定义的功能和关系所必须的功能。从这些属性和应用程序结构,生成了一个应用程序序列的总说明,全面描述了由用户输入定义的属性推理的详细关系和限定条件。然后这个总说明由一个专家系统来减少选择和应用所需的且合适的应用程序序列部分,以便与指定为应用程序结构的部分的程序类型相一致,实现构造一个应用程序所必须的控制逻辑。从而由对一特定程序设计语言的语法规则的减少来构造出一个完全的应用程序。一个并行的被提示且自动采集的文本信息的减少也用于对与生成的专用应用程序高度相关的应用程序文件编制的生成。
在不偏离本发明的构思和范围的情况下,本领域技术人员可以预想到本发明的各种修改和其他实现方式,并很容易加以利用。特别地,上述专家系统中很多不同的实现方式可以应用于任何特定的实施例,直接规则分析机和逆向链推理机可以很容易地应用于实现本发明的专家系统。另外,设计者和出版者专家系统可以作为一单独的专家系统来实现,或者被实际链接来用于码和文件编制的生成。因此,本发明的实现并不仅限于上面的描述,应限定于本发明的权利要求中所定义的本发明的范围之内。

Claims (4)

1.一个在计算机上执行的编程系统,用于自动生成一个应用程序,所述编程系统包括:
a)一个引导编辑器,用于从多个输入事件元素建立程序、数据和字段定义;
b)一个序列生成器,连接到所述引导编辑器,用于自主地将所述程序、数据和字段定义处理成多个功能描述原子序列,每一所述功能描述原子序列描述一唯一的特征,这样多个帧分别地描述所述多个输入事件元素,其中每一帧包括零或一个来自每个所述功能描述原子序列的功能描述原子序列;
c)一个规则处理器,包括一个有条件地描述一个预定应用程序的结构和操作的程序规则库,所述规则处理器自主地处理所述程序规则库,以与所述多个功能描述原子序列一致,通常顺序地在所述多个帧上进行,有条件地将所述多个功能描述原子序列与所述预定应用程序的结构和操作作统一。
2.如权利要求1所述的编程系统,其中,还包括:一个语法处理器,包括一个定义预定程序设计语言的语法的语法规则库,所述语法处理器应用所述预定程序设计语言的语法,自主地统一所述多个功能描述原子序列,该统一是以从所述规则处理器接收的所述预定应用程序的结构和操作来进行的,以提供符合所述预定程序设计语言的语法的所述预定应用程序的结构和操作的编码表示。
3.如权利要求2所述的编程系统,其中,所述引导编辑器包括第一模块,响应于所述输入事件元素,用于维护定义命名的程序节点和命名的段节点的有序层的一个程序分级数据结构,第二模块,响应于所述输入事件元素,用于维护定义命名的文件节点和命名的记录节点的有序层的一个数据分级数据结构,以及第三模块,响应于所述输入事件元素,用于维护定义有序屏幕数据的一个字段数据结构,包括命名的字段和操作属性。
4.如权利要求3所述的编程系统,其中,
a)所述引导编辑器的所述第三模块还包括一个文本子模块,用于提供预期预定输入事件元素的屏幕上下文敏感提示文本,以及用于接收描述所述预定输入事件元素的描述文本,所述文本子模块用于所述描述文本在一帮助文件中的有序存储;以及
b)所述规则处理器包括一个文件编制规则库,有条件地描述所述预定应用程序的文件的结构和组织,所述规则处理器与所述多个功能描述原子序列一致,自主地处理所述文件编制规则库,将所述描述文本与所述文件的结构和组织有条件地统一。
CN 96198915 1995-10-27 1996-10-10 应用程序和文件生成程序系统和方法 Pending CN1204409A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 96198915 CN1204409A (zh) 1995-10-27 1996-10-10 应用程序和文件生成程序系统和方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/549,633 1995-10-27
CN 96198915 CN1204409A (zh) 1995-10-27 1996-10-10 应用程序和文件生成程序系统和方法

Publications (1)

Publication Number Publication Date
CN1204409A true CN1204409A (zh) 1999-01-06

Family

ID=5129215

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 96198915 Pending CN1204409A (zh) 1995-10-27 1996-10-10 应用程序和文件生成程序系统和方法

Country Status (1)

Country Link
CN (1) CN1204409A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1316351C (zh) * 2002-09-30 2007-05-16 微软公司 操作用户界面元素的计算机系统和方法
CN103294478A (zh) * 2013-06-17 2013-09-11 宁夏新航信息科技有限公司 一种计算机软件的智能化编程方法
CN104216688A (zh) * 2013-05-30 2014-12-17 宁夏新航信息科技有限公司 一种智能化的计算机软件编程方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1316351C (zh) * 2002-09-30 2007-05-16 微软公司 操作用户界面元素的计算机系统和方法
CN104216688A (zh) * 2013-05-30 2014-12-17 宁夏新航信息科技有限公司 一种智能化的计算机软件编程方法
CN103294478A (zh) * 2013-06-17 2013-09-11 宁夏新航信息科技有限公司 一种计算机软件的智能化编程方法

Similar Documents

Publication Publication Date Title
CN1096637C (zh) 管理类方法名
CN1082208C (zh) 从语言中性源程序产生语言专用接口定义的系统和方法
CN1578949A (zh) 数据对象导向的储存系统
CN1105969C (zh) 用于计算机应用程序开发和执行的方法、系统和数据结构
EP0858629B1 (en) Application program and documentation generator system and method
CN1474979A (zh) 用于专家系统的定制规则系统和方法
CN1132564A (zh) 用于数据存储与检索的方法与装置
CN1105507A (zh) 模型化系统
CN1102934A (zh) 增量连接系统
CN1137320A (zh) 用于建立关系型数据库模式的语义目标模型化系统
CN1568458A (zh) 无需修改现有代码即可增加新软件特征的方法
CN1613047A (zh) 文件系统外壳
CN1310173C (zh) 表格式数据显示方法、插入方法、删除方法和更新方法
CN1758221A (zh) 程序处理装置
CN1722108A (zh) 磁盘驱动器、其控制方法以及磁盘伪造的探测方法
CN1866260A (zh) 向用户可操作设备提供程序的方法和系统
CN1203430C (zh) 数据管理系统和数据管理方法
CN1098501C (zh) 用于sql关系数据库的仿真器及方法
CN1869989A (zh) 用于从非结构化描述生成结构化表示的系统和方法
CN1140367A (zh) 电信服务干扰
CN1799048A (zh) 通用数据库模式
CN1323415A (zh) 基于部件的源代码生成器
CN1204409A (zh) 应用程序和文件生成程序系统和方法
CN101060396A (zh) 一种事件的检测方法及装置
CN1589435A (zh) 用于优化的代码检查器的方法和设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1017750

Country of ref document: HK