编程支持方法及系统的制作方法

文档序号:6405627阅读:156来源:国知局
专利名称:编程支持方法及系统的制作方法
技术领域
本发明与在软件模块分别开发时将软件模块加以组合和分离的编程方法有关,具体地说与独立设计各个处理模块从而建立一个整个系统的模块结构的编程支持方法和编程支持系统有关。
按照先前工艺技术的软件开发方法,首先要确定整个软件系统的模块结构,以该结构为前提,根据模块工作顺序来设计各个软件模块的内部处理,从而完成这些模块的编程。
因此,如果整个系统软件的模块结构中有一部分尚未确定,那末就不能着手对相应的这些软件模块进行设计和开发。而且,在软件模块设计和开发期间有所变动的话,就会影响整个软件系统的模块结构。这在某些情况下可能要求对业已开发完毕的一些软件模块进行一些修改。
因此,业已应用一种按初始控制流程从上游到下游或从下游至上游的顺序对相应各个软件模块进行编程的方法。这样,一个软件模块的修改(如果有的话)可能影响上游或下游的软件模块。按照这种方法,程序编制不能通过独立和並行设计各相应软件模块来完成。
顺便说一下,这种与先前工艺技术有关的装置已经在例如专利JP-A-61-208540中有所说明。
按照上述的先前工艺技术,程序设计按自顶向下的方法进行。亦即首先确定整个系统结构,以便以软件结构的前提确定模块,从而根据控制流程依次编制程序。
所以,在分布式计算机系统中,各个模块的软件设计和开发很难独立和並行进行,因而软件的生产率难以提高。
因此,本发明的一个目的是提供一种编程方法,使各软件模块能独立和並行进行设计和开发。每当生成软件模块时,就更新整个软件系统的模块配置,以便为了提高软件生产率而自底向上设计和开发软件模块,从而解决了先前工艺技术上的问题。
为了达到上述目的,在按照本发明的用通过消息数据交换而被互相组合的一组软件模块来构成一个分布软件系统的编程方法中,每当产生确定的输入输出数据项的一个软件模块时,就要检验该软件模块与原来已形成的软件模块之间的消息数据以检查消息数据的内容的完整性,校验一个产生消息数据的软件模块与一个应用消息数据的软件模块之间的关系,以及完成软件模块的组合或分离操作,从而构成一个分布软件系统。该方法的特点是消息数据项的数目和构成整个分布软件系统的软件模块的数目能够随意调整。
並且,按照本发明,在组合软件模块时,组合前软件模块的输出数据中的不传送到处理器或处理装置而是传送到存贮组合后软件模块的处理装置的输出数据作为一个传播抑制码表寄存起来。然后,在执行一个以组合后的软件模块构成的程序时,对于这些寄存的输出数据进行的仅是自接收处理。
再者,按照本发明,在通过组合软件模块构成一个程序时,将一个组合前的软件模块程序的一个输入处理模块、一个操作处理模块和一个输出处理模块聚集起来形成一个程序码的一个输入处理模块、一个操作处理模块和一个输出处理模块。
按照本发明,在核对一个消息数据的内容时发现蕴含关系的情况下,相应的数据项能相互加以组合。
这就是说,由于所组合的消息数据包括组合前的内容,而软件模块的输入/输出数据是保证的,因此整个系统中消息数据数目减小而模块数目保持不变。
此外,从蕴含关系中可以将消息数据分开。通过将被分开的一个消息数据项设置为一个特殊项,或通过将所分开的消息数据项组合起来,为软件模块保存输入/输出数据。这样,整个系统中消息数据数目增加而模块数目保持不变。
还有,从消息数据的产生和应用之间的关系出发,相应的软件模块可以互相组合。
也就是说,在消息数据仅由一个软件模块产生並且仅由一个软件模块使用的情况下,该数据的产生模块和应用模块可以组合成一个软件模块。
在这种情况下,由于这个消息数据的删除,消息数据和软件模块数减小。
此外,当一个消息数据项由一组软件模块使用时,就能把这些模块互相组合起来。
结果,消息数据数保持不变而软件模块数减小。
还有,当希望将所组合的软件模块分离成各原软件模块时,就实现一个软件模块分离操作。
如上所述,通过将构成该系统的软件模块和消息数据进行组合和分离,就能随意改变整个程序的结构情况。
参照下列说明及附图就可明白本发明的各个目的和优点。这些附图有


