论文部分内容阅读
软件设计在传统上遵循“黑箱”(black-box)抽象的原则,即一个模块应该呈现其功能而隐藏其本身的实现,这一点已成为处理计算机领域中许多重要问题,如可移植性、可重用性等的基本对策和理念。本文建议采用开放其本身的实现(以下简称“开放实现”)的思想来设计软件框架。所谓开放实现是一种新的抽象原则,就是将研究对象的下层实现“开放”出来,采用开放实现的模块呈现着双重界面,即基界面(base-interface)和元界面(meta-interface)。基界面就是这个对象应该呈现的传统界面,它提供了可对该对象所具功能的访问,而又不暴露其具体的实现。元界面则提供了客户所需的控制,可用于定制该对象的下层实现使其适合用户的需要。反射是指所研究的对象“感知自己、自行推理和作用于自身”的一种能力,是设计对象的一种技术,也是一种具体实施开放实现的可用技术。实际上,元对象协议和反射体系已经在很多领域作为一种强有力的方式,在更复杂和不确定的环境中作为应用系统的解决方案。通过增加传统方案中缺乏的发现和修改的可能,提供自解释特点,反射已经发展成为增加系统易用性和(或)自动配置、可扩展和高可重用性的有效方式。通过对不同元对象协议系统的研究,本文提出了一个创建分布式应用的体系框架,它基于一个分布式编程模型(DPM),由编译时反射部分(一项来自于反射语言的技术)和运行时反射部分(广泛应用于反射操作系统研究)组成。编译时部分控制着运行时部分,这样则可以根据个人需要平衡系统灵活性和性能需求。不同于传统的MOP解决方案,本文只提供了缺省的隐式元接口,由编程人员完全定制自己的元对象接口。此模型利用OpenC++ v2的编译时元对象,通过一个基于事件的框架(EB-RT-MOP)进行基层与元层的透明连接,其功能通过控制函数、内省函数、检查函数实现。更进一步我们开始了一个元对象自动运行时组合的研究,这是元层编程最大化的实现灵活性、可重用性和关注分离的关键。