没有合适的资源?快使用搜索试试~ 我知道了~
基于MOF和UML Profiles的MDA方法用于访问控制规范
理论计算机科学电子笔记142(2006)161-179www.elsevier.com/locate/entcs使用MOF和UML Profiles的访问控制规范的MDA方法托尔斯滕·芬克1it-frameworksolutions,柏林,德国曼努埃尔·科赫2Karl Pauls3柏林大学,柏林,德国摘要我们提出了一个模型驱动开发(MDD)的方法来开发分布式系统的访问控制策略。这些模型被表示为由统一建模语言(UML)概要文件丰富的元对象设施(MOF)模型。以基于视图的访问控制模型为例,给出了Java 2平台企业版(J2EE)的平台无关元模型和平台管理应用程序用于分别为独立于平台和特定于平台的元模型构建实例模型。我们在本文中介绍了如何使用平台无关模型来生成平台特定模型,以及如何使用元模型来生成特定应用程序的模型。最后,平台特定模型用于生成要部署在安全基础设施中的安全策略。我们展示了如何通过使用基于类别的图转换来正式验证一致性需求。保留字:MDA,MDD,UML,CORBA,J2EE,安全1介绍安全方面是任何现代软件系统所固有的,这些软件系统不用于完全可信的环境。在软件开发过程中,1电子邮件:torsten. it-fws.de2电邮地址:mkoch@inf.fu-berlin.de3电子邮件地址:pauls@inf.fu-berlin.de1571-0661 © 2005 Elsevier B. V.在CC BY-NC-ND许可下开放访问。doi:10.1016/j.entcs.2004.12.045T. Fink等.理论计算机科学电子笔记142(2006)161162另一方面,安全性还没有得到足够的支持。缺乏对需要生产安全软件的软件工程师的系统支持是基于这样的事实,即安全需求通常很难分析和建模[9,5],并且因为安全策略通常是根据高度专业化的安全模型来指定的,这些模型没有与通用软件工程模型集成。最近的研究关注安全工程集成到软件开发过程中 [7,8]。在本文中,我们提出了一种模型驱动开发(MDD)[9]方法来开发分布式系统的访问控制策略模型驱动方法的优点是,软件开发过程中开发的许多规范文档是相关的,并且现有的依赖关系被记录下来。依赖关系的文档有助于考虑到模型或关系的每一个变化,以保证一致性。此外,模型驱动的方法是一个很有前途的基础,以建立工具,以确保一致性的模型,即使他们经常改变,由于不确定的要求,他们依赖。在所提出的方法中,模型被表示为由统一建模语言(UML)[11] profiles[12]丰富的元对象功能(MOF)[12]模型。MOF是由OMG定义的标准Meta语言,其他建模语言可以在其中指定。MOF方法的优点是使(Meta)模型的定义独立于模型的具体应用领域,并为元模型的定义提供了一组简洁而此外,多个Meta模型可以由MOF管理,并且元模型之间的关系可以用作模型转换的基础。我们将MOF模型与关于特定平台或特定应用领域的UML概要文件相结合,以获得可用且可读的MOF模型标记在我们的方法中,访问控制模型由独立于平台和应用程序域的MOF元模型指定。该元模型可以在应用程序域中实例化,即,然后,它为应用程序指定访问控制策略此外,元模型可以被细化为平台特定的MOF元模型(例如,CORBA[10],J2EE[16],SOAP[18])。将应用程序域实例化和平台规范两者结合起来,会产生一个特定的应用程序模型,该模型具有在特定平台中实现的自定义应用程序访问控制策略在本文中,我们使用基于视图的访问控制(VBAC)[4],基于角色的访问控制(RBAC)[14]的会议管理系统作为应用领域,J2EE作为特定的目标平台,T. Fink等.理论计算机科学电子笔记142(2006)161163实现了电子商务管理应用模型驱动方法的一个优点是模型关系的特定除了维护模型之间的一致性之外,这些映射还可以分别用于检查实例和细化模型中的约束。我们通过对象约束语言(OCL)[12]将特定VBAC约束的规范添加到应用程序独立的元模型中,这些约束也必须在特定应用程序的实例模型中得到满足本文的其余部分组织如下:我们在第2节中通过一个例子介绍支持我们概念的访问控制模型。第3节涉及VBAC访问控制模型的元模型(平台无关和EJB特定),第4节介绍会议管理应用程序的实例模型第5节讨论了通过图变换进行的模型修正的形式一致性。第六节将本文与相关工作进行了比较。最后,第7节总结了本文,并指出了未来的工作。2基于视图的访问控制基于视图的访问控制是一种访问控制模型,专门用于支持面向对象系统中访问控制策略的设计和管理[4,2]。VBAC的主要特征是描述细粒度访问权限的视图,这些权限是对分布式对象操作的许可或关于对象的视图被分配给主体,即,个体主体或角色,并且如果主体具有对象上的视图,并且具有调用操作的权限,则主体可以访问对象的操作。如果在该角色可用的对象上的另一个视图中显式拒绝了该操作,或者没有找到权限,则主体没有访问权限。对于定义视图,我们使用视图策略语言(VPL)[4]作为策略设计文档的一部分,这是开发过程中设计阶段的产品。除了上面描述的通常功能之外,VPL还支持视图扩展,因此扩展视图继承基本视图的所有访问权限。 视图可以被静态地限制,这样它们只能被分配给特定的角色,并且视图可以被声明为虚拟的。虚拟视图具有空的主体。为了指定安全状态的自动更改,VPL定义了模式。模式定义了触发器,用于将视图自动分配给主体或从主体移除视图。基于视图的访问策略在描述符文件中交付,并与目标环境中的应用程序一起部署,类似于T. Fink等.理论计算机科学电子笔记142(2006)161164<<编辑>><<财政部>>VBAC PIM元模型<<实例化>> <<财政部>>VBAC PIM模型系统设计者<<映射到>>编译器<<财政部>><<财政部>>VBAC PSM<<实例化>>VBAC PSM<<编辑>>元模型模型开发商<<部署到>>基础设施例如EJB [16]或CORBA组件模型[10]。3VBAC-MDA方法本节概述了我们的模型驱动方法,用于为在特定平台上运行的特定应用程序开发VPL策略描述符图1描述了总体思路。作为为应用程序设计访问控制策略的第一步,系统设计人员为VBAC模型创建了一个平台无关的模型。我们将这个模型命名为VBAC-PIM(VBAC平台无关模型).Fig. 1.MDA VBAC模型。在系统规范阶段之后,开发团队选择用于实现的技术平台无关模型被映射到所选平台的平台特定模型。为了映射与访问控制相关的模型,将VBAC-PIM编译为VBAC-PSM(VBAC平台特定模型)。稍后我们将展示如何在EJB平台上实现这一点。此自动生成的VBAC-PSM不完整。技术参数,如名称服务器或代理设置,不能从VBAC-PIM中读取。开发人员必须添加这些缺失的部分。最后,VBAC-PSM用于生成VPL部署文件,随后由特定的安全基础设施(称为Raccoon)执行在接下来的部分中,我们将更详细地描述模型及其映射。3.1VBAC-PIM元模型VBAC-PIM元模型(VBAC-PIM-MM)指定了VBAC提供的元素。由于VBAC是为分布式对象系统开发的,因此VBAC-PIM-MM旨在用于基于对象的平台(例如,CORBA)。图2显示了VBCA-PIM-MM的MOF模型该模型主要包含角色、视图和模式。角色属性minCard和maxCardT. Fink等.理论计算机科学电子笔记142(2006)161165定义必须/可以发挥作用的主体的最小和最大数量。角色可以在层次结构中排序(扩展-关联),可以相互排斥,即,一个主体不能同时扮演两个(或两个以上)互斥关系中的角色,可以要求其他角色作为前提。角色可以被分配给多个主体,并且主体可以同时扮演多个角色。延伸图二.VBAC-PIM元模型的MOF模型。角色和主体可能持有几种观点。 视图包括 一个(可能是空的)许可集和一个(可能是空的)拒绝集。这两个集合都包含调用接口操作的权限关联控件指定视图操作所属的接口。一个视图可能需要其他视图,即,可以在分配所需视图之前将视图分配给角色或主体。此外,视图可以按层次结构排序,其中扩展视图具有基础视图的拒绝和权限集虚拟视图是没有权限的视图对VBAC-PIM-MM中的操作和接口进行了建模权UML::Core::Operation11*1**属于uML::Core::Operation1子角色***作用+maxCard:int**+minCard:int角色APermissionSetDenialSetsuperRole*限于快捷r*equiresRole11角色B** 免费WiFi*必填11不包括*需要作用持有视图+virtual:1**IsRequired需要1需要*11uML::Interfaces::Interface*主要1持有11--延伸UML::Interfaces::Interface到控制111到11观察1*1RemoveExpression表达模式*模式*1AssignExpression操作11*对RessourceXOR资源说明符1- type:{this,result}11对T. Fink等.理论计算机科学电子笔记142(2006)161166从UML导入的元素。UML操作和UML接口之间的关联是UML规范中给出的导航路径的缩写一个Schema由几个表达式组成。表达式可以是用于将视图分配给角色或主体的AssignExpression,也可以是用于从角色或主体中删除视图的Re-moveExpression一个表达式总是与一个视图(应该被分配或删除的视图)、一个角色或主体、一个接口或资源规范相关。但是,一个表达式不能同时与接口和资源规范相关。资源是实现接口的对象RessourceSpecier指定这样一个对象作为占位符。一个资源指定器有可能的类型self(操作被调用的对象)和result(被调用操作的结果对象-如果有的话3.1.1VBAC-PIM-MM约束模型这一部分给出了VBAC模型的一致性要求。VBAC-PIM-MM的任何实例模型以及随后的任何VBAC-PSM-MM都必须满足这些要求。我们首先以非正式的方式制定要求,然后在OCL中给出具体说明。角色的一致性要求如下。• 属性maxCard的值必须始终大于minCard。context角色inv:self.maxCard>= self.minCard以下要求是视图的一致性要求。• 虚拟视图不能定义权限或拒绝。context View inv:(self.virtual= true)隐含(self.permissionSet->isEmpty()和self.denialSet->isEmpty())• 视图不能在权限集和拒绝集中包含相同的权限context View inv:self.permissionSet.right->intersection(self.denialSet.right)->isEmpty()T. Fink等.理论计算机科学电子笔记142(2006)161167VBAC PIM元模型VBACEJB元模型主要RessourceUML::Interfaces::Interface3.2VBAC–EJB如果我们选择EJB作为特定的平台,在第一种方法中,可以通过EJB实体bean来表示VBAC-PIM元模型的每个对象然后,从VBAC-PIM-MM到EJB的映射是直接的:VBAC-PIM元模型中的每个接口都由实体Bean的EJB远程接口表示,每个对象都由实体Bean表示。 VBAC-EJB元模型由图3中的MOF模型给出,其中使用模型元素EJBRemoteInterface代替Interface,EJBRemoteBean代替Resource,EJBPrincipal代替Principal。图3.第三章。从PIM-VBAC模型到EJB元模型的映射因此,从VBAC-PIM元模型到VBAC-EJB元模型的映射是身份函数,但有三个例外,如图3所示:VBAC-PIM元模型接口映射到EJBRemote接口,VBAC-PIM 元 模 型 资 源 映 射 到 EJB 接 口 , VBAC-PIM 元 模型主 体 映 射到EJBPrincipal。但是这种EJB实现方法的缺点是模糊了应用程序逻辑和数据访问之间的区别因此,更好的方法是使用实体bean进行数据访问操作,并使用无状态会话bean将主要系统操作实现为应用程序逻辑[15]。这样做还有一个额外的好处,即这些会话bean可以很容易地从SOAP中间件中使用[15]。这简化了为用户提供图形界面的分布式客户端的实现这种方法的缺点是,无状态会话bean构建在基于模块的范例而不是面向对象的范例之上。为了说明这个问题,考虑提供文档工厂操作的文档管理系统:Document Document()如果使用无状态EJB会话bean实现操作WIDocument(),则基于对象引用的工厂方法是不可行的。这是因为方法的返回值不能是对实体bean的远程引用否则,客户端将直接访问数据库层。此外,实体Bean的集成EJB远程接口EntityBeanEJB主要T. Fink等.理论计算机科学电子笔记142(2006)161168在SOAP中间件中,与会话bean的集成相比面向对象的VBAC-PIM-MM和模块化平台特定模型之间的这种冲突这是因为它们通常只在接口上指定,而不是在具体对象上指定。然而,VBAC-PIM-MM使用模式来描述动态策略,在动态策略中,权限被动态地分配给单个对象实例和从单个对象实例移除在无状态会话bean的情况下,这种唯一的权限分配不再可能。会话bean的方法使用基本数据类型的标识符来引用内部应用程序实体,而不是对象引用例如,会话bean中文档的工厂方法可以是:public int findDuplicate()返回值是标识文档的数字,可用于更新方法,例如:void updateDocument(int document,String newText)用于引用创建的对象的这个整数值不能由运行时系统自动控制。为了在应用程序逻辑和访问控制策略之间进行清晰的分离,我们需要通过一种额外的机制来扩展VBAC策略模型,以存储由工厂方法创建的对象的标识符和工厂的调用者之间的我们添加了可以由运行时系统操作的关系表在我们的例子中,我们在主体和标识符之间使用了一个类型为[Principal,int]的二元关系Author如果调用工厂方法并创建新文档,则更新关系。 我们在模式中指定关系Author的修改,因为它们对保护状态上的操作调用的结果进行了建模。在我们的示例中,如果调用了操作WARDDocument(),则将(caller,result)对添加到Author。关键字caller表示调用操作的principal,关键字result是返回值的行动。如果文档被删除,也可以从Author中删除对模式DocumentFactorySchema观察DocumentFactory{int n. document()-> add(caller,result)to Author;void deleteDocument(int doc)-> remove(caller,doc)fromAuthor;...}T. Fink等.理论计算机科学电子笔记142(2006)16116911修改器* *1EJB主要表达−type:{add,delete}AuthorEntry修改器−virtual:boolean视图11 1111**permission*Set*deniraiglShett*11警卫队DenialSetPermissionSet操作权1模式11EJB远程接口如果访问控制策略要求只有文档的所有者才能访问文档,则在视图中指定这一点以及所有其他访问控制要求下面的示例指定只有文档的所有者可以更新文档。if条件将可能的参数限制如果对于调用者想要更新的文档,在关系Author中存在对应对(调用者,文档),查看文档查看控件文档管理{void updateDocument(int document,StringnewText)if(caller,document)in Author;...}由于这些考虑,图4中的VBAC-EJB元模型这比将对象映射到实体bean的方法更复杂(参见图3)。11 11**见图4。VBAC-EJB元模型的MOF模型。+add(p:Principal,v:String):void+delete(p:Principal,v:作者1作者1L:Core:嗯RemoveExpressionAssignExpression1T. Fink等.理论计算机科学电子笔记142(2006)1611704会议管理系统上一节介绍了独立于平台的VBAC元模型及其对EJB元模型的改进。本节实例化应用程序域中的Meta模型,在该应用程序域中使用VBAC来控制访问。应用实例是最初在[4,2]中介绍的会议管理系统。使用会议应用程序,PC主席可以打开会议的提交阶段,以便作者可以提交论文。主席负责宣布提交截止日期,从而结束提交阶段并开始审查阶段。审稿人为他们指定的论文撰写并提交评论。审查阶段在主席要求作出最后决定时结束。我们从软件开发过程的设计阶段开始,其中接口已经可用。需求分析和在UML开发过程中将访问控制需求集成到会议应用程序的功能需求中在[3]中给出4.1VBAC-PIM会议模型图5中会议应用程序的MOF模型是图2中VBAC-PIM元模型的一个实例。我们使用UML概要文件来方便地表示MOF模型。UML概要文件由以下原型组成:• <>:附加到MOF模型中的模型元素,该模型元素是PIM元模型中视图的实例。• <>:PIM-MM中的视图的实例,其中属性virtual为真。• <>:PIM-MM中的角色实例。• <>:PIM-MM中的Schema实例。• <>:P I M - M M 中 A s s i g n E x p r e s s i o n 的 实例。• <>:PIM-MM中RemoveExpression的实例。UML概要文件对于VBAC-PIM模型的规范不是必需的,但它使VBAC-PIM模型和VBAC-PIM元模型之间的关系更容易表示。VBAC-PIM模型作为VBAC-PIM元模型的实例仍然是平台无关的。图5(用于接口、角色、视图等),fig. 6、图。7(对于模式)显示了会议应用程序的VBAC-PIM模型角色(由原型<<角色>>指定)是Author、Reviewer和主持人延伸审查。作者和主席的角色不包括T. Fink等.理论计算机科学电子笔记142(2006)16117111限于1作者持有1注册1控制11控制1控制11111休息11控制111需要<<实景>>1111控制<<联系方式>>审查+read():String+write(text:String):void<<联系方式>>会议管理+提交():+提交():无效+deadlineReached():控制1+deadlineReached():void+makeDecision():+makeDecision():void1111对照品1需要<<实景>>查看修改+submit():操作<<实景>>提交文件+read():操作<<实景>>阅读<<虚拟视图>>审查阶段<<虚拟视图>>提交阶段+submit():void+submitReview(review:String):Review+read():String+write(text:String):void需要+registerPaper(String author_name:String author_name,String title:String title):Paper+submitReview():<<联系方式>>纸<<联系方式>>提交管理联系我们<<实景>>论文评审+registerPaper():−submitReview():操作+write():操作<<实景>>注册<<实景>>NoMorePaperReviewing<<实景>>修改<<角色>>作者<<角色>>椅子<<角色>>审稿+read():操作+write():操作+getReviewer():操作查看:+允许−deny1不包括图五.PIM会议的MOF模型。另一个是防止主席向自己的会议提交文件角色Chair对属性maxcard有一个基数约束(参见VBAC-PIM元模型),它要求最多有一个主体分配给这个角色。如果没有显式指定,则角色基数属性mincard和maxcard分别设置为零。到一个无限的数字,即,对分配给角色的主体数量没有限制例如,角色Author中可以有任意多的主体,但角色Author中也可能视图分别由原型<>和<>指定。视图列出了它们允许或拒绝访问的操作。前缀+表示允许,前缀-表示拒绝。在示例中,除了NoMorePaperReviewing(定义了拒绝调用操作submitRebiew())之外的所有视图都定义了权限。 视图ReviewingPhase和SubmissionPhase是根据定义具有空主体的虚拟视图。由于缺少操作,它们与接口无关。在该示例中,maxcard = 1T. Fink等.理论计算机科学电子笔记142(2006)16117211<<架构>>转向到1审稿(fromVPL−PIM−会议e)审查阶段(fromVPL−PIM−会议e)<<分配>>截止日期它们用于区分会议进程的提交、审查和模式在图中建模。6、图。 7,每一个都是一个接口。图6中的关系图涉及接口ConferenceManagement。带有原型<>的model元素指定了模式名,并且有一个与该模式负责的接口的关联一1到1<<分配>>简体中文1提交阶段(fromVPL−PIM−会议e)作者(fromVPL−PIM−会议e)11111111见图6。PIM会议模式会议管理的MOF模型。带有构造型<>和名称opName的model元素指定了在执行名称为opName 的 操 作 时 , 将 连 接 的 视 图 分 配 给 连 接 的 主 体 或 角 色 例 如 ,<> 模 型 元 素 Submission 指 定 虚 拟 视 图 SubmissionPhase 到 角 色Author的分配。在调用此操作之后,打开子任务阶段,角色Author的所有成员都可以提交论文。类似地,一个带有原型<>和名称opName的模型元素specify-当执行名称为opName例如,当调用操作deadlineReached()时,虚拟视图SubmissionPhase将从角色Author中删除。此后,作者不能再提交论文。图7为接口SubmissionManagement的模式建模。模式Steering只分配和删除虚拟视图,而模式Submission分配非虚拟视图。非虚拟视图列表权限属于1观察1 11会议管理(fromVPL−PIM−会议e)1月1日<<删除>>截止日期1提交阶段(fromVPL−PIM−会议e)作者(fromVPL−PIM−会议e)11月1日<<删除>>makeDecision1审查阶段(fromVPL−PIM−会议e)审稿(fromVPL−PIM−会议e)1T. Fink等.理论计算机科学电子笔记142(2006)16117311至1对111呼叫者结果<<分配>>注册文件提交文件(fromVPL−PIM−会议e)提交管理(fromVPL−PIM−会议e)一个独特的界面。这样的视图对于完整的接口是有效的,即,在这个接口的所有对象上保存视图,或者在单个对象实例上。111111图7.第一次会议。 PIM会议架构提交管理的MOF模型。对于Paper接口还有一个额外的模式(本文中未显示当在Paper对象p上调用操作submit()时,p上的视图PaperReading被分配给角色Reviewer,而p上的视图Modifying被从操作的调用者(提交纸张的作者)中删除当对p调用操作submitReview()时,p上的视图NoMorePa- perReviewing被分配给调用者(即,为P提交评论的评论者不能为P提交另一个评论,但其他 评 论 者 仍 然 可 以 提 交 评 论 ) 。 纸 张 p 的 审 阅 对 象 r 上 的 视 图ReviewModifying被分配给角色Reviewer。4.1.1PIM模型的一致性检验在VBAC-PIM元模型的情况下,PIM元模型可以具有如子部分3.1.1元模型的所有实例也必须满足这些一致性要求。我们说一个MOF-ModelM是一个带有一组OCL约束C的PIM-Meta-model的一致实例,如果模型M满足C中的所有约束。OCL约束可以使用OCL约束检查器相对于模型自动检查,例如,OCL检查器USE [12]。4.2VBAC–EJB基于VBAC-PIM模型,编译器可以生成VBAC-EJB模型的一部分(本文不作进一步解释技术参数,如名称服务器或代理设置,不能从VBAC-PIM模型中读取开发人员必须添加这些缺失的部分。EJB专用编译器为VBAC-PIM模型中的每个接口生成EJB远程接口。例如,对于Paper接口,会生成一个IDL接口,该接口具有VBAC-PIM模型中指定的操作。<<架构>>提交修改(fromVPL−PIM−会议e)T. Fink等.理论计算机科学电子笔记142(2006)161174→→→→\\5形式一致性检验本节涉及模型开发的一致性,即,一个精化模型是否满足其基本模型的所有约束的问题例如,VBAC-PIM模型是否满足VBAC-PIM元模型的约束我们提出了基于图变换的形式概念来解决这个问题。我们将在下一小节中简要介绍图变换,这是关于代数方法中图的一般概念、图的规则、类型和属性,见[13]。5.1图变换我们考虑定向,类型和属性图。对于属性的描述,本文使用了一种简单的代数方法。两个图G和H之间的图同构f:G H是图G和H的节点(分别为G和H)之间的部分映射。(1)节点( G)和节点(G)。edges),使得1)f尊重图结构,即每当针对边e定义针对边的映射时,e的源节点s和目标节点t的映射被定义,并且f(s)和f(t)是H中的边f(e)的源节点和目标节点,2)节点和边仅被映射到相同类型的节点和边,以及3)f尊重属性,即,属性处于先前定义的关系中(在属性类型的代数规范中定义)。如果图的节点集和边集之间的映射是全映射,我们称之为图的全态射一个图态射是单射的,如果节点和边的基本映射是单射的。图规则r是内射图态射r:L R,其中图像和域节点/边的属性重合。图L,称为图规则的左手边,描述了一个图必须包含r才能适用的元素部分态射定义在打算删除的节点/边R的节点和边,右侧,没有前图像是新创建的。将规则r:L R应用于图G需要从规则的左侧到图G的全态射m:L G,称为匹配。G. 应用程序本身的形式特征是推出的规则态射和匹配的范畴图和图态射。导出图的构造包括两个步骤:首先删除G中所有在L dom(r)中具有原像的对象,然后将R r(L)中所有连接到节点m(dom(r))的图对象添加到G。如果左侧的标签或属性值是一个变量,则将其替换为映射的图形对象的标签或属性值T. Fink等.理论计算机科学电子笔记142(2006)161175→5.2作为图的一个MOF模型可以被看作是一个图[17]。每个名为e的MOF模型元素被转换为类型为e的节点。MOF模型元素的属性和操作分别表示为节点属性attributeList和operationListMOF模型的关联ass被表示为类型ass的边。图8是一个示例,其中a)示出了MOF模型元素Role和View以及VBAC PIM元模型的受限关联a)、作用限于视图minCard:int虚拟:布尔b)、作用视图instance name=xattributeList=((macCard,int,x),限于instance name=x(int i,int j)operationList=()operationList=()见图8。 MOF是图形。5.3作为图形规则的MOF模型通过映射而相关在前面的章节中,我们已经为VBAC模型定义了这些映射。对于每个MOF模型M,我们提出了下一个图规则来构造作为M的实例的MOF模型MJ。从MJ到M的实例映射是从MJ的构造导出的。一个MOF模型M定义了以下一组图形规则:对于M中每个带有name元素的模型元素,都有一个实例规则创建元素,如图9所示。此图形规则创建模型 元 素 的 新 实 例 对 于 M 中 每 个 名 为 ass 的 关 联 , 都 有 一 个 图 规 则createass,它在所需实例之间创建一条新边(参见图9)。图9底部显示了VBAC-PIM元模型元素Role和关联排除的示例。从M0F模型M导出的图形规则可以用于构造M0F模型MJ(从空图形开始)。 m:MJM之间的映射是图态射,定义如下:元素类型的节点(例如,Role)映射到M中的模型元素Role。类似地,MJ中的边ass被映射到M中的关联ass。例如,图5中的MOF模型可以由图2中VBAC-PIM元模型定义的图形规则来构造(如果我们假设一个没有UML概要的普通MOF模型)T. Fink等.理论计算机科学电子笔记142(2006)161176创建屁股实例名称=xelementName'实例名称=xattributeList=yoperationList=zelementName→C→Q→→→创建角色作用instance name=nattributeList=((maxCard,x),(minCard,y))operationList=()作用作用实例名称=nattributeList=yoperationList=z实例名称=nattributeList=yoperationList=z创建不包括不包括作用作用实例名称=n实例名称=n创建元素元件实例名称=xattributeList=yoperationList=zelementName实例名称=xattributeList=yoperationList=z屁股elementName'实例名称=x符号)。图9.第九条。 绘制规则图以构建实例模型。5.4验证我们提出了如何形式化地保证映射i:MJM对由从MOF模型M导出的图形规则(如前一小节中所解释的)构造的MOF模型MJ保持满足MJ中的M的约束。形式检验基于最初在[6]中引入的构造由于我们需要分析MOF模型约束的形式化语义,我们用图形化的约束来表达它们。在[1]中展示了自动翻译仅适用于OCL约束的一个子集,其余约束必须手动指定。图约束是全图态射c:X→Y,图G满足c,如果对所有全图态射p:X→G,不存在一个全内射图态射q:Y G使得X Y G=pXG. 一些OCL约束第3.1.1节中的视图见图10。在图中,如果约束不需要,我们省略了节点的属性图形约束a)指定虚拟视图没有权限,b)指定视图不能在许可集和拒绝集中都有权限为了保证一致性,我们应用[6]中的构造该检查获取图形规则和图形约束作为输入,并检查图形规则是否可以构造不满足约束的图形。如果是这种情况,则构造以这样的方式修改图形规则,T. Fink等.理论计算机科学电子笔记142(2006)161177DenialSet权PermissionSeta)、b)、负负图10个。 图形约束。该规则从不构造不满足约束的图如果我们将构造应用于从MOF模型M导出的所有规则和M的所有图形约束,则我们确保由修改后的规则构造的每个MOF模型MJ满足M的约束。因此,我们确信映射m:MJ→M保持一致性。6相关工作与我们密切相关的一种方法是SecureUML [8]。 SecureUML是一种基于UML的建模语言,用于安全系统的模型驱动开发。它还支持指定约束。UML模型中集成的安全信息用于生成访问控制基础结构。与我们的方法相反,SecureUML专注于与实现密切相关的静态设计模型。因此,不支持检测安全要求(例如,需要哪些角色以及它们需要哪些权限)。不像我们的方法,这是适合于任意的访问控制模型,SecureUML建立在RBAC。而且,Se-cureUML没有正式的语义来验证安全属性.7结论和今后的工作我们提出了一种MDA驱动的访问控制规范化方法。我们已经展示了访问控制模型如何独立于平台和应用程序建模,以及如何通过模型之间的映射添加应用程序和平台信息通过图变换的- SES映射的正式考虑使我们能够证明沿着这些映射的访问控制约束的保存。我们的方法为面向对象系统提供了一个很好的安全策略和应用逻辑的分离不幸的是,这种方法不能很好地与基于模块的系统一起工作,例如,基于SOAP的系统[18]。主要原因是,PermissionSetattributeList((virtual,boolean,true))视图attributeList((virtual,boolean,true))视图视图视图T. Fink等.理论计算机科学电子笔记142(2006)161178应用程序中的实体不作为具有良好定义的接口的对象引用而被公开。相反,它们由模块操作中的参数引用。作为未来的工作,我们计划实现一个编译器,用于从给定的PIM生成平台和应用程序特定的模型此外,我们的目标是生成部署安全执行基础设施所需的安全规范这减轻了安全管理的痛苦,因为不需要特殊的安全管理工具和知识,因为大多数信息可以从MOF模型自动生成。引用[1] P. Bottoni,M.科赫,F。Parisi-Presicce和G.坦策使用协作的ocl可视化。在Proc. of UML 2001- The Uni Fied Modeling Language,编号2185 in LNCS,第257-271页。Springer,2001年。[2] G.博泽CORBA的可管理访问控制。计算机安全杂志,4:301[3] G. Brose,M. K och和K.- P.Lüohr.将访问控制设计融入软件开发过程。 在proc 2002年第六届集成设计与工艺技术国际会议(IDPT)。[4] 杰拉尔德·布罗斯。分布式对象系统中的访问控制管理。 博士论文,柏林自由大学,2001年。[5] 普莱姆库马尔德文布和斯图尔特·斯塔布宾。软件安全工程:路线图。Anthony Finkelstein,《软件工程的未来》编辑。北京:人民出版社,2000年。[6] R. Heckel和A.瓦格纳确保条件图文法的一致性-一种建设性方法。在Proc. SEGRAGRATCS电子笔记,1995年。http://www.elsevier.nl/locate/entcs/volume2.html的网站。[7] J. 尤伦斯UMLsec:为安全系统开发扩展UML。 在Proc. 参见UML2002,LNCS中的第2460号,第412-425页施普林格,2002年。[8] T. Lodderstedt,D. Basin和J. Doser。SecureUML:一种基于UML的模型驱动安全建模语言。在proc 第五届国际Conf. 统一建模语言,LNCS中的编号2460。施普林格,2002年。[9] 巴沙尔·努赛贝和史蒂夫·伊斯特布鲁克需求工程:路线图。Anthony Finkelstein,《软件工程的未来》编辑。北京:人民出版社,2000年。[10] OMG. CORBA 3.0新组件章节,TC文档ptc/99-10-04。OMG,1999年10月。[11] OMG. OMG统一建模语言规范,版本1.3。OMG,2000年3月[12] M. Richters和M.戈戈拉验证UML模型和OCL约束。 在proc UML 2000- 统一建模语言。推进标准。第三届国际会议,编号1939在LNCS。斯普林格,2000年。[13] G.罗森伯格编辑图文法和计算的图形变换手册,卷1:基础。世界科学,1997年。[14
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Aspose资源包:转PDF无水印学习工具
- Go语言控制台输入输出操作教程
- 红外遥控报警器原理及应用详解下载
- 控制卷筒纸侧面位置的先进装置技术解析
- 易语言加解密例程源码详解与实践
- SpringMVC客户管理系统:Hibernate与Bootstrap集成实践
- 深入理解JavaScript Set与WeakSet的使用
- 深入解析接收存储及发送装置的广播技术方法
- zyString模块1.0源码公开-易语言编程利器
- Android记分板UI设计:SimpleScoreboard的简洁与高效
- 量子网格列设置存储组件:开源解决方案
- 全面技术源码合集:CcVita Php Check v1.1
- 中军创易语言抢购软件:付款功能解析
- Python手动实现图像滤波教程
- MATLAB源代码实现基于DFT的量子传输分析
- 开源程序Hukoch.exe:简化食谱管理与导入功能
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功