论文部分内容阅读
随着经济全球化及跨国公司的不断发展,近年来软件外包及全球配送业务得到了突飞猛进的发展。一个软件产品或项目的需求、设计、开发及测试等环节可能外包给不同的组织完成,传统的软件过程因此在各个地理位置上分布的软件组织中进行,在这种情况下,外包商如何通过软件过程对软件质量进行控制,外包供应商如何调整自己的软件过程来适应不同的外包项目,各外包供应商之间如何合作以最终按时交付软件产品或系统,从而使得跨组织软件过程在学术界及工业界引起了广泛关注。
软件过程建模能够帮助我们定义、评估、改进软件过程。与传统软件过程相比,跨组织软件过程具有分布性、异步性等特点,同时它又具有同步的需求,比如一些需要各外包供应商共同参加的评审及验收等。他们之间通过交互协议彼此合作。另外由于各外包供应商他们各自内部的组织结构、软件过程各不相同,具有很强的自主性,这就导致外包商在发包时需要给各承包商提供一定的灵活性。而传统的软件过程建模都是基于一个全局的、集中的过程视图,通过低层次的命令式语言严格定义了流程里的每个步骤,在跨组织软件过程环境下,这种建模方法忽略了各参与方的自主性及异构性,且没有对各参与方的交互提供建模,因此在跨组织合作环境下,如何对跨组织软件过程进行建模以及如何保证各参与方的过程满足交互协议成为了首要的问题。
针对跨组织软件过程的特点,本文提出了一种基于对象Petri网的跨组织软件过程建模的方法。该方法首先通过消息序列图对跨组织软件过程各参与方之间的交互进行严格定义,然后根据交互协议自动为各参与方生成过程框架,同时建立了过程框架与交互协议之间的同步关系。过程框架定义了为实现交互协议各参与方必须履行的义务,在该过程框架的基础上,各参与方可以根据各自的业务逻辑、组织结构等进行定制,最终生成完整的私有过程。过程框架与交互协议之间的同步关系则保证了各私有过程在执行过程中能够正确的互相交互。该方法解决了传统软件过程建模的缺点,它以各参与方的交互协议而不是一个逻辑上的全局过程为基础。同时它为各参与方提供了定制和修改私有过程的灵活性,充分考虑了各参与方的自主性。对象Petri网是Petri网的一个扩展,它在保持了Petri网的直观性、严密的数学基础等特点的同时加入了Petri网之间的层次描述及同步机制。对象Petri网的层次关系可以恰当的描述交互协议与各参与方的私有过程之间的关系,而对象Petri网中的同步关系则可用于描述交互协议与各私有过程之间的同步。然而由于外包供应商之间的交互一般比较复杂,直接利用Petri网来描述非常困难,而消息序列图则可以非常直观的用于描述这种交互,然后通过提供自动化的从消息序列图到Petri网的转换,生成基于对象Petri网的软件过程模型。
本文的主要工作具体包括:
1.对消息序列图进行了扩展,加入了对同步的支持,同时扩展了从消息序列图到Petri网的转换算法。
2.提供了从消息序列图到对象Petri网的转换算法,其中包括了系统网的生成、子网的生成以及它们之间同步关系的建立。
3.对于针对每个外包供应商生成的过程框架,各外包供应商可以根据自己内部的组织结构等实际情况进行定制,但必须遵守一定的规则,否则将破坏各供应商之间达成的交互协议。通过行为继承中的投影继承来对这些规则进行定义,从而保证过程协议的一致性。
4.基于Eclipse平台,我们开发了一个工具平台,CroSP,用于跨组织软件过程的定义、验证及仿真。在该工具中,我们为每个业务伙伴提供了独立视图,并通过系统网来单独描述其交互协议。CroSP还提供了运行时的同步通信。我们还内建了一致性扩展规则,来确保私有过程及交互协议之间的一致性。