知识的自动生成方法、知识的自动生成系统、知识的自动生成程序、自动设计方法及其自...的制作方法

文档序号:6358093阅读:352来源:国知局
专利名称:知识的自动生成方法、知识的自动生成系统、知识的自动生成程序、自动设计方法及其自 ...的制作方法
技术领域
本发明的内容有关人的有意图的行动、系统或程序的自动设计所需的知识自动生成方式及所需的自动设计系统,并且与这些方面所使用的知识自动生成程序以及记录了该程序的记录媒体有关。
背景技术
各种领域都在进行着自动设计。现在即使是步伐最缓慢的软件领域,也已经开始进行设计过程的作业自动化,在自动设计中使用设计过程的知识就行了,这已经得到普遍的理解。为此,就必须有系统地获得系统或程序的设计知识(以下简称设计知识),有系统地建立专家系统,这项技术也已经得到逐步确立。进而,还确立了从原有设计自动获得设计知识加以重新利用进行自动设计的一项技术。另外,作为设计知识自动获得方式及采用该方式的自动设计系统,已通过特开平10-320188号公报为人所知。正如后面的定量评价所示,这一方式在反复较多的保守设计领域非常有效。但是,它只停留在单纯的再利用,第一个缺点是,在能够适用的设计知识有多个候补存在时,必须由人去调查候补进行选择,而且在要从零出发进行创作这层意义上来说,这一方式并不能自动生成设计知识,这是它的第二个缺点。另外,随着软件技术的不断发展,经营问题等的上流的软件设计及其自动化的技术已经出现了许多问题。
因此,本发明的基本课题就是要阐明设计知识的基本结构,建立能够进行高水平自动设计的优秀设计者的专家系统,也就是说,要阐明从少数基础知识自动生成设计知识的技术、利用自动生成了的设计知识后或者获得并积蓄来自动设计图纸的设计知识,使其进行有效的自动设计的技术,并进一步在系统的上流乃至再上流也使之成为可能。
本发明的第1个目的,在于提供一种设法能够自动地生成设计知识的、设计知识的自动生成方法及其程序以及其系统。
本发明的第2个目的,在于提供自动地生成设计知识并以高自动化率进行工作的能够实现自动设计的一种方式。
本发明的第3个目的,在于提供一种能够高效率进行自动设计的方式,这种方式预先积蓄自动生成了的设计知识以及从已设计图纸获得的设计知识,判断出必要的设计展开方向,然后从已积蓄的设计知识之中自动决定最佳的设计知识。
本发明的第4个目的,在于提供一种有效的统一管理手段,以便将上述设计知识的自动生成和所积蓄的设计知识的再利用、与使用者之间的有效的界面-图纸的作图和标示加以统一管理。
本发明的第5个目的,在于将上述各项从程序的层次到经营高层的决策过程都组成连贯的方式。
本发明的第6个目的,在于提供使设计省力化以及提高生产效率的手段。

发明内容
在本发明中,将对目的及使之具体化的功能加以概念展开,达到决定实现手段为中心的人的全部意图的行动进行设计并完成所需的知识定义为设计知识。
为了达到上述目的,本发明的特征为是将母概念和子概念(群)作为一对单位形态的知识加以运用来完成意图或自动生成设计的知识的方法以及该程序,且具有取得从所述母概念展开后的子概念(群)的动词为中心的骨架及作用于该骨架的处理逻辑所构成的单位信息群的步骤,和从在该步骤取得的结果中取得将有意图的行动和母概念加以细化的子概念-知识。
本发明的另一特征是这是将母概念和子概念(群)作为一对单位形态的知识加以运用来完成意图或自动生成设计的知识的方法以及该程序,且具有从所述母概念展开后的子概念(群)-意图完成或设计的知识,根据通过构成所述母概念的输入(后面提及时也包括前状态)、输出(后面提及时也包括后状态)及先行的母概念(群)等信息来特定有关母概念的动词的意义的逻辑进行适当选择的步骤。
本发明是具有以下特征的设计知识的自动生成方法及其程序将母概念和子概念(群)作为一对单位形态的知识加以运用来完成意图或自动生成设计的知识的方法以及该程序,且具有在构成母概念的功能的动词部分查找由子概念(群)的动词为中心的骨架及作用于该骨架的处理逻辑所构成的单位信息群,和根据通过构成母概念的输入数据、输出数据及先行的母概念(群)等信息来特定有关母概念的动词的意义的逻辑,从在所述查找步骤中被查找到的单位信息群中选择适当的单位信息的选择步骤。
本发明的特征为是将母概念和子概念(群)作为一对单位形态的知识加以运用来完成意图或自动生成设计的知识的方法,且具有以作为要输入的母概念的单位形态的数据流程图为基础,分层展开来形成子概念-数据流程图的骨架的步骤,和继承所述母概念中的动词或从所述母概念展开的子概念的动词来形成子概念-数据流程图的步骤,并取得作为从母概念分层展开后的子概念的数据流程图所组成的意图完成或设计的知识。
本发明还有以下特征,即它是将母概念和子概念(群)作为一对单位形态的知识加以运用来完成意图或自动生成设计的知识的方法及其程序,且具有以作为要输入的母概念的单位形态的数据流程图为基础,对于处于与母概念-数据流程图或功能对应的单位形态的分层展开关系的数据流程图的骨架,利用作用于该骨架的处理逻辑或与之协调工作的专用逻辑,形成通过至少要插入输入数据或输出数据来分层展开的子概念的数据流程图的步骤,并取得作为从母概念分层展开后的子概念的数据流程图所组成的设计知识。
本发明还有以下特征,即它是将母概念和子概念(群)作为一对单位形态的知识加以运用来完成意图或自动生成设计的知识的方法及其程序,且具有以作为要输入的母概念的单位形态的数据流程图为基础,取得处于与母概念-数据流程图或功能对应的分层展开关系的、至少取得数据流程图的骨架的步骤,和对于在该步骤中取得的数据流程图的骨架,利用作用于该骨架的处理逻辑或与之协调工作的专用逻辑,或另外设置的专用逻辑形成通过至少要插入输入数据或输出数据,至少形成子概念的数据流程图的步骤,并取得作为从母概念分层展开后的子概念的数据流程图所组成的意图完成或设计的知识。
本发明还有以下特征,即它是将母概念和子概念(群)作为一对单位形态的知识加以运用来完成意图或自动生成设计的知识的方法及其程序,且具有以作为要输入的母概念的单位形态的数据流程图为基础,从处于与母概念-数据流程图或功能对应的分层展开关系的多个骨架,选择适当的单位形态的分层展开关系的骨架的步骤,和具有作为所述母概念的单位形态的数据流程图为基础,对于在所述步骤中选择了适当的单位形态的分层展开关系的骨架,利用作用于该骨架的处理逻辑或与之协调工作的专用逻辑,形成通过至少要插入输入数据或输出数据形成分层展开了的子概念的数据流程图并加以输出的步骤,并取得作为从母概念分层展开后的子概念的数据流程图所组成的知识。
另外,本发明还使用数据流程图和流程图以及结构化图。在数据流程图中,单位形态的设计信息是输入数据、该输入数据的转换机构-功能以及输出数据,分别是数据流程图的基本结构,由诸如各种图形记号和其随附的记述组成。数据流程图表示在整体上实现某种功能的算法,不显示图中的功能的实行顺序。在流程图以及结构化图中,该单位形态的设计信息是功能,分别是流程图以及结构化图的基本结构,由诸如各种图形记号和其随附的记述组成。流程图以及结构化图显示功能的实行顺序,但未必能读取算法(不明白)。
本发明是有数据流程图及与之对应的流程图或结构化图,两张图纸上对应的功能分别设定了起始点并使两个起始点同步地在各图纸上移动来进行自动设计的一种自动设计方法,这种自动设计方法具有以下特征具有在引擎部检索所述起始点的功能和输入数据及输出数据所组成的母概念-数据流程图的步骤,和在该步骤中被检索的引擎部,从利用所述设计知识的自动生成方法生成的设计知识,取得作为从母概念分层展开的子概念的数据流程图及流程图或结构图,再就所述母概念的功能,通过在数据流程图上粘贴子数据流程图,在流程图或结构化图上粘贴子流程图或子结构化图,完成所述母的设计,并将起始点移动到下一个母的步骤,且通过所述步骤的反复循环,进行数据流程图及对应的流程图或结构化图的设计。
本发明是一种将成对的母概念和子概念(群)作为意图达成或设计的单位形态的知识进行自动生成的系统,它的特征是具有积蓄所述意图达成或设计的单位形态的知识的知识库部,以及具备从取自所述母概念的子概念(群)的动词为中心的骨架及作用于该骨架的处理逻辑所构成的单位信息群中,根据利用构成所述母概念的输入数据或前状态、输出数据或后状态及先行的母概念(群)等信息特定母概念的动词的意义的逻辑及构成所述母概念的功能的动词部分,选择适当的单位信息的选择部,自动生成意图达成或设计的单位形态知识的自动生成部,并具备切换所述自动生成部及所述知识库部,选择所要使用的意图达成或设计的单位形态知识的选择手段。这里,在知识库部给予并存贮作业所使用的全部设计规则。
本发明是一种知识的自动生成系统,它的特征是具有积蓄所述意图达成或设计的单位形态的知识的知识库部,以及具备在构成所述母概念的功能的动词部分检索取自所述母概念的子概念(群)的动词为中心的骨架及作用于该骨架的处理逻辑所构成的单位信息群的检索部,以及根据利用构成母概念的输入或前状态、输出或后状态及先行的母概念(群)等信息,特定母概念的动词的意义的逻辑,从所述检索部检索到的单位信息群中选择适当的单位信息的选择部,自动生成意图达成或设计的单位形态知识的自动生成部,并具备切换所述自动生成部及所述知识库部,选择所要使用的意图达成或设计的单位形态知识的选择手段。
本发明是一种知识的自动生成系统,它的特征是有将成对的母概念和子概念(群)作为单位形态的知识加以积蓄的知识库部,积蓄从所述母概念展开后的子概念(群)的动词为中心的骨架及作用于该骨架的处理逻辑所构成的单位信息群的规则库,以及从该规则库中积蓄的单位信息群中,利用构成所述母概念的输入或前状态、输出或后状态及先行的母概念(群)等信息,特定并选择母概念的动词的意义来自动生成意图达成或设计的知识的自动生成部,且该自动生成部进而在每次用于作业时,与在所述知识库部中积蓄的知识中将动词相同化的已出现的知识(群)加以比较、对照,重复部分抽出骨架,同一意义共同的模式作为处理逻辑抽出,并将这些抽出结果积蓄在所述规则库中。
本发明是一种知识的自动生成系统,它的特征是有可正、反检索有关用语、数据、构成的基础知识字典及将该字典建立关系的单位功能逻辑,和积蓄从所述母概念展开后的子概念(群)的动词为中心的骨架及作用于该骨架的处理逻辑所构成的单位信息群的规则库,和从该规则库读出单位信息群和专用逻辑和所述单位功能逻辑协调动作,自动生成意图达成或设计的知识的自动生成部。
另外,本发明进而还有以下特征,即在所述单位功能逻辑中有可从用于作业的知识中抽出动词的逻辑部分,再将该输出积蓄在所述基础知识字典中。
本发明是一种具有以下特征的自动设计系统,即本系统具备有数据流程图用CASE工具部及流程图或结构化图用CASE工具部的CASE工具群,至少有自动生成设计知识的自动生成引擎部及积蓄在该自动生成引擎部自动生成的设计知识的知识库部的引擎群,和所述CASE工具群和所述引擎群之间相互发送、接收信息的手段。
本发明是一种具有以下特征的自动设计系统,即本系统具备所述CASE工具群,和所述引擎部,所述两种CASE工具具备用于每个设计知识的自动设计及进行知识抽出,识别母的识别手段,进而还具备每次跟随母动作时对照确认两种CASE工具的输出是否一致的逻辑手段。
本发明是一种具有以下特征的自动设计系统,即本系统具备所述CASE工具群,和所述引擎部,所述两种CASE工具具备识别成为作业对象的功能的识别手段,并具有以下功能,即每次跟随母数据流程图动作时,变换利用先行于数据流程图进行设计而得到的跟随母数据流程图的子数据流程图在流程图或结构化图上作画的功能以及在先行于流程图或结构化图设计分支或反复的场合,禁止数据流程图侧的追随的功能。
本发明是一种具有以下特征的自动设计系统,即在将成对的母概念和子概念(群)作为设计知识用于设计的方法上,有以下步骤即从利用母概念-图形记号的单位设计信息的图形出发,描摹连接所述母概念-图形记号的母概念-母概念群,得到母概念,再发送到引擎的步骤,第1引擎具有选择步骤的输出,可自动决定根据抽出母概念的中心概念的意义的逻辑检索到的知识库的相当部分,第2引擎具有所述设计知识的自动生成单元的输出。另有选择所述第1引擎的输出或所述第2引擎的输出的步骤,以及将来自所述引擎、要进行分层展开的子概念-图形记号群连接到母概念-图形记号群的下位来制作图纸的步骤。
另外,本发明将母的概念和将其分层展开的子的概念(群)这种对作为单位形态的设计知识。即在数据流程图的场合,将输入-数据、功能及输出-数据所组成的单位形态数据流程图作为母的概念,子的概念是将母的输入-数据或其构成的一部分作为输入数据,将母的输出-数据或其构成的一部分作为输出数据,与将母的功能概念分层展开了的功能(群)组成的数据流程图(群)。这样,最具体且正确的母的概念是母单位数据流程图,子的概念是子数据流程图(群)及其中附记了功能的实行顺序的流程图或结构化图,这一对就是设计知识。但,只有数据流程图的场合,是母概念的单位形态的数据流程图和子概念(群)的数据流程图。另外,只有流程图或结构化图的场合,是母功能和子功能的流程图或结构化图。
本发明中的设计图纸是具有以下结构的设计图纸,即从相当于母的最抽象的单位形态的设计信息有分支出来,连接到相当于子的、更为具体化了的单位形态的设计信息群,该子各自分别反复连接到自己的子。在本设计图纸上有从利用分层展开的母-图形记号单位设计信息的图形出发,依靠一笔书写的路径,按顺序描摹母-图形记号(群)的全体动作的功能。进而,还有以全体动作按顺序描摹母,同时描摹连接母-图形记号(群)的子-图形记号(群),返回出发点的第1局部动作功能,并处理所得到的信息来自动获得设计知识。另外还有指定母概念,被给予母概念和子概念的对-设计知识,连接到设计图纸上的母,用展开为图形记号(群)的形式粘贴子概念的第2局部动作功能,自动地进行设计(展开动作)。
本发明已设计为能够以全体动作描摹某个图形,同时从描摹的对方图形中取出母的单位形态的设计信息,利用局部动作取出子的单位形态的设计信息,并从这些单位形态的设计信息群中再现母和子的单位形态的设计知识,通过将其存储在为了得到设计知识的引擎群中的知识库中,来自动地获得设计知识。
另外,本发明还设计为以全体动作描摹某个图形,同时从描摹的对方图形中取出母的单位形态的设计信息,并从该单位形态的设计信息群中取出母的信息,再发送到为了得到设计知识的引擎群中。引擎送出来自知识库的检索结果或各种来自自动生成部的该母和子的分层关系的设计知识。通过描摹该子的图纸,同时将子-图形记号(群)粘贴到设计图纸上的该母的下位,就能够自动展开根据设计知识的图纸,即能够进行自动设计。
以下就与本发明有关的基本性的自动设计进行说明。在数据流程图上对开始知识抽出的母概念的功能设定起始点,并在流程图或结构化图上也对相应的功能设定起始点。其后两个CASE工具会同步动作。起始点随着进行对于图纸的整体动作,按顺序会移动到下一个功能,并进行局部动作。每次局部动作时,首先是母被发送到统合部,并(确认母的一致)被传递到知识库和Creator CASE工具。从引擎(知识库和Creator CASE工具)发送出设计知识后,统合部将其传递到CASE工具群,各CASE工具接受针对自己的设计知识,使其完成1个周期的局部动作,全体动作使起始点往下一个移动,进入下一个周期。反复这一过程,进行作图,直至最后的最细化了的层面。
下面按顺序说明本发明的设计知识的自动生成部的构成。在Creator CASE工具(和知识库等引擎)的输入上,设置了母概念按各个顺序积蓄的机构,并安设了能够追溯某种程度的过去的状态的机构。输入进而经过抽出母概念的输入输出数据和功能中的中心动词的逻辑,前者与功能译码器连接,控制一连串的开始动作,后者被连接在Creator’00程序中的动词字典的检索上。
一般来说,某个动词总有几种意义,所以检索结果对应于单数或复数的页。功能译码器采用母概念的输入输出数据及过去的母群,有逻辑来选择页,可对应参照DDFT所检索到的动词字典的正确度较高的意义。
动词字典是模仿框形知识的东西,对应于框形知识的数据,数据流程图和流程图或结构化图表记的子概念的骨架,还在方法上记述了采用该骨架形成子概念的处理逻辑。最简单的逻辑例是为了制作“将○○××到△△”这类子概念的结构性功能表记的模范形态,将母概念的输入输出数据组合到骨架中,作为其结果,就会形成子概念-数据流程图。
某个母概念的输入数据和输出数据同为层次结构时,适用杰克逊程序设计法。功能译码器有专用逻辑,能经由结构字典CASE工具,参照登录了的结构字典,展开输入侧和输出侧的数据。JSP单元有着根据杰克逊程序设计法,形成输入侧和输出侧对应的对,从母概念的动词或动词字典的骨架中继承中心动词,形成对应的输入数据、子功能、输出数据的单数或复数的子数据流的逻辑。
设置从数据流程图变换到子概念-流程图或结构化图的逻辑部分,共同使用,或与数据流程图的场合一样,将从骨架形成子概念的逻辑作为方法设置,形成流程图或结构化图的子概念。


