资源描述:
《煤运重载铁路的列车运行调整问题研究》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、煤运重载铁路的列车运行调整问题研究Ta所有列车恢复至时刻表所花费时间对于值的求解,从列车发生延迟的时刻开始计算,直到所有列车运行恢复至图定时刻表(包括重制定后的时刻表)为止。1.2、构件交互行为的定义基于中间件技术的现代分布式构件软件,解决了传统分布式软件很难处理不同类型构件的集成问题,成为当前开发的主流。因此,本文重点对分布式构件软件的交互行为监测进行了研究。在给出构件交互行为的定义前,我们应该先明确什么叫软件行为。软件行为是指主体施用一个服务于一个客体,软件行为由主体、客体和所施用的服务三个要素组成。用公式表示为Action={a=S:f(O)
2、S:
3、Subjects,f:Functions,O:Objects},其中:a表示一个行为,S表示主体,O表示客体,f表示服务[67]。行为与行为的区分标志就是三要素,只要有一个要素不一样,软件行为就不一样。另外,行为是主体施用服务于客体,这个服务应当是主体身外之物,就如同研究一个人的行为,这种行为中的动作或者活动不能指人的血液流动,因为这一活动是主体的内部活动,并没有表现在外部。按照软件行为的定义,在分布式构件软件交互行为中,主体是构件,客体也是构件,服务是构件之间的方法调用。因此,构件交互行为指的是:构件为完成系统功能,通过自身的对外接口与其它构件进行的活
4、动[23]。1.3、反射基本概念反射系统具有自描述的能力,自描述使系统能够回答关于其自身的问题,并支持作用于自身的动作。描述的系统状态行为与真实的系统状态行为之间是因果关系,一方的变化会影响另一方[54]。反射系统的结构在逻辑上可分为基层和元层。基层描述系统的应用功能,元层提供系统内部相关的信息,包括类型结构和方法调用机制等,外部通过元层提供的信息和操纵方法来动态改变基层行为。基层和元层通过具体化[55]和吸收[56]这两个过程相联系。具体化是指用”元数据”来描述基层的结构和特性。吸收与具体化相反,它通过对元层实体状态的修改,来调整基层中的相关信息。在元
5、对象中,提供了定义良好的接口来访问和操纵基层对象,元对象接口也称之为元对象协议(MOPMetaObjectProtocol)[57]。反射系统中的基层和元层之间的结构关系如图2-2所示。基于MOP的反射系统提供了以下两种反射类型:行为反射,通过改变基层的运行行为来实现系统的反射,强调了反射系统中的运行行为逻辑。结构反射,通过改变基层的组成结构来实现系统的反射,强调反射系统中类的集成、对象的互连、数据类型以及对象方法的检测等组成结构[58]。元层对象协议MOP元层对象元层基层基层对象图2-2基层元层结构图1.4、面向切面编程基本概念面向切面编程技术涉及到以
6、下几个重要概念:(1)切面(Aspect):切面是面向切面编程技术中最重要的概念,它将同时作用于多个类的分散的横切关注点代码,封装成一个个独立的模块。(2)连接点(Joinpoint):连接点是主程序中一个定义明确的位置,它可以是方法调用,构造函数调用等,连接点是主程序的固有属性,不用在切面中定义。(3)通知(Advice):通知用来声明切面被调用时所执行的代码,把通知关联到连接点的方式通常有3种。before表示在连接点之前执行通知,after表示在连接点之后执行通知,around则表示围绕着连接点执行通知。(4)切入点(Pointcut):通知可以应
7、用到任何连接点,切入点的作用就是让用户指定通知应用到哪些具体的连接点上。通常可通过指定类名和方法名来指定切入点,还可以用匹配类名和方法名式样的正则表达式来指定切入点。(5)编织(Weave):编织是指把定义好的切面整合到切入点,从而形成引入AOP机制后的完整执行流程。(6)目标对象(TargetObject):目标对象就是被通知对象,即真正执行核心逻辑的对象。在没有AOP之前,大量的重复代码散布于目标对象的每个方法中,使用AOP之后,重复代码就被集中在切面中,目标对象的代码就被大大简化了。编织利用切面编织器将切面代码织入到核心功能代码中,构建出最终系统。
8、编织的实现从过程来看可分为两类:静态编织与动态编织[51]。静态编织是指先通过切面编织器将切面代码嵌入到目标系统的功能代码中,形成混合代码,再通过切面编译器在编译期间织入。动态编织可以在程序运行时,根据上下文决定调用的切面和调用的先后顺序以及增加或删除一个切面[52]。静态编织在程序运行之前,就已经将切面代码嵌入到了核心代码中,对性能的影响可忽略不计,这种编织方式的缺点也很明显,即在一开始就要设计好所有的切面类。通过动态编织后的程序,执行速度有一定的下降,但可以不用修改源代码,可动态地调用切面。面向切面编程技术,并不是对面向对象编程技术的革命,相反它是面
9、对面向10硕士学位论文对象编程技术的补充。面向对象编程技术已经有几十年的历史,在