论文部分内容阅读
如何高效、低成本地开发高质量软件一直是计算机软件领域重点研究的问题。软件复用被认为是解决该问题的既实用又有效的方法。构件技术作为支持软件复用的核心技术也因此备受关注。在基于构件的软件开发中,如何提高构件的可复用性是决定软件复用能否真正发挥作用的关键。
本文提出了根据用户需求获取构件中特定行为的方法,以此来提高构件的可复用性,并对这一方法进行了研究。构件行为获取方法的基本思想是:利用环境与构件的交互—主要是环境为构件提供的输入来影响构件的行为,从而完成根据需要对构件行为的获取。本文用接口自动机为构件建立行为模型,在此基础上先后研究:
1.如何从行为不兼容的构件组合中抽取最大可用行为。本文通过构造最大合法环境的方法来解决该问题。行为不兼容的构件组合可以在最大合法环境中被正常使用,即它们与最大合法环境的组合是行为兼容的。同时,原组合中的可用行为被最大程度地保留在它们与最大合法环境的组合中。
2.如何从构件中抽取场景规约中描述的用户想要的行为,即基于场景的构件行为抽取问题。本文通过构造极大包含环境的方法来解决该问题。由场景规约所描述的原构件中的行为可全部保留在构件与极大包含环境的组合中。而不在场景规约描述范围内的原构件中的其它行为则最大程度地不被保留在构件与极大包含环境的组合中。
3.如何从构件中剔除场景规约中描述的用户不想要的行为,同时还要对构件中用户想要的行为予以保留,即基于场景的构件行为过滤问题。本文通过构造条件排斥环境的方法来解决该问题。由场景规约描述的原构件中的用户不想要行为均不保留在构件与条件排斥环境的组合中。同时,由场景规约描述的原构件中的用户想要行为则均被保留在构件与条件排斥环境的组合中。文中对最大合法环境、极大包含环境和条件排斥环境的存在性给予了证明:给出了构造上述三种环境的算法;分析了算法的正确性和复杂度。对于文中给出的构件行为获取方法均进行了相应的实例研究。
本文还将上述研究结果应用于Web Services。文中给出了Web Services的业务流程可执行语言BPEL到接口自动机的转换方法。基于这种转换方法,实现了基于接口自动机的构件行为获取方法在Web Services中的应用,并得到了一种可对服务行为进行分析和获取的途径。此外,本文还给出了构件行为获取支撑工具,即构件行为获取系统的原型设计。该工具可以对本文给出的基于接口自动机的构件行为获取方法提供支持。