论文部分内容阅读
软件工程是一项复杂的活动,软件工程师分析理解具有众多不同内部关系的组件的复杂结构,并通过有效工具获取与软件结构相关的信息,这是软件工程中研究的一个热点。在面向对象的软件开发中,涉及的组件包括:类、接口、方法、字段和其他实体,关系包括:继承、实现、包含、调用等等。对源代码的静态分析可以获得此类信息并借助有效工具反馈给软件工程师,增强软件工程师对所设计软件的理解。分析研究表明,软件的深层结构信息存在于语义中而不是语法中,语义模型作为描述概念与概念之间语义关系的概念模型,被广泛应用于计算机科学的众多领域,语义模型通过概念之间的语义关系来描述概念的语义,是一种表现概念层次结构和语义的有效工具。本文中所给出的语义模型,显示了可在.NET公共语言运行库(CLR)进行编译的语言所构建的软件结构的语义。.NET Framework允许用不同语言所写的源代码在同样的运行环境中交互运行,在中间语言层为众多高级语言提供了通用语义,通过对.NET语言编译器所生成的中间语言建模,构建了独立于任何特定语言的语义模型,这个语义模型,能够清楚的显示CLR中的语义概念。也就是说,.NET公共语言运行库(CLR)提供了支撑跨语言交互的通用语义,通过规范MSIL,不同高级语言编译为MSIL,其所编写的程序则可以在同样的执行环境中进行交互操作,MSIL能够为各类编程语言捕获通用的语义,通过特定语言编译器把语言的语法和语义映射为通用语义,然后,生成MSIL代码,使程序集文件能够运行在.NET虚拟机上。这就为应用语义模型进行通用语义概念和特定编程语言语义概念的相互映射提供了建模基础。本论文对目前语义模型的研究与应用现状进行了描述,从语义模型的基本概念、语义模型的构建方法以及语义模型在语义映射过程中的应用等方面加以了系统阐述。本论文通过对.NET Framework相关概念的整理,结合IT-Kid理论,从面向对象的视角构建了“.NET语义模型(DNSM)”。主要是为了能够清晰直观地阐述.NET Framework中的概念以及概念之间的逻辑关系,客观地反映软件结构的信息,以帮助软件工程师有效的开发软件。