Object-Oriented Modeling and Design for Database Applications