标题：RGPS
RGPS需求元模型框架的提出
互联网的快速发展推动了网络和软件与服务的有机融合，网络化软件开发已经日趋流行，其主要特征是将服务功能以Web服务的形式提供，从而能促进软件服务，并通过按需服务选择（组合）来提升服务的体验质量QoE(Quality of Experience)等。这一发展催生了面向按需服务的架构（On Demand Service-Oriented Architecture，ODSOA）和软件即服务（Software as a Service, SaaS）技术的创新，面向按需服务的网络化软件正逐步成为互联网上软件开发的主流。
与此同时，迅猛发展的互联网给软件带来了革命性的转变－软件网络化，这种趋势使网络成为全局性的资源，并以网络为媒介向大众用户提供各种信息资源服务。软件的计算模式、应用模式、产品形态以及盈利模式都会发生很大的变化。网络化软件带来的横向沟通将加剧竞争，也会促进整合，规模化生产、经营将成为软件企业开拓市场的关键。同时，在网络世界里，用户需求呈现更加个性化、多样化、异构的趋势，能够快速的按需生产用户满意的软件是软件企业获得成功的关键。因此，快捷、高效地利用软件服务资源，构造具有竞争力的服务和应用，向以用户为中心的服务模式转变，是未来软件产业和信息服务产业的发展方向。
在网络化和服务化背景下，软件生产的主要目标是实现满足个性化与多样化的涉众需求的服务规模化定制。即，将面向领域群体用户的共性需求和个性化需求在元级上整合、形成服务需求的元描述，基于元描述、以规模化服务定制的成本和速度满足用户个性化和多样化的大众需求。为了实现服务软件的规模化定制，一方面需要通过服务及其间的互操作性协作来推动实现软件的柔性生产。目前网络环境下的资源聚合已成事实，围绕服务的互操作这一核心，已经积累了大量的软件服务资源；另一方面，为了实现按需服务的软件规模化定制，需要通过需求牵引实现大众用户与生产企业之间的良好沟通。这种需求牵引主要来自网络环境下涉众的个性化、多样化的体验。网络用户数量的庞大以及用户在地理、时间、文化背景上的不同，使用户的角色、需求目标、业务过程以及对于服务资源的需求等存在极大的差异，这给软件的规模化定制生产时的需求获取带来了新的挑战和困难。为此，有必要采用统一的需求描述和建模框架，高效和精确的将个性化和多样化的用户需求整合为领域群体用户需求规格，指导面向按需服务的软件规模化定制。
为了给网络化软件的需求发现、分类、整理、诱导获取与分析建模提供一个统一框架，必须针对复杂多变的网络环境中用户的分布性、数量众多、差异性特征；个性化多样化服务需求的不确定性、通过网络的动态交互性；服务软件的组成单元之间的通过网络的松耦合式行为获取与互操作性协作应用的形态。
更具体的讲，在动态多变的网络环境中，网络化软件的用户需求特点可以概括为以下几点：用户需求是从他们所扮演角色的特定角度提出的，由于分布在网络中用户数量十分庞大，每个用户可以扮演多个角色，而且角色之间存在转换的可能，就容易造成角色的混乱；由于用户所处环境的千差万别和个人偏好的不同，导致用户的目标具有个性化、多样化和易变性的特点；而目标的上述特点，就导致完成目标的业务过程往往非常复杂。另外，考虑到网络化软件典型的应用形态是基于Web服务组合的系统，即Web服务作为典型的组成单元和发布形态。在互联网上可用服务资源逐步丰富的情况下，可以通过动态的服务组合来满足用户的需求，并根据用户的个性化偏好从众多的候选服务中进行选择。考虑到上述特点，我们认为可以利用角色、目标、过程和服务这四个基本要素来对网络化软件用户的真实意图进行描述和建模。
另一方面，从当前主流的需求建模方法来看， 2007年，我们在分析了近3年的国际需求工程会议的论文中所提出的需求方法与技术，集成了传统的需求工程主要集中在面向目标和面向过程两类主流的建模方法。进一步，我们针对网络化软件的社会性特点，面向涉众用户增加了角色，使得目标的识别与划分更清晰和条理化；面向可用资源增加了服务描述，构建了服务需求与服务资源之间的桥梁。在此基础上，通过研究，我们认为从角色R（Role）、目标G（Goal）、流程P（Process）和服务S（Service）四个视角出发构造网络化软件的需求模型是合适的。研究了需求元描述的R,G,P,S四个要素及其协调关系，其中，R&G侧重描述了以用户为中心的需求的社会性和普适性、P&S侧重体现了以服务为目标的需求实现。遵从MOF、扩展了UML2.0的概要元模型规范，研究提出了统一的RGPS需求元模型框架。
在云服务应用方面，面向云应用服务(Application Service)中的大众服务PS（“People”
Services）、业务服务BS（Business Services）、软件即服务SaaS（Software as a Services）, RGPS元模型框架提供了面向按需服务的软件工程的基础理论与方法。
（1）针对云服务需求的个性化多样化特征，RGPS需求元模型框架提供了用户群体需求的预处理、个性化多样化需求的诱导获取与分析以及建模的语义模版。系统化支撑PS-BS-SaaS的服务需求过程；
（2） RGPS元模型及其之间的相互关联关系提供了PS-BS-SaaS堆栈式服务的关联基础，为促进创建新的应用(解决方案)提供了科学的支撑。
（3）为了实现按需服务、需要提供给用户的不是一个或两个服务、而是提供所需的适当粒度的服务聚合来支撑按需选择，RGPS元模型框架支撑了面向领域核心服务通过R,G,P,S组织的服务聚合建模，也为服务的规模化定制生产提供了有序化组织手段；
（4）为虚拟化服务聚合的互操作性注册提供了互操作性元模型框架MFI(RGPS)：即ISO/IEC JTC1 19763-3,5,7,8标准的技术基础，也为ISO/IEC JTC1 19763-9(TR) 提供了按需服务（模型）选择的方法基础；
（5）RGPS元模型框架为服务的验证与测试， RGPS关联关系提供了引导技术。
RGPS需求元模型框架概述
RGPS（Role-Goal-Process-Service）需求元模型框架是服务于网络环境中涉众（面向同一问题的大众用户和开发人员的利益相关方）的一种需求元描述方法，涵盖了网络化软件需求描述中所需的角色、目标、流程和服务四个基本要素，由角色元模型、目标元模型、流程元模型和服务元模型及其之间的相互关联关系组成，如图1所示。其中：       角色元模型定义了需求问题空间中存在的需求方（用户）、及其所具有的社会属性、承担的职责（角色）、所属的组织、遵循的规则和交互关系。其中，需求方可以是人，也可以是服务；
目标元模型定义了需求目标的分类以及目标之间的分解和约束关系，用于指导将目标逐步精化为可操作目标；
流程元模型定义了需求流程的组成结构，包括流程的输入、输出、前置条件、后置条件、组合流程中子流程之间的控制结构等；
服务元模型定义了服务的描述信息及其之间的交互关系，用于指导服务链的（组合）构造及其所需服务资源的管理。
  RGPS元模型框架
