CN101256491B - 基于工作流的可信软件过程的定义方法 - Google Patents

基于工作流的可信软件过程的定义方法 Download PDF

Info

Publication number
CN101256491B
CN101256491B CN2008101029726A CN200810102972A CN101256491B CN 101256491 B CN101256491 B CN 101256491B CN 2008101029726 A CN2008101029726 A CN 2008101029726A CN 200810102972 A CN200810102972 A CN 200810102972A CN 101256491 B CN101256491 B CN 101256491B
Authority
CN
China
Prior art keywords
workflow
definition
software
software process
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2008101029726A
Other languages
English (en)
Other versions
CN101256491A (zh
Inventor
兰雨晴
高静
李红娟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
兰雨晴
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 兰雨晴 filed Critical 兰雨晴
Priority to CN2008101029726A priority Critical patent/CN101256491B/zh
Publication of CN101256491A publication Critical patent/CN101256491A/zh
Application granted granted Critical
Publication of CN101256491B publication Critical patent/CN101256491B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于工作流的可信软件过程的定义方法,从软件过程角度在软件开发过程中对软件的可信性进行保证。本发明采用UML建模语言给出可信软件过程定义的元模型,并且对工作流管理联盟的过程模型做形式化的整理,给出可信软件过程工作流模型的形式化定义。该定义方法描述了一种可信的软件过程模型,描述了可信软件过程和过程活动的算法,给出过程参与者、过程活动的基本状态和状态变迁,论述了基于工作流技术实现可信软件过程的定义方法。本发明是保障可信软件过程顺利实施的根基,在定义方法的基础之上可进一步对可信软件过程实例进行监控和追踪。

Description

基于工作流的可信软件过程的定义方法
技术领域
本发明涉及工作流技术、软件过程技术和软件可信性技术,尤指一种基于工作流的可信软件过程定义方法。
背景技术
软件的可信性是一个比较新的概念,并没有一个公认的、准确的回答。可信性是软件的重要特性,它包括信息安全性(security)、完整性(integrity)、有效性(availability),正确性(correctness)、可靠性(reliability)、隐私性(privacy)、安全性(safety)以及持久性(survivability)等属性。可信性是一个包括多个属性特征的多维质量特性,各个属性之间相互联系且相互影响。要构造一个可信的软件系统是一项非常复杂的系统工程,它涉及大量的QoS(Quality of Service服务质量)决策内容,包括安全性、可靠性、可用性、性能以及资源使用等。它不是单一的设计、开发、测试和验证的问题,而是在各个阶段都要对系统的可信属性进行全局考虑和评估,任何一个环节出了问题,整个系统的可信性都将不复存在。因此,一方面必须从全局的角度将整个软件开发过程规范起来,对系统构造的全过程进行追踪与监控来保障软件的可信性;另一方面,必须依靠已有的软件开发经验对系统的各项可信属性进行评估和权衡,从而做出合理的决策。
实践证明,软件产品的质量在很大程度上取决于过程的质量,因此,加强对软件产品质量的形成过程的有效管理是保障软件系统可信性的重要手段。软件过程是软件生存周期中为达到某个目标而必须实施的所有软件工程活动集合,一个软件过程可以分成若干个活动。本发明所述的软件过程指的是诸如软件计划过程、软件需求过程、软件开发过程、软件测试过程、软件配置管理过程等类似的软件具体过程的抽象。软件过程 管理主要关注的是软件过程技术层面的管理,其中,软件过程技术层面的内容主要包括:一个软件组织定义可用并支持持续改进的软件过程的能力,所定义的软件过程按照预期执行的能力以及在执行的过程中得到不断改进从而达到软件组织目标的能力。
工作流技术是目前比较流行的过程实现技术。它包含了两部分内容:工作流元模型和工作流管理系统。实现工作流管理系统的基础是建立合理的工作流模型,而工作流元模型又是建立工作流模型的基础。因此,合理的工作流元模型是实现工作流管理系统的关键。
近年来面向CMM/CMMI(Capability Maturity Model/CapabilityMaturity Model Integration)的软件开发过程管理、监控、度量和改进方法和支持工具的研究成为热点。国际上具有代表性的主要研究成果包括:定义了一些软件开发过程框架,比如RUP;制定了一些软件质量通用标准,如ISO/IEC 14598和ISO/IEC 9126,以及开发了一批相应的支持工具,比如IBM Rational质量管理相关工具,包括Rational PortfolioManager、Team Unified Platform等;配置管理相关工具,如CVS(Concurrent Version System)、Retional ClearCase和ClearQuest、Microsoft的VisualStudio SourceSafe等;测试管理工具,如Mercury Interactive公司的Testdirector、IBM公司的Rational Suite Teststudio等。
然而,目前没有哪种产品能够支持可信软件开发全过程的管理和质量保证活动。
发明内容
为了解决上述问题,本发明结合工作流技术,目的是为了保证软件系统的开发过程的可信性,利用工作流对软件系统开发的可信过程进行定义,给出可信软件过程元模型和工作流模型的定义和工作流引擎运行时的算法,为进一步对可信软件过程的追踪和监控奠定基础。
为了实现上述目的,基于工作流的可信软件过程定义和追踪方法包括4个步骤:
1)从工作流角度确定可信软件过程定义需要的关键模型元素,给出可信软件过程定义元模型;
2)对工作流管理联盟组织给出的基于有向图的过程模型做形式化的整理,给出过程工作流模型的形式化定义;
3)对可信软件过程实例化,根据工作流的一次执行过程,利用定义活动实例的状态以及优先级,给出过程工作流活动实例的形式化定义;
4)给出工作流引擎运行时,用户创建过程实例及活动实例的算法、和活动实例的执行算法。
其中,在所述步骤1)的可信软件过程定义元模型是采用UML建模语言制定。软件过程定义是指确定过程中的活动及其关系,其中包括指明过程的开始和结束的条件,活动本身的信息等。
其中,所述的步骤2)的形式化定义是对WFMC组织给出的基于有向图的过程模型做形式化的整理。
其中,所述的步骤3)中对可信软件过程实例化是因为只有建立一个可信软件过程模型的实例,然后给出该实例运行之前所需要的全部资源,才能保证该软件过程的执行。也就是说过程工作流管理系统中运行的是模型的实例,而不是模型本身。
其中,在所述步骤4)中的算法包括用户根据过程创建过程实例和活动实例的算法和活动实例的执行算法。
本发明的技术效果是,利用工作流系统对可信软件开发过程进行定义,开发过程包括需要执行的软件活动,执行过程中涉及到的相关软件文档及相关软件产品,参与活动执行的软件工作组人员等,为开发可信的软件系统提供了一种软件过程方面的支持,也为进一步监控和跟踪可信软件过程提供了基础,保证最终的软件系统的可信性
附图说明
图1为软件过程定义元模型;
图2为过程实例和活动实例的创建;
图3为活动实例的执行。
具体实施方式
为使本发明的特征及优点得到更清楚的了解,以下结合附图,作详细说明。
本发明包括以下5个步骤:
1)确定可信软件过程定义需要的关键模型元素,给出可信软件过程定义元模型;
2)对工作流管理联盟的过程模型做形式化的整理,给出过程工作流模型的形式化定义;
3)对可信软件过程实例化,给出过程工作流活动实例的形式化定义;
4)给出工作流引擎运行时的原理性算法。
其中,步骤1如图1所示,从工作流角度来理解,软件过程就是软件生存周期中为达到某个目标而必须实施的所有软件过程活动集合。一个软件过程可以分成若干个软件活动。根据软件过程的实际特点,在软件过程的定义中需要确定如下的关键模型元素,即需要执行的软件活动(activity),执行过程中涉及到的相关软件文档(document)及相关软件产品(product),参与活动执行的软件工作组人员(actor),软件活动的转移信息(transition)等。过程工作流管理系统参考国际工作流管理规范,以工作流引擎为核心,实现了过程逻辑与业务逻辑的分离,能够可视化的进行业务过程的分析、定义和业务单元的组装,从而使应用开发人员更关注于业务逻辑的实现,降低了复杂过程应用的开发难度。
其中,步骤2的形式化定义如下:
定义1结点N是过程中的一个活动,即一个工作步骤N=<n, t,d,u,m,preA,postA,preC,postC,T>,是一个十元组。其中,n表示结点名称;t表示活动类型,d是用到的数据集合即结点的参数集合,包括活动执行时所需的前置条件、后置条件,所用到的数据都保存在相应的数据库中,数据库包括组织模型库和系统运行库。活动之间通过消息方式传递信息。u表示活动的执行者,可以是人员、计算机或其他机器;m表示手动执行或自动执行的执行模式;preA表示与当前结点相连接的前驱边集合,以及每条边的控制过程;可能的控制过程有:串行、与分支、或分支;postA表示与当前结点相连接的后继边集合,以及每条边的控制过程,可能的控制过程有:串行、与聚合、或聚合、循环迭代。在此,前驱边与后继边组合起来,控制过程有五种情况:串行、与分支--与聚合、与分支--或聚合、或分支--或聚合、循环迭代;preC表示当前结点的前置条件;postC表示当前结点的后置条件;T表示结点执行所需的时间,即活动的持续时间。
规定1结点类型分为原子结点a、路径节点r、块节点b、子过程结点p;
定义2原子结点a是一个不能再分的结点。
定义3路径结点r是无实际意义的起到路由、转移作用的结点。
定义4块结点包括多个原子节点。
定义5子过程结点p是可以细化成另一个过程的结点,即subFlow。
定义6有向边C描述活动之间的数据流动关系和控制关系。C=<N1,N2>,表示从N1到N2的一条有向边。N1到N2分别为边C的前驱结点和后继结点。
定义7有向图G表示一个过程,G=<n,N,c>为一个三元组,n是过程的名字;N是所有活动的集合,在此处称为结点,c是全部有 向边的集合,它描述各活动之间的控制关系。
其中,步骤3的过程工作流活动实例的形式化定义如下:
定义8活动实例Ni是过程实例中的一个工作步骤,Ni=<n,st,et,s>。其中,n表示与此活动实例相对应的活动的名称。st表示Ni的开始时间。et表示Ni的结束时间。s表示Ni的状态,它可能的状态有初始、运行、激活、挂起、终止和完成。在创建了活动实例之后,结点N的属性自动地赋给了Ni。
定义9过程实例Pi是工作流的一次执行过程,Pi=<n,np,st,et,s,Pri>。其中,n表示过程实例的名字;np是相对应的工作流模型的名字;st是过程实例的开始时间,et是过程实例的结束时间;s是过程实例的状态,它可能的状态有初始、执行、就绪、等待、挂起和完成;Pri是过程实例的优先级,工作流引擎利用它进行过程间的调度。根据以上定义,并根据活动实例和过程实例的定义,我们给出工作流实例的执行算法,此算法由两部分组成:一是过程实例和活动实例的创建,二是活动实例的执行。
其中,步骤4中的算法包括二种算法,一是用户根据过程创建过程实例和活动实例的算法,二是活动实例的执行算法。
算法1用户根据过程G创建过程实例Pi和活动实例Ni(如图2所示)
(1)从过程工作流管理系统中选择用户指定的过程G。
(2)根据用户选择的软件过程模型G以及指定的名字,建立一个软件过程实例Pi和Pi中的所有活动实例Ni,并进行初始化操作:Pi.n=实例名,Pi.nP=G·n,Pi.st=系统当前时间,Pi.s=初始状态,Ni.n=N.n,Ni.s=初始状态。
(3)找到Pi中与开始结点相对应的活动实例Ni,并进行初始化操 作:Ni.s=等待状态,获得与Ni相对应的活动N的参数集合d。
(4)Pi.s=执行状态;Ni.s=就绪状态。
(5)提交并执行Ni。
算法2活动实例Ni的执行(如图3所示)
(1)判断结点类型,若为原子结点a,则至第2步;若为子过程p,则记录过程实例的状态,进入子过程的开始结点,至第2步。
(2)判断前置条件preC是否满足,包括d(N的参数集合)全部获得,以及若存在preA,则preA的状态都处于完成态(根据控制规则,若与合并时要求所有的前驱边都处于完成态,若或合并时,则要求某一个前驱边为完成态即可),若preC为True,则执行下一步,否则等待至条件满足。
(3)判断m,若为手动执行,则通知活动的参与者执行相应的动作;若为自动,则自动执行要求的操作,并使st=系统当前时间,s=执行状态。
(4)判断是否执行结束,对于手动执行,等待用户通知活动结束;对于自动执行,若执行时间>t,则认为结束,如果在执行期间发生异常终止命令,则整个过程执行结束,且过程状态为终止状态。若执行结束,则判断后置条件postC满足与否,即是否根据d修改了数据库信息。若postC不满足,则等待;若postC满足,则根据控制规则激活后继边集postA,并且由后继边集pos tA分别通知相应的后继结点。然后使et=系统当前时间,s=完成状态,活动执行结束,转至第1步。
以上所述的实例对本发明的可信软件过程定义方法作了详细的说明,但是本发明的具体实现形式并不局限于此,对于本技术领域的一般技术人员来说,在不背离本发明所述方法的精神和权利要求范围的情况下对它进行的各种显而易见的改变都在本发明的保护范围之内。

