Object-oriented Modeling and Programming in Engineering