一个OCL引擎的设计与实现

来源 :北京大学 | 被引量 : 0次 | 上传用户:tb881011
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
UML(统一建模语言)是一种定义良好、易于表达、功能强且普遍适用的建模语言,用其可以从不同的角度对信息系统进行建模。用UML图(例如类图)建立的模型并不是足以精确的,经常还要用自然语言描述一些约束,而这可能会造成歧义。OCL(Object Constraint Language,对象约束语言)是由OMG提出的一种用于描述UML模型上表达式的形式语言,这些表达式可用以规定系统中必须成立的条件和查询模型信息。   OCL的应用离不开OCL工具(核心是OCL引擎)的支持。现阶段,已出现一些OCL工具,它们常被用在各种建模框架或工具中。然而,在这些OCL工具中,有些支持的OCL版本较旧,能解析OCL语句的种类有限:有些只支持特定的建模框架或工具,很难扩展该OCL工具到其他建模工具上。针对上述问题,并参考现有OCL工具的设计与实现,本文提出了自己的OCL引擎,它满足下列要求:1)遵行OCL2.0规范,能对主要的OCL语句进行解析;2)OCL引擎与特定建模框架或工具松耦合,以便于OCL引擎复用到多种建模工具上。   本文给出了一个OCL引擎的体系结构,然后重点阐述怎样对OCL语句进行词法分析、语法分析和语义分析,如何表示和获取OCL引擎所需的模型信息,怎样实现OCL引擎与特定建模框架或工具的解耦,如何设计与实现OCL标准库和OCL解释求值器,并通过案例说明OCL引擎在建模工具上的应用。
其他文献
对医学图像的内容理解是应用计算机视觉与人工智能进行医学影像分析的基本问题之一,从二维或三维影像数据中理解图像内容一直是医学图像应用研究的重点领域,涉及到感兴趣目标的
图像分割指把图像分成各具特性的区域并提取出感兴趣区域的技术和过程。图像分割是图像视觉分析和模式识别的基本前提,同时它也是一个经典难题,到目前为止没有一种适合于所有
在工业领域,要想实现快速,准确的检测、分选、记录不规则物体产品,就要能够快速、准确的测量出不规则体的面积,这对提高经济效益有着非常重要的意义。基于数字图像处理的不规
现场可编程门阵列(Field Programmable Gate Arrays,FPGAs)因具有开发周期短、功耗低、可重构等优势而在图像处理、视频追踪、自主导航等领域中被广泛应用于卷积神经网络加速
随着信息技术的不断发展,采用计算机技术对过程进行控制和管理日益受到企业和组织的重视。对于大型企业,特别是在各地有分支机构的大型企业,信息化系统建设难以一次性完成,不同业
轻量级J2EE架构是一种应用软件系统体系结构设计解决方案,具有简化的编程模型和更具响应能力的容器,对于大型事务处理、分布式能力和集群能力要求不高的业务应用,采用轻量级J
随着国内电信行业的激烈竞争,运营商之间的合并与重组,最后形成中国移动、中国联通、中国电信三大运营商三足鼎立的局势,虽然运营商的数量减少了,但是竞争的激烈程度并没有减
软件测试的成本在整个软件开发过程中占有很高的比例,提高软件测试的效率能够有效地降低软件开发成本。Junit是Java软件开发中常用的回归测试框架,在大量的Java软件开发项目
因为地址的短缺或是出于保护内部网络的目的,在现有的IPv4网络中,NAT设备被大量使用,NAT用户数量众多,在IPv4/IPv6过渡期间,为这些NAT用户提供全局的IPv6连接能力是的一项重要内容
城市道路空气质量评价平台的构建对城市管理部门预测性评估城市道路空气质量具有重要的指导意义。城市道路空气质量评价平台具有其鲜明的地域性、时效性,道路类型多,扩散模型