Claims (3)

1.一种基于工作流的可信软件过程定义方法,其特征在于:其包括以下步骤:
1)从工作流角度确定可信软件过程定义需要的关键模型元素,给出可信软件过程定义元模型;
2)对工作流管理联盟组织给出的基于有向图的过程模型做形式化的整理,给出过程工作流模型的形式化定义;
3)对可信软件过程实例化,根据工作流的一次执行过程,利用定义活动实例的状态以及优先级,给出过程工作流活动实例的形式化定义;
4)给出工作流引擎运行时,用户创建过程实例及活动实例的算法、和活动实例的执行算法。
2.如权利要求1所述的方法,其特征在于:在所述步骤1)的可信软件过程定义元模型采用UML建模语言制定。
3.如权利要求1所述的方法,其特征在于:所述的步骤1)中,软件过程定义是指确定过程中的活动及其关系,包涵指明过程的开始和结束的条件,活动本身的信息。
CN2008101029726A 2008-03-28 2008-03-28 基于工作流的可信软件过程的定义方法 Active CN101256491B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101029726A CN101256491B (zh) 2008-03-28 2008-03-28 基于工作流的可信软件过程的定义方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101029726A CN101256491B (zh) 2008-03-28 2008-03-28 基于工作流的可信软件过程的定义方法

