《1 引言》

1 引言

当今, 企业的产品开发过程逐步走向全球化, 随着网络和各种企业软件包技术的发展, 对于过程集成应用的需求成了企业结构优化所追求的目标。为此, 在包括产品设计、制造、信息交换的分布式产品开发环境下, 一种深层的过程集成管理越来越显得重要。同时, 需要集成来自不同开发商的多种设计应用工具, 并使这种过程集成管理具有柔性和适应性 [1]

以活动理论为基础, 提出了基于活动单元AU (activity unit) 的协同设计过程管理的方法。尽管对于活动理论在计算机支持的协同工作上作为一种建模方法或理论基础仍没有形成一定的共识。将活动理论引入到过程集成的研究中, 旨在利用活动理论的有关概念和基本原理实现知识层集成, 从而进一步完成过程的集成 [2,3]

协同设计过程管理的一个主要特点是实现设计的多用户化, 允许管理员和设计人员分别以各自的身份特征参与设计过程。依据产品开发过程的现状和特点, 讨论了过程建模、活动单元设计环境、过程监控、以及系统间的数据交换等一系列重要的问题。通过分析活动的组成及活动理论下过程模型间的关系, 提出了基于活动单元的协同设计过程集成管理的体系结构。

《2 活动理论与过程建模》

2 活动理论与过程建模

过程建模可看作一种基本的设计活动。活动理论为分析和理解一般意义上的协同设计工作提供了一种详细的描述工具, 并能独立的应用于各种研究领域。活动理论中最基本的单元是指人类的某种活动, 一个活动可以根据需要赋予其不同领域上的含义, 既可以指一个具体的活动, 也可以指一个广义上的社会系统 [4]

活动通过几个步骤或阶段的过程来实现目标, 根据项目的需求, 过程中涉及到的各种动作序列通常会在内部调解的情况下, 以最短的时间来完成活动, 达到预期的结果。动作自身的实现通过一系列的操作, 而操作往往是在设定好的情况下自动执行。在活动、动作、操作之间并不是简单的一对一的关系, 一个活动可以包含几个动作, 而一个动作也可以在几个活动中都执行。这种关系同样适用于动作与操作。

以过程为中心的协同设计过程管理, 其核心思想是利用各种工具以实现过程管理的互操作性 [5], 支持开发团队协同工作。在某种意义上, 协同设计过程管理就是实现多种开发工具的协同应用。

另外, 在“项目-目标-项目”的关系中, 协调, 互操作和同构是它的3种不同的交互层次。“项目-目标-项目”包含了活动中“项目-目标”和“目标-项目”两种关系, 前者主要指活动的构建过程, 后者则指从目标到项目的信息交流和反馈过程。协调层可以通过过程模型的形式表示出来, 主要指在工作中各种操作序列在执行中形成的个体间关系。互操作层所定义的各种关系, 主要表现为在分布式环境下, 各操作人员相互协调地开展各种开发活动, 而这种关系是一种在网络上的隐性或显性的关系, 在某种意义上, 即使他们工作在同一项目中, 但却并不需要知道对方的真实存在与否。同构性表现为实际工作中所形成的相互协作关系结构。它有协同的功能, 但其含义要比协调层所定义的更广泛一些。以上的3个层次, 分别代表了一个活动在某一项目下的多元关系。

基于活动理论, 过程可视为一系列活动单元的组合, 活动单元结构如图1所示。活动单元是设计活动的一种抽象, 从而可以对过程加以分析。活动单元通常由多个具有同一目标的活动组成, 它并不单纯的代表实际中的一个底层的设计活动, 而是过程分解的一个中间层, 在分解中活动是最小的单元。在设计过程中, 单元之间的约束关系表现为各单元之间的边界条件, 是一种对实际关系的虚拟抽象。活动单元的提出, 可以在不改变原有过程模型的基础上, 通过定义某种关系来集成具有特定功能的单元以实现过程模型的更新, 而过程中对象与对象之间的交互也是通过优先关系来完成的。过程集成关系如图2所示。

《图1》

图1活动单元结构

图1活动单元结构  

Fig.1 Activity element structure

《图2》

图2过程集成关系

图2过程集成关系  

Fig.2 The relationship of process integration

《3 基于活动单元的设计过程管理》

3 基于活动单元的设计过程管理

活动单元在设计过程管理中的应用, 一方面有利于过程模型的建立;同时还可以作为系统开发的的一种方法应用于实际。在某种程度上, 也可以将其看作是各种程序和约束规则的统一体, 代表着任务分配后的某一部分。基于活动理论提出的框架结构, 对活动单元在设计过程管理中的分析, 活动的3个分层形式同样适用。在这方面, 往往关注的是它与实际设计过程中相符的程度及能力。

