This largely depends on your application. The dynamics are quite different for each instrument and market.
In order to precisely capture all effects, you can only replay historical data. E.g. http://www.bookmap.com/ allows to replay historical data in their free version.
From there, people calibrate models, which are not stable in time.
Thank you Andreas Grau. but I have to do it for indian market and I have to create a program by myself. I cannot upload the data into any webpage. That data is costly.
I think the most often used is Markov queueing as here in the first result Huang(2013) or the Hawkes process (Chen, 2010)
Some microstructure level issues are discussed in the separate attachment (abergel et al , 2015) However you would do well to heed the requirements of established trading platforms and AT methods for the same as dependencies would lead back to software and implementation ( MLP, other, WNN) for implementing such order books in deference to the requirements of the trading platform and your software(s)