论文摘要
软件工程是一项复杂的活动,软件工程师分析理解具有众多不同内部关系的组件的复杂结构,并通过有效工具获取与软件结构相关的信息,这是软件工程中研究的一个热点。在面向对象的软件开发中,涉及的组件包括:类、接口、方法、字段和其他实体,关系包括:继承、实现、包含、调用等等。对源代码的静态分析可以获得此类信息并借助有效工具反馈给软件工程师,增强软件工程师对所设计软件的理解。分析研究表明,软件的深层结构信息存在于语义中而不是语法中,语义模型作为描述概念与概念之间语义关系的概念模型,被广泛应用于计算机科学的众多领域,语义模型通过概念之间的语义关系来描述概念的语义,是一种表现概念层次结构和语义的有效工具。本文中所给出的语义模型,显示了可在.NET公共语言运行库(CLR)进行编译的语言所构建的软件结构的语义。.NET Framework允许用不同语言所写的源代码在同样的运行环境中交互运行,在中间语言层为众多高级语言提供了通用语义,通过对.NET语言编译器所生成的中间语言建模,构建了独立于任何特定语言的语义模型,这个语义模型,能够清楚的显示CLR中的语义概念。也就是说,.NET公共语言运行库(CLR)提供了支撑跨语言交互的通用语义,通过规范MSIL,不同高级语言编译为MSIL,其所编写的程序则可以在同样的执行环境中进行交互操作,MSIL能够为各类编程语言捕获通用的语义,通过特定语言编译器把语言的语法和语义映射为通用语义,然后,生成MSIL代码,使程序集文件能够运行在.NET虚拟机上。这就为应用语义模型进行通用语义概念和特定编程语言语义概念的相互映射提供了建模基础。本论文对目前语义模型的研究与应用现状进行了描述,从语义模型的基本概念、语义模型的构建方法以及语义模型在语义映射过程中的应用等方面加以了系统阐述。本论文通过对.NET Framework相关概念的整理,结合IT-Kid理论,从面向对象的视角构建了“.NET语义模型(DNSM)”。主要是为了能够清晰直观地阐述.NET Framework中的概念以及概念之间的逻辑关系,客观地反映软件结构的信息,以帮助软件工程师有效的开发软件。
论文目录
摘要ABSTRACT第一章 绪论1.1 课题来源1.2 课题背景1.2.1 面向对象编程1.2.2 软件静态分析1.2.3 语义建模1.3 本文的研究内容1.4 本文的研究方法1.5 本文的结构第二章 .NET语义框架概述2.1 基本概念2.1.1 语义概述2.1.2 软件的语义2.1.3 语言的语义2.1.4 语句的语义2.1.5 程序的语义2.2 语义模型2.3 .NET Framework2.3.1 .NET框架体系结构2.3.2 C#语言2.4 Microsoft中间语言(MSIL)2.4.1 MSIL概述2.4.2 访问MSIL2.5 小结第三章 .NET语义模型的构建基础IT-Kid3.1 IT-Kid简介3.1.1 基于面向对象语义学的IT-Kid概念模型3.1.2 基于面向对象语义学的IT-Kid关系模型3.1.3 基于面向对象语义学的IT-Kid其它数据模型3.2 基于IT-Kid模型的.NET语义模型3.2.1 .NET语义模型功能分析3.2.2 PARSER分析方法3.3 .NET语义数据库3.4 小结第四章 .NET语义模型的设计与组装4.1 Java和.NET公共语言特征设计4.1.1 类4.1.2 方法和构造器4.1.3 字段4.1.4 块和语句4.1.5 数组4.1.6 修饰符4.1.7 泛型设计4.2 .NET具体语言特征设计4.2.1 程序集和模块4.2.2 枚举4.2.3 特性4.2.4 委托4.2.5 事件4.2.6 命名空间4.2.7 属性与索引器4.2.8 指针4.3 组装语义模型4.3.1 解析4.3.2 反射4.3.3 最终的系统4.4 小结第五章 .NET语义模型的应用5.1 对不同编程语言进行双向语义映射5.2 .NET和Java1.4之间语义映射的分析5.2.1 .NET和Java1.4的通用语义5.2.2 .NET程序集与Java程序5.2.3 .NET命名空间与Java包5.2.4 类型5.2.5 类型成员5.3 .NET和Java1.4之间的映射实现5.3.1 从.NET到Java的映射5.3.2 从Java1.4到.NET的映射5.4 小结第六章 总结与展望6.1 总结6.2 展望6.2.1 .NET语义模型的局限性6.2.2 未来的研究工作参考文献致谢
相关论文文献
标签:语义模型论文; 微软中间语言论文; 公共语言运行库论文; 面向对象编程论文;