RGPS需求元模型框架中四要素之间的关系
RGPS需求元模型框架中四要素之间的关系如图2所示，其基本的关联关系有以下9种：
从“角色”出发的关联（3种）
1) 角色-目标：承担(takes charge)。在需求问题空间中，角色需要承担与其职责相关的目标，即共性的角色目标。
2) 角色-目标：偏好(prefers)。在需求问题空间中，用户可以扮演参与者角色，用户的动态特征和社会化属性使同一种角色间接具有不同的个性化目标。
3) 角色-流程：参与(involves)。流程的编制和执行过程需要不同的角色参与和辅助完成。
从“流程”出发的关联（3种）
1) 流程-目标：完成(achieves)。流程能够将一组活动和资源有序地组织起来完成某个既定的功能性目标。
2) 流程-目标：促进(contributes)。在实现功能性目标的同时，流程还可以促进非功能性目标的实现，满足用户的非功能性需求。
3) 流程-服务：被实现(realizedBy) 。流程的执行可以通过调用服务来实现。
从“服务”出发的关联（3种）
1) 服务-目标：达成(accomplishes)。服务的调用需要达成既定的用户目标。
2) 服务-角色：满足(satisfies)。服务的调用满足需求问题空间中特定角色的需要。
3) 服务-角色：扮演(plays)。服务可以充当Agent角色的扮演者
  RGPS需求元模型框架中四要素之间的关系
