ated into timed automata and woven into the system, and realize the real-time feature.
Keywords: AOP; AOSD; real-time systems; UML; formal methods
目录
摘要 I
Abstract I
目录 III
Contents VI
第一章 绪论 1
1.1 选题的背景及意义 1
1.2 对国内外研究现状的分析 3
1.3 论文的主要工作及组织方式 4
1.3.1 论文的主要内容 4
1.3.2 论文的组织方式 4
第二章 相关技术 6
2.1 实时系统(要) 6
2.1.1 实时系统的定义及时间约束 6
2.1.2 实时系统的特征及要求 8
2.1.3 实时系统的开发过程 9
2.1.4 实时系统的建模方法 10
2.1.5 实时系统的应用 12
2.2 UML相关概述(不) 13
2.2.1 UML简介 13
2.2.2 UML扩展机制 14
2.2.3 UML的实时扩展 14
2.3 实时逻辑(RTL)概述 17
2.4 AOP概述 18
2.4.1 问题的提出 18
2.4.2 AOP术语及实现原理 18
2.4.3 AOP的横切模型 23
2.4.4 AOP框架 26
第三章 时间模型 30
3.1 基本时间模型 31
3.2 定时机制模型 33
3.3 时间事件模型 35
3.3.1 时间动作 36
3.3.2 时间事件 37
3.3.3 时间激励 37
3.4 时间服务模型 37
第四章 基于UML的面向方面软件设计模型 39
4.1 面向方面系统建模的UML框架 39
4.2 扩展UML表达面向方面概念 40
4.3 结构模型 43
4.4 行为模型 46
4.5 方面织入 48
第五章 实时AOSDM-UML及实例建模 53
5.1 AOSDM-UML的时间扩展 53
5.2 电梯控制系统例子 53
5.2.1 结构关系 54
5.2.2 行为关系 55
5.2.3 织入时间方面 57
第六章 基于AOP的实时系统形式化建模及实例 59
6.1 LOTOS和随机实时时序逻辑(SQTL) 59
6.1.1 LOTOS 59
6.1.2 随机实时时序逻辑 60
6.2 LOTOS和SQTL转换为自动机 62
6.3 方面的形式化织入机制 63
6.4 实例建模 65
第七章 实时方面的形式化建模(要) 68
7.1 模糊时间Petri网 68
7.2 分布式实时系统的时间方面 69
7.2.1 确定的时间子方面 69
7.2.2 不确定的时间子方面 69
7.2.3 模糊时间子方面 70
7.3 组合时间方面 70
7.3.1 模糊时间Petri网转换为时间自动机 71
7.3.2 时间自动机的织入 72
7.4 实例分析 73
总结与展望 76
参考文献 79
攻读硕士学位期间发表的论文 86
独创性声明 87
致谢 88
Contents
Abstract I
Contents VI
Chapter1 Introduction 1
1.1 Research Background and Significance 1
1.2 Related Work 3
1.3 Contents and Structure of the Thesis 4
1.3.1 Research Contents 4
1.3.2 Organization of the Thesis 4
Chapter2 Correlative Technology 6
2.1 Real-time Systems 6
2.1.1 Real-time Systems and Timing Constranits 6
2.1.2 Characteristic and Requirement 8
2.1.3 Developing Process 9
2.1.4 Modeling of Real-time Systems 10
2.1.5 Application of Real-time Systems 12
2.2 UML Introduction 13
2.2.1 UML Introduction 13
2.2.2 Extension Mechanisms 14
2.2.3 Modeling Real-Time Characteristics in UML 14
2.3 Real-Time Logic 17
2.4 AOP Introduction 18
2.4.1 Shortage of OOP 18
2.4.2 Terms and Principle of AOP 18
2.4.3 Cross-cutting Model of AOP 23
2.4.4 AOP Framework 26
Chapter3 Timing Model 30
3.1 Basic Time Model 31
3.2 Timing Mechanisms Model 33
3.3 Timed Events Model 35
3.3.1 Timed Action 36
3.3.2 Timed Event 37
3.3.3 Timed Stimulus 37
3.4 Timing Services Modeling 37
Chapter4 AOSD Model Base on UML 39
4.1 AOP Model on UML Profile 39
4.2 AO Extensions of UML 40
4.3 Structural Model 43
4.4 Behavioral Model 46
4.5 Weaving Aspects 48
Chapter5 Real-Time AOSDM-UML and Example 53
5.1 Real-Time Extensions of AOSDM-UML 53
5.2 Example of Elevator 53
5.2.1 Structure Modeling 54
5.2.2 Behavior Modeling 55
5.2.3 Weaving Timing Aspect 57
Chapter6 Formal Model of Real-Time Systems Based on AOP 59
6.1 LOTOS and Stochastic and Real-Time Temporal Logic 59
6.1.1 LOTOS 59
6.1.2 Stochastic and Real-Time Temporal Logic 60
6.2 Translating LOTOS and SQTL to Timed Automata 62
6.3 Formal Weaving Mechanisms of Aspects 63
6.4 Example 65
Chapter7 Formal Model of Real-Time Aspect 68
7.1 Fuzzy-Timing Petri Nets 68
7.2 Timing Aspects of Distributed Real-Time Systems 69
7.2.1 Deterministic Timing Sub-aspect 69
7.2.2 Undeterministic Timing Sub-aspect 69
7.2.3 Fuzzy Timing Sub-aspect 70
7.3 Composing Time Aspects 70
7.3.1 Translating FTN to Timed Automata 71
7.3.2 Weaving Aspects with Timed Automata 72
7.4 Illustration 73
Summary and Future Work 76
Bibliography 79
Publications 86
Prometheam Statement 87
Acknowledgments 88
第一章 绪论
1.1 选题的背景及意义
计算机解决现实世界问题是通过对问题域进行分析建立相应模型,并利用编程语言提供的语法机制进行编码解决问题。其过程如下所示[1,2]:
现实世界问题域?建立模型?编程实现?计算机世界执行求解
问题域模型的建立是关键的一个环节,它直接决定了问题是否正确的被解决。面向对象 (Object-Oriented, OO)[3]设计方法利用"对象"的概念模型建立一个针对于问题域的模型,而人类趋向于用"对象"的观点或"方法"来认识问题,分析问题以及解决问题,因此,用基于"对象"的概念模型来建立问题域模型自然成为系统分析员与用户交流的有效工具。近年来,面向对象方法受到广泛的应用和发展。但是从软件工程的整个软件开发周期来看,面向对象还有一些不足之处[1,4]:
(1) 设计阶段:由于以类为单位组织模块,因此它不能全面反映系统需求;
(2) 编码阶段:OOP将所有数据和方法都封装到相应的类中,这有利于增强数据的安全性和模块化,但也有一些数据和方法是特定于具体应用的,因此这种封装同时也减少了代码和模块重用的可能性;
(3) 维护阶段:由于类中夹杂了其它各种特定于应用的代码,使得类的功能变得模糊,维护人员也难以理解。此外,由于完成某个特定需求(如日志、安全)的代码分散在各个类中,当这些代码需要改变时,很难把它们全部找出,这就给程序的健壮性带来了隐患。
因此,需要研究一种新的软件开发方法,来解决上述问题。这种方法就是面向方面软件开发(Aspect-oriented Software Development ,AOSD)[5]方法,它将传统按功能或对象划分程序模块的方法转化为按系统关注点来划分程序模块。面向方面编程(Aspect-Oriented Programming, AOP)[6]曾被《MIT技术评论》杂志评为21世纪十种对经济和人类生活工作方式最具影响力的技术之一[1,7]。
面向方面编程是一种基于关注分离的新技术,系统不同的关注能够分离并单独的设计,可以解决面向对象编程难于解决的复杂问题。例如在以往的过程化程序设计和面向对象编程技术中,某些程序设计代码分散在系统各个模块中,从而导致系统难以开发和维护,面向方面编程技术就能很好的解决这个问题,并提高了模块的重用性。面向方面软件设计把系统建模分成两部分:核心组件(基本元素)和方面。
面向方面建模技术允许系统开发者在系统设计时,从核心功能性需求中分离出不同的关注,例如实时性、安全性、错误和异常处理、日志、同步控制、调度、性能优化、通信管理、资源共享、分布式管理等[8]。同时通过支持方面的组合和绑定来实现系统的集成。关注分离可帮助改进系统的设计,开发者只需要实现单独的方面而不必考虑其它方面和系统的核心组件。实时性是实时系统的最重要特性,可以利用AOP技术把实时系统
上一篇:
基于PLC的立体车库控制系统的设计(word文档)
下一篇:
基于JSP邮件收发系统论文