Review of atomic layer deposition process, application and modeling tools