Publications (2)

Publication Number Publication Date
CN101256491A CN101256491A (zh) 2008-09-03
CN101256491B true CN101256491B (zh) 2011-09-14

Family

ID=39891338

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101029726A Active CN101256491B (zh) 2008-03-28 2008-03-28 基于工作流的可信软件过程的定义方法

Country Status (1)

Country Link
CN (1) CN101256491B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101464832B (zh) * 2009-01-16 2011-01-05 哈尔滨工程大学 基于pi演算和拟合度分析的自律软件可信性度量方法
CN101741666B (zh) * 2010-02-26 2012-02-01 西安交通大学 一种通过网络结构划分来实现工作流多实例的方法
CN103761106A (zh) * 2014-02-07 2014-04-30 张战 流程的控制方法及流程引擎
CN104267971A (zh) * 2014-10-20 2015-01-07 张璇 面向方面可信软件过程建模方法

Also Published As

Publication number Publication date
CN101256491A (zh) 2008-09-03

Similar Documents

Publication Publication Date Title
Klein et al. Attribute-based architecture styles
Tausworthe Standardized development of computer software
Jewett Lean software development
Lu et al. On managing business processes variants
US20080040364A1 (en) Extensible multi-dimensional framework
Ha et al. A timed colored Petri nets modeling for dynamic workflow in product development process
US20090070165A1 (en) System and method for workflow solution overview
Kraemer et al. Tool support for the rapid composition, analysis and implementation of reactive services
Russell Foundations of process-aware information systems
US20120215583A1 (en) System and method for managing real-time batch workflows
Kheldoun et al. Specification and verification of complex business processes-a high-level petri net-based approach
ter Beek et al. A survey on service composition approaches: From industrial standards to formal methods
CN101256491B (zh) 基于工作流的可信软件过程的定义方法
US20110264592A1 (en) Template-based technique for making a best practices framework actionable
CN110134585A (zh) 系统测试计划生成方法及终端设备
Hussein et al. Scenario-based validation of requirements for context-aware adaptive services
Sampathkumaran Computing the cost of business processes
Kraeling et al. Software Development Process
Corradini et al. BProVe: tool support for business process verification
Dellarocas et al. A knowledge-based approach for designing robust business processes
Capel et al. Choreography modeling compliance for timed business models
Enstone et al. BPMN and Simulation
Webster et al. Delivering software into NASA's Mission Control Center using agile development techniques
Rosenberg et al. Large-Scale Parallel Development
Ripon et al. Managing and analysing software product line requirements

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: BEIHANG UNIVERSITY

Free format text: FORMER OWNER: LAN YUQING

Effective date: 20130521

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100083 HAIDIAN, BEIJING TO: 100191 HAIDIAN, BEIJING

TR01 Transfer of patent right

Effective date of registration: 20130521

Address after: 100191 Haidian District, Xueyuan Road, No. 37,

Patentee after: Beihang University

Address before: 100083 Beijing city Haidian District Forestry University Road No. 11 Bai Ruyuan 5-5-902

Patentee before: Lan Yuqing