Designing reusable systems that can handle change: Description-driven systems: Revisiting object-oriented principles | IEEE Conference Publication | IEEE Xplore