An Object-Oriented Design Process for System-on-Chip Using UML