当前位置:问答库>论文摘要

题目:基于.NET的分布式面向状态编程框架的设计与实现

关键词:.NET,状态机,分布式,面向状态编程

  摘要

分布式反应系统(如监控报警系统)中的各组件在不同条件下具有不同的状态,并伴随相互协作。在实际构建此类系统时,设计和开发人员往往面临几个挑战。首先,传统的结构化编程语言本身无法提供可复用的手段来适应状态控制的复杂性,开发人员手工将设计人员给出的状态模型转化为源代码易于出错。其次,程序的控制部分与实现混杂在一起,可测试性较差。另外,分布式系统的通信机制不统一,重复构建成本较高。这些问题严重影响着分布式反应系统的开发和维护。针对这些问题,本课题基于.NET Framework设计并实现一种针对分布式应用程序的面向状态编程框架。框架提供进行面向状态编程所需的规范、API、代码库、工具集和支持程序。根据状态机数学模型及实际的工程需求,本框架实现了可复用的状态机,专门用于解决状态控制问题。本课题提出了一种状态机定义语言,并在框架中包含了代码生成工具。设计人员通过状态机建立系统模型后,可以用该语言脚本对其进行描述,开发人员进而可以通过代码生成工具将该脚本转换为源代码。这样便实现状态模型与代码的绑定。状态机的行为通过事件暴露,因而软件的控制与实现得以分离,提高代码的可测试性。除了本地的面向状态编程外,框架还内建了一种状态机之间可复用的透明通信机制,实现了不同状态机在分布式环境下的协作。本课题采用水平相当的两组开发人员分别构建同一种分布式反应系统(对分布式的车库门控制系统进行模拟),一组使用本框架,另一组未使用。对比发现使用框架可以有效解决最初面临的问题。除了验证用于构建新的系统外,本课题还对一个处于维护阶段的分布式反应系统(一种监控报警系统)进行重构,验证了本框架可以适应遗留系统。上述实验检验了该框架在开发和维护分布式反应系统时产生的积极作用。