论文部分内容阅读
随着软件系统复杂度的不断增加,对软件需求的抽象变得越来越困难。在一个复杂的软件系统中,需要对用户场景进行充分描述,并对系统结构进行形式化建模。在软件工程中,构件可以是被封装的对象类、类树、软件框架、体系结构、一些功能模块、文档、分析件和设计模式等,其具有的独立性、封装性、适应性和可移植性等特性,使它成为实现软件复用的核心技术。当现有的构件不能满足应用需求时,可以按照一定的软件规范去构建新的能够满足应用需求的构件。为实现高内聚和低耦合的目标,研究并提出一种构件模型的形式化建模方法,通过对已有构件模型的组合来开发新的应用系统,从而达到通过构件重用来设计开发复杂系统的目的。其中,构件组合其实就是通过构件之间彼此的交互与协作来实现系统特定的功能与非功能需求的一个过程,同时也是一个重新构建系统构件以实现业务增值功能的一个过程。本文在对构件复用技术与范畴论技术进行深入研究的基础上,结合范畴论和构件技术,并参考形式化建模方法,提出一种基于事件轨迹的构件组合方法。当前一般采用图形加文本的方式或形式化描述语言来为构件建模,这些方法不能很好地描述构件的动态行为和互操作等特性,而范畴论集中考察对象之间的关系,它可以确定系统构件之间的交互本质,所以文中采用进程理论规范来抽象应用需求,采用范畴论对构件及构件组合的过程进行抽象,把构件划分为构件实现和构件接口两个组成部分:采用带事件轨迹的进程行为描述构件实现,以轨迹为对象,以进程之间的继承关系为态射,构造出一个完备的进程行为范畴,表明通过范畴回拉可以捕获进程行为的并行复合;采用进程行为的观察结构描述构件接口,以构件为对象,构件之间的功能包含关系作为态射,从而构造出一个余完备的构件范畴,余完备构件范畴形成图表的余极限揭示了带同步限制的构件行为组合。由此也证明了运用范畴论技术来解决构件行为交互问题的可行性。本文以某校简化的教师-学生课程选择系统(TSCSS)为例,运用范畴论思想对构件及构件组合的实现进行了初步的探讨,并详细例证了其在处理构件的带同步限制的并行复合问题时的优越性,同时也验证了本文所提方法对解决构件组合问题是可行的和有效的。进而,把范畴论作为一种高效的数学工具引入到软件工程领域。