foundations for machines analysis and design