论文部分内容阅读
统一建模语言(Unifled Modeling Language,UML)是一种通用的可视化建模语言,已经成为面向对象建模领域公认事实上的工业标准。由于UML图从系统的需求、静态结构、动态行为以及实现等不同方面对系统进行建模,所以模型图中不可避免的会出现不一致性。这些不一致性会对软件的生命周期有负面的影响,及时识别模型中存在的不一致性并加以修正,可以大大提高工作效率。为了支持大规模工业应用的设计,仅靠人工识别不一致性是不可能的,需要采用某种机制或方法来保证UML图的一致性。 针对UML图的不一致性问题,学者们提出了使用回答集程序设计(AnswerSet Programming,ASP)检测UML图的不一致,通过检测方法可以知道哪些地方出现了不一致性。为了消除UML图中的不一致性,需要对检测出的不一致性进行修正。因为UML图是彼此相互关联的,所以当设计人员对这些不一致性进行手动地修正时,往往会引入新的不一致。为了解决上述问题,我们提出了使用回答集程序设计的方法修正UML图的不一致性。首先,我们使用逻辑程序表示UML图、固有的约束规则和修正操作,然后,使用推理机求解逻辑程序,得到的回答集正好是修正UML图不一致性的方案。最后,我们给出该修正方法的应用实例。通过该修正方法可能会得到一个或多个回答集,这些回答集可以使修正后的UML图保持一致性,设计人员只需要在这些回答集中进行选择即可。 系统建模过程中UML图是不断变化更新的,这种更新会引起模型图之间的不一致。在处理动态更新引起的不一致性问题时,使用ASP检测和修正的方法具有局限性。为了保证UML图更新的一致性,我们引入了动态逻辑程序设计(Dynamic Logic Programming,DLP)的方法来管理UML图的更新。DLP作为动态知识更新的框架,可以表示动态知识的更新,并能够处理UML图中因改变引起的涟漪效应。本文中,我们使用DLP表示UML图、约束规则以及更新的需求等信息,然后,求解逻辑程序得到动态稳定模型,该模型就是更新后的UML图,并且这些UML图都是一致的。最后,给出使用DLP管理UML图更新的实例。