A coalgebraic semantic framework for component-based development in UML - Sun Meng (2005)