PDM/PLM/CAPP |
|
| 按行业筛选 |
|
|
| 按产品筛选 |
|
|
| |
查看本类全部文章 |
| |
|
|
|
PDM系统中权限管理方法的研究与应用 |
|
作者:西安航空计算技术研究所 胡林平 吴广茂 |
|
提要:总结了PDM权限管理特点,重点讨论了PDM中权限的集合定义和用户权限判定的函数表示,在分析产品数据分类、企业用户组织模式和权限分类的基础上,提出了基于产品数据分类的权限管理模型,并给出了该模型的应用实例。该模型较好地协调了产品数据共享和保护两方面的需求,并且权限控制逻辑条理清楚,易于实现。
关键词:计算机软件 产品数据管理 权限管理的数学表示 权限管理模型
前言
PDM系统对产品的整个形成过程进行控制并对在该过程中形成的或需要处理的数据和文档进行管理[1],同时为与产品研发与制造相关的人员提供一个虚拟化、并行化的协同工作环境。PDM系统是企业中产品数据的共享平台。
数据共享和数据保护是企业实施PDM过程中需要同时协调解决的重要问题。正确有效的权限管理是妥善协调解决数据共享和数据保护的必要条件,是成功构建企业PDM系统的基础。PDM权限管理具有以下特点:
·对象多样性
PDM系统对整个产品形成过程中的数据进行管理,涉及到的产品数据对象种类繁多,对象之间的关系复杂,定义在每类对象上的操作也各不相同,产品数据对象呈现多样性的特点。
·权限动态性
PDM系统中的产品数据对象都具有多种状态,系统对于不同状态下的对象通常采取不同的权限控制策略,从而造成对象权限的动态变化性。
·用户复杂性
PDM是一个企业中的协作平台,涉及到的用户数量庞大。企业中用户的组织形式多种多样,职责和权限各不相同,决定了PDM系统中的用户组织形式多样且复杂。
由于上述特点的存在,PDM权限管理往往比其它应用系统的权限管理更为复杂和难以理解,本文给出了PDM权限管理中权限的定义和权限判定的数学表示,进而提出了一种实用的权限管理模型,最后给出了该模型的应用实例。
1.PDM中权限管理的数学表示
1.1权限的集合定义
PDM系统中,所有的产品数据都被定义为类——产品数据类,具体的产品数据表示为产品数据对象。产品数据类的方法是PDM中权限管理的基本对象。PDM系统中所有的权限可以定义为集合A :
A = A1∪A2∪A3∪A4,其中
A1=()
A2=()
A3=()
A4=()
A被称作权限集合,A1、A2、 A3、A4分别被称之为权限子集合。
A1是四元组的集合,A1中的一个四元组表示用户User在条件Condition满足的情况下,对于类Class的所有实例对象都具有执行Method方法的权限。同样,A2中的一个四元组表示工作组Workgroup中的所有用户具有执行Method方法的权限;A3中的一个四元组表示对象角色Object-Role具有执行Method方法的权限;A4中的一个四元组表示项目角色Project-Role具有执行Method方法的权限。
1.2用户权限判定的函数表示
用户权限判定指:在给定用户、对象和对象方法的前提下,判定用户是否具有权限执行该对象方法。用户权限判定可以定义为四元函数f(User, Object, Condition, Method),其中:
(1)函数f():返回值为True或者False, True表明具有执行权限,False表明不具有执行权限。
(2)User:表示待考查的用户。
(3)Object:表示待考查方法所属的对象。
(4)Condition:以多元组(数据仓库,状态,属性1,...,属性n)表示,其中数据仓库、状态和属性i(1..n)分别表示对象所在的数据仓库、对象的状态以及对象的若干属性。
(5)Method:待考查的对象方法。
(6)函数f()的推算过程:函数f()的推算过程就是将四元组自变量按照一定的规则与权限集合A中的四元组进行匹配的过程,如果和A中的一个四元组匹配成功,则函数返回TRUE。如果无法和A中任何一个四元组匹配成功,则函数返回FALSE。具体的匹配过程先后在权限子集合A1、A2、A3和A4中进行。在任何一个权限子集合找到一个四元组能够与自变量四元组匹配成功,就中止整个匹配过程,返回TRUE。如果在四个权限子集合中都匹配失败,则函数返回FALSE。
图1 权限子集合A1中的匹配处理示意图 图1是在A1中进行匹配的示意图。自变量(User, Object, Condition, Method)与A1中任一四元组匹配成功须同时满足以下四个条件:
·自变量User与A1中四元组的User值相同。
·自变量Object是A1中四元组的Class类的对象实例。
·自变量Condition满足A1中四元组的Condition所定义的条件。
·自变量Method方法与A1中四元组的Method相同。
A2、A3、A4中的匹配条件与A1中的类似,只不过上述第一条不同。在A2中,第一条变为:自变量User是A2中四元组的Workgroup所确定工作组的成员。在A3中,第一条变为:自变量User是A3中四元组的Object-Role所确定的对象角色;在A4中,第一条变为:自变量User是A4中四元组的Project-Role所确定的项目角色。
2.基于产品数据二级分类的权限管理模型
权限管理模型设计中,最难以处理的是协调数据共享与数据保护的矛盾。为妥善解决此问题,在本文提出的权限管理模型中,将产品数据分别按照所有者和管理方式进行两级分类,根据产品数据分别在两级分类中确定的类别,采用不同的权限控制策略进行管理。
2.1 产品数据两级分类
产品数据两级分类中,首先是按照管理模式将数据分为两大类:项目数据与非项目数据,项目数据是指按照项目模式管理的产品研制过程中形成的数据,比如:设计图纸、技术文件、零部件、源程序等;非项目数据指按照非项目方式管理的数据,通常不是产品研制过程中直接产生的数据,也不属于产品本身的设计数据,比如:标准件、通用件和元器件数据等,这些数据往往是设计产品的参考和引用数据。
将产品数据分为项目数据和非项目数据后,再按照所有者将数据进一步细分为三小类:私有数据、共享数据和归档数据。私有数据指PDM中用户个人工作区中的数据,是用户个人私有数据;共享数据指在PDM共享数据仓库中的数据,这些数据或者是处于审签流程中的数据,或者是需要在一定范围内共享的非正式数据;归档数据指在PDM归档数据仓库中的数据,属于正式发放的数据。
按照两级分类管理,实际上将产品数据分为六小类,即按照项目模式管理的数据又分为私有、共享和归档三小类,按照非项目模式管理的数据也细分为私有、共享和归档三小类。
现代的PDM系统中,所有的产品数据都被定义为对象来管理,上文所述产品数据二级分类方法,实际上也是产品数据对象的二级分类方法,相应地产品数据对象类别也称之为:项目数据对象、非项目数据对象或者私有数据对象、共享数据对象和归档数据对象。
2.2 用户组织模式
企业中人员的组织模式通常分为三种:静态组织机构型、动态项目型和混合型[3]。静态组织机构型指人员固定工作于企业中某一个部门;动态项目型指用户动态地被分配到项目组内工作,项目结束后,又被分配到另外一个项目中;混合型是前两种形式的结合,相当于企业中的矩阵式管理模式,人员一方面属于某一个具体的部门,同时又动态地属于某一项目。
在本文所提出的权限管理模型中,用户的组织采取混合型的方式。具体采取以下三种组织形式的混合模式:
·对象角色:定义属于对象实例本身的角色,模型中涉及到的角色有:对象的责任方和对象的查阅组。担任对象角色的用户,通常随对象的变化而变化。[4]
·项目角色:定义属于项目的角色,包括项目负责人、项目成员等等。担任项目角色的用户通常随项目的变化而变化。
·工作组:工作组是一种静态的用户组织模式,工作组成员一经定义,不受对象与项目因素的影响。
用户可以同时属于上述的三种形式的任何一个组织中。
2.3 产品数据对象权限分类
模型中,对PDM系统中实际的产品数据对象权限分类方式进行了简化,只分为两种权限:写权限和读权限。写权限泛指可以引起对象属性、所有者和状态变化的操作权限;读权限泛指获取对象信息,而不会引起对象属性、所有者和状态变化的操作权限。
2.4产品数据对象写权限管理策略
模型中,产品数据对象写权限的管理策略比较简单,即:写权限只赋予对象角色——责任方。对象刚刚创建时,由系统自动将创建者定义为对象的责任方。此后在对象的生存周期内,如果对象的设计负责人需要发生变化,按照以下规则进行变更:
·对于项目数据对象,只有项目负责人和管理员有权限变更对象的责任方。
·对于非项目数据对象,只有系统管理员有权限变更对象的责任方。
采取将写权限赋予对象责任方的管理策略,简化了对象写权限控制逻辑,支持对象写权限拥有者的动态变化。在这种管理策略下,还实现了同时只有一个用户具有对象写权限,避免了由于多用户同时具有写权限造成的对象一致性失控问题。
2.5产品数据对象读权限管理策略
按照两级分类方法,针对不同类别的产品数据对象采取不同的读权限管理模式。
2.5.1 项目数据的读权限管理策略
项目数据对象又可以细分为:项目私有数据对象、项目共享数据对象和项目归档数据对象。
(1)项目私有数据对象读权限管理
对于项目中的私有数据对象,读权限只赋予对象的责任方。
(2)项目共享数据对象读权限管理
当项目私有数据对象变为共享数据对象后,应该能够在项目组内部进行共享,以方便项目成员间的信息交流,但是这种共享是受控的,应该让对象的所有者决定哪些项目成员具有读权限。
具体的权限设定是:将项目共享数据对象的读权限赋予对象责任方和对象的查阅组成员。对象的查阅组由对象的责任方负责定义,责任方定义对象查阅组成员时的可选范围是所有的项目角色成员,因此对象的查阅组总是对象所在项目的所有角色成员的子集。
(3)项目归档数据对象读权限管理
项目中的产品数据对象归档后,除了项目内部成员仍然具有读权限外,作为企业正式发放的产品数据,还应该有选择地使项目外的用户共享,这样才能实现设计复用和快速产品开发等先进的管理理念。因此项目中归档数据对象的读权限,除赋予对象责任方和对象的查阅组成员外,还赋予具有某商业密级的工作组。
给项目数据对象增加一个属性定义:商业秘密等级,其可选值有:公开、普通秘密和核心秘密。同时设立三个商业密级工作组与之对应,将这三种商业秘密等级的归档数据对象的读权限分别赋予这三个工作组。将PDM的所有用户按照涉密授权分别分配到这三个组中。这样,归档后的项目数据对象就实现了在项目外受控共享。
如图2所示,项目数据由私有数据变为共享数据后,共享范围扩大到项目成员范围,变为归档数据后,共享范围进一步扩大到项目外的某一工作组范围。上述过程中,数据越来越正式,共享的范围也不断扩大。
图2 项目数据读权限管理示意图 2.5.1 非项目数据对象的读权限管理策略
如前所述,非项目数据对象不属于具体的产品设计数据,因此非项目数据通常包括企业内的基础数据,需要在企业范围内共享,以便设计人员参考和引用,因此读权限控制较松,管理简单。非项目数据中的私有数据对象读权限只赋予对象的责任方,共享数据对象和归档数据对象的读权限通常向所有的用户开放。
3.应用实例
本文提出的权限管理模型在某电子研究所PDM系统--Teamcenter Enterprise 4.0上获得实现。在系统设计时,将16种产品数据对象中的设计图纸、技术文件、产品组合、装配件、零件、软件、源程序、目标程序、逻辑设计包、PCB设计包和结构设计包共计10种对象按照项目数据对象的方式进行权限管理,将其余的标准件、元器件、产品设计更改审批单对象按照非项目数据对象的方式进行管理,较好地协调了数据共享和数据保护两方面的需要,满足了该所产品数据管理中权限控制的要求,取得了理想的工程应用效果。
4.结论
本文从归纳总结PDM系统中的权限管理特点入手,给出了PDM中权限的集合定义和用户权限判定的函数表示,同时提出了基于产品数据两级分类的权限管理模型,并介绍了模型在某电子研究所的具体实现情况。本模型较好地协调解决了数据共享和数据保护两方面的问题,能够满足企业中产品数据管理的需要,而且权限控制逻辑本身条理清楚,简单明了,用户容易接受和理解,工程上也易于实现。
参考文献
1.(德)约瑟夫.萧塔纳著。制造企业的产品数据管理——原理、概念与策略。祁国宁译。北京:机械工业出版社,2000
2. 万立等。PDM权限管理模型研究与实现,《机械与电子》2004年第二期
3. 李殊宁等。基于PDM的权限管理研究,《机械设计与制造》2005第一期
4. Sandhu R. Role-based access control. Advances in Computers,1998,46:1-49
作者简介:
1、 胡林平:中航一集团西安航空计算技术研究所高级工程师,研究方向:软件验证,企业信息化技术。
2、 吴广茂:中航一集团西安航空计算技术研究所研究员,研究方向:软件工程,网络技术。(end)
|
|
文章内容仅供参考
(投稿)
(如果您是本文作者,请点击此处)
(3/15/2007) |
| Siemens 西门子数字化工业软件联系方式:
|
网址: |
http://www.automation.siemens.com/
|
电话:86-400-616 2020 |
地址: |
中国·北京·北京市朝阳区望京中环南路7号 |
|
|
|
对 PDM/PLM/CAPP 有何见解?请到 PDM/PLM/CAPP论坛 畅所欲言吧!
|