图1为本发明第一个具体实现中模块结构校验程序的处理流程图;
图2为本发明第一个具体实现中程序设计支持系统的功能构成图;
图3为用来解释图2的内容码表的结构的说明图;
图4为说明图2的模块表的结构的原理图;
图5为用来解释图2的数据项表的配置的说明图;
图6为解释图2的组合历程表的配置的说明图;
图7为图2的定义输入程序的处理流程图;
图8为图2的模块结构更新程序的处理流程图;
图9为本发明第二具体实现的程序设计支持系统的功能结构图;
图10为解释图9的传播抑制内容码表的结构的说明图;
图11为说明在本发明第二具体实现中执行程序时模块组合操作情况的说明图;
图12为图9的传播抑制程序的处理流程图;
图13为说明图9的接口的处理情况的流程图;
图14A和14B为解释本发明第二个具体实现中程序组合操作情况的说明图;
图15为图9的模块组合程序的处理流程图。
现参照附图对本发明的一个具体实现进行说明。
图2为本发明第一个具体实现的一个程序设计支持系统的功能配置图。
图2系统包括处理器或处理装置1、内容码表2、模块表3、数据项表4、组合历程表5、定义输入程序存贮区6、模块结构校验程序存贮区7、模块结构更新程序存贮区8,以及处理模块存贮区9。
处理模块存贮区9用来存贮一个模块处理过程程序。
说一下,处理器1连接到显像管(CRT),但在图2中没有示出。
图3为解释图2中内容码表2的结构的说明图。
图3的配置包含内容码21、数据项计数22、以及数据项名23。
内容码21指定要由用来识别数据项名23的那些软件模块进行通信的消息数据的内容,其数目由数据项计数22规定。对各内容码21重复使用这种格式。
图4为解释图2中模块表3的结构的说明图。对于各个模块都规定这种格式结构。
图4的结构包括输入内容码计数31、输入内容码32、输出内容码计数33、输出内容码34、输入数据项计数35、输入数据项名36、输出数据项计数37、输出数据项名38、模块名39、处理模块存贮地址40、以及处理模块长度41。
在这个具体实现中,一个由模块名39所标记的软件模块包括具有字节数为处理模块长度41並且存贮在由处理模块存贮地址40指定的地址中的一个处理模块。
此外,对一个软件模块来说必需的输入内容码32仅是输入内容码计数31。对输出来说,有输出内容码34,其数目由输出内容码计数33指定。输入内容码32和输出内容码34的内容代表消息数据的数据规格。
软件模块处理的前提由一组分别以输入数据项名36(数目由输入数据项计数35规定)和输出数据项名38(数目由输出数据项计数37规定)表示的数据确定。
图5为用来解释图2中数据项表4的结构的说明图。
该具体实现的数据项表4指明图3内容码表2的各数据项名23的内容。它包括规定数据项名23特性的数据单元长度42、阵列元数或阵列元计数43、数据码44以及有/号标记45。对各数据项名23都重复规定这些项。
图6为用来解释图2中组合历程表5的结构的说明图。
图6的构成包括组合前模块名51和组合后模块名52。
在这种具体实现中,组合前模块名51和组合后模块名52成对处置,以便保存与组合前模块有关的模块表3的适当数据和通过解除组合状态恢复组合前模块的状态。
图7为在图2定义输入程序存贮区6中的定义输入程序的处理流程图。
在这种具体实现中,当要定义软件模块的一个输入/输出数据时,系统搜索一个包括根据模块表3的模块单元格式所提供的输入、输出数据项名36、38的内容码21(步骤701)。
具体些说,将图4的各输入数据项名36作为关键字,对图3的内容码表2进行检索。
结果,如果没有发现一项与关键字条件符合,则确定一个新的内容码21,将该内容码21与从属的一个数据项名23相配,产生要寄存到内容码表2的数据(步骤702)。
此外,如果在图5的数据项表4中遗漏数据项名23(步骤703),则给出包括数据项名23、数据单元长度42、阵列元计数43、数据44及有/号码45的一个系(set),作为定义的输入,成组寄存到数据项表4内(步骤704)。
然后,根据与内容码21有关的数据项名23和输入、输出数据项名36、38为蕴含关系进行合理性检验(步骤705)。顺便说一下,合理性检验包括确定输入、输出数据项名36、38是否包含在从属于内容码21的数据项名23内和确定数据单元长度42、阵列元计数43、数据码44和有/无码45这些属性之间是否存在不一致。
如果合理性检验合格,则更新内容码表2、模块表3和数据项表4(步骤706)。
图1为图2的模块结构检验程序7的处理流程图。
在这种具体实现中,使用内容码表2将从属于内容码21的数据项名23与内容码21相互进行比较,来检验蕴含关系(步骤101)。
例如,设一些数据项名23是一个系的元,而内容码21是这个系的名,如果一些系的一个并关系成立,则这些内容码21就有可能被组合成这些系的并的一个内容码。
此外,在各内容码21之间,如果发现由一些数据项名23作为元组成的一个子系的一个关系,则形成这个子系的那些内容码就可以被组合入这些内容码中任一个内容码中去。
这样,如果存在一种组合可能性(步骤102),那末这种组合可能性的情况就在CRT(未示出)上显示(步骤103)。
其次进行分离内容码的检验(步骤104)。
这也就是,在含有一些数据项名23作为元的系之间,因而也就在内容码21之间成立一种系的并的关系的情况下,能够进行分离操作,得到子系的一个并。
分离可能性的情况在CRT上显示(步骤105、106)。
此后检查一个模块组合的可能性(步骤107)。
在模块表3中,如果一个软件模块的各个输出内容码34与另一个软件模块的各个输入内容码34完全相同,这两个软件模块就有可能互相组合。
软件模块组合的可能性也在CRT上显示(步骤108、109)。
然后,系统对解除模块组合规格进行检验(步骤110)。
顺便说一下,解除模块组合即分离软件模块是指将一个组合了的软件模块恢复为原来的模块。
因此,当模块组合有可能解除时(步骤111),组合历程表5的内容就在CRT上显示(步骤112)。
图8为在图2的存贮区8内模块结构更新程序的处理流程图。
在这种具体实现中,当要更新已建立的软件模块的结构时,首先进行检验,确定内容码21是要组合还是要分离(步骤801)。
亦即,如果要处理内容码21,则系统确定要进行组合还是进行分离操作(步骤802),以便根据这结果的情况更新内容码表2(步骤803、804)。
当处理的目标是一个软件模块(步骤801),而且指定要组合操作时(步骤805),则更新模块表3(步骤807),而后将组合前该软件模块的内容保存入组合历史表5内(步骤808)。
然而,对于组合规格的分离或解除(步骤805),就将相应的数据从组合历史表5转至模块表3;以恢复原来的模块(步骤806)。
图9为本发明第二种具体实现的程序设计支持系统的功能配置图。
图9的系统包括传播抑制程序存贮区10、与其它计算机进行通信的接口11、模块组合程序存贮区12、传播抑制内容码表13、传输通道14、以及与图2所示的第一种具体实现相同的其它一些表和程序存贮区。
在这种具体实现中,当在图1的流程图中步骤107至109满足软件模块组合条件时,执行一个程序完成模块组合,将模块组合产生一个程序。
图10为解释图9的传播抑制内容码表13的结构的说明图。
在这种具体实现中,在不将由一个软件模块产生的一个内容码送到其它计算机以完成自接收处理的情况下,使用传播抑制内容码表13,将该内容码作为一个传播抑制内容码61存贮在那里。当发布寄存到传播抑制内容码表13的内容码的一个数据项时,接口11受命完成自接收处理。
图11为用来解释本发明第二种具体实现中执行一个程序进行模块组合操作的说明图。
该具体实现含有一个组合前模块P71,该模块接收送来的内容码数据S73作为输入,产生内容码m75和内容码n76。该系统还有一个组合前模块Q72,该模块接收送来的内容码n75和内容码m76的数据项作为输入,产生内容码t74。
在这个操作过程中,当在图1的步骤107至109一个模块组合条件成立时,执行一个程序完成这个处理,使得在将内容码n75和内容码m76作为传播抑制码61寄存时,有一个组合后模块PQ70产生。该模块在组合操作后接收送来的内容码S73作为输入,产生内容码t74。
图12为在图9的存贮区10内传播抑制程序的处理流程图。
按照这种具体实现,当在图1的步骤107至109一个模块组合条件成立时,传播抑制程序10以要传播或发送的数据的内容码作为一个关键字对传播抑制内容码表13进行检索(步骤1201)。
结果,如果在表13内还没有寄存过相应的内容码,则接口11就受命通过传输通路14向其它各计算机发出该内容码(步骤1203)。
如果发现该内容码,就不向外部计算机发送。
图13为接口11的处理流程图。
在这种具体实现中,如果存贮区10内的传播抑制程序命令由接口11发出数据(步骤1301、1302),则该数据通过传输途径14发向各外部装置(步骤1303)。
此外,如果没有命令发送数据,则不向外部装置进行这种数据发送。
此后,这相应的数据作为该系统本身的一个自接收项进行处理(步骤(1304)。
通过上述操作,图11的组合前模块P71发布内容码m75和内容码n76。这二个码不向其它计算机发送,仅由组合前模块Q72接收。
因此,其它计算机只承认接收内容码S73、产生内容码t74的组合后模块PQ71。亦即,不承认组合前模块P71和Q72。
图14为解释在本发明第二种具体实现中程序组合操作的说明图,而图15为图9的模块组合程序的处理流程图。
图14A示出了模块组合前,后的模块蕴含关系。
在这种情况下,组合前模块A82接收内容码P84的数据,产生内容码q85;然而,组合前模块B83接收内容码P84的数据,产生内容码r86。
通过组合这二个软件模块,组合后模块AB81接收内容码P84,产生内容码q85和内容码r86。
此外,图14B示出了在一个软件模块组合前、后的一个程序例子,图14A的组合前模块A82和B83组合起来产生一个程序。
当图14A的二个软件模块组合起来形成一个程序时,构成组合前模块A的程序98的输入模块A92、模块A的处理模块93以及输出模块A94由模块组合程序加以处理,以便与构成组合前模块B的程序99的输入模块95、模块B的处理模块96以及输出模块B97进行组合。
这也就是说,如图15所示,分别进行输入模块的指令部分组合(步骤1501)、处理模块组合(步骤1502)以及输出模块组合,从而产生一个构成简单的组合后模块AB的程序。
按照本发明,可以为其处理而独立设计输入/输出数据项是确定的各软件模块,从而使得整个系统的结构在进行程序设计的过程中能够更新。因此能平行生产这些软件模块,提高了软件生产率。
虽然已经对本发明的具体实现作了介绍,精于该技术的人们显然可见,可以在颇大的范围内进行各种变更和修改而並不偏离本发明。
权利要求
1.一种用一组软件模块通过消息数据交换互相组合构成一个分布软件系统的程序设计支持方法,该方法包括检验该组软件模块间各消息数据内容的完整性的步骤;及根据检验结果将这些软件模块组合或分离的步骤。
2.一种用一组软件模块通过消息数据交换互相组合,构成一个分布软件系统的程序设计支持方法,该方法包括检验该组软件模块间各消息数据内容的完整性的步骤;检验一个产生消息数据的软件模块与一个使用消息数据的软件模块间的关系的步骤;根据检验结果将这些软件模块组合或分离的步骤。
3.一种按权利要求1或2的方法,该方法还包括显示完整性检验结果的步骤。
4.一种按权利要求2的方法,其中所述关系检验步骤包括检验表示一个软件模块的一个输出消息数据内容的一个输出内容码与表示另一个软件模块的一个输入消息数据内容的一个输入内容码之间的一个关系的步骤。
5.一种按权利要求1或2的方法,该方法还包括将组合前、后的这些软件模块的历史数据存贮在一个表内的步骤。
6.一种按权利要求5的方法,其中存贮在该表内的所述历史数据在要将这些软件模块进行分离时用到。
7.一种按权利要求1或2的方法,这种方法还包括当这些软件模块在一组处理器中的一个处理器内加以组合时,从一个组合前软件模块的输出数据中选出只送到所述这个处理器的输出数据,将所选输出数据内容寄存到一个表内的操作性步骤;以及执行以一个组合后的软件模块构成的一个程序,根据所寄存输出数据完成只是自接收处理的步骤。
8.一种按权利要求1或2的方法,其中,当组合这些软件模块产生一个程序时,将一个组合前软件模块的一个输入处理模块、一个操作处理模块和一个输出处理模块互相加以组合,产生一个程序码的一个输入处理模块、一个操作处理模块和一个输出处理模块。
9.一种用一组软件模块通过消息数据交换互相连接构成一个分布软件系统的程序设计支持系统,该系统包括检验该组软件模块间的消息数据内容的完整性的装置;以及根据检验结果组合或分离这些软件的装置。
10.一种用一组软件模块通过消息数据交换互相连接构成一个分布软件系统的程序设计支持系统,该系统包括检验该组软件模块间消息数据内容的完整性的装置;检验产生该消息数据的一个软件模块与使用该消息的一个软件模块间的关系的装置;根据检验结果组合或分离这些软件模块的装置。
11.一种按权利要求9或10的系统,该系统还包括在显示屏幕上显示完整性检验结果的装置。
12.一种按权利要求10的系统,其中所述关系检验装置包括检验表示一个软件模块的一个输出消息数据内容的一个输出内容码与表示另一个软件模块的一个输入消息数据内容的输入内容码之间的一个关系的装置。
13.一种按权利要求9或10的系统,该系统还包括将组合前、后的这些软件模块的历史数据存贮在一个表内的装置。
14.一种按权利要求13的系统,其中所述存贮在表内的历史数据在要将这些软件模块分离时用到。
15.一种按权利要求9或10的系统,该系统还包括;当这些软件模块在一组处理器中的一个处理器内加以组合时,从一个组合前软件模块的输出数据中选出只送到所述这个处理器的输出数据、将所选出的输出数据的内容寄存到一个表内的操作性装置;以及执行组合后软件模块构成的一个程序、根据所寄存的输出数据完成只是一个自接收处理的装置。
16.一种按权利要求9或10的系统,其中,当组合这些软件模块产生一个程序时,将一个组合前软件模块的一个输入处理模块、一个操作处理模块和一个输出处理模块互相加以组合,产生一个程序码的一个输入处理模块、一个操作处理模块和一个输出处理模块。
全文摘要
在用一组软件模块通过消息数据交换互相组合构成一个分布软件系统的程序设计支持方法中,每当建立输入/输出项是确定的一个软件模块时,就要对该软件模块与以前产生的一些软件模块之间的消息数据内容进行完整性检验。此处,该系统检验一个产生消息数据的软件模块与一个使用消息数据的软件模块之间的关系,以便对软件模块进行组合或分离。
文档编号G06F9/45GK1051799SQ8910849
公开日1991年5月29日 申请日期1989年11月11日 优先权日1988年11月11日
发明者铃木靖雄, 森欣司, 河野克己, 织茂昌之 申请人:株式会社日立制作所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1