1.一种基于Erlang的人工交通系统实现方法,其特征在于,所述方法包括:
获取交通场景信息以及个体的信息、状态和交通行为;
设定操作进程、区域进程和个体进程;其中,所述操作进程用于控制所述人工交通系统的运行;所述区域进程用于控制某一区域并管理所述区域内的所有个体同时为各所述个体提供环境信息,还用于统计并模拟所述交通场景中所述个体的信息和状态;所述个体进程用于根据所述环境信息模拟各所述个体的交通行为;一个所述操作进程管理一个或多个所述区域进程;一个所述区域进程生成和管理一个或多个所述个体进程;
基于所述交通场景信息以及所述个体的信息、状态和交通行为,利用所述操作进程、所述区域进程和所述个体进程,利用Erlang进行仿真,得到所述交通场景的路况。
2.根据权利要求1所述的方法,其特征在于,所述基于所述交通场景信息以及所述个体的信息、状态和交通行为,利用所述操作进程、所述区域进程和所述个体进程,利用Erlang进行仿真,得到所述交通场景的路况,具体包括:
所述操作进程向所述区域进程发送初始化指令,所述初始化指令包含区域编号;
所述区域进程接收到所述初始化指令后,根据Mnesia数据库的内容生成所述交通场景中与所述区域编号对应区域的个体进程;
所述操作进程发送步进指令至所述区域进程;
所述区域进程接收到所述步进指令后,向所述个体进程发送环境信息;
所述个体进程接收到所述环境信息后向所述区域进程反馈状态信息;
所述操作进程向所述区域进程发送终止指令;
所述区域进程接收到所述终止指令后,终止所述个体进程。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
采用Erlang的Gen_Server行为模式用于接受所述区域进程的注册请求;
采用Erlang的Supervisor行为模式生成所述个体进程;
采用Gen_Fsm模式来实现有限状态机模型,用于模拟所述个体的所述交通行为。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
采用Erlang的Gen_Server行为模式,初始化所述人工交通系统,并设定所述人工交通系统的开始、暂停以及终止条件。
5.根据权利要求1所述的方法,其特征在于,所述区域进程根据ETS数据表发送所述环境信息给所述个体进程,其中所述ETS数据表存储所有所述个体进程的初始行为状态信息。
6.根据权利要求1至5任一所述的方法,其特征在于,所述交通场景信息包括:路口的数量、路口的地理信息、路长、路宽、车道数量及信号灯的情况。
7.根据权利要求1至5任一所述的方法,其特征在于,所述个体的信息包括人的性别、年龄和职业以及车辆的型号;所述个体的状态包括在所述交通场景的场所内活动的状态、出行在所述交通场景的任一区域的道路上的状态、请求离开所述交通场景的任一区域的状态及请求进入所述交通场景的目标区域的状态;所述个体的交通行为包括活动行为和出行行为。