在基于活动单元的过程管理系统中, 设计团队包括多个异地设计者和管理人员。每个设计人员可以参与多个项目, 每个管理者也同时可以管理多个项目。这种结构可以提高设计过程的效率、缩短产品设计过程生命周期。随着网络技术的发展, 分布式管理方法、客户/服务器结构体系、基于Web的用户界面开发, 异构计算机环境下的设计过程管理都成为可行。基于活动单元的设计过程管理的特点及关键功能如下:

1) 设计过程模型的定义和验证;

2) 设计任务和工具的实时应用;

3) 设计过程中灵活的登入功能, 如目标的建立、计划的安排、工具的使用及数据的查询;

4) 项目管理者对正在进行中的设计过程的信息交流;

5) 设计过程状态的在线报告;

6) 设计过程的历史操作情况显示。

《3.1协同设计的工作流特征》

3.1协同设计的工作流特征

在协同设计过程管理中, 任务的执行以及知识的组织都是通过工作流管理体系来完成的。工作流管理定义:在一种分布式工作环境下, 用来帮助各工作组之间流程的协调、标准化、执行和管理的体系 [6]。它用来指导管理人员和分析人员进行程序和活动的定义, 并将其分配给具体的人员加以执行。其功能包括控制结构、数据结构、目标、组织结构、协商结构等的模型建立。将协同设计过程中涉及到的各种活动作为一个个集成的对象, 并加以优化, 最终通过工作流体系对其加以控制和管理。其特征如下所示:

· 产品开发的组织和执行通过多领域专家团队进行;

· 产品开发过程基于产品开发的信息结构进行;

· 产品开发的各过程间相互独立、相互约束;

· 整个过程是一种灵活的动态过程。

产品信息在产品开发的全生命周期中起着重要作用。这种信息既包括设计和制造的数据信息, 也包括产品开发中的一些标准化知识。

《3.2数据交换》

3.2数据交换

为了实现异构平台间的数据共享, 使用XML, 并用文档类型定义 (DTD) 来描述过程单元。选择XML语言作为数据格式, 在各组件之间进行信息交换, 这主要有以下几方面原因:

1) XML允许用户自由定义数据的属性标记。可以把标记定义为与数据相关的描述性词语, 也可以把标记属性定义为和XML 数据内容相关的词语。从而, 过程建模、过程描述和活动定义能够以个人习惯进行, 并且开发人员可以创建自己的DTD。

2) 文档类型定义是一个独立的应用程序, 它使XML语言拥有正确的元素结构和属性列表以及它们之间的逻辑关系, 不同的XML文档就能够使用共同的DTD来定义数据结构, 保证不同企业开发出的过程定义是有效的。

3) XML语言可扩展性和互操作性强, 易于数据在各组件间的交换。一方面, 它作为一种元语言可以应用XML DTD定义一种新的基于标记的语言, 同时, XML自身也可以随着其他标准的增加 (如增加样式、联接、参考能力到其核心中) 而得到扩展。另一方面, XML可以应用在不同的平台上并且支持一系列特征编码的关键标准, 从而允许应用在世界各地不同的计算机环境中。

活动、活动单元以及过程元模型的定义如下:

定义1 活动是一个7元组A={tools ( ) , subject ( ) , object ( ) , rules ( ) , community ( ) , division-of-labour ( ) , outcome ( ) }。其中, outcome ( ) 集将结果输出到活动单元。其DTD表示为:

《图3》

 

 

定义2 活动单元是一个二元组AC =∑Activityi∪KBS ( ) ;i = 1, 2, 3, …。活动单元由一个或多个活动及与其相对应的知识库逻辑规则组成。DTD表示为:

《图4》

 

 

定义3 过程元模型是一个二元组P=∑ACi∪Const ( ) ; i = 1, 2, 3, …。过程元模型由一个或多个活动单元, 约束集 (成本约束, 时间约束以及其他附加约束) 构成。过程元模型可以自我包含, 且可以拥有多个子过程。DTD表示为:

《图5》

 

 

《3.3基于活动理论的可扩展客户服务器机构》

3.3基于活动理论的可扩展客户服务器机构

产品的开发过程通过活动单元之间的信息交互及单元间的互操作来实现。每个活动单元都是一个具有输入输出功能的智能体, 不仅可以独立地解决本单元内的各种问题, 而且通过与其他单元间的知识交互可以协调完成其他过程。单元作为一个包含过程信息活动实体, 其属性和实现通过IDL语言来描述。产品开发过程的工作流监控和管理模块应用Java 2来开发。

