用于编程语言的封装系统的制作方法

文档序号:11450324阅读:166来源:国知局
用于使用图形对象来封装编程语言的自适应自修改系统。封装系统是有直观基础的并适于不合格的用户。以使用描述被执行的函数或功能的流程图的图形结构这种创新且新颖的方式来编写封装。
背景技术
:封装基于被请求被可视化的编程语言,同时可能并不包含该文档中所描述的所有方面,而仅包含原始编程语言所需要的那些方面。封装系统是有直观基础的并适于不合格的用户。以使用描述被执行函数并能够代表许多类型的需求的流程图的图形结构来执行封装。封装本身在允许对封装方案的创建、解释和调试的完全图形环境中被完成。例如,电话通信程序将具有以下结构:非技术用户或具有非逻辑技能的用户将能够使用如以上拨号计划组件调色板中以及拖动ivr(交互式语音应答)组件的下图中所描述的一种函数的容器图。封装由向用户提供适合其理解能力的工具的不同级别组成。例如,技术用户或具有逻辑技能的用户将能够使用诸如“如果”符号、复合循环句子等的逻辑函数。当在特定系统上被使用时,本申请中所提出的本发明可以是平台无关的。例如,对于电话通信系统,可以独立于特定电话交换台的类型或任何其他相关基础设施来定义拨号计划的组件,因此能够适应许多类型的电话系统,因此,它提出了在行业编写代码的新的方式。技术实现要素:对编程语言的封装可以通过外部模块来扩展,外部模块实际上通过将由非熟练用户使用的图形外表来封装打算给技术用户使用的原始编程方法或函数。如果封装能够表示若干种被封装的编程语言,则可以使用相同的较高级别表示来生成程序或与支持这些语言的系统的接口,其与使用的封装语言无关。一般说明:·连接器是包括各种行为表、相似比较能力、跳转表和连接执行所需的任何其他函数的一种类。连接器具有定义其仅由连接器所需的能力的基础类。·容器是包括处理所有对象之间的中转逻辑的对象的特定的类。容器实际上是一种执行对象。·代码-对象背后的代码可以利用封装接口或编程语言被编写,假如在后一种情况下,程序员将定义附加到特定代码的封装图形用户界面(gui)。在这种情况下,相同的gui可以与执行相同函数的不同编程语言一起被使用。·字节码-系统提供执行字节码的虚拟机。还必须为其提供对象的字节码转换。这允许系统实际解释对象,而不需要转换被封装的代码。解释器具有垃圾收集(gc)系统和对系统调用的支持。主要实现包括三个封装级别:-高级别,其允许针对非技术用户的图形函数的执行,从而使用由描述如流程图中的动作流的线来链接的预定义图形对象。-低级别,其允许针对技术用户执行图形逻辑函数,能够遵循编程命令。低级别也使用如流程图中通过线来链接的图形对象。-应用程序接口(api)级别,其使得能够运行不同的命令,通过该命令可以被构建用于最高级别中的对象或绘图。封装只需要用户写诸如函数参数的最小的文本。每个特定目标在被添加到基本封装中时都附带了基础库的重要集合。例如,对于电话通信领域,处理超文本传输协议(http)、传真(fax)、简单邮件传输协议(smtp)的库,处理各种媒介的库以及处理不同配置的数据库(诸如键值,文档库,结构化查询语言(sql)和其他类型)的库。此外,还将提供正则表达式评估和其他基础库。例如,这些函数使得能够创建经由表征状态转移(rest)报告的工具,从而允许在需要时取回某些数据。此外,在低级别中,可以发送和取回作为流程图的部分的各种变量。自动执行api的图形表示,但是必须由api提供者创建合适绘图的实现。这种通过用户输入的实现对于所需的函数是唯一的。封装的表达具有处理数据的若干方式:·变量-存在三种类型的变量:ο局部变量-在本地容器中存储数据的方式,同时该数据在特定容器之外不可用。ο线程变量-只要线程存在就存在的变量。一旦线程的功能能力和性能被终止,该变量就停止存在。每个线程在运行时将包含该变量的独立的实例。ο全局变量-在程序的所有阶段都可以访问的只读或读写变量,该变量一旦被改变,新的数据对于使用该变量的程序的每个部分都可访问。·分析功能或函数-能够分析所接收的数据的功能:ο使用正则表达式(regex)分析文本-实施不同的regex引擎ο分析变量内容ο文本比较ο时间比较ο数值范围比较·复制变量内容(从局部容器变量到线程变量,从线程变量到全局变量等)ο触发被引起的事件,系统将触发回调。ο终止执行的能力。·逻辑语法和操作的执行。ο“if”语法-条件适应的情况。ο“unless”语法-条件不适应的情况。ο执行“while”循环-检查作为进入循环的部分的条件。ο执行“for”循环-执行预定数目的迭代。ο执行“foreach”循环-对数据执行迭代。ο执行“repeat”循环-在每个周期完成时执行评估时执行循环。ο执行“goto”函数-有条件及无条件。ο执行“case”比较。ο执行“retry”调用-重新执行代码块。ο执行“redo”调用-在错误的情况下尝试重新执行函数。支持操作者进行数据比较以及按位操作。·处理字符串的函数·数学函数·处理日期和时间的函数以图形的方式表示以上选项。它们在用户友好的流程图被呈现,使得非技术用户而非理解编程概念的用户能够遵循发生的情况。例如,图示出了regex如何工作:^([0-29]{1,})其图形表示:可以看出,绘图比regex表达式更容易被理解。此外,黑色箭头指向条件的方向,这意味着字符串处理将朝哪个方向移动,因为regex可能被命令影响向前或向后。选择正确的模式匹配包括选择适当的流程图元素。例如,命令“至少”(l)可以馈送有“多少次”。如果它是指一次(“2”),则该命令使得可以出现一个重复的模式。当提到最小一次和最大10次(“3”)时,第三个命令使得能够馈送两个值。这些命令使视觉方法中的思考,而不是以下编程语言:(1){1,}(2){1}(3){1,10}数据的这种图形表示有助于甚至高级用户从这些流程图中受益,并且非技术用户可以编写复杂的regex自动化。由于编程语言的封装基于流程图系统,本发明提供了表示数据流的各种类型的连接器。例如,不熟悉术语“循环”的用户可以接收具有内部条件的圆形连接器,该内部条件指示何时执行该执行,并且何时停止。“断开”连接器与重复连接器不同。检查数据的每个命令(例如“case”)具有用于比较值的连接器以及在没有找到数据时的默认动作。连接器表示如何处理数据的方式。你可以发现诸如以下的连接器:·直接执行(默认选项)·跳转连接器(类似于“goto”)·布尔型连接器(类似于“if”)·多重选择连接器(类似于“case”)·循环连接-改变无论位于开始还是结束的条件的类型的选择,以重复直到布尔型声明允许其退出(类似于“while”和“repeat”)·具有编号的循环连接器(类似于“for”)·错误时的循环执行(类似于“redo”)·无响应情况下的循环执行(类似于“retry”)以上所有连接器必须针对不了解或不理解复杂的逻辑函数的不合格的用户被表达。在下面,这些函数被转换成封装语言的较低级别。容器是将一定数量的函数组装到一个组的方式。例如,逻辑函数是种容器,其使用连接器聚集各种可能性。必须被聚集的每个函数(例如“case”)都具有容器。当用户想要创建一组必须被执行的命令时,他必须创建这样的容器。当特定函数引导流到该容器时,命令组被应用,并只有过后才继续到其他函数。通过“跳转”连接器来连接容器内部的命令到外部函数是可能的。默认情况下局部变量的范围仅仅包括容器。按照函数的期待在容器之间传输值是可能的。因此,容器具有函数的行为,接收“参数”并返回值。编程设置是图形化的,从而使能图形元素的使用。所描述的编程设置还工作在分布式网络中。图形化地绘制另一个用户在另一个完全不同的系统上实际实施的程序元素是可能的。高级别图形封装通过隐藏允许数据流分发的实际协议来使能轻松进行协作工作,并且具有增加的选项以实施任何现有的或新的通信协议。编程设置包括图形交互调试器。如果以电话为例,当应用调试器时,在被呼叫期间在ivr中键入数字1应用预定义的检查过程,检查过程检查其是否实际执行用户想要的函数。如果没有,系统停止并警告用户。关于图形表示,调试器考虑允许设置图形断点,增加通过图形过滤器的流,以及图形化地标记调试区域。此外,即使在调试器激活之前,封装环境在创建一个具有预定义的任何问题的图形流程图时知道警告用户。例如可以在执行前标识诸如使用非初始化变量,键入不兼容性和其他设计错误。使用方式:封装编程的图形表示是显式系统的外表。这意味着图形绘图和知晓将图形对象的含义转换为命令集合的系统并列。能够被转换并被保护为字节码的命令或函数的那些集合适用于各种编程语言,并具有将字节码重新转换为经典编程语言的能力。系统本身是面向对象的。系统中的每个编程元素都是知晓执行某些动作的图形表示类。每个类都包含一个定义其类别的特定字段。例如,“case”类具有一个将其定义为“case”的字段,并且不改变该字段的继承其的每个连接的类都属于“case”。这样可以类似地定义作为连接器或容器的其他类。这些类被灵活构造,允许混合类型行为、创建方法、创建构造器和解构器,并在需要时能够继承和覆盖。表达式“构造器”和“解构器”是固定的,因此也可以对它们执行继承和覆盖函数。只要具有指示其的特殊组件,就可以创建一个作为子进程或线程的类。每个对象都能够创建对函数的回调。每个回调激活一个方法或另一个对象。为了创建具有接收值的能力的组件的图形表示,必须存在指示哪些字段在图形模式下是可用的一种方法。为了导出字段,该方法的名称必须是唯一的。如果其不存在,则图形组件不会呈现要馈送的字段。如果字段被导出,则必须实现的另一种方法是发送键入信息的方法。这些字段的特性是:·数据类型(整型、字符、二进制数据、附加类等)·数据验证:ο数字范围ο精确值组ο模板(如regex)ο预定义的值列表ο在某个位置的值确定(例如,第二个字符必须是a)ο纯文本ο空值ο强制型字段的标记如果创建低级别api,则可以下降到与程序系统类似的级别,然而,用户接口将用作对象而不是过程特征。系统支持匿名类。默认执行类称为“main”,并且它是未声明的。如果编程语言支持的话,一个匿名类可以在运行时支持混合类型。每个对象可以具有其自己的命名空间,例如,创建一个命名空间是可能的,在“media”下聚集与媒介(media)相关的所有函数。因此,如果存在其他具有相同对象名称的命名空间,则会根据每个命名空间创建的唯一添加值进行区分,从而防止重复。面向对象的编程实施方式使得能够创建继承。类的继承使得能够改变方法以及集成构造器和解构器。图形表示本身就是一个对象,这意味着当存在定义必要的属性构造器和解构器来初始化并破坏对象的存储器的一些字段时,图形组件要被看作一个具有被看作转换为方法的函数的集合的类。还必须实施一个实际运行的方法。在运行方法中,调用必要的函数和方法。对于连接器而言这也是真的。当在屏幕上显示图形表示时,类-对象的实例被创建。对类执行继承和改变是可能的,因此,例如当作取回值的类可以是输入的父类。输入类可以是case类的父类等。通用类继承自主类,其通常定义“类”,并在大多数编程语言中被称为“对象”。它不必被正式声明。意思是说,如果它没被正式声明,它仍然包括这样的继承。这是基础类,其包括最小存储器管理,定义singleton的能力,以及必要时定义用于实现的强制字段和用于类转移的各种rtti定义的能力。对于不支持对象(object)类的编程语言(如c),封装系统将知道通过指向以该语言实施它的正确方式来转换它并进行相应的运转。在定义对象时,也定义了对其所表示的编程语言的转换。同样地,例如如果它代表诸如多个专用分组交换机(pbx)的较高级别的解决方案,则到字节码的转换被定义。gui类也在封装中被预定义,当被继承时其提供它是gui类以及它将如何在用户界面中显示的信息。如果类没有继承自gui类,那么该类将不会被显示在系统上。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1