面向应用服务的RGPS四要素之间的关系
针对以下RGPS需求元模型的5类应用服务(Application Service)，对RGPS需求元模型框架中四要素之间的9种基本关联关系进行选择和组合，以满足不同应用类型的用户需求。
        面向领域的服务聚合（for Software Developer）： S-R-G-P
分析需求提出者所承担的角色，根据R-G关联确定该角色应该承担的功能性目标和角色承担者的个性化目标，再根据G-P关联将目标细化为流程，最终通过P-S关联聚合相关的服务来实现对应的流程，并将组合服务返回给用户以满足其需求。一方面，基于领域问题本体(DPO)，建立对领域RGPS需求模型的语义标识，形成面向领域的本体- R-G-P-S服务聚合模型；另一方面，使得领域聚合的核心服务S具有R,G,P属性，支撑和使用RGPS需求模板所获取的服务需求之间的匹配、快速发现服务及服务组合。
        面向业务流程的服务需求（for Business Services）： P-S，P-P，P-G，P-R
对于面向流程的业务需求，可以根据P-S关联寻找可以调用哪些服务来实现该流程；可以通过P-P关联完成流程的分解，以便通过P-S关联找到能实现该流程的服务；可以通过P-G关联找到该流程实现的目标，便于分析某一个目标可以被哪些流程所实现；可以通过P-R关联找到哪些角色参与了流程的实现，便于分析用户群的业务流程需求。
        基于业务目标的服务需求（for Business Services）： G-R，G-G，G-P，G-S
对于基于目标的涉众需求，可以通过G-R关联找到哪些角色承担了该目标，进而通过R-G关联对基于目标的需求进行完善；可以通过G-G关联完成目标的分解和精化，确定目标之间的约束和依赖关系，避免涉众需求之间的目标冲突；可以通过G-P关联找到完成该目标的流程，实现目标的细化；可以通过G-S关联直接找到能够达成该目标的服务。
        面向大众的服务需求(for People Services)： S-R，S-G，S-P，S-S
对于面向大众的服务需求，基于聚合服务的R,G,P,S属性，通过S-R关联找到该服务能为哪些角色服务，便于分析用户群对服务的需求；可以通过S-G关联确定该服务可以达成哪些目标，便于进一步通过G-S关联对实现同一目标的服务进行聚类；可以通过S-P关联找到该服务对应的流程，便于业务级用户了解服务内部的工作流程；可以通过S-S关联建立不同粒度的服务之间的组合关联，满足不同的大众需求。
        服务需求模型的校验与验证(V&V)： S-P-G-R, S-P, S-G, S-R
对于业务开发人员的服务需求模型的V&V需求，采用RGPS需求元模型由下而上的关联关系，即S-P-G-R进行逐步校验与验证，或者对所需的S-P, S-G, S-R模型之间进行校验与验证。
应用服务的简单例子
例1  服务请求者与服务提供方之间，基于RGPS能够支撑按需互操作服务。  使用RGPS需求模板，获得、分析用户的服务需求；基于RGPS元模型，为服务提供方聚合定制的领域服务，使服务拥有R，G，P属性。通过服务请求者与服务提供方之间的R,G,P,S匹配，实现按需互操作服务。
例2  服务请求者与服务提供方之间，基于互联网松散耦合、使用RGPS元模型框架，支撑松耦合的互操作服务。
  例3  一个较为复杂的互操作服务应用。服务请求者与服务提供方之间，基于RGPS元模型框架、实现个性化流程按需定制的互操作服务应用。
  
Q&A：RGPS到底是什么?
（1）RGPS需求元模型：指导描述服务需求的四个要素及其各要素内构造单元之间协调的关联关系。
（2）RGPS需求元模型框架：指导描述服务需求的四个元模型及其之间协调的语义协调关系。用于涉众用户的网络化服务需求的发现与分类、获取分析与建模，以及为按需服务选择提供引导。
（3）RGPS需求模型：基于RGPS需求元模型框架、面向领域、用户需求主导的服务需求模型规格。
（4）O-RGPS领域模型：面向领域（问题本体），基于RGPS需求元模型框架组织的服务聚合建模的模型。
（5）RGPS方法学：贯穿网络化软件的服务需求工程、领域工程、体系结构、服务系统生成、互操作性管理、按需服务选择的整体化RGPS软件方法论。