第1图是与本发明相关的自动设计系统中作为基础的人工设计作业结果的图,说明设计知识的获得及再现的原理的图,第2图是表示与本发明相关的、从设计知识、设计规则、即母概念向子概念进行概念的分层展开的数据流程图,第3图是表示与本发明相关的结构化图(流程图),第4图是与本发明相关的母数据流程图,以及粘贴了该图的子数据流程图,第5图是表示母功能及粘贴在其上的子功能的结构化图、PAD的图,第6图是表示与本发明相关的自动设计系统的一个实施例的模式图,第7图是与本发明相关的结构字典CASE工具部的功能的说明图,第8图是表示与本发明相关的Creator CASE工具部的知识的基本结构的表示图,第9图是对赊售与本发明相关的骨架的场合的说明图,第10图是对赊购与本发明相关的骨架的场合的说明图,第11图是与本发明相关的抽象化了的通用的骨架的说明图,图12是与本发明相关的结构化图(流程图)的表示图,图13是与本发明相关的设计所需的基础知识的说明图,图14是与本发明相关的“决定设计方向的功能”的构成概念的说明图,图15是与本发明相关的杰克逊程序设计法中的功能译码器一部分的表示图,图16是图15中第1检索过程的表示图,第17图是反复第16图所示的检索,形成连接分层展开结果的全部输入输出之间的数据流程图的情况的表示图,第18图(a)是对第17图所示的全部临时功能完成功能的记述的最终结果的表示图、第18图(b)是采用微软设计规则设计的实施例的表示图,第19图是与本发明相关的以自动生成为中心的系统的内部结构的说明图,第20图是与本发明相关的通过再利用的自动设计的评价结果、在全体的分层展开之中能自动进行的比率的表示图,横轴表示新设计后在同一领域设计的反复(保守设计)次数,纵轴表示在该次数中通过再利用进行自动展开的比率,第21图是与本发明相关的只有设计知识的自动生成的场合下的评价表示图,横轴用对数尺度表示进行设计时的分层展开数的累计数,纵轴用对数尺度表示到某点为止的自动生成所必需的动词字典的累计页数,第22图是与本发明相关的需要确认输入时的设计规则的示例图,第23图是与本发明相关的加进输入计算时的设计规则的示例图,第24图是与本发明相关的减去输入计算时的设计规则的示例图,第25图是与本发明相关的DDFT的一个实施示例图,第26图是与本发明相关的制作骨架和方法的机构的表示图,第27图是与本发明相关的设计简单的库存管理系统,其效果的分析结果的表示图,第28图是在第27图中说明的库存管理程序的7个程序的初期设计中的程序数和累计定义数之间的关系的表示图。
具体实施例方式
以下通过图纸就本发明相关的实施形态进行说明。
首先说明人工设计的定义。
关于人的创造或设计,有各种观点。作为用语的定义,在本发明中,指人的有意图的行动和广泛的捕捉。为了在工程学上便于管理,必须是最有系统性的,而且能够具体地加以把握。从这一观点出发,我们将着眼点放在人各自的思考结果-概念上。这时,人的创造乃至设计的过程就可以用人的概念的分层展开的连锁来定义。这种展开每反复一次,目的就会变得更明确,更具体,更详细。
也就是说,最原始的东西是有意图的效果和效用,将它作为目的分层展开,其实现手段(群)被细化后效果和功能就会更加明确。现在,企业对信息系统的投资非常大,大家知道,为了节省资金,甚至出现几个企业合并的情况。同时提出这些系统的方案,寻求向具体的系统的展开的工程技术人员的层面,在SE,企业的最高运营方针的层面都成了问题,这些却不为人知。
在该层面上来讲,军事科学上的“目的的分层展开”是最容易说明问题的。组织的头头设定战略上的最终目的。组织的头头分层展开为实现该目的的手段(群),给出各种组织的头头的命令。例如,在私人企业中,“使利润增加”是最终目的的一例。为达到该目的,有各种方法,如增加销售额,研制新产品、降低开发成本、压缩库存等。现在作为战略,我们选择压缩库存,则其实现手段有资材购入部门“精选订货和压缩购入总额”营业部门流通“将库存品降价销售等库存吐出”、生产部门“只安排有希望的订单和加强库存管理”。
这样,母概念“使利润增加”就被展开为子概念群“精选订货和压缩购入总额”、“将库存品降价销售等库存吐出”和“只安排有希望的订单和加强库存管理”。这可以说是根据目的的层次性的分层展开。
对私人企业的信息部门上层的期望是要有一套系统,以便能如实地显示现在上层应该做些什么,这些经营知识和实务是SE必需的知识,构成作业的中心。在生产部门也出现同样的情况。说“加强库存管理”,那么讨论一下“为此目的,要做什么才好?”,则会决定“编制长期呆滞物品的目录”、“库存金额的全体合计”和“每个呆滞期间的金额变化、按产品分类的金额”等。这是根据目的的层次性将所给的命题展开,也是作为母的子概念的展开。在系统设计的上位,并非是应该用软件做些什么这种具体的展开,中心是这种目的的展开。于是,在软件工程学上,将该母子的展开所构成的展开网称作目的树。现在,这种事务作业的过程也作为事务过程进行SE作业。时代在发展,现在的软件产业的开发中,从事这类SE作业的人数要多于编制具体程序的人数。编制具体的程序是分层展开的连锁,本文后面将对此加以说明,但在前阶段,已经存在着构成分层展开的连锁的作业,而且现在它还占了很大的比例。
也就是说,最原始的东西是有意图的效果和效用,将它作为目的分层展开,反复进行在其实现手段(群)上的展开。在其上位,有行动和服务的场合,将其展开后就会到达单位形态的行动和外部方式的功能。这些进一步被展开、细化,会到达更为明确的效果和功能。进而,将这些东西每一个作为目的进行分层展开,就会得到更为具体的(例如指从输入向输出的信息变换的软件方式的)功能(群)及其构成。该分层展开被反复,直至对象能够展开到具体的设计作业的层面。
进一步将具体化到设计对象程度的功能分层展开,就会得到使它们实现的(例如软件方式的)功能(群)及其构成。对该功能再反复分层方式的功能展开。随着对功能的分层展开的反复进行,各个功能就会明确化、具体化、细化,到达如源代码元数那样的层面。这样,本发明中与其他发明的不同处就是,从最高层面的经营判断开始到源代码元数化结束的最终阶段的全过程都是作为人的概念展开加以同一处理。这些可以用“人的意图达成的行动”来简要地加以表现。
以下再通过具体的事例来进行说明。第1图是Joint Conferenceon Knowledge-Based源代码元数ftware Engineering,JCKBSE 96(1996年9月)的193页到197页上发表的论文’Expert’sKnowledge Structure explains源代码元数ftware engineering’的图1的日文翻译,各图表示时钟程序的设计过程的各个图纸。左面是数据流程图,中间是流程图的一部分,右端是源代码元数的列表的一部分。
这里,数据用上下是半圆形的长方形表示,功能用长方形表示。按数据、功能、数据和处理流的顺序排列,用箭头表示流向的图称为数据流程图。流程图则是按实行的顺序纵向地从上至下排列,用线段连接各个功能的图。
在第1图数据流程图中,最初的功能是“时钟”,将它分层展开就成为“求得时间”“求得指针”“显示指针”,变得更加明确了。将第2个功能“求得指针”再分层展开,就具体化为“求得时针”“求得分针”“求得秒针”。将该第2个功能“求得分针”再分层展开,就细化为“求得分针的角度”“求得分针的宽度”“求得分针的长度”。另外在中间的流程图的下方,显示出功能“求得分针”的流程图。这里与数据流程图的各功能对应的流程图的各功能相同。这通过将设计的过程区分成一个个小阶段,就很容易实现。
对其进行反复的过程中,在接近了实现手段(例如在软件方面是对数据的运算等)时,概念的分层展开会被置换为在最终实现手段(群)上的操作和构成(通常的软件是用计算机语言进行处理定义)。通过它的反复,就会到达实现当初的意图-效用、效果、功能的层次性的手段群(例如在软件上的程序)。这一设计的定义不局限于软件,是所有将人的有意图的行动转移为实现所通用的定义。
根据前面说明过的第1图左面的数据流程图的最下面及第1图中间下面的流程图,例如“求得分针的宽度”,则立即就可以明白“如将60进位的时刻放大6倍,能得到360进位的角度”。这样,第1图右端的源代码元数就用计算机语言表记“{分针的角度}为{时刻的分的值}×6”。如果将这种源代码元数的群用与分层展开的相反方法,即不断堆积下去,就可以构成全体的程序。
这里与当初的功能概念的分层展开的场合不同的是,“功能的概念”变成了“对应信息的演算处理”,将它说成“实现的层次性的手段”。
也有和它不同的表记法。即也有一些方法是将“求得分针的角度”在数据流程图和流程图上表记为“{分针的角度}为{时刻的分的值}×6”,从流程图到源代码元数的变化从自然语言表记改为计算机语言表记。这里,不是通常那种程序中心的观点,而是将自然语言作为中心,因为其意图是捕捉全部的人的有意图的行动。
由此可见,表记功能时,有时不是采用将功能表记为“△△○○”的规范的自然语言表记,而是用数学形式,进行诸如“○○是△和□”或“○○=△和□”的表记,进行简单表记的场合常使用这种方法。例如,既有“四角形的面积(S)是底边长度(L)×高度(H)”这一自然语言的表记,又有数学方式的“S=L×H”,或“S←L×H”这类表记。这种场合下,可以利用将它重新置换成“是S”来进行完全等价的处理。这里将它们全部统一为“△△”这样的动词形态进行说明。
本发明以设计图纸为对象,使设计在每个小的过程阶段都留下设计图纸,这样设计作业就可将某个单位形态的设计信息作为设计输入,将其分层展开后的单位形态的设计信息(群)即是设计输出。也就是说,从知识的立场来看,使设计输入相当于母的概念,设计输出相当于子的概念,所谓设计的知识就是从母到子的概念的分层展开。
在软件的设计上,与语言组合,使用图纸,(使其发挥一般文书的效果)与语言共同让人充分理解并记住关系、构成和结构。现在最普及的是流程图、结构化图和数据流程图。前面在简单的说明中已经将它们用于说明了,下面对它们作更详细的说明。
如第2图所示,数据流程图是按(输入侧)数据、功能、数据、功能……[输出侧]数据的顺序(通常在水平方向上)排列的,相互之间用流线连接。但作为数据的记号,除第1图之外,均根据JIS规格,采用使菱形的上边错位的长方形记号表示。数据流程图最为明了地表示出实现程序的算法。在数据流程图的图形记号之中,记入表示数据名称和功能的记述。
在流程图中,不表记数据,只表记功能,表示出实行功能的顺序。流程图将功能按实行的顺序(通常在垂直方向上)排列,从开始到结束,相互之间用流线连接。在流程图的图形记号之中,记入表示各种功能的记述。该各种功能与对应的数据流程图的各种功能相同。
在数据流程图中,母概念和子概念都有着对应于各自功能的输入侧数据和输出侧数据,但在流程图(结构化图)中,没有这些输入输出数据,成为所谓的缩退了的概念。有几个方法可避免这一点,如第9图及第10图的图例所示,在功能的记述中记入与输入数据及输出数据有关的信息,来补足数据信息的方法,或者如第23图及第24图无()部分所示,采用不作这种考虑的方法等。
流程图能够表示出功能的实行顺序、分支和反复。但是,数据流程图不能表示出功能实行的顺序、以及判断/分支,但能最为明了地表现算法。
接下来,在设计过程的每个小阶段,采用数据流程图和流程图两者来表记设计结果,则能够正确地表示出功能实现的细节及其实行。
数据流程图表记的母概念的一般形态,如第1图左端的数据流程图自上而下的第2段中“实时钟”→“时钟”→“钟面”一例所示,是由(输入侧)数据、功能、(输出侧)数据组成的单位形态的数据流程图,它有最广泛的条件。(更正确地说,输出侧数据是该功能被完成后的状态,输入侧数据是该功能影响前的状态。在该数据流程图的场合,按实时的顺序,给出实时钟,时钟作用后出现钟面。这样作为输入侧数据,定义为输入侧状态;作为输出侧数据,定义为输出侧状态,使设计的上流阶段的思考可以简化。)这里,应该实行的功能是“求得时间”的1功能,所以不需要有流程图。表记了该子概念的数据流程图是第1图左端的数据流程图的第3段、“1秒钟”“求得时间”“时间”“求得指针”“指针”“显示指针”“钟面”。用数据流程图无法表示实行的顺序等控制。另一方面,与之对应的流程图为第1图中间上方的“时钟”的流程图,尽管没有数据,但具备了控制的条件。也就是说,开始是“求得时间”,接着是“求锝指针”,最后是“显示指针”。
这样,每个小阶段的设计知识的母概念能够用母单位数据流程图表记,而子概念用子数据流程图和表示子的流程图(或结构化图)两者能够得到最完整的表记。
实务上,有时只用数据流程图或流程图进行设计。只用数据流程图的设计,其母概念是母单位数据流程图。子概念是它的子数据流程图,第2图即为一例。只用流程图的设计。其母概念是单一的母功能,子概念是实现该母功能的流程图。使它与前面的例子对应起来,可知母功能就是“时钟”,其子-流程图就是第1图中间上面的流程图,这是从第2图的子数据流程图的功能群中脱离出来,按实行顺序排列的“求得时间”“求得指针”“显示指针”所组成的流程图。
这里为了进行最普通的处理,采用了数据流程图和流程图(结构化图),但控制也使用数据流程图所一并记载的那种数据流程图的话,则不需要2种,只要1种图就可以了。即使在这种情况下,本发明仍能够适用。
这里所用的单位形态的设计知识是这些母概念和子概念的对,将这些用于后面分层展开的设计知识取名为“设计规则”。这种将人的概念间的关系定义为知识,与所谓的人工智能的常识不同,它广泛地以人的各种有意图的行动为对象,在最下流,是为了取代软件设计实现统一的方式所不可或缺的定义。
在开头说明的、接近经营的系统的上位的阶段,作为输入和输出数据,捕捉在更广的概念上的数据,例如信息和处理的前后的状态等。从能够明确说是人的有意图的行动到纯粹的程序的过程缓慢地、不间断地推移。这样,只要将这些分层展开的过程视为人的创造性的知性处理过程,就能够统一处理一切。下面如所述,作为用语的定义,我们宣布所谓设计就是达成人的意图的行动和广泛的捕捉。
如上所述,用分层展开的连锁构成设计时,从逻辑上回溯显示设计过程的设计图纸,则就是一张具有以下构造的设计图纸即从相当于最初的母的最抽象的单位形态的设计信息伸出分枝,连接到相当于其子的、更具体化了的单位形态的设计信息群,其子各自连接到自己的子(从最初的母来看是孙)的群这样的反复。
从第1图可以看到,从左上的“时钟”向下方3展开,到达“求得时间”“求得指针”“显示指针”,它们各自又向下方展开,例如从“求得指针”向下方3展开,到达“求得时针”“求得分针”“求得秒针”,接着它们各自再向下方展开。这就是前面所说的设计作为分层展开的连锁构成。将这些连锁方式的动作重现的话,就能够使设计自动化。
以下就将人工设计动作定型化来机械化的方法,参照第1图说明宏观上的动作。
所提供的规格是时钟,最初的数据流程图只是功能“时钟”。为了将其变为正规形式,附加输入数据“实时钟”和输出数据“钟面”,改成第2段所显示的单位数据流程图。利用设计知识将其分层展开,则成为第3段的数据流程图。这里的设计动作将第1图的图纸作为记录设计的进展的图纸,将母单位数据流程图“实时钟”“时钟”“钟面”供给知性动作所需的引擎,得到第2图所示的该设计所需的设计规则,再将设计规则中的子概念“1秒钟”“求得时间”“时间”“求得指针”“指针”“显示指针”“钟面”作为第3段的数据流程图粘贴到图纸上。
这种场合的设计知识“设计规则”中作为子概念,有流程图“时钟”的流程图、“求得时间”“求得指针”“显示指针”,所以将其登录到设计图纸上。这就是第1图中间的流程图的最上方。
在第2段的数据流程图中没有这以外的母概念。于是,下降到第3段的数据流程图,将第1个功能“求得时间”的单位数据流程图“1秒钟”“求得时间”“时间”送到引擎,得到相应的设计规则(未图示),将其子数据流程图粘贴到第4段。接下来,对第2个功能“求得指针”,将母单位数据流程图发送到引擎,得到与其对应的设计规则。这里,因为母单位数据流程图的输入数据“时间”与第1个功能通用,所以第1个功能的子的输出数据与第2个功能的子的输入数据通用,如第1图所示,将作为第1个功能的子粘贴了的输出数据以用于输入数据的形式粘贴第2个功能的子。接着再粘贴子的功能群和输出数据。对第3个功能“显示指针”也进行同样的处理,下面的第3段上母功能不再有,所以向下降到第4段,对“求得时间”的子进行处理,接下来对“求得时针”“求得分针”“求得秒针”进行处理。
与它们平行,有流程图的设计。该流程图的子概念、母概念被给出,由引擎供给,陆续粘贴到流程图的场所。如上所说,没有分支和反复的场合,是将子概念的数据流程图上要出现的功能群按实行顺序进行排列,如果实行顺序与数据流程图上要出现的功能群相同,引擎能够从数据流程图变换后得到子流程图。但是,有分支和反复的场合,与数据流程图未必对应,数据流程图的设计一拍踏步走。
为了使其进行以上的动作,要设置指定进行单位形态的设计的功能的起始点,将动作分为以该功能为母概念的单位形态的动作,和使起始点顺次在横方向上移动一次会再降到下段一次的动作,一边使数据流程图和流程图上的起始点同步地移动,一边使其进行设计动作。
接着,说明这些过程中的单位形态的设计知识和设计规则。第2图是将第1图左面的数据流程图的第2段和第3段抽去后所显示的形态,数据流程图的母概念显示在上方的单位数据流程图中,子概念显示在下方的数据流程图中。只有数据流程图的设计规则如第2图所示,设计全体的设计规则还伴随着子概念的流程图。
与它对应的只有流程图的设计规则使子概念的流程图与母概念的功能对应,并将第1图左端的数据流程图向右旋转90度,只留下功能。在流程图的场合,因为先行图纸显示母概念,后续图纸显示子概念,所以该展开关系为第1图纸只有功能“时钟”,第2图纸表记作为“求得时针”“求得分针”“求得秒针”的实行顺序。在流程图上,设计的分层展开关系跨越图纸之间,不易看清。于是,从方便使用的观点出发,不使用流程图,而使用结构化图。
结构化图在程序的结构性3要素,即“连接”、“分支”及“反复”分别使用各种图形符号,用图形方式写就程序的结构。
第3图用结构化图PAD(Problem Analysis Diagram)表示相同的展开关系。在PAD中,表示分层展开的子时,将线条向母概念的功能的右方向延长,子概念在实行各种功能时在垂直方向按顺序排列(连接),在左端拉一条垂直的流线,与从母概念向右方延长的线结合。在反复的场合(图中没有表示出来),用第1个功能(盒子)表示条件,在该盒子的右方向将线条延长到第2个功能(盒子),在该盒子上表现出反复的功能。在第1个功能(盒子)上拉垂直线表示反复。在分支的场合(图中没有表示出来),在右方向使用有切口的图形记号,在盒子左端表现分支条件。在盒子内部表示分支条件。在从楔形的上方向右方向伸出的线条上继续条件成立的场合下的处理,在从楔形的下方向右方向伸出的线条上继续条件不成立的场合下的处理。
第3图表示对应于第2图的结构化图的设计规则。左端的功能表示母概念-功能,垂直线及其右面部分表示子概念-控制的流。从第3图可知,母概念和子概念(群)的对能够在同一图纸中用相邻结合的关系写就,且对每个子概念,能反复将它作为母概念,写出其子概念群,所以同一图纸中,图示出好几个母对子的展开关系。采用结构化图,则在同一图纸中母概念-功能和子概念(群)的功能(群)两方都能够在同一图纸中写出,分层展开关系成为向右伸的树枝状,最易看出分层展开关系。
作为数据流程图,另有一种与这里使用的图不同的Dc Marco的数据流程图,它是用于事务计算系统的简化了的图,不使用数据的记号,将着眼的数据名称添记在数据的流线上,隐蔽了数据结构的细节,用数据字典表示细节。这里说明的技术是基础,几乎都可以直接利用,进而如果追加对数据字典部分的处理,就能够使用了。
其他,还有为所谓数据流语言而开发的数据流程图。它有很多提案,尚未标准化。骨子里是在数据流程图上加进了(流程图的)控制。因此,基于这里说明的技术,有关数据流程图的技术可以直接再对与该数据流程图中的控制的表记有关的部分,将流程图场合下的技术引入该数据流程图中就行了。
下面说明从已设计图纸自动获得设计知识、设计规则的方法的概要动作。
特开平10-320188提供了结构化图自动获得设计知识的最基本的方法。这里说明为了在数据流程图上也能适用而在其基础上扩张了的一种方式的概要动作。
我们用第1图左端的数据流程图群来说明自动获得的整体动作。前面已在设计动作的定式化中说过,该动作分为对图纸的整体的动作和要获得注重母的具体的设计规则的局部性的动作。现设在设计规则的母功能上建立起始点显示,整体动作为进行该起始点的移动。这时,局部性的动作要使起始点固定在母上。以下说明为简明起见,设定整体动作为一边从特定点开始降下,一边一笔写就的方法。
在第1图左端的数据流程图的最上位-第2段的数据流程图的中间的功能“时钟”上显示起始点。
开始动作后,就会开始自动获得设计规则的局部动作。这首先是描摹第2段的数据流程图“实时钟”“时钟”“钟面”获得母概念的信息。接着,描摹第3段的数据流程图“1秒钟”“求得时间”“时间”“求得指针”“指针”“显示指针”,获得子概念的信息。
结束局部性动作后就会返回整体动作。在第2段的层次上,成为对象的功能一开始就不存在,所以下降到第3段,将起始点移动到最左端的功能“求得时间”,开始局部动作。局部动作结束后,接着将起始点移动到功能“求得指针”,开始局部动作。该局部动作结束后,接着再将起始点移动到功能“显示指针”,开始局部动作。该局部动作结束后,因为该段上一开始就不存在,所以下降到第4段。然后,整体的动作就这样进行。
也就是说,在某个母的层次上的全部母功能之后,到展开各个母的子的层次,按第1个母的第1个子、第2个子、……、第2个母的第1个子、第2个子、……这样的顺序,在每个层次上使起始点移动,同时使其进行局部动作。这个过程不论是设计知识的自动获得还是自动设计都一样。
要实现这一点,要用树径程序使起始点逐次移动到各功能上。用第3图的例子来说,从当初的母概念侧的功能记号“时钟”出发,沿着其子概念侧的功能记号“求得时间”“求得指针”及“显示指针”,再返回“时钟”。接着对第1个子概念“求得时间”也使其进行相同的动作。
局部性动作中的母概念的自动获得的方法如下。从有起始点显示母功能(如第2图的“时钟”)开始取出该记号内的记述。然后,从母功能向左进一步到输入侧数据(第2图上左的“实时钟”)。取出这些输入数据记号(群)中的各记述。再返回有起始点的母功能,向右进一步到输出数据(第2图上右的“钟面”)。取出这些输出数据记号(群)中的各记述。经过这些处理,制作单位数据流程图的信息。
为了从母移动到子,要预先在两者之间设定关系。例如,子概念-数据流程图(群)中的各功能(群)用虚线显示的分层线与母概念-功能相互连接。子概念-各数据流程图(群)中的先头数据要设置与母概念-单位数据流的输入数据之间用单点链线表示的关系线。同样,子概念-各数据流程图(群)中的末尾数据要设置与母概念-单位数据流的输出数据之间的关系线。
描摹母单位数据流后,利用上述各种连接,描摹子数据流程图(群),在中途取出各记号中的各自的记述。经过这些处理,重现子概念-数据流程图(群)。以下是该方法的一例。即,从有起始点显示的功能“时钟”出发,向左进,从输入侧数据“实时钟”下降到子数据流程图的先头输入数据“1秒钟”。另一方面,从“时钟”出发,向右进,从输出侧数据“钟面”下降到子数据流程图的末尾输出数据“钟面”。从输入侧先头和输出侧末尾的两侧交替地分别向右和向左在子数据流程图上行走。一边行走,当两方的行走冲突时(针对该数据流程图)即停止行走。全部是边行走边描摹各记号,取出各记号各自的记述。经过这些处理,能够重现子概念-数据流程图。
上述说明是指数据流程图的场合,再简单说明一下结构化图的场合下的局部动作。第3图是对应于第2图的数据流程图的结构化图、PAD。母概念可通过取出图左端有起始点显示的功能“时钟”的记号内的记述经过处理来取得。子概念是图中间垂直线右面的部分。从母记号出发进行树径程序。即,从“时钟”出发,走到上右,在第1个子功能“求得时间”的周围向右转,取出记号内的记述,接着沿着垂直线下降到“求得指针”,进行同样操作,再次沿着垂直线下降到“显示指针”,进行同样操作。在这里沿着垂直线向右走,在最下部折回,然后沿着垂直线的左侧往上升,到达母功能“时钟”,结束局部动作。
这些动作的基本要求是对数据流程图和结构化图两者同步进行。进行这些动作的话,就能够确认两图纸的一致,一起取出某图纸的全部设计知识等。另外,按动作的顺序,也可以只取出母概念。
前面说明了将人工设计定式化的自动设计,下面利用以上的说明内容,就数据流程图的自动设计进行更详细的说明。与自动获得设计知识一样,它的构成也分为整体动作和粘贴设计知识的局部性动作,在作为作业对象的母数据流程图中的母功能建立起始点,从功能上统合整体动作和局部性动作。
现在对出现差别的、进行自动设计的局部性动作和整体动作的过程作一说明。所说明的自动设计的场面,是对第1图左端的数据流程图群中的第2段的功能“时钟”,说明附加第3段的数据流程图的情况。
第4图对作业对象的母单位数据流程图显示出自动设计开始时的状态,点线图形表示粘贴了子数据流程图后的样子,起始点位于图纸上的、母功能“时钟”,进行自动设计时,在局部性动作中,首先描摹母概念的单位数据流程图。取得母概念。
将这样取得的母概念发送到引擎侧后,引擎侧就会回送与该母概念对应的设计规则。(如后述,作为引擎,有知识库和自动生成。)这种场合的设计规则如第2图所示。进行自动设计,要准备第2图的设计规则的子概念所对应的下面的数据流程图,并将其粘贴在第4图上面的母单位数据流程图的下部。
粘贴有各种方法,现在说明最简单的例子。在第4图的母数据流程图上,从有起始点的母功能向左走,到达输入侧数据“实时钟”,另一方面,到达从第2图的设计规则的母功能向左走的输入侧数据“实时钟”。
接下去,进行粘贴。为简单起见,说明从一个方向行进的场合。首先,分析从第2图的设计规则侧到输入数据“实时钟”的下方的连接,有的话,在第4图的输入数据“实时钟”复制向下方的连接。接着在设计规则侧沿着刚才向下方的线,读出子的输入数据“1秒钟”,另在设计作业对象侧,同样看一下向下方的线,在线的他端记入与数据“1秒钟”的连接和该数据本身“1秒钟”。然后,在设计规则侧,分析子的输入数据“1秒钟”向右方向的输出连接,完成粘贴了的“1秒钟”向右方向的输出连接。反复这一过程,子的输出数据与母的输出数据连接后,停止记号复制,复制各种母子间的连接,结束局部性动作,使掌管整体动作的起始点移动到下一个功能。
这些方法以高成熟度的软件开发组织中能找到的高水平的技术人员的设计能力为典型对象。这种专家具有运用正确、明了、确实的自然语言,对每个小阶段进行分层展开的能力。进行这种设计时,分层展开的数量局限在平均不到3个的数量上。例如第1图中的功能和数据的分层展开的展开数全部为3。另外,分层展开本身也很简单,也不会出现不规整的数据流程图。本发明建立在这种前提下。
下面说明人体工学领域中Zipf发明的“劳力最小化原则”。该原则认为“人面对问题时,总是先尝试用最简单的方法加以解决,不成功的话,再进一步尝试更高级的解决方法,并进行这种反复。”在人工智能领域,Rasmussen曾提出人的知识分为“技能层次”、“规则层次”及“知识层次”,这些观点说明的原理都相同。
在人工设计方面,作为从母概念造出子概念的引擎,其最简单的解决方法就是“技能层次”,它是记忆的单纯的再利用。例如,特开平10-320188号公报所记载的方式就是这种方法,它自动获得前面说明的设计知识,并将其预先积蓄在知识库中,再根据需要回送设计知识-设计规则来进行前面说明的自动设计。它应该有多种更为高级的变形。最单纯的自动生成在被给出母概念后,参照更为基础的设计知识,进行设计知识-设计规则的自动生成。在这里的说明中,这些全部作为引擎抽象化地作了说明,能够将任意的自动生成方式的引擎组合起来。
这些各种引擎相互有着关联。即,人一旦花费很长时间去解决问题时,在同样的问题第二次出现时,就会利用以前的经验,以更短的时间解决问题。设计规则的场合也一样,有了一次生成的经验,只要记住它,则在制作以后的同样的设计规则时,就会再次利用以前经历过的设计规则。这就是通过反复会提高效率的原因。人往往要通过数次的经验才能记住,但机械用一次的经验就可以使它记住。例如,只要让自动生成了的设计规则积蓄在知识库中,就很容易实现这一点。可见,在引擎内部,各引擎单元相互协调使之动作是十分重要的,这样会提高速度。
对某个母概念,存在着几个子概念。只要看一下字典,就会发现对于某个概念总是有几个意义的说明,考虑到这一点,就不难理解了。所以,在特开平10-320188号公报中记载的再利用方式就是采用母概念检索知识库,设计者对所得到的子概念选择、指定其中的合适者。在自动生成上也一样,在几个子概念中不了解要获取哪一个子概念,就无法进行自动生成。这些是设计方向自动决定的问题。对以下的问题,先说明人工设计的构造,并说明其解决原理。
前面已经说明过,软件的设计是从最终应实现的效果、效用出发,在它的实现手段(群)上进行分层展开,在该过程中,得到进一步的具体化。对展开并具体化的1实现手段,与前面相同,这里以它为目的,在实现它的手段(群)上进行分层展开。按顺序反复该操作。在反复过程中,各目的/手段逐渐明确化,具体化和细化。这些目的群呈现分层的树枝状,被称为目的树。
随着具体化的步步深入,被展开了的某个目的也带上目的的色彩,但同时开始显示外部性质的功能。尽管这是分阶段进行的,但出发点的目的和经过数次展开后的功能两者其概念的层次是不同的。于是,可以认为在放着目的树的目的平面的下位,有着功能的平面。上位的目的平面的目的树是呈分层的分枝结构,其中的某个枝连接到下位的外部功能平面上的功能,所以目的树在扩展枝的同时,也不断移动到下位的功能平面上。
某个外部性质的效用和外部功能一旦确定,该功能的输出也就被规定下来。取得该输出所需要的输入被规定。输出和输入定下来后,也规定了为从输入得到所希望的输出的算法。在反复分层展开的期间,因为进行这些具体化,所以外部功能逐渐向内部(作为软件工程学上称之为从输入到输出之间的变换过程的)功能不断转移。
即,外部性质的功能在输出数据、输入数据及算法这一框架被决定之后,众所周知,通过软件,功能会不断被分层展开。作为其结果,功能呈现分层形式的树枝状展开。同时,输入和输出两种数据也被分层展开,呈现树枝状。该功能及数据的分层展开后的情况已在前面说明了。这样的功能和数据处于双对的关系,作为“数据构造和算法”已被教科书采用。
如上所述,在所谓的上位的目的平面上有目的树,下位的功能平面上有功能及数据的分层方式的展开树(群)。这样,上位平面的目的树的一部分影响到下位的功能及数据的分层树,这反映了设计的路径。
从它们能够正确了解到输出数据、输出数据和输入数据、或加上它们进而从目的树的一部分能够正确了解到设计的路径。于是,如果知道输出数据、输出数据和输入数据,或在输出和输入上再加上周边的功能和数据的情况,就能够相当正确地预测到设计的路径,并自动选择设计的路径。基于这种原理,自动选择设计路径的功能被称为DDF(Design Direction Finder)。
一般来说,人的行动是为了达到某种目的而展开目的的反复过程,在其实行上的要点可以用“5W1H”一言而蔽之。这里的5W,即what、where、who、when、why的第一个字母,1H是how的第一个字母。也就是说,人的高级活动需要5W1H这种高级的识别和指定,这方面的话题就长了。按“5W1H”的观点严格地决定框架后,则所决定的动词的意义相应地被限定,几乎不会有暧昧不清的地方。
因为以每个小阶段进行分层展开,所以被课以展开的概念展开(即使是最大限度要求5W1H者)实际上不过是它们中的几个而已,因此,在程序中被展开了的层次上,没有必要这么高级,有关展开的中心部分-动词,有可能存在的变形只有有限的极少几种。(假设要详细表记5W1H时,结果是在多个分层展开上进行表记。)另外,考虑一下字典上某个用语的定义,就能够理解不管是名词还是动词,到头来只有几种意义。通过以上说明,从目的的观点来分析,看看反映它的数据,就能够根据其情况决定与目的相应的用语。
以下举实际例子来进行说明。以简单的事务计算程序为例,设想在库存管理的情况下,作为有好几个意义的动词,使用“输入”,因为需要数据,就用数据流程图进行说明。
第1个意义是需要确认输入的场合。第22图表示该设计规则例。(在该例中,遵从写成“将○○进行△△”原则的细节部分已用括号表示)关于外部性质的输入数据,在该信息的正当性未被确认时,一定要先确认其正当性后再进行指定的处理。这种场合下的母概念为输入数据91c是“未确定xxxx”,功能92c是“输入”,而输出数据93c是“yyyy”。输入数据91c根据前缀词是“未确认”,所以要先于其他处理,要确认信息的正当性。于是,子概念则为,输入数据94c是“未确定xxxx”,第1个功能95c是“确认”,而中间数据96c已经确认,所以去掉前缀词“未确认”,是“xxxx”,第2个功能97c是“输入”,且输出数据98c是“XDB”,例如“汇款数据库”。
第2个意义是加上输入进行计算的场合。第23图表示该设计规则例。(在该例中,遵从写成“将○○进行△△”原则的细节部分已用括号表示。)这种场合下的母概念为输入数据91d,例如是“汇款单”,功能92d为“输入”,另输出数据93d是“汇款数据库”。这里,在汇款数据库中加进了新的汇款单部分。于是,子概念为输入数据94d是“汇款单”,同时作为参照输入99d,伴随着“汇款数据库”。功能95d为“加上输入”,输出数据98d是“汇款数据库”。
第3个意义是扣除输入的场合。第24图表示该设计规则例。(在该例中,遵从写成“将○○进行△△”原则的细节部分已用括号表示)这种场合下的母概念为输入数据91e,例如与前面一样为“汇款单”,功能92e为“输入”,但输出数据93e为“赊售DB”。在这种场合,只将收入部分从帐面上拿掉,所以新的汇款单部分从赊售DB中扣除。
子概念为输入数据94e是“汇款单”,同时作为参照输入99e,伴随着“赊售DB”。功能95e为“扣除输入”,输出数据98e是“赊售DB”。
所述3例中的狭义的母概念均为收入”。
另一方面,子概念为第1个场合,第1功能95c是“确认”,第2功能97c是“敢入”,第2个场合,功能95d是“加入输入”,最后第3功能的场合,功能95e是“扣除输入”。
以每个小进展阶段进行的分层展开通常如上面所举的例子一样很简单。
在只采用特开平10-320188号公报那种结构化图的自动设计方式时,虽能对某个母概念检索设计知识,但要由人从知识库中来选择并指定这样多的意义中的某一个。
这里,根据实际状态进行分析,将选择自动化。举各种场合的例子如下。
能够从母概念的输入数据91c的前缀词“未确认”来判定是第1个意义,能够从母概念的输入数据91d是“汇款单”,且母概念的输出数据93d是“汇款数据库”来判定是第2个意义,能够从母概念的输入数据91e是“汇款单”,且母概念的输出数据93e是“赊售DB”来判定是第3个意义,这样就能够进行自动选择。基本上是制作表示第1、2、3的场合下的识别条件和意义之间的对应的表DDFT(Design DirectionFinder Table)196,参照它来决定。如前面已说明的那样,这就是按目的的顺序先指定输出数据,其次是指定用于取得它的输入数据,再决定它的处理方法-算法。也就是说这是对应于母概念的动词的意义的决定的。
从这些例子看来就可以理解从对母概念的输入数据91和输出数据93能够自动决定设计的路径。在实用上,如果确保了母概念的输入及输出数据91、93就足够了,在少数特殊的场合下,还需要先行的输入或输出等数据。
从上述内容就能够制作在积蓄设计知识、设计规则后再利用的场合或从母概念自动生成子概念的场合下,自动选择设计路径的机构。这里,母概念的输入和输出对决定这些是不可缺少的,所以只采用结构化图的方式,要实现这一点很明显是困难的,必须使用并用数据流程图和结构化图的方式,或者采用使用合并两者功能的图的、用于特殊数据流语言的图纸的方式。
接下来说明本发明系统性的侧面。这种自动设计系统有时自动化功能会不完整,所以必须要由手工进行修正。例如自动化功能即使不完整,但也必须在期限之前结束设计,所以必须是在完全没有自动化功能的场合下也能够使用的系统。符合这一条件的系统是众所周知的CASE(Computer Aided Software Engineering)工具。
其次需要并用数据流程图和结构化图。在通常的设计时,在设计的上流,通过使用数据流程图的结构化分析,在接下来的下流使用结构化图来从结构上设计程序。沿袭这一点,配备数据流程图CASE工具20b和结构化图CASE20c,结果需要比以往花更多的时间,所以在实际上不方便。
如前所述,按每个小阶段留下设计图纸的方式,除出用数据流程图无法表记的分支和反复的情况,数据流程图中的功能(群)通常与流程图(或结构化图)的功能(群)是一致的,所以能够自动地变换。如果有什么不方便,就可以通过手工修正功能的实行顺序,根据数据流程图来自动生成流程图和结构化图的对应部分。于是通常是作出数据流程图,结构化图让它自动跟随。尤其是在只有分支和判断的场合,如果将结构化图设计为第1,数据流程图侧让它同步的话,实质上只要进行第1图纸的制作就可以了,效率很好。但这只限于每个小阶段进行设计的场合。
因为在这些手工作业中往往会混入错误,所以在并用两种图纸的系统中要进行图纸的相互核对,并设置防止相互矛盾的防护功能等。由于这些原因,现在都是使系统在具备几张图纸的CASE工具功能的同时,还通过各种系统层次的功能加以统一。
自动生成设计知识、设计规则的技术通过自动决定设计的路径来决定子概念的概要,进而还通过以周围条件来决定细节的方法能够达到。
以下说明其概要。
前面已经通过第9图、第10图、第22图、第23图及第24图看了动词“输入”的各种形态。这里与数据流程图的信息有重复的部分,作为功能的记述,模仿“将○○进行△△”方式的示范性质的形式。
通观第22图、第23图、第24图及第9图、第10图,可以看到这些设计规则的共同部分、骨架,如第11图所示。
反之,以该骨架为基准,看一下各设计规则,则可以发现对该骨架进行了若干附加,尤其可以看到以几种规则组合进了输入数据91和输出数据93。这表明对骨架进行的处理的模式是少数。
其次以它们为例,说明设计知识-设计规则的自动生成方式。
这里,说明母概念将单位形态的数据流程图作为输入,将其分层展开了的数据流程图及与该数据流程图整合表示功能实行顺序的结构化图的两者作为子概念自动生成的方式。
自动生成的输入是成为母概念的母单位数据流程图,其输出是子概念-数据流程图及同为子概念的结构化图。
为了自动生成显示分层展开的设计知识、设计规则,使用更为基础性的设计知识。中心的结构是使用DDFT196的Design DirectionFinder及动词字典130。
参照第13图,动词字典由从母概念抽出的动词所索引的、每个动词的几页组成。(为了进行数字式和数字式的处理,母概念在用名词给出的场合,将进行动词化,如“是○○”、“○○如下所示”。)该页就每个动词的意义设置。
各页由子概念的原形-骨架131及表示施于骨架的处理的方法132组成。骨架备有对于数据流程图的骨架和对于结构化图的骨架。各页的骨架是数据,所以与方法并用后,某页在知识工程学用语上就是“框形知识”。
参照第25页,DDFT196有母概念-母功能的输入数据等、输出数据等及其他数据等项目组成的中央部分,各项目上标有数据的名称以及无关系(nil)或可无视(Don’t care)的记号等。对这些中央部分,还有另外设置的意义标号栏,上面记载了某本动词字典应该使用的页码。第14图的DDFT196是它的简单示例。
现用第22图~第24图,对动词“输入”,以动词字典为中心进行说明。这里为简单起见,使用省略了宾语等的记述信息。
需要确认第1时,作为母概念,给出第22图上记载的母单位数据流程图。但将数据作为d,功能作为f,加上追加号。
“di未确认汇款单”、“fp输入”、“do汇款数据库”。
这种场合所选择的动词字典的页上有下述数据流程图的骨架。这里()已被变数化了。
“d1(输入)”、“f1确认”、“d2(中间输出)”、“f2输入”、“d3(输出)”。
该场合下的方法如下。
1.将母输入数据di转记为骨架的d1(输入)。
2.从母输入数据di中拿掉前缀词“未确认”,转记为骨架的d2(中间输出)。
3.将母输出数据do转记为骨架的d3(输出)。
通过以上处理,第22图下面所示的子概念的数据流程图的简略式即告完成。要改成“将○○进行△△”方式的示范性质的形式,只要在子的动词部分放入宾语和助词即可。
“d1未确认汇款单”、“f1确认未确认汇款单”、“d2汇款单”、“f2输入汇款单”“d3汇款数据库”。
结构化图对骨架也可以进行如上处理,或者也可以变换已完成的数据流程图。
第23图所示的第2的场合以及第24图所示的第3的场合,子没有确认功能部分,有参照文件,这一点与上述不同。
以第2场合为例进行说明。给出的母概念如下。
“di汇款单”、“fp输入”“do汇款数据库”。
该场合所选择的动词字典130页上有下述数据流程图的骨架。但参照文件(表记dr)与输入d1一起输入到功能f。
“d1(输入)”、“dr(参照文件)”“将f1(输入)加入(参照文件)”、“d2(输出)”。
该场合下的方法如下。
1.将母输入数据di转记为骨架的d1(输入)。
2.将母输入数据do转记为骨架的参照文件dr、输出d2。
通过以上处理,必需的下述子概念的数据流程图即告完成。
“d1汇款单”、“dr汇款数据库”、“将f1汇款单加入汇款数据库”、“d2汇款数据库”。
结构化图也可以同样进行如上处理,或者也可以如同前项,变换数据流程图来取得。
这种场合下的DDFT196如第25图所示。这里,dc表示无关系,nil表示什么也没有。第25图所示的表的意义是如果向母功能输入的数据上有前缀词“未确认”,则应使用动词“输入”的第1页;如果向母功能输入的数据是“汇款单”、同样输出数据如果是“汇款数据库”的话,则应使用动词“输入”的第2页;如果向母功能输入的数据是“汇款单”、同样输出数据如果是“赊售DB”的话,则应使用动词“输入”的第3页,与前面路径方向的自动选择所示内容相同。
将这些构成与前面各页的骨架处理组合起来就能够自动生成子概念。
再通过第1图说明与本发明相关的自动设计系统的基础设计知识的获得及再现的原理。但作为规格,所示的是“时钟”(101)的场合。图的左端显示要输入的规格-“时钟”(101),接着分阶段地,且分层次地显示数据流程图设计120的结果,然后显示对应的流程图设计120的结果。通常在数据流程图设计之后要进行流程图的设计,但在本发明的程序设计100上,数据流程图设计110和流程图的设计120平行地同时进行。
以每个小阶段进行分层细化后,就像图示那样,取出数据流程图的数据、功能、数据流中的功能者就会与流程图的记述相同。母的“时钟”依靠数据流程图在子上分层地展开、细化为“求得时间”、“求得指针”、“显示指针”。
将数据作为d,功能作为f前置后,在第1图的数据流程图的第2段(也显示在第2图上),数据流程图是d“一秒时钟”、f“求得时间”、d“时间”、f“求得指针”、d“指针”、f“显示指针”、d“钟面”,将与它对应的“时钟”细化了的流程图如第1图的最上段(在第3图中也以结构化图显示)所示,是f“求得时间”、f“求得指针”、f“显示指针”。
简要地说,就是每个小阶段,先进行数据流程图的设计110,接着从数据流程图自动变换到流程图,进行流程图设计120。判断、分支和反复无法在数据流程图上表现,所以先进行流程图的设计。如果只有简单的判断和反复,则没有数据处理,因此在数据流程图上也不必作任何追加。某些情况下会出现伴随判断的数据处理。这时,因为只出现经过自动变换了的功能,所以通过人工追加必要的数据。
在流程图设计120的后面,有编码、源码化设计125。这是向与得到最详细展开的流程图的自然语言表记对应的计算机语言的变换,这一点只要看一下图就能清楚地得到理解。即,变换成最终的实现手段-计算机语言的表记就是源码化,它是使用自然语言的分层展开的一种变形。
因此,这里的设计,是利用母子关系的分层展开的连锁(例如,母“时钟”成为子{“求得时间”、“求得指针”、“显示指针”},进而母“显示指针”成为子{“求得时针”、“求得分针”、“求得秒针”},再是母“求得分针”成为子{“求得分针的角度”、“求得分针的宽度”、“求得分针的长度”}),所以,如后述,能够通过对知识库10a的设计知识的积蓄和再利用来进行自动设计。
以上就流程图的场合进行了说明,它们在结构化图中也相同,在结构化图的场合,跨越相邻的2张图纸的母子的两图纸部分对应于1张图纸的左右的图纸部分,使设计知识的自动获得和自动设计变得易行。
首先,对在本发明中,作为前提的设计知识的自动获得进行说明。第2图是将第1图的中央左面的数据流程图的1细化过程加以放大的图。数据流程图通过菱形记号的数据d的记号、四角记号的功能f的记号及箭头记号,按数据d、箭头记号、功能f、箭头记号、数据d的顺序表示数据流。在第2图,上部的数据流程图表示母概念,下部的数据流程图表示子概念。为便于参照,两数据流程图的所有输入数据和所有输出数据已用1点划线连接起来,另外功能f的母子关系用虚线连接了起来。
第3图以结构化图表示出与第1图的中央右面的所述部分所对应的流程图的细化过程。
第2图所示的数据流程图的设计知识的自动获得的方法如下。首先,对母单位数据流程图中的功能记号进行起始点显示,以便于处理。用模式加以说明,就是通过从起始点开始向左走,再次向右走,来取得母单位数据流程图的记述信息。接着,在子数据流程图上,例如从起始点一边向左转一边走,到达子数据流程图的前头-输入数据,然后一边向右转一边取得数据流程图的记述信息,再一边向右转归结到起始点。(使起始点移动到下一步)将它们加以整理,就能得到母单位数据流程图和子数据流程图的关系,这就是数据流程图上的设计知识。
第3图所示的PAD的设计知识的自动获得的方法如下。首先,对功能记号进行起始点显示,以便于处理。用模式加以说明,就是从起始点开始向右走,到达第1的子概念,而后垂直向下方走,经过各子概念后归结到起始点。(使起始点移动到下一步)在它们之间得到对应于母概念及子概念(群)的记述,将它们加以整理,就能得到母功能和子功能(群)的关系,这就是PAD上的设计知识。
设计知识的自动获得如上述,要使两者(数据流程图及PAD)同步进行。设计知识分别收入对应的数据流程图用及PAD用的知识库10a中。
其次,用第4图说明数据流程图的自动设计。自动设计是对所着目的母数据流程图按每个以其中的功能记号为中心的母单位数据流程图进行。第4图表示它的一个实施例。首先,对母单位数据流程图中的功能记号进行起始点显示,以便于处理。用模式加以说明,就是通过从起始点开始向左走,再次向右走,来取得母单位数据流程图的记述信息,将母概念-母单位数据流程图送到引擎群10,对照对应的设计知识(知识库的输出或自动生成设计知识的结果的输出)。从对照的结果得到的设计知识如第2图,取得其中的子数据流程图,如第4图所示,粘贴到当初的母单位数据流程图的下方,如点线所示那样。(使起始点移动到下一步)结束了对横向伸展的1段的母数据流程图的自动设计后,降到下方,对子数据流程图[群]、对母-1单位数据流程图,进行同样动作的反复。这个过程继续下去,就能作成第1图左面所示的有层次的数据流程图群。
其次,用第5图说明PAD的自动设计。自动设计是对所着目的母功能(群)按每个其中的功能进行。第5图表示它的一例。首先,对左端的母功能记号进行起始点显示,以便于处理。从母功能记号取出记述信息,与引擎部10对照。从其结果得到的设计知识如第3图,将其中的子概念(群)的部分粘贴到第5图的当初的母功能的右方,如点线所示。(起始点移动到下一步)然后,对母的层次反复自动设计,这些结束后,对子的层次进行同样的自动设计。结束一连串的动作后,就能够完成向右方向伸展的树枝状的PAD。
这些自动设计动作,对数据流程图及PAD要同步地进行。这时,对两者的设计信息的一致进行确认,并提高了可靠性。
在系统设计的上位,用结构化图表示的控制几乎无用,另外,从系统设计进展,在程序设计的最终阶段,数据流程图变得几乎无用。能应付这些单方面的使用,并备用于暂时的信息缺损,从一方生成他方的信息来加以补充。
接下来,用第6图说明本发明相关的自动设计系统的一个实施例。第6图是表示作为自动设计系统的构成例的模式图。
在本发明的自动设计系统,由以下部分构成CASE工具群20、给出母就会回送母和子的对-设计知识的引擎群10、进行两群之间的信息授受等的统合部30、以及进行各种控制的控制系31及控制板面32。
CASE工具是Computer Aided Software Engineering工具的简称,普通的CASE工具是通过设计者的指示,按照软件工程学的规定,作成、核对设计图纸等,并将其登录到文件内的功能,以及从文件读出设计图纸,加以显示的功能和能够将它们混合起来使用的编辑功能等,成为以图纸和图形为中心的人机界面。在本发明中,在各CASE工具中附加了使用所述图形的自动设计和设计知识的自动展开的功能,使用时,通过设计者和设计知识的自动展开功能,作成设计图纸,从而进行图纸的细化,并且进行设计知识的自动获得。
左方是CASE工具(Computer Aided Software Engineering tool)群20,下面显示了数据流程图CASE工具部20b及PAD CASE工具部20c。其上的功能层次图(FSD)CASE工具部20a用于管理上述两图纸,不在本发明的范围内,所以省略说明。即,CASE工具群20有数据流程图CASE工具部20b和PAD CASE工具部20c。
右上部有引擎群10。它被给予设计知识的母概念信息,应答设计知识。上部是知识库部10a,其下表示出自动生成设计知识的设定器(Creator)CASE工具部10b及自动生成的功能中心-设定器(Creator)’00程序10ba。这是与下面的结构字典CASE工具部10c共同动作的本发明的中心部分,后面将对其进行详细的说明。即,引擎群10由以下部分构成积蓄设计知识的知识库部10a、有设定器(Creator)’00程序10ba,自动生成设计知识的设定器(Creator)CASE工具部10b和规定输入输出帐单及文件等接构的结构字典CASE工具部10c。
中央的统合部30进行CASE工具(群)20和引擎(群)10之间相互信息的中继,组合各种CASE工具和各种引擎,管理统合性动作,使它们协调动作。此外,统合部30还有对CASE工具群20的功能、对引擎群10的功能。并且,该左右的界面35已经标准化了,能够将各种CASE工具和各种引擎组合成可扩充端。
最上部的控制面板32有键盘、鼠标等输入手段及显示手段等构成,构成对人的界面部分。另控制部31是控制整个体系的部分。
下面用第6图说明设计知识的自动获得和自动设计。首先说明使用知识库的情况。知识库部10a在功能上其内部分为数据流程图用和PAD用。CASE工具群(FSD CASE工具20a、DFDCASE工具20b及PAD CASE工具20c)20进行设计知识的自动获得后,信息就会沿着图上朝右的箭头方向流到对应的知识库部10a,知识库部10a与原有的设计知识对照,如果有新的信息,则就加以不断积蓄。在自动设计时,母概念信息从CASE工具群20一侧沿着朝右的箭头方向流到知识库部10a,如果有与被对照的母概念对应的设计知识,则知识库部10a就会将它送出。接下来,信息从知识库部10a沿着朝左的箭头方向流到CASE工具群20,进行自动设计。
这里,统合部30右方的界面与引擎群10共用,Creator CASE工具10b被给予母概念信息后,就会制作出子概念信息,回送设计知识。各CASE工具20b、20c就会和知识库的场合一样进行自动设计。统合部30在CASE工具群20内进行各CASE 具的动作对照,具有各CASE工具相互之间的图纸信息变换的功能,此外还有切换引擎群10,使其并行动作,以及将在Creator CASE工具部10b自动生成的设计知识发送到知识库部10a等发送功能(信息发送手段)。
下面用第7图说明第6图中所示的结构字典CASE工具部10c的功能。结构字典CASE工具部10c的作用是规定Creator CASE工具10b自动生成设计知识所用的输入输出帐单及文件等接构。第7图的上部作为输入输出帐单的实施例,简略地表示本公司的销售单71,下部表示与其对应的数据的结构图72。本公司的销售单71被作为框架,用分层展开网表记。即,本公司的销售单71作为订购公司名、日期、本公司销售单编号、以及代表用表格形式显示的信息群的各个项目,进行分层地展开。下部的数据72表示分层构成它们的情况。各个项目进一步又分层地展开为构成它的商品名、数量、单价及小计,连接在各个项目的下部。
第8图表示为了在Creator CASE工具部10b内综合使用各种输入和输出等而采用的结构。与第7图所示的那些各种输入输出帐单及各种文件对应的各种数据被统合在一个Root中。指定了各种帐单名和文件名,就能够从Root(全部知识的共同原点)出发,访问所需要的数据,并进而读出其下位的数据。如果将其反复,就能够访问任何数据,指定层次来读出。例如能够访问本公司的销售单、各个项目、小计等。
第6图所示的Creator CASE工具部10b是自动生成设计知识所用的平台,它通过每个自动生成对象程序的领域的基础性设计知识的核心部分-Creator程序10ba、每个自动生成对象程序性格明显的上述结构字典10c来自动生成设计知识。
Creator程序10ba的主要构成部分(Creator’00的中心部分),如第13图所示,是动词字典(Verb Dictionary’00)130及为了选择动词字典130所用的DDF表196(第14图所示)。动词词典130在本例中是对应于动词所用的意义设置的框形记忆的形式(框架形式的知识表现),与第8图的场合相同,连接在Root上,通过指定某个动词来选择、使用1框130a。
因为1个动词有几个意义,所以要与进行该选择的DDF组合起来使用。1框130a如第13图所示,由数据领域131a、131b和方法领域132组成,前者的数据领域131a、131b由每个动词的意义的数据,说得更详细一点是由骨架构成的,骨架131备有数据流程图用骨架(DFD骨架)131a和结构化图用骨架(PAD骨架)131b两种。方法领域132记述了利用该动词的这一方式进行处理的详细手续。作为该处理的详细手续,有诸如将母概念的输入数据91转记为子概念的“输入”94,或将母概念的输入数据93转记为子概念的“输出”98等。
下面用第9图、第10图及第11图说明骨架131。第9图(赊售的场合)和第10图(赊购的场合)都在同一动词“输入”不同的场合,表示2例设计规则。图中上部表示母单位数据流程图,下部表示它的子概念-数据流程图。将第9图和第10图的两种情况加以比较分析,可知母子的分层展开关系的中心是对“输入”的92a、92b加以“确认”的95a、95b和“输入”97a、97b,第11图是其图示。即,第11图是上述两种场合下的抽象化了的骨架(骨架对“输入”92加以“确认”的95和“输入”的97。)再来比较一下第9图和第10图,可知子数据流程图的母概念的输入91a、91b分别承继了各自对应的子数据流程图的最初的输入94a、94b。中间数据96a、96b从该输入96a、96b中删除了“未确认”。最后,输出98a、98b承继了母概念的输出数据93a、93b。
共同的骨架如图11所示,所以能够用它再现第9图和第10图的两者。即,通过使用第11图所示的共同骨架,结果就能够再现例如设计知识(设计规则)。
下面具体说明设计知识(设计规则)的再现。通过从多个框架形式的知识表现中选择、指定某个动词来选择1框130a,例如,第9图所示的母单位数据流程图被给出时,用方法(作用于骨架131的处理逻辑)132取出母概念输入91a,记入骨架131a的子数据流程图的先头输入数据94。接着用方法132拿掉从所述输入数据94a中取出的信息的前缀词(“未确认”),记入子数据流程图的中间数据96。进而再用方法132取出母概念-单位数据流程图的输出数据93a的信息,转记到子数据流程图的最终的输出数据98。这样,就能够再现第9图所示的设计规则。在第10图的场合,也能够通过同样的步骤再现设计规则。(在第9图、第10图,对子的功能也追加了宾语。该宾语的追加不是必不可少的,所以省略掉了。如有必要,则能够用同样的处理记入。)子概念包含两个功能95、97,所以必须指定实行的顺序。这可以通过第12图所示的结构化图(流程图)进行。第12图是利用PAD显示骨架131b,母概念“输入”92在子概念的开头指定要实行“确认”的95、接着指定要实行“输入”的97。这里,与数据流程图同样地用方法132加工骨架131的话,则对子概念(群)也能使其进行所指定的操作。但在本例中,也能够根据变换规则变换所制作的数据流程图来得到。
这样,给出母概念的输入91、功能92及输出93时,使用更下位的基础性设计知识,即骨架131及方法(作用于骨架131的处理逻辑)132,生成了该母概念所对应的子概念94~98,所以结果就自动生成了母概念和子概念(群)的对-设计知识、设计规则。
参照第9图,可知其目的是利用赊售数据库的新输入来进行更新,在第10图的场合,其目的是利用赊购数据库的新输入来进行更新。为了达到该目的,在第9图中,母概念的输入选择销售单,而在第10图中则同样选择采购单。
于是,考虑一下这些设计规则的起源,就可以明白,决定了上位的目的,就会决定1.母概念的输出、2.母概念的输入、3.处理方法。
在第9图、第10图的场合,从输入91的记述,可以了解到输入核对尚未完成,所以在进行实质性的处理97之前,追加了“确认”阶段95。在下一个阶段的设计规则中,能够分别相应于目的来展开“输入”92,已经反复说明了多次,所以在这里省略。
在软件工程学上,有目的树的概念。它是从最终目的出发,分层展开为实现该目的的手段(群),然后提取一个手段,作为新的目的反复进行分层展开所得到的树枝状的图。
在该目的树的平面的下位,有代表着程序的数据流程图和结构化图等功能的平面。在人工设计时,一边在头脑中描绘该目的树,一边根据所选择的某个目的从母概念来决定子概念(群)。将其模式化的话,在所述的场合,就是一种自动设计方式,即先是母概念的输出,接着是母概念的输入,最后是控制以后的处理方式。
即使这很理想,但需要将头脑中描绘的目的树图纸化,所以未必有实用性。在实用上希望能做到只需在平面上进行程序处理。于是,作为一种近似的实用方法,在上述场合下,要能够用母概念的输出93及输入91进行判断。
在第9图和第10图的场合,要自动生成已说明的设计规则的下一个设计规则时,要使用这个过程。它根据偶尔输入是“未确认”的情况。不是“未确认”时,结果就是直接进入处理,同时使赊售、或赊购增加。
在第9图中,如果母概念的输入91a是“汇款单”,因为需要将赊售销帐,所以结果就是从赊售数据库的赊售金额中相应地减少收入金额的一种处理算法。即,母概念的中心-动词“输入”会出现以下各种意义从对母概念的输入输出数据91、93中甲通过输入增加输出、乙从输出中减少输入、丙确认输入。
作为近似的方法,
a如果是第9图及第10图,则在上述甲的场合下、b例如输入是汇款单,输出是销售数据库的场合,则在上述乙的场合下、能够自动地选择某个动词的几个意义中的一个。这种情况下,使用母概念的输入和输出,能够构成自动选择的逻辑。
尤其是c输入是“未确认”的话,在上述丙的场合下、但先于其他意义的场合实行就行了,在这种情况下,上述a只要着眼于该设计规则前面的设计规则,就能够构成自动选择的逻辑。
对其他许多场合也进行了调查,结果表明,将母概念的输入、输出、或者两者、先行的设计规则的输入、输出、或者两者、输入的信息的一部分、输出的信息的一部分、或者两者、等作为输入,能够构成自动选择的逻辑。这可以认为是决定设计的路径(设计的展开方向)。尤其是,许多信息群和路径(设计的展开方向)是对应的,所以适合用表格逻辑的形式加以实现。在该实施例中,将用于此的表格取名为DDF表格196。即,DDF表格196中收存着从构成母概念的输入、输出、先行的母概念(群)等信息中抽出有关母概念动词的意义的逻辑。
在展开某个母概念来得到子概念时,该母概念有时会有多个意义,必须加以选择。通过已作说明的设计规则的再利用来进行自动设计的当初,曾需要利用人工进行选择。现在利用上述的组合已经能够进行自动选择了。
从上述说明可知,这阐明了本发明的第1个目的之中的“自动决定设计知识的展开方向”的机构。
其次,用第13图说明本发明具有特征的“自动生成设计知识”的机构的具体结构。第13图的上部表示与动词对应的动词词典130的各个项目。动词词典130的1项目,对应于某个动词的某个意义,从逻辑上来说,是框架形式的信息。框架130a的数据131,在该场合下是数据流程图的骨架131a及结构化图PAD的骨架131b。框架130的方法132显示在图的右端。
第13图的中央有更详细的显示。骨架131对应于子概念,所以只是对应于设计规则的子的部分,为了便于处理,用代表对应的母概念的假设母(FP)表示出。为了表示它对应于母功能,在假设母(FP)之外再在与母功能对应的阴线记号上标示出92,并标示出向母功能的输入及输出数据所对应的阴线记号91及92。子概念群用具有功能f1及f2的94到98的数据流程图表示。第13图最下部显示了右端的方法132的例子。
将第13图最下部右的母概念的输入数据(也包括前一状态的数据)91转记到子概念的输入数据(也包括前一状态的数据)94,表记为转记到四角的输入。输出93也同样。在本实施例中,在结构化图PAD中,为了将最大限的表记-“将○○××为△△”简化为只用“××”来表记,在结构化图中不使其变化。
其次,用第14图说明决定设计路径的功能(功能译码器)的构成概念。最上部是作为输入向自动生成系统给出的母概念的数据流程图。从该功能部分92取出动词来检索动词词典。
另一方面,用母概念的输入91和输出93来检索DDF表格(收存了从构成母概念的输入、输出、先行的母概念(群)等信息中抽出有关母概念动词的意义的逻辑。)196(在第14图右端显示概念,第25图显示更详细的例子)。作为该检索结果,能够从根据动词词典130在母概念的动词部分检索到的子概念(群)的单位信息群(由以动词为中心的骨架131及方法132所构成。)之中选择合适的(所希望的意义的场合的)单位信息群。例如箭头例所示,如输入91为“销售单”、输出93为“赊售DB”,决定了必须使用的意义,目的推定为“销售额的更新”。它被变换成要使用刚才选择的动词的哪种意义这一信息,选定该动词所具有的、例如5个意义中的指定的意义(场合)。这样,被选择的字典项目就会如所所述,通过方法132对骨架131进行加工,结果生成子概念(群)。方法的处理模式是对于骨架的输入输出数据,插入母的输入输出数据或将母的输入输出数据分层展开后的细化数据,准备骨架的中间数据,以及对于各子功能中的记述追加宾语和助词等,其设计量不多,作业容易。而且,设计信息被图式化了,并作为记号中的记述明显化了,使大家都很容易理解子的概念,这样就能使上述的作业减轻强度,方便可行。
设计上存在多种情况。上面说明了最基本的一些情况。另外还有各种模式,但最具有代表性的是常用在事务处理方面的杰克逊程序设计法(JacksonStructured Programming),下面对它作一说明。现就第1图所示的“时钟”的设计例加以说明。第1图所示的数据流程图中的第2段的数据流程图的“时间”及“指针”各自分层展开,成为“时”、“分”及“秒”和“时针”、“分针”及“秒针”。对应于这些输入输出,功能为“求得时针”、“求得分针”及“求得秒针”。它是上位的功能“求得指针”的分层展开,在数据流程图上形成并列状态。将这种形式的设计规则取名为JSP形设计规则。
可见,输入数据(也包括前状态的数据)分层展开,输出数据(也包括后状态的数据)也分层展开,连接两者所对应的数据的功能(群)、上位的母概念并列展开的模式是杰克逊程序设计法的特征。
第15图表示用于该场合的子概念的形成过程。母概念的输入输出数据91、93分别使用结构字典10c被分层展开。具体地说,“时间”展开为“时”、“分”及“秒”,而“指针”展开为“秒针”、“时针”及“分针”。可见,输入输出同时被分层展开是在JSP形设计规则的情况下,所以将其检出后,JSP单元就会发挥以下作用。
第16图表示第1的探索过程。这里表示了作为展开了输出之中的着手点,选择了“秒针”,并按顺序选择输入侧的展开结果的“时”、“分”及“秒”,再选择了意义通用的“秒”的场合。构成将对应的输入数据(也包括前状态的数据)、功能、输出数据(也包括后状态的数据)结合起来的数据流程图,但功能名称尚未确定,所以是空栏,将它成称为暂时功能。
在第17图中,表示经过反复相同的探索,出现了分层展开结果的所有输入输出的数据流程图的情况。
第18图(a)表示对第17图所形成的暂时功能,例如作为动词继承母概念、“求得○○”将输出侧的数据组为宾语,在○○经过“秒针”的2过程,象“求得秒针”那样,就全部暂时功能进行完成功能的记述的结果,形成了数据流程图的子概念。在子概念包括多个动词的等场合不是母概念,而是从骨架中抽出了子概念的动词。如果再将该数据流程图变换成结构化图PAD,则能够形成PAD的子概念,并能自动生成JSP形设计规则。
该JSP形的处理采用几个变形。一个模式是在读出动词字典之前进行功能译码。其他模式是在读出动词字典后再进行。细小的特殊处理包含在各方法中,或是辅助程序。更复杂的典型处理如JSP单元的名称所示,作为独立的过程,使其与本体侧的方法协调动作。
以上就有代表性的2个例子作了说明,在其他场合,从它们也能够通过进行相应的变形,从母概念自动生成子概念,能够达到第2的目的,即“自动生成设计知识”。
其次,用第19图说明将该自动生成为中心的系统的内部结构。直接的输入是母概念-母单位数据流程图192,在图中央的上部加以显示。先行的祖母的母单位数据流程图,因为要在处理中被参照,所以将需要的数量综合起来简略地记为先祖母DFD191。尤其是,在JSP形态时,最初的母很重要,JSP形态的动作开始后,加上JSP作业中显示193,用于识别。
图左面的JSP单元194是JSP形态设计的场合下的功能单元,母概念的输入输出数据91、93经由结构字典10c展开,被记录在各自的数据作业领域1941、1942中。母概念被设定后,即进行功能译码,作为其动作的一环,进行该动作。
另一方面,母概念的动词被抽出,动词字典130被访问,动词字典内的一群的页成为要使用的候补。综合母概念的输入输出等,参照DDF表格196,应使用的动词字典的该页130a就决定下来。接着,从定下来的动词字典130a中读出骨架131a、131b,设定为骨架作业领域195a、195b。
在非JSP形态时,根据该骨架131,方法132进行处理,向设计结果领域197a、197b输出。
在JSP形态时,在JSP单元194内,参照各自的输入和输出,如第17图所示,构成使用暂时功能的原形,存放在DFD原形骨架作业领域1943中。然后,将它按第18图(a)所示,插入正规的功能的记述(例如“求得时针”、“求得分针”、“求得秒针”)来放入DFD子设计结果领域197a,并变换成结构化图PAD,记录在对应的PAD子设计结果领域中。
参照第6图,结果可知,以上所说明的是以Creator用(自动生成引擎)CASE工具部10b和动词字典130为中心的Creator程序部分10ba的目的、构成及功能。它的平台-Creator用CASE工具的动作在外部具有与知识库部10a相同的界面。
其次,就单纯的再利用方式的自动设计所用的引擎-知识库10a进行说明。该中心部分-纯粹的知识库是已确立的技术,所以这里只说明本发明中的特殊点-设计知识的自动选择。
本发明中的知识库10a的内部,具有对应于数据流程图和结构化图PAD的2个知识库。检索数据流程图的知识库的母信息分为母单位数据流程图的场合和母单位数据流程图中的功能的场合2种。
一般来说,对于某个母功能,有几种意义,即有时会有几个设计知识、设计规则对应。因此传统技术上总是进行人工选择和指定。另一方面,如前所述,在母功能之外,指定输入数据和输出数据后,母概念的意义就会确定下来,所以应使用的设计知识、设计规则是确定的。于是,在以下2种场合才需要自动选择设计知识。
索引结构化图PAD的知识库时用母功能索引数据流程图的知识库时这里,前者是指在设计过程中接近源代码,不使用数据流程图,只用结构化图PAD设计的场合等。后者用母单位数据流程图索引后没有相应的回答时发生。
本发明用与Creator相同的技术将该选择自动化。其构成是将第14图的动词字典(Verb dictionary)130置换为知识库所成。要索引的母信息是母单位数据流程图,用母功能索引知识库,同时母的输入输出数据91、93索引DDF表格196,获知应使用的意义,选择从知识库得到的候补中的对应的候补,回送到CASE工具侧。通过以上过程就能将“采用传统方式时”依赖“人工选择”的作业自动化,使用上不会出现问题。
上面对本发明的中心课题-软件设计的自动化,对构成其基础的人工设计的特性分析、基于该分析的解决原理、手段及作用进行了说明。下面说明与它们有关的本发明的几个特征。
作为与自动设计有关的其他功能,有自动生成功能与单纯的再利用所用的知识库的协作功能。它力图通过将处理步程长,因此需要更多处理时间的自动生成的结果的设计知识,通过CASE工具20进行自动设计,同时使其积蓄到知识库10a的方法,对于第2次以后的使用能更高速地获得设计知识。为了该目的,在统合部30,将自动生成了的设计知识和自动设计的指示一起提供给CASE工具20,同时还将该设计知识和积蓄指令一起提供给知识库10a。在统合部30,设有将该信息从Creator CASE工具10b传递到知识库的路径。
统合部30设有使多个CASE工具20和多个引擎群10动作所用的各种手段。为了使多个CASE工具20正确地同步动作,在统合部30对来自CASE工具20的信息进行对照。
另外,在利用数据流程图CASE工具20b进行人工作图后,该结果会通过知识抽出指令送到统合部30,并将它变换成结构化图,与自动设计指令一起提供给结构化图CASE工具20c,被追随作图。反之,先利用结构化图进行作图时,则进行相反的变换,在数据流程图上使功能(群)自动作图,减少了所用的时间。
如上所述,利用本发明的实施形态,能够进行以下说明的各种运用。
作为本发明相关的系统,从设计者利用CASE工具群10,制作图纸开始,在CASE工具群10上表示出设计结果。其间,就能够与通常的CASE工具同样,进行各种运用,例如,将作图结果存贮在文件中,将其读出使之动作,或者将自动设计结果积蓄在文件中,以后再显示出图纸。
但是,本发明的方式采用从设计的上流到下流的一条龙方式,在每个小进展阶段记录数据流程图和结构化图(流程图),所以大幅度地减少了人工作业时的错误。
进而,本系统与通过使用知识库的再利用的自动设计(具体来说就是特开平10-320188号)能够并用,所以配合本发明自动决定设计路径的机构,适用于反复设计为中心的保守设计阶段的业务,能通过很小的准备劳动享受很大的设计自动化效果,上述发明能够将以前人工作业的同一动词的多个意义进行自动化选择。
另外,通过本发明的方式,将少数的骨架131和简单的方法132作为基础性的设计知识,每给出一次母概念,就会进而自动生成上位的设计知识-设计规则,在预先准备的基础性设计知识的范围内,与再利用的场合不同,也能够从最初就依靠高自动化率来享受自动设计。
即,本发明的方式具有很高的适合性,能对应各种使用状态取得最佳运用状态。
以上说明的实施的形态,是自动生成方式原理性的基本构成,能够进行各种多样的扩展。
上述JSP单元以前是与骨架中的方法协调动作的构成,如果限定在简单的场合适用,能够改成简略版,使各方法具有JSP单元的中心功能。
另外,在上述的实施形态,作为功能的记述说明了模范形和简略形,也能够有更高级的表现。
另外,作为本发明的实施的形态,通过第15图到第18图(a),说明了“时”和“时针”之类单纯的对应关系的场合,但在现实的设计中,有时关系未必这么单纯,某种场合希望能用方法来对付所有的问题。在这种场合,能够通过另外设置认识单元,介由定义了单位性质的项目的字典,建立处理理论,来扩大能够认知输入侧数据(例如时)和输出侧数据(例如粗针)这两个数据的对应的用语。相对于利用知识库的技能层次的方式、利用骨架的“规则的层次”的方式,使用这种单位性质的知识的方式可以说是一种“知识层次”的方式。利用这一点,本发明能够并用上述字典性质的知识,简单地大幅度增加效用。
而且,作为本发明的实施的形态,在第7图及第8图中说明了输入帐单、输出帐单及文件都是固定的,同时,它可以说是框形记忆,表示统合在Root中的场合,只对层次性的数据作为结构字典具有的场合。帐单类的处理在很多情况下,最好是与该帐单的构造一起包含在内。在该场合,在框形记忆的数据部分要使它具有数据构造,而在方法部分要使它具有上述的处理(例如小计)。
例如,作为实施例,说明了在帐单中有品名、单价、数量和小计及它们的合计的场合,用动词字典的方法处理的方式,但输入帐单需要先于处理进行确认,例如,要分析与主文件中登录了的项目是否一致。在这种场合,除作为骨架从母概念承继下来的输入之外,参照文件和骨架的数据流程图都要放入。(同样,积蓄处理履历的日志文件等也能够附加在骨架的输出部分。)小计要对单价和数量相乘求得的结果与记载事项加以对照。合计闭合在1帐单内,累计小计项目,与作为合计记载的事项进行对照。简单的场合,能够用从动词字典130获得的方法进行处理,并且,这很有利。
输出帐单不闭合在1帐单内,多样地使用各种参照信息。在这种场合,根据输出帐单(文件)的记载项目决定需要的参照信息和处理的方法。从母概念的输入输出得到的概念规定了它们,考虑到这一点,用方法进行处理,方法就会变的很大。这些输出处理的细节在本质上依赖于输出帐单,所以如果设置了与该数据对应的方法,就能够对它定义为得到各项目的定义或输出的处理。或者,也能够使这种独立的部分的引擎与本体侧方法协调动作。这样,动词字典中的方法也很简单,每个帐单的方法也变得很简单。
另外,作为本发明的实施的形态,使用结构字典CASE工具。说明了输入输出信息固定时的情况。对未固定的场合,能够进行下述的对应。
对骨架,能够使它与在重复设计经验的过程中,抽象化所得到的一样,输入及输出的构造也成长,最终稳定下来。在现在的事务处理系统程序的输入输出方面,通过长年的经验积累,基本形几乎已经标准化了。而且,熟练者在设计各处理的程序之前,先决定需要的输入输出的帐单和文件。
没有经验者或在未曾经历过的领域进行设计时,从帐单和文件的基本构成开始设计,判断有必要时,要在帐单和文件中追加新的项目。与此相同,也能够与逐步设计并行,组合追加修正输入输出的数据构造的机构。
另外,在本发明的实施的形态上,作为人工的知性处理之中的概念的象征,已经用最通用的自然语言作了说明,设计信息反复分层展开,在成为最单位性质的时候,将自然语言表记作为母,子使用利用程序语言的源代码-设计规则的话,作为最终结果,能够得到程序。另外,即使在这之前的阶段,也能够使用自然语言之外的东西。例如,“斜边长度的平方是垂边长度的平方与底边长度的平方之和”。可以与S2(斜边长度的平方)=Y2(垂边长度的平方)+X2(底边长度的平方)作同样处理。这是因为本发明并非单纯以程序这一观点,而是着眼于人的有意图的行动整体,站在人的概念本身这一立场上进行处理。
本发明能够进行这样各种多样的扩张和高级化。它对应于Zipf和Rasmussen所指出的人的各种层次的多种类的设计引擎。
根据Zipf的定律,占作业多数的简单作业是简单的方式,高速地处理、且频率很低的高级作业要以高级的方式花费时间进行。单纯的再利用相当于前者,本发明所涉及的自动生成设计规则的方式则相当于后者。它尽力忠实于人的设计,倒过来进行研究,作为这种方策的结果,最简单的方式先被取出,接着再获得高级的原形。
在前面的实施的形态中,说明了单纯的再利用和最单纯的自动生成,但作为用统合部30中标准化了的界面连接的引擎群10,能够设立更多种类的引擎。
其次,设立多种类的引擎时,通过引擎之间的协调动作,能够进一步谋求效率化。只要将自动生成的设计规则不断地收存进用于再利用的记忆、知识库中,则对于同一个母概念,从第2次开始就是再利用,能够进行高速处理。
为了进行这些动作所必不可少的功能是使自动生成的设计知识记忆在知识库中,例如在本实施例中,就是将在统合部30通过Creator用CASE工具10b自动生成的设计知识、设计规则供给知识库10a,使其积蓄起来。功能性的输入输出界面35也做成了相同的东西,所以能够进行各种组合。只要模仿人的分散性的处理,就能够采用同时给出母概念,先回答子概念的方式。如果用单一的处理器进行处理,则就成为先尝试再利用,不行的情况下再进行自动生成的方式。
因为用于再利用的记忆量很多,在采用磁存储装置的场合,再利用时处理时间反而会长。这样,减少对它的依赖程度是有利的。
要最简单地实现它,要将用于再利用的记忆进行多层次的构成,将频繁使用的设计知识、设计规则存储在高速的主记忆装置内;将频度较少的设计知识、设计规则存储在低速,但用于大容量化的磁存储装置就可以了。这可以使用附属在处理器上的机构加以实现。
本发明相关的骨架131和132,前面已经说明了要从实际的考虑出发,充分利用原有设计的技术,进行事前准备的情况,但能够反复给出设计规则的例子,生成共同的信息骨架,并生成显示在怎样的场合进行怎样的处理的方法、形成抽象化机构。
于是,只要将它组合,则每次经历设计经验时,与用于再利用的记忆并行地不断供给抽象化机构的话,则在各种变形的经验积蓄的同时,会不断生成骨架和方法,并自动地提高自动生成能力。
这一机构发挥作用的话,就没有必要为了再利用而记忆所有低频度的设计规则,记忆更少的骨架和方法,以备再次利用是有利的。
第26图表示它的细节,是电子通信信息学会论文杂志85.D卷1号221.232页的论文Software CreationClichéasintermediateknowledge in software design的图9的日文翻译,该图显示了制作骨架和方法的机构。第26图的左上是输入每次设计时被加上的人工或各种引擎所设计的设计规则250。在该动词部分参照设计规则记忆251。这在本发明的系统中只要是储存设计规则的知识库10a就可以了。读出将动词相同化的已积蓄的设计规则的结果252显示在中间。它们与新来到的设计规则250一起在“得到回复到抽象化后得到骨架的原形的设计规则”功能上,被各个对照比较。看一下设计规则的骨架对应部分,就能够简单地得到将输入输出等数据抽象化后在最下部显示的新的骨架254。同样也能够得到方法255。它们只有极为简单的几种,所以抽象化和规则制作很简单。制作了的骨架和方法的对要记忆在动词字典256中。
图27表示设计简单的库存管理系统后对其效果的调查结果。横轴表示设计作业中进行的分层展开数,纵轴表示这时新制作的设计规则数等。图下方的虚线图表表示按上述方法制作的字典页数的总数,实线图表表示参照这样新制作的动词字典制作设计规则的总次数,呈直线状延伸。很明显,通过极简单的机构学习,很有效果。
这样,每次经历设计经验时,将所有信息存储在知识库中,之后就能够根据需要高速地应答,除此之外,还能不断地将经验抽象化,制作出新的、更上一级的能力和知识。将它组合的统合知性CASE工具在被人使用的过程中,从设计的低层次的知识不断赋予行动的能力。这是因为本发明的系统具有与人的知性相同的基础。
这通过第6图的系统来说,在全部引擎群10所生成的设计规则会回送到CASE20工具群,但连接到利用该信息的统合部30的标准界面35,并将该信息加载在第26图所显示的抽象化机构上,与自动生成用引擎共用图示的动词字典。
可见,本发明的方式包括有关人工设计的学习的机制。
它们的机构单位的最佳化,对再利用的机构,自动生成的机构、抽象化的机构,如果考虑人工设计,能够用各种各样的方式构成。
这种概念的分层展开是人最基本的知性处理。这里说明了软件设计的场合,但很清楚,只能够扩展一般的设计。实用层面的例子是,在硬件逻辑设计上,使用利用了程序语言的记述的高级语言,驱使它的超级计算机的设计几乎达到了与程序没有什么差别的水平。举身边的例子来看,第1图的“时钟”的设计直接用硬件也能够实现。已经以软件的例子为中心进行了说明,商务过程也作为一种软件在开展着积极的研究。所谓的商务流和数据流基本上是相同的,在上位,信息和状态等一类抽象性很明显,随着向下位的下降,就增加了具体性,中间并没有明确的分界线。本发明所涉及的数据也能够适用于这种高抽象度的场合。当然,在数量上,下位的程序阶段的工时数占了很大的比重,如本发明这样,从贯穿整体都不变的分层展开的观点来看,能够将从管理上层的决断到源代码化的全过程一条龙化,用统一的系统来加以管理。
由上可知,本发明的设计知识的自动生成实际上可以适用于人有意图的所有行动。
再来说明对本发明的实施形态的效果的定量评价。即,设计规则有习熟效果。通过习熟性工程学进行评价的话,能够对自动化的进化和利用自动化减低设计工时等定量地评价。
第20图表示对使用结构化图的设计,从人工设计自动获得设计知识,将它存储在知识库中,再利用,进行详细研究的结果。这是IEICE Trans.,Vol.E81-D,No.12,PP.1439-1449,1998年12月发表的论文’Software CreationAn Intelligent CASE Tool FeaturingAutomatic Design for Structured Programming’的图7b的日语翻译。本发明的方式通过积蓄再利用而自动化,所以用反复同种的设计的保守阶段的设计进行了评价。图的横轴表示从新设计进行保守设计的反复次数,纵轴表示以该次数的设计,在整体的分层展开之中能自动进行的比率。
曲线表示在一开始急速上升,在第10次80%以上自动展开。这是习熟效果所致,表示较少数的设计知识反复被使用。但是,即使次数再多,也很难接近100%。这反映了在单纯的再利用时知性的程度较低。
本发明的方式在同领域中不仅是结构化图,而且还并用了数据流程图,在所谓的编程阶段之前也扩大了适用,在本质上产生与该图同等以上的效果。即,从反复较多的保守设计的上流到下流都能够得到很明显的效果。
第21图表示只有Creator,即只有设计知识的自动生成的场合下的评价。图中的横轴是进行设计时的分层展开数,纵轴是用两对数尺度对动词字典的累计页数的评价。在该图中,习熟效果作为直线状的倾斜线出现。按照第2的直线倾斜线评价实绩,结果发现,设计约500行、约10程序、100分层展开,需要的动词字典的累计页数约为20。用该系统,进行约5000行、即约110程序、新经验100。分层展开的设计的场合,动词字典的累计页数能够从第21图的第2的倾斜线读取,估计是约40,所以预测需要追加约20页。这表示,换成自动化率,在1000展开之中,对20次的分层展开,必须追加动词字典130页,并根据该值能够评价自动化率为98%。即,本发明方式的自动生成功能的自动化率很高,有很大的提高效率的效果。
在自动化系统中,有一种观点是,除了效果之外,还要评价为了自动化的准备等成本。在本系统中,Creator CASE工具等的固定部分和动词字典平均每页的成本×需要的页数就是自动化的准备成本。本文已说明,固定部分只是用Creator CASE工具10b使动词字典130和DDFT196动作的功能部分,所以与传统的自动化方式相比,要小得多,而且动词字典130是基础的部品,因此必要的页数很少,与用传统的自动生成方式对每个适用对象所准备的知识数相比,数量大幅度下降,不仅如此,各页平均的准备作业也很少,只是少数的骨架和方法。由上可知,本发明为自动化所花费的准备成本极低。
使用本专利申请开头所说明的知识库的方式,根据Rasmussen的定义,是“技能层次”,利用其次说明的骨架的方式则属于“规则层次”。他所定义的最后层次是“知识层次”。将它们组合起来,就能够解决迄今为止的方式无法解决的、更高级的一些问题。该要素技术在电子通信信息学会论文杂志83.D卷4号648.658页的论文’Software CreationA study on the inside of human designknowledge’中有详细报告。与本专利申请有关的要点如下。
“知识层次”的中心是命名为基础知识字典的字典性质的知识体系,字典有数据构造、书写方式等的构造、动词等字典。还有驱使它们的单位性质的知性处理微设计规则(单位功能逻辑)。
以下对它们作一简单说明。首先用第15图~第18图(a)说明JSP形态的设计。如图所示,在定型性的处理中,从动词字典读出的方法及和它协调的专用逻辑进行处理。用它无法处理的场合,微设计规则(单位功能逻辑)会驱使这些字典,主要是进行各种关系的确立。
即,制作展开了母的输入和输出数据的子数据的组合的场合,如第18图(b)所示,时刻显示被展开为“粗针”“长针”“细针”后,就无法认识展开了“时”的子数据和展开了“指针”的子数据的同一性。但是,预先在概念字典中建立起“粗针”与“时”、“长针”与“分”、“细针”与“秒”的关系的话,就能够使用基础知识字典,借助了解对应关系的为设计规则Chain ConceptDefinition(CDC)来设定几个子数据之间的关系。
这样,在用方法无法处理的场合下,就转移到知识层次,由微设计规则来处理。在前面的第15图的说明中,时间和指针参照结构字典展开为子。无法展开时,在微设计规则中,ExtendConcept(EXC)微设计规则就会用基础知识字典进行展开。如下面的第17图所示, 无法制作子概念所用的子数据流程图群时,Upwarding Correspondance(UCS)微设计规则就会参照基础知识字典的数据构造定义进行制作。再如第18图所示,在空功能盒插入子概念的动词部分的表记由Create Function Name(CFN)微设计规则后援。其他的微设计规则还有Concept Abstraction(CAB),Select I-map and 0-ap(SIO)、Create Control Structure(CCS)等,在无法进行通常的处理时,它们均会参照基础动词字典,分析所有的可能性。
可见,使用基础动词字典的微设计规则具有增加设计可能范围的极大效果。
具体的实施例如下。在第19图所示的引擎构成中,设置上述的基础知识用字典,制作上述的专用逻辑,这里使其实行微设计规则的功能。通过动词字典的方法,或在专用逻辑的第16图到第17图的过程中,输入输出数据间的对应无法简单确立时,与起到微设计规则功能的专用逻辑协调动作。
第28图中,横轴是第27图所说明的库存管理程序的7程序的初期设计中的程序数,纵轴表示累计定义数。各种图表为改变了7程序的作业顺序者。从图中可知,对数习熟特性是明确的。即,即使增加程序数,定义数也只是缓慢地增长。换言之,只要增加少量的字典知识,设计可能的程序数就会大幅度增加,该增加呈对数性质。
与骨架组合的动词字典的场合,骨架是在动词上追加了具体的场所等记号的骨架,方法是为了显示5W1H而在动词上所加的变形的模式。对某个动词给出定型的语法知识,就能够制作动词字典的每种意义的页。另外,与骨架组合使用的结构字典同样能够从数据结构、书写方式等结构数据产生。
即,从这里说明的字典能够制作骨架方式下的必要知识。反之,从结构字典和动词字典也能够准备与微设计规则并用的基础知识字典类。它与能够从设计规则抽象化制作骨架和方法同样。
在实施例中为如下情况。在各种方法之中,第26图的“抽象化后得到骨架”253,能够从各设计规则制作骨架。在这里,因为能够从母概念制作子概念,所以将其取出后储存在基础知识用字典中。
这是将经过历史演变、遗传下来的最佳化了的人脑的功能构成模式化后取出的方式。本发明的方式不单纯停留在设计上,能够扩大后适用在人有意识的行动,例如相当于软件系统的前阶段的所谓商务过程的自动化方式、硬件设计的自动化方式等。通常将具备人脑这样的高级智能的机器人称为宇宙人,本方式就是用于其的核心的知性中心。用传统的程序驱动机器人的场合,要离开机器人设计程序供给机器人进行动作控制。在本系统中,从当初的意图,例如“向右转”出发,将该意图细化,最后能够到达(实现手段)驱动各种执行机构。
用第6图加以说明。在软件设计中使用本系统时,图左端有设计者,一边用CASE工具20和自动化功能,一边进行设计。而且设计中成为源代码的文件从CASE中被取出,经由自动编码器转移到计算机的程序。
采用机器人时,则情况如下。来自外界的输入通过各种传感器检出,处理、判断。在这之前,相当于所述的设计者的作用,不在本系统范围内。例如机器人在具备“向右转”的意图之后,就成为本系统的对象。“向右转”意图就像设计者用图纸指示CASE工具一样,被写入CASE工具中。这就像在“时钟”一例中所说明的那样,一边进行分层的展开,一边被变换成实现手段的身体动作的详细指令。在这种场合,经由自动编码器或不经由它,向机器人的身体的各部的执行机构给出指示。于是机器人进行动作。
在这些之间的CASE工具的功能,能假设性地动作就可以了。在机器人或为了追加起其功能的开发中,只要充分利用CASE工具的功能,就能够在线将细化的情况可视化,还能直接修正、变更展开。这是传统的机器人控制技术所无法完成的功能。
在本发明中,作为最简单的具体事例,详细说明了软件设计的例子,并作为意图达成的最容易理解的事例,简单说明了对机器人的控制实施例。在这两种极端的事例之间有着许多适用方式,但无论是哪一种,都是“意图的达成”的概念,能够利用本发明。
因此,与传统方式下的意图的达成或设计相比,其特征是成本/性能特别好,而且能够适用于人的有意图的所有行动。另外,在进行人工设计作业时,只要并用本系统,“技能层次”的知识就能直接储存,而“规则层次”的知识自己抽象化后储存在动词字典中,进而“知识层次”的知识储存在基础知识用字典中,熟练者能够通过这些积蓄的知识教育初学者,来提高技术。
在产业上的利用可能性如上所述,本发明相关的设计知识的自动生成方法及其程序以及自动设计方法及其系统,适用于具体的程序、软件、软件系统、商务系统、以及例如机器人等进行与人相同动作的系统等从展开被给出的目的进行细化的上流的阶段到将被给出的功能源代码化的下流的阶段的自动的展开或设计及通过人工的设计的支援手段。
另外,利用本发明,通过作业自动化,可以减轻人工设计作业,换言之,能够提高生产率。即,在人工设计中,平均每一个分层展开至少要以分来计算所需的时间,而自动设计最多只花费秒单位的时间。自动化带来了上述效果。
而且,利用本发明,能够自动生成设计知识,重新构成所生成的设计知识库和原来积蓄着的设计知识库,实现以很高的自动化率动作的自动设计。
利用本发明,还能统合地实现各种设计知识引擎的利用和成为与人的界面的图纸作成和显示的系统。
权利要求
1.是将母概念和子概念(群)作为一对单位形态的知识加以运用来达成意图或自动生成设计的知识的方法、并且以下述内容为特征的知识的自动生成方法具有取得从所述母概念展开后的子概念(群)的动词为中心的骨架及作用于该骨架的处理逻辑所构成的单位信息群的第1步骤,具有从该第1步骤取得的结果中取得将母概念加以细化的子概念-知识的第2步骤。
2.是将母概念和子概念(群)作为一对单位形态的知识加以运用来达成意图或自动生成设计的知识的方法、并且以下述内容为特征的知识的自动生成方法具有从所述母概念展开的子概念(群)-意图达成或设计的知识群中,根据通过构成所述母概念的输入或前状态、输出或后状态及先行的母概念(群)等信息来特定母概念的动词的意义的逻辑,进行适当选择的步骤。
3.是将母概念和子概念(群)作为一对单位形态的知识加以运用来达成意图或自动生成设计的知识的方法、并且以下述内容为特征的知识的自动生成方法具有从所述母概念展开的子概念(群)的动词为中心的骨架及作用于该骨架的处理逻辑所构成的单位信息群中,根据通过构成所述母概念的输入或前状态、输出或后状态及先行的母概念(群)等信息来特定母概念的动词的意义的逻辑,取得适当的单位信息的步骤。
4.是将母概念和子概念(群)作为一对单位形态的知识加以运用来达成意图或自动生成设计的知识的方法、并且以下述内容为特征的知识的自动生成方法具有在构成所述母概念的功能的动词部分,索引从所述母概念展开的子概念(群)的动词为中心的骨架及作用于该骨架的处理逻辑所构成的单位信息群的索引步骤,具有从所述母概念展开的子概念(群)的动词为中心的骨架及作用于该骨架的处理逻辑所构成的单位信息群中,根据通过构成所述母概念的输入或前状态、输出或后状态及先行的母概念(群)等信息来特定母概念的动词的意义的逻辑,从通过所述索引步骤索引到的单位信息群中选择适当的单位信息的选择步骤。
5.是将母概念和子概念(群)作为一对单位形态的知识加以运用来达成意图或自动生成设计的知识的方法、并且以下述内容为特征的知识的自动生成方法具有将所述母概念和子概念(群)的对-意图达成或设计的知识积蓄在知识库中的积蓄步骤,具有根据通过构成所述母概念的输入或前状态、输出或后状态及先行的母概念(群)等信息来特定母概念的动词的意义的逻辑,自动选择从所述知识库读出的知识(群)的选择步骤。
6.是将母概念和子概念(群)作为一对单位形态的知识加以运用来达成意图或自动生成设计的知识的方法、并且以下述内容为特征的知识的自动生成方法具有以作为被输入的母概念的单位形态的数据流程图为基础,将母概念中的数据或状态分层展开,形成子概念-数据流程图的骨架的第3步骤,具有继承所述母概念中的动词或从所述母概念展开的子概念的动词,形成子概念-数据流程图的第4步骤,取得由作为从母概念分层展开的子概念的数据流程图组成的意图达成或设计的知识。
7.并且,权利要求6记载的知识的自动生成方法还具有下述特征具有从通过所述第4步骤得到的数据流程图变换到流程图或结构化图的第5步骤,并取得由作为从母概念分层展开的子概念的流程图或结构化图组成的知识。
8.是将母概念和子概念(群)作为一对单位形态的知识加以运用来达成意图或自动生成设计的知识的方法、并且以下述内容为特征的知识的自动生成方法具有以作为要输入的母概念的单位形态的数据流程图为基础,对于处于与母概念-数据流程图或功能对应的单位形态的分层展开关系的数据流程图的骨架,根据作用于该骨架的处理逻辑或与之协调动作的专用逻辑,至少通过插入输入数据或前状态或者输出数据或后状态,形成分层展开的子概念的数据流程图的第6步骤,并取得由作为从母概念分层展开的子概念的数据流程图组成的知识。
9.并且,权利要求8记载的知识的自动生成方法还具有下述特征具有从在所述第6步骤得到的数据流程图变换到流程图或结构化图的第7步骤,并取得由作为从母概念分层展开的子概念的流程图或结构化图组成的知识。
10.是将母概念和子概念(群)作为一对单位形态的知识加以运用来达成意图或自动生成设计的知识的方法、并且以下述内容为特征的知识的自动生成方法具有以作为要输入的母概念的单位形态的数据流程图为基础,取得处于与母概念-数据流程图或功能对应的分层展开关系的至少数据流程图的骨架的第8步骤,对于在所述第8步骤中取得的数据流程图的骨架,根据作用于该骨架的处理逻辑或与之协调动作的专用逻辑,或另外设置的专用逻辑形成通过至少要插入输入数据或前状态或者输出数据或后状态,至少形成子概念的数据流程图的第9步骤,并取得作为从母概念分层展开后的子概念的数据流程图所组成的意图达成或设计的知识。
11.并且,权利要求10记载的知识的自动生成方法还具有下述特征对于通过所述第8步骤得到的流程图或结构化图的骨架,根据作用于该骨架的处理逻辑或与之协调动作的专用逻辑,或另外设置的专用逻辑形成子概念的流程图或结构化图的第10步骤。并取得由作为从母概念分层展开的子概念的流程图组成的知识。
12.是将母概念和子概念(群)作为一对单位形态的知识加以运用来达成意图或自动生成设计的知识的方法、并且以下述内容为特征的知识的自动生成方法具有以作为要输入的母概念的单位形态的数据流程图为基础,从与母概念-数据流程图或功能对应的多个单位形态的分层展开关系的骨架中,选择适当的单位形态的分层展开关系的骨架的第11步骤,具有以作为要输入的母概念的单位形态的数据流程图为基础,对于通过所述第11步骤选择的适当的单位形态的分层展开关系的骨架,根据作用于该骨架的处理逻辑或与之协调动作的专用逻辑,至少通过插入输入数据或前状态或者输出数据或后状态,形成分层展开的子概念的数据流程图并输出的第12步骤,并取得由作为从母概念分层展开的子概念的数据流程图组成的知识。
13.并且,权利要求12记载的知识的自动生成方法还具有下述特征具有从通过所述第12步骤得到的数据流程图变换到流程图或结构化图的第13步骤,并取得由作为从母概念分层展开的子概念的流程图或结构化图组成的知识。
14.是利用计算机,将母概念和子概念(群)作为一对单位形态的知识加以运用来达成意图或自动生成设计的知识所用的、并且以下述内容为特征的知识的自动生成程序具有取得由从所述母概念展开的子概念(群)的动词为中心的骨架及作用于该骨架的处理逻辑所构成的单位信息群的第1步骤,具有从通过该第1步骤得到的结果取得将母概念细化的子概念-知识的第2步骤。
15.是利用计算机,将母概念和子概念(群)作为一对单位形态的知识加以运用来达成意图或自动生成设计的知识所用的、并且以下述内容为特征的知识的自动生成程序具有从由所述母概念展开的子概念(群)-意图达成或设计的知识,根据通过构成所述母概念的输入或前状态、输出或后状态及先行的母概念(群)等信息来特定母概念的动词的意义的逻辑,进行适当选择的步骤。
16.是利用计算机,将母概念和子概念(群)作为一对单位形态的知识加以运用来达成意图或自动生成设计的知识所用的、并且以下述内容为特征的知识的自动生成程序具有从所述母概念展开的子概念(群)的动词为中心的骨架及作用于该骨架的处理逻辑所构成的单位信息群中,根据通过构成所述母概念的输入或前状态、输出或后状态及先行的母概念(群)等信息来特定母概念的动词的意义的逻辑,取得适当的单位信息的步骤。
17.是利用计算机,将母概念和子概念(群)作为一对单位形态的知识加以运用来达成意图或自动生成设计的知识所用的、并且以下述内容为特征的知识的自动生成程序具有在构成母概念的功能的动词部分,索引从所述母概念展开的子概念(群)的动词为中心的骨架及作用于该骨架的处理逻辑所构成的单位信息群的索引步骤,具有根据通过构成母概念的输入或前状态、输出或后状态及先行的母概念(群)等信息来特定母概念的动词的意义的逻辑,从通过所述索引步骤索引到的单位信息群中选择适当的单位信息的选择步骤。
18.是利用计算机,将母概念和子概念(群)作为一对单位形态的知识加以运用来达成意图或自动生成设计的知识所用的、并且以下述内容为特征的知识的自动生成程序具有将所述母概念和子概念(群)的对-意图达成或设计的知识积蓄在知识库中的积蓄步骤,具有根据通过构成所述母概念的输入或前状态、输出或后状态及先行的母概念(群)等信息来特定母概念的动词的意义的逻辑, 自动选择从所述知识库读出的知识(群)的选择步骤。
19.是利用计算机,将母概念和子概念(群)作为一对单位形态的知识加以运用来达成意图或自动生成设计的知识所用的、并且以下述内容为特征的知识的自动生成程序具有以作为被输入的母概念的单位形态的数据流程图为基础,将母概念中的数据或状态分层展开,形成子概念-数据流程图的骨架的第3步骤,具有继承所述母概念中的动词或从所述母概念展开的子骨架的动词,插入到骨架中的功能记号,形成子概念-数据流程图的第4步骤,取得由作为从母概念分层展开的子概念的数据流程图组成的意图达成或设计的知识。
20.是利用计算机,将母概念和子概念(群)作为一对单位形态的知识加以运用来达成意图或自动生成设计的知识所用的、并且以下述内容为特征的知识的自动生成程序具有以作为要输入的母概念的单位形态的数据流程图为基础,从与母概念-数据流程图或功能对应的多个单位形态的分层展开关系的骨架中,选择适当的单位形态的分层展开关系的骨架的第11步骤,具有以作为所述母概念的单位形态的数据流程图为基础,对于通过所述第1步骤选择的适当的单位形态的分层展开关系的骨架,根据作用于该骨架的处理逻辑或与之协调动作的专用逻辑,至少通过插入输入数据或前状态或者输出数据或后状态,形成分层展开的子概念的数据流程图并输出的第12步骤,取得由作为从母概念分层展开的子概念的数据流程图组成的知识。
21.有数据流程图及在其之外,且与其对应的流程图或结构化图,在两图纸上对应的功能中分别设定起始点,使两起始点同步地在各图纸上移动来自动展开或自动设计的、并且是以下述内容为特征的自动设计方法具有利用所述起始点,将母概念与引擎部对照的第14步骤,具有得到作为从由该第14步骤所对照后的引擎部回送的母概念分层展开的子概念的数据流程图及流程图或结构化图,对所述母概念的功能,通过在数据流程图上粘贴子数据流程图或子结构化图,在流程图或结构化图上粘贴子流程图或子结构化图,完成对所述母的设计,并将起始点移动到下一个母的第15步骤,通过所述过程的反复,进行数据流程图及其之外,与其对应的流程图或结构化图的设计。
22.是将母概念和子概念(群)的对作为意图达成或设计的单位知识、并且以下述内容为特征的知识自动生成方法具有积蓄前意图达成或设计的单位知识的知识库部,具有具备从由从所述母概念得到的子概念(群)的动词为中心的骨架及作用于该骨架的处理逻辑所构成的单位信息群中,根据通过构成所述母概念的输入数据或前状态、输出数据或后状态及先行的母概念(群)等信息来特定母概念的动词的意义的逻辑及构成所述的功能的动词部分,选择适当的单位信息的选择部,达成意图或自动生成设计的单位知识的自动生成部,具备切换所述自动生成部及所述知识库部,选择要使用的意图达成或设计的单位知识的选择装置。
23.并且,权利要求22记载的知识的自动生成系统是具有下述特征的设计知识的自动生成系统具备将所述自动生成部所自动生成的意图达成或设计的单位知识发送到所述知识库部,使其积蓄的信息发送装置。
24.是将母概念和子概念(群)作为一对单位形态的知识加以运用来达成意图或自动生成设计的知识、并且以下述内容为特征的系统具有积蓄所述意图达成或设计的单位知识的知识库部,具有在构成所述母概念的功能的动词部分,索引从所述母概念得到的子概念(群)的动词为中心的骨架及作用于该骨架的处理逻辑所构成的单位信息群的索引部,以及根据通过构成母概念的输入或前状态、输出或后状态及先行的母概念(群)等信息来特定母概念的动词的意义的逻辑,从通过所述索引部索引到的单位信息群中选择适当的单位信息的选择部。
25.是将母概念和子概念(群)作为一对单位形态的知识加以运用来达成意图或自动生成设计的知识、并且以下述内容为特征的系统具有将母概念和子概念(群)的对作为单位形态的知识积蓄起来的知识库部,具有将所述母概念展开的子概念(群)的动词为中心的骨架及作用于该骨架的处理逻辑所构成的单位信息群加以积蓄的规则库,具有从该规则库所积蓄的单位信息群中,通过构成所述母概念的输入或前状态、输出或后状态及先行的母概念(群)等信息来特定母概念的动词的意义并进行选择,自动生成意图达成或设计的知识的自动生成部,并且,具备单位形态的知识每次被用于作业时,会被与积蓄在所述知识库部的知识之中将动词相同化的已有的知识(群)加以比较、对照,重复的部分作为骨架抽出,同一意义的共同的模式作为处理逻辑抽出,将这些抽出结果积蓄在所述规则库的抽象化机构。
26.是将母概念和子概念(群)作为一对单位形态的知识加以运用来达成意图或自动生成设计的知识、并且以下述内容为特征的系统具有将正或反索引与用语、数据、构成相关的基础知识字典及该字典,建立关系的单位功能逻辑,和从所述母概念展开的子概念(群)的动词为中心的骨架及作用于该骨架的处理逻辑所构成的单位信息群加以积蓄的规则库,具有从该规则库读出的单位信息群和专用逻辑和所述单位功能逻辑协调动作来自动生成意图达成或设计的知识的自动生成部。
27.并且,权利要求26记载的知识的自动生成系统还具有下述特征在所述单位功能逻辑中有从用于作业的知识中抽出动词的逻辑部分,并将该输出积蓄在所述基础知识字典中。
28.是具有下述特征的自动设计系统具备有数据流程图用CASE工具部或其之外的流程图或结构化图用CASE工具部的CASE工具群,具备至少有自动生成设计知识的自动生成引擎部,及也积蓄该自动生成引擎部自动生成的设计知识的知识库部的引擎群,具备所述CASE工具群和所述引擎群之间相互进行信息发送、接收的装置。
29.是具有下述特征的自动设计系统具备有数据流程图用CASE工具部及流程图或结构化图用CASE工具部的CASE工具群,具备至少有自动生成设计知识的自动生成引擎部,及也积蓄该自动生成引擎部自动生成的设计知识的知识库部的引擎部,所述两种CASE工具中,为了进行每个设计知识的自动设计及知识抽出,具备识别母的识别装置,并且具备在对母每次动作时,对照确认两种CASE工具的输出是否一致的逻辑装置。
30.是具有下述特征的自动设计系统具备有数据流程图用CASE工具部及流程图或结构化图用CASE工具部的CASE工具群,具备至少有自动生成设计知识的自动生成引擎部,及也积蓄该自动生成引擎部自动生成的设计知识的知识库部的引擎部,所述两种CASE工具中,具备识别成为对象的功能的识别装置,具备在对母每次动作时,变换通过先行于数据流程图进行设计得到的对母的子数据流程图,使其在流程图或结构化图上作图的功能,及在先行于流程图或结构化图的设计,设计分支或反复的场合,禁止数据流程图侧的追随的功能。
31.是具有下述特征的自动设计系统具备有数据流程图用CASE工具部及流程图或结构化图用CASE工具部的CASE工具群,具备至少有自动生成设计知识的自动生成引擎部,积蓄该自动生成引擎部自动生成的设计知识的知识库部,将所述自动生成引擎部自动生成的设计知识发送到所述知识库部加以积蓄的发送装置,及有切换所述自动生成引擎部及所述知识库部,选择要使用的设计知识的选择装置的引擎群,具备所述CASE工具群和所述引擎群之间相互进行信息发送、接收的装置。
全文摘要
本发明是将母概念和子概念(群)作为一对单位形态的知识加以运用,作为意图达成或设计的知识进行自动生成的方法和其程序及其系统,其特征是具有在母概念的动词部分索引子概念(群)的动词为中心的骨架及作用于该骨架的处理逻辑所构成的单位信息群的索引步骤,和从构成母概念的输入、输出及先行的母概念(群)等信息中,根据抽出母概念的动词的意义的逻辑,选择在所述索引步骤中所索引的单位信息群内的某个单位信息的选择步骤。本发明是将母概念和子概念(群)作为一对单位形态的知识加以运用,达成意图或自动生成设计的知识的方法和其程序及其系统,还具有以下特征,即,具有以作为要输入的母概念的数据流程图为基础,分层展开母概念中的数据,形成子概念-数据流程图的骨架的第1步骤,和继承所述母概念中的动词或从所述母概念展开的子骨架的动词,插入到骨架中的功能记号中,形成子概念-数据流程图的第2步骤,以及从该第2步骤中得到的数据流程图变换到流程图或结构化图的第3步骤。
文档编号G06N5/00GK1513158SQ02810859
公开日2004年7月14日 申请日期2002年5月27日 优先权日2001年5月28日
发明者河野善弥, 哈萨·阿波拉哈萨尼, 陈慧, 阿波拉哈萨尼 申请人:河野善弥
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1