CORBA服务可用活动单元来表示, 按照CORBA的标准编制活动单元的程序, 用户可根据需要自动添加、删除、修改活动单元。开发出的单元按照CORBA标准编程, 生成用户端和服务器端的主干和框架。在服务器端用Java 2扩充编译IDL生成的框架类生成服务器端的程序。在客户端可用JSP调用Java Bean的形式调用服务器端的CORBA服务。系统在开发中采用ORACLE 8i数据库服务器, 在客户端使用Internet Explore 5.0浏览器, 应用软件可采用计算机辅助设计软件AutoCAD, Pro/E, Ideas等。系统开发工具采用Java 2 和JSP语言, Web服务器用JSWDK 1.0.1。协同设计过程管理的系统原型如图3所示。

《图6》

图3系统组成结构

图3系统组成结构  

Fig.3 System structure

· 过程管理服务器:它为过程集成提供最主要的功能, 包括动态产品——过程示例、过程执行、工程协同、过程跟踪、反馈、测量、计算、历史资料记录、收集等。同时, 它还是整个体系结构的神经中枢, 控制其他活动单元的运行。

· 用户单元 (UU) :在对产品开发过程中, 对参与开发的人员以不同的角色进行管理, 可分为总工程师、工程师、设计人员、工艺员、市场调查员、仓库管理员以及管理员等。

· 工具单元 (TU) :在产品开发过程中, 设计人员的设计工具是不同的, 可能采用AutoCAD, PRO/E, Ideas等, 系统可根据用户的不同需要启用不同的设计工具。它提供了一套支持系统设计活动的软件工具。

· 监控单元 (MoU) :监控活动单元用来检测各活动单元的运行状态, 根据单元的需求, 检测所用的服务单元是否处于工作状态。同时, 用来检测可能出现的干扰, 及时得到解决。

· 设计单元 (DU) :它是过程形成的入口, 为设计过程提供用户界面, 其作用和执行的操作包括:a.根据初始需求向导进行原始设计, b.将设计信息传入到过程管理服务器。c.根据过程管理服务器反馈回来的信息, 进行重设计, 同时自动记录设计信息, 更新数据。

· 建模单元 (MU) :它提供一种用以定义、用户化和缝合产品设计的用户界面。另外, 可以示例一个特殊的设计过程实例, 其输入的是技术、结构和工程关系, 输出的是实际产品模型。

· 管理单元 (MaU) :为管理设计过程提供用户界面, 管理活动单元调用过程管理服务器已完成对过程、产品分解、跟踪和过程控制的动态管理。其输入是基于个人设计项目的信息, 输出是项目报告、测量信息、各种数据和历史资料。

· 过程组合单元 (PCU) :它为建模、用户化、缝合过程和产品提供了一种应用逻辑, 一方面它根据输入信息以及用户需求, 将各种约束和条件储存起来, 另一方面在过程执行当中提取各种数据对整个过程加以监控。

《4 系统的实现》

4 系统的实现

根据产品开发特征以及企业面临的激烈竞争, 基于活动的设计过程管理采用Web/CORBA相结合的结构体系。这种结构支持用户任务层和活动层的不同操作, 任务层支持设计过程的过程分解、过程流的管理、过程监控下的进程显示、历史数据的管理调用、任务活动列表、动作的等待和执行情况, 以及过程协调的记录和管理。在活动层实现的功能分为对用户及管理人员两部分:对用户的功能支持包括动作的开始、结束、完成和取消, 预先定义的工具和资源的激活和中断, 数据执行管理和动作相关信息的浏览;对管理人员的功能支持包括任务说明书的建立、任务分解树的修改、基于颜色编码的过程流跟踪、资源传输链的建立、工程执行及工具与资源的列表等。

设计过程的执行情况通过过程监控单元显示, 可以选择任意一个活动, 当动作提交后系统会根据身份显示出该活动的相关信息。如活动ID号、状态、活动执行的客户端名称、活动的开始、结束时间、应用工具、约束活动和执行者。

《5 结论》

5 结论

针对分布式环境下产品开发过程的特点和需求, 提出了基于活动的协同设计过程管理系统结构。以活动理论为基础, 应用活动理论的相关概念和开发方法分析并提出了协同设计过程的建模方法。将活动作为系统中最基本的单位, 进而构建具有一定输入与输出功能的活动单元。通过活动单元, 分别描述了客户端与服务器端的组成及应用, 并以Java2作为开发语言, 通过CORBA服务, 在客户端调用服务器的应用程序。