建立于AMPS之上的应用程序核心模型是独立的、无阻塞、事件驱动的。其显著特点如下:
- 应用程序为一个有限状态机(FSM),当事件发生时改变状态。
- 应用程序由一组模块组成。
- 每个模块又细分为一个函数,称做事件句柄,每一个事件句柄处理一个有限状态机状态切换的事件。
- 对于阻塞的操作,处理必须中止,如果不这样,那就不能使用异步单线程框架,可以通过I/O Agent来实现。
- 有I/O操作产生时可以产生事件,或者当一个模块试图与其他模块通信时也可以产生。
- 在AMPS的通信模型中,发送方与接收方松耦合,发送方将事件发送给一个事件汇聚点,不用指定任何接收者,而接收方从汇聚点接收它感兴趣的事件,当然,它不知道发 送者是谁,当然接收者要注册它感兴趣的事件。
- 每个事件需求告诉AMPS它需要发送的数据,然后AMPS通过高效的方法传送数据。
这种类型的通信模型使无缝集成新的模块非常容易,整个系统变成一个面向服务的架构,每个模块提供一组服务,并请求其他模块为其提供服务。在架构层面,服务的生产者和消费者并不需要知道彼此,在应用程序层面,他们需要找到对方,可以通过事件间的数据传送来达到此目的,这就保持了架构清晰,并且维护简单。
