七、过程视图案例
过程视图主要是设计任务和任务之间的并发与同步。根据需求可知,系统应该支持并发操作但并发数不是很多(支持2到3人调试)。且系统对性能的要求不是很高,因为并发量不高且自然人操作要比机器操作更慢。
整个系统的进程划分如下所示:
(1)界面进程
根据需求要求支持多人(2到3人)同时调试,所以需要多个承载界面运行的进程,每个设备调试人员一个进程;
DeviceStatusWindow和DebugWindow都运行在界面进程上;
(2)主控进程
因为界面进程并发数量很低,所以用一个主控进程来支持。Controller运行在主控进程上,它接收DebugWindow发来的调试命令,收到后就调用Device的方法把调试命令发送给设备。如果一条调试命令正在执行又来了一条调试命令,那么先等当前的命令处理完再处理下一条调试命令。
Controller和Device不用并发执行,所以Device也运行在主控进程上。
查看设备状态有两种可能性:
查看设备状态由调试人员来触发,其过程与DebugWindow发送调试命令类似;
只要DeviceStatusWindow一打开,就要实时更新设备状态;
假设是第二种可能性,则需要一个定时器。
(3)定时器
由Controller启动一个定时器,由Controller定时查询设备状态,并在查询后将状态信息通知给DeviceStatusWindow。