Software Engineering for Manufacturing Systems