System-level fault modeling and test pattern generation with process algebras