# 软件设计

# 软件组成

MOS组成如下图所示。考虑到PC和ARM本地都需要访问Serivces提供的功能,因此SDK与Services可以通过TCP (WebSocket) 进行通信。可以考虑采用ProtoBuf或者JSON进行消息的序列化和反序列化。

MOS Components

# MOS Services

MOS Serivces提供硬件访问、质谱扫描、数据库和参数文件读写服务,它屏蔽了硬件访问的细节,对上层提供一个统一的基于Socket消息的接口。它支持多个Client同时访问,并负责针对不同类型的Client进行不同的访问控制。

MOS Services需要高效、稳定,原则上应该是对底层薄薄的一层封装。

# MOS SDK

MOS SDK是一组库函数,通过Socket访问MOS Services提供的底层功能,对上层提供统一的基于同步调用的API接口。